1 // { dg-do assemble } 2 // Copyright (C) 1999 Free Software Foundation, Inc. 3 // Contributed by Nathan Sidwell 15 Apr 1999 <nathan@acm.org> 4 5 typedef __SIZE_TYPE__ size_t; 6 7 struct X 8 { 9 int i; 10 XX11 X():i(){} newX12 void *operator new(size_t) 13 { 14 return 0; // { dg-warning "" } cannot return NULL 15 } 16 void *operator new[](size_t) 17 { 18 return 0; // { dg-warning "" } cannot return NULL 19 } 20 }; 21 22 struct Y 23 { 24 int i; 25 YY26 Y():i(){} newY27 void *operator new(size_t) throw() 28 { 29 return 0; // ok 30 } throwY31 void *operator new[](size_t) throw() 32 { 33 return 0; // ok 34 } 35 }; 36 main()37int main() 38 { 39 Y *yp = new Y; 40 41 return yp != 0; 42 } 43