diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/init/const10.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/init/const10.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/init/const10.C b/gcc-4.9/gcc/testsuite/g++.dg/init/const10.C new file mode 100644 index 000000000..ecd0db450 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/init/const10.C @@ -0,0 +1,33 @@ +// PR C++/52369 +// { dg-do compile { target c++11 } } + +class B // { dg-message "implicitly deleted" } + // { dg-error "uninitialized" "" { target c++11 } 4 } +{ + int const v_; // { dg-message "should be initialized" } +}; + +struct D : B {}; // { dg-error "deleted" } + +class A // { dg-message "implicitly deleted" } + // { dg-error "uninitialized" "" { target c++11 } 12 } +{ + int& ref; // { dg-message "should be initialized" } +}; + +struct C : A {}; // { dg-error "deleted" } + +void f() +{ + D d; // { dg-error "use of deleted" } + new D; // { dg-error "use of deleted" } + D(); // { dg-error "use of deleted" } + new D(); // { dg-error "use of deleted" } + + C c; // { dg-error "use of deleted" } + new C; // { dg-error "use of deleted" } + C(); // { dg-error "use of deleted" } + new C(); // { dg-error "use of deleted" } +} + + |