diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C new file mode 100644 index 0000000..de446bc --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C @@ -0,0 +1,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; +} |