blob: a37033aad9897f4bc5b044cff51ca2da8395131a [file] [log] [blame]
// { dg-do assemble }
// g++ 1.37.1 bug 900519_06
// g++ allows the type given in an invocation of operator new to be a
// reference type.
// Since pointers to reference types are illegal, the required return type
// from such an invocation (of operator new) is illegal, and thus (it seems)
// the entire call to new should be treated as being illegal.
typedef int& int_ref;
void test (int n)
{
new int&; // { dg-error "3:new cannot be applied to a reference type" } missed
new int_ref; // { dg-error "3:new cannot be applied to a reference type" } missed
new int&[n]; // { dg-error "" } missed
new int_ref[n]; // { dg-error "3:new cannot be applied to a reference type" } missed
new int&[3]; // { dg-error "" } missed
new int_ref[3]; // { dg-error "3:new cannot be applied to a reference type" } missed
}
int main () { return 0; }