1// { dg-do assemble } 2// Copyright (C) 1999 Free Software Foundation, Inc. 3// Contributed by Nathan Sidwell 15 Apr 1999 <nathan@acm.org> 4 5typedef __SIZE_TYPE__ size_t; 6 7struct X 8{ 9 int i; 10 11 X():i(){} 12 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 22struct Y 23{ 24 int i; 25 26 Y():i(){} 27 void *operator new(size_t) throw() 28 { 29 return 0; // ok 30 } 31 void *operator new[](size_t) throw() 32 { 33 return 0; // ok 34 } 35}; 36 37int main() 38{ 39 Y *yp = new Y; 40 41 return yp != 0; 42} 43