| // { dg-do assemble } |
| // g++ 1.37.1 bug 900519_09 |
| |
| // g++ allows the allocation of const objects via operator new even when |
| // these uses of operator new do not include initializations. |
| |
| // This is inconsistant within the restrictions placed on the construction |
| // of class, struct, and union types which have constant members. |
| |
| // Since there is no completely valid way of initializing such objects |
| // after the invocation of new, these cases should all be illegal. |
| |
| // keywords: operator new, initialization, const qualifier |
| |
| struct struct_0 { |
| int member; |
| }; |
| |
| typedef const int const_int; |
| typedef const struct struct_0 const_struct_0; |
| |
| void test () |
| { |
| new const int; // { dg-error "" } |
| new const_int; // { dg-error "" } |
| new const struct_0; // { dg-error "" } |
| new const_struct_0; // { dg-error "" } |
| } |
| |
| int main () { return 0; } |