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