aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8/gcc/testsuite/g++.dg/parse/ref-qual1.C
blob: e3f60c09c8a888c4bfb88286810f7cfbd32a1413 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// PR c++/57068

enum Enums {
  Enum1 = 0x00000000,
  Enum2 = 0x00000001
};

class Flags {
public:
  Flags() : i(0) {}
  Flags(int i): i(i) {}
  Flags operator&(Enums f) { return Flags(Enums(i & f)); }

  operator bool() { return i; }
private:
  int i;
};

Flags windowState()
{
  return Flags();
}

int main()
{
  if (bool(windowState() & Enum1) == true)
    return 1;
  return 0;
}