// { dg-options "-fabi-version=0 -Wabi=2" } template struct helper {}; // { dg-final { scan-assembler "\n_?_Z6check1IiEvP6helperIXszscT_Li1EEE\[: \t\n\]" } } template void check1( helper(1))> * ) { } // { dg-warning "mangle" } // { dg-final { scan-assembler "\n_?_Z6check2IiXadL_Z1iEEEvP6helperIXszccPT_T0_EE\[: \t\n\]" } } template void check2( helper(p))> * ) { } // { dg-warning "mangle" } // { dg-final { scan-assembler "\n_?_Z6check3IiEvP6helperIXszrcPT_Li0EEE\[: \t\n\]" } } template void check3( helper(0))> * ) { } // { dg-final { scan-assembler "\n_?_Z6check4I1AXadL_Z1aEEEvP6helperIXszdcPT_T0_EE\[: \t\n\]" } } template void check4( helper(p))> * ) { } struct A{} a; int i; int main() { check1(0); check2(0); check3(0); check4(0); }