aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8.1/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C
blob: de446bcfd3eecfa0f6efd6866181a8b564266c98 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
// PR c++/54253
// { dg-do compile { target c++11 } }

namespace A {
  class Base {
    int x;
  public:
    constexpr Base(int x) : x(x) {}
  };

  class Base2 {
  public:
    virtual void fun() {}
  };

  class Derived : public Base2, public Base {
  public:
    constexpr Derived() : Base2(), Base(5) {}
  };

  constexpr Derived der;
}

namespace B {
  class Base {
    int x;
  public:
    constexpr Base() : x(5) {}
  };

  class Base2 {
  public:
    virtual void fun() {}
  };

  class Derived : public Base, public Base2 {
  public:
    constexpr Derived() {}
  };

  constexpr Derived der;
}