1 // { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } }
2 // { dg-options "-fabi-version=8 -Wabi -save-temps" }
3 // { dg-final { scan-assembler "_Z18IndirectExternCallIPFviiEiEvT_T0_S3_" } }
4 
5 template <typename F, typename T>
IndirectExternCall(F f,T t1,T t2)6 void IndirectExternCall(F f, T t1, T t2) { // { dg-warning "mangled name" }
7   typedef F (*WrapF)(F);
8   f (t1, t2);
9 }
10 
11 __attribute__((regparm(3), stdcall))
regparm_func(int i,int j)12 void regparm_func (int i, int j)
13 {
14   if (i != 24 || j != 42)
15     __builtin_abort();
16 }
17 
main()18 int main()
19 {
20   IndirectExternCall (regparm_func, 24, 42);
21 }
22