1 // Origin: asharji@uwaterloo.ca
2 
3 // { dg-do compile }
4 // { dg-options "-fvolatile" }
5 
6 typedef __SIZE_TYPE__ size_t;
7 
8 class bar {
9     int i;
10   public :
11     void * operator new ( size_t , void * storage );
12 };
13 
14 class foo {
15     int storage[ 5 ];
16   public:
mem()17     void mem ( ) {
18         bar *s = new ( ( void * ) & storage ) bar;
19     }
20 };
21