diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/init/pr29043.C')
-rw-r--r-- | gcc/testsuite/g++.dg/init/pr29043.C | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/init/pr29043.C b/gcc/testsuite/g++.dg/init/pr29043.C new file mode 100644 index 000000000..6ed31b5d6 --- /dev/null +++ b/gcc/testsuite/g++.dg/init/pr29043.C @@ -0,0 +1,52 @@ +// PR c++/29043 +// { dg-do compile } + +struct S +{ + int const i; // { dg-message "should be initialized" } +}; + +class C +{ +public: + C() {} // { dg-error "uninitialized const member" } + S s; +}; + +struct S2 +{ + int& ref; // { dg-message "should be initialized" } +}; + +class C2 +{ +public: + C2() {} // { dg-error "uninitialized reference member" } + S2 s; +}; + +class C3 +{ + C3() { } + struct s { + const int i; + }; +}; + +struct S4 +{ + int const i; // { dg-message "should be initialized" } +}; + +struct C4 +{ + C4() {} // { dg-error "uninitialized const member" } + S4 s4[ 1 ]; +}; + +struct C5 +{ + C5() {} // { dg-message "uninitialized" } + int const iit[ 1 ]; +}; + |