1*8fbe78f6SDaniel Dunbar // RUN: %clang_cc1 -emit-llvm -o - %s 21eab66c7SFariborz Jahanian // pr5547 31eab66c7SFariborz Jahanian 41eab66c7SFariborz Jahanian struct A { 51eab66c7SFariborz Jahanian void* operator new(__typeof(sizeof(int))); 61eab66c7SFariborz Jahanian A(); 71eab66c7SFariborz Jahanian }; 81eab66c7SFariborz Jahanian x()91eab66c7SFariborz JahanianA* x() { 101eab66c7SFariborz Jahanian return new A; 111eab66c7SFariborz Jahanian } 121eab66c7SFariborz Jahanian 131eab66c7SFariborz Jahanian struct B { 141eab66c7SFariborz Jahanian void* operator new(__typeof(sizeof(int)), int = 1, int = 4); 151eab66c7SFariborz Jahanian B(float); 161eab66c7SFariborz Jahanian }; 171eab66c7SFariborz Jahanian y()181eab66c7SFariborz JahanianB* y() { 191eab66c7SFariborz Jahanian new (3,4) B(1); 201eab66c7SFariborz Jahanian return new(1) B(2); 211eab66c7SFariborz Jahanian } 221eab66c7SFariborz Jahanian 231eab66c7SFariborz Jahanian struct C { 241eab66c7SFariborz Jahanian void* operator new(__typeof(sizeof(int)), int, int = 4); 251eab66c7SFariborz Jahanian C(); 261eab66c7SFariborz Jahanian }; 271eab66c7SFariborz Jahanian z()281eab66c7SFariborz JahanianC* z() { 291eab66c7SFariborz Jahanian new (3,4) C; 301eab66c7SFariborz Jahanian return new(1) C; 311eab66c7SFariborz Jahanian } 321eab66c7SFariborz Jahanian 331eab66c7SFariborz Jahanian 34