xref: /llvm-project/clang/test/Index/print-mangled-name.cpp (revision f8d44de1438a22c1755b27a0e91dc3b7b21bb7f2)
1bc068586SAdrian Prantl // REQUIRES: x86-registered-target
25365532bSArgyrios Kyrtzidis // RUN: c-index-test -write-pch %t_linux.ast -target i686-pc-linux-gnu %s
344a206f8SEli Bendersky // RUN: c-index-test -test-print-mangle %t_linux.ast | FileCheck %s --check-prefix=ITANIUM
444a206f8SEli Bendersky 
53f84b735SArgyrios Kyrtzidis // RUN: c-index-test -write-pch %t_macho.ast -target x86_64-apple-darwin %s
679759595SEli Bendersky // RUN: c-index-test -test-print-mangle %t_macho.ast | FileCheck %s --check-prefix=MACHO
779759595SEli Bendersky 
85365532bSArgyrios Kyrtzidis // RUN: c-index-test -write-pch %t_msft.ast -target i686-pc-win32 %s
944a206f8SEli Bendersky // RUN: c-index-test -test-print-mangle %t_msft.ast | FileCheck %s --check-prefix=MICROSOFT
1044a206f8SEli Bendersky 
1144a206f8SEli Bendersky int foo(int, int);
1244a206f8SEli Bendersky // ITANIUM: mangled=_Z3fooii
1379759595SEli Bendersky // MACHO: mangled=__Z3fooii
1444a206f8SEli Bendersky // MICROSOFT: mangled=?foo@@YAHHH
1544a206f8SEli Bendersky 
1644a206f8SEli Bendersky int foo(float, int);
1744a206f8SEli Bendersky // ITANIUM: mangled=_Z3foofi
1879759595SEli Bendersky // MACHO: mangled=__Z3foofi
1944a206f8SEli Bendersky // MICROSOFT: mangled=?foo@@YAHMH
2044a206f8SEli Bendersky 
2144a206f8SEli Bendersky struct S {
2244a206f8SEli Bendersky   int x, y;
2344a206f8SEli Bendersky };
2444a206f8SEli Bendersky // ITANIUM: StructDecl{{.*}}mangled=]
2579759595SEli Bendersky // MACHO: StructDecl{{.*}}mangled=]
2644a206f8SEli Bendersky // MICROSOFT: StructDecl{{.*}}mangled=]
2744a206f8SEli Bendersky 
2844a206f8SEli Bendersky int foo(S, S&);
2979759595SEli Bendersky // ITANIUM: mangled=_Z3foo1SRS_
3079759595SEli Bendersky // MACHO: mangled=__Z3foo1SRS_
3144a206f8SEli Bendersky // MICROSOFT: mangled=?foo@@YAHUS
32*f8d44de1SEhsan Akhgari 
33*f8d44de1SEhsan Akhgari extern "C" int foo(int);
34*f8d44de1SEhsan Akhgari // ITANIUM: mangled=foo
35*f8d44de1SEhsan Akhgari // MACHO: mangled=_foo
36*f8d44de1SEhsan Akhgari // MICROSOFT: mangled=_foo
37