// { dg-do compile } // { dg-options -fpermissive } struct A { int const i; // { dg-message "should be initialized" } }; struct B { int& r; // { dg-message "should be initialized" } }; struct C { int const i : 1; // { dg-message "should be initialized" } }; void f() { new A; // { dg-warning "uninitialized" } new B; // { dg-warning "uninitialized" } new C; // { dg-warning "uninitialized" } C c; // { dg-warning "uninitialized" } A a[1]; // { dg-warning "uninitialized" } }