31 lines
847 B
C
31 lines
847 B
C
// { 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; }
|