1 // RUN: c-index-test core -print-source-symbols -- %s | FileCheck %s
3 // Functions taking function pointer parameters with different signatures should result in unique USRs.
5 typedef void (*_VoidToVoidPtr_
)();
6 typedef void (*_IntToVoidPtr_
)( int );
7 typedef _VoidToVoidPtr_ (*IntTo_VoidToVoidPtr_Ptr
)( int );
8 typedef _IntToVoidPtr_ (*VoidTo_IntToVoidPtr_Ptr
)();
10 void Func( IntTo_VoidToVoidPtr_Ptr
);
11 // CHECK: {{[0-9]+}}:6 | function/C | Func | c:@F@Func#*F*Fv()(#I)# |
12 void Func( VoidTo_IntToVoidPtr_Ptr
);
13 // CHECK: {{[0-9]+}}:6 | function/C | Func | c:@F@Func#*F*Fv(#I)()# |
15 void Func( void (* (*)(int, int))(int, int) );
16 // CHECK: {{[0-9]+}}:6 | function/C | Func | c:@F@Func#*F*Fv(#I#I)(#I#I)# |
17 void Func( void (* (*)(int, int, int))(int) );
18 // CHECK: {{[0-9]+}}:6 | function/C | Func | c:@F@Func#*F*Fv(#I)(#I#I#I)# |