// { dg-do compile { target c++11 } } // { dg-options "-fabi-version=0" } void* operator new (__SIZE_TYPE__, void *p) { return p; } int i; template struct helper {}; // { dg-final { scan-assembler "_Z6check1IiEvP6helperIXsznw_T_EEE" } } template void check1( helper * ) { } // { dg-final { scan-assembler "_Z6check2IiEvP6helperIXszgsnw_T_piEEE" } } template void check2( helper * ) { } // { dg-final { scan-assembler "_Z6check3IiEvP6helperIXsznwadL_Z1iE_T_piLi1EEEE" } } template void check3( helper * ) { } // { dg-final { scan-assembler "_Z7check3aIiEvP6helperIXsznw_T_ilLi1EEEE" } } template void check3a( helper * ) { } // { dg-final { scan-assembler "_Z6check4IiEvP6helperIXszna_A1_T_EEE" } } template void check4( helper * ) { } // { dg-final { scan-assembler "_Z6check5IiEvP6helperIXszna_A1_T_piEEE" } } template void check5( helper * ) { } int main() { check1(0); check2(0); check3(0); check3a(0); check4(0); check5(0); }