diff options
author | Charles Davis <cdavis@mines.edu> | 2010-06-30 08:09:57 +0000 |
---|---|---|
committer | Charles Davis <cdavis@mines.edu> | 2010-06-30 08:09:57 +0000 |
commit | 2a47730767043cb213337692c7e02002274763ae (patch) | |
tree | 673d4a3ff6886248d1f8321c83795b9d83710229 /clang/test/CodeGenCXX/mangle-ms.cpp | |
parent | 169e43c4cf82e47aabe0cb7a4a2570d99a3d30e7 (diff) | |
download | bcm5719-llvm-2a47730767043cb213337692c7e02002274763ae.tar.gz bcm5719-llvm-2a47730767043cb213337692c7e02002274763ae.zip |
Mangle arrays in the Microsoft C++ Mangler. It's not quite finished (it
doesn't mangle array parameters right), but I think that should be fixed
in Sema (Doug, John, what do you think?).
Also, stub out the remaining mangleType() routines.
llvm-svn: 107264
Diffstat (limited to 'clang/test/CodeGenCXX/mangle-ms.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/mangle-ms.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle-ms.cpp b/clang/test/CodeGenCXX/mangle-ms.cpp index d0bd4a967de..6f1f95ccd08 100644 --- a/clang/test/CodeGenCXX/mangle-ms.cpp +++ b/clang/test/CodeGenCXX/mangle-ms.cpp @@ -8,6 +8,7 @@ // CHECK: @"\01?f@foo@@2DD" // CHECK: @"\01?g@bar@@2HA" // CHECK: @"\01?h@@3QAHA" +// CHECK: @"\01?i@@3PAY0BD@HA" int a; @@ -42,6 +43,8 @@ enum quux { qthree }; +// NOTE: The calling convention is supposed to be __thiscall by default, +// but that needs to be fixed in Sema/AST. int foo::operator+(int a) {return a;} // CHECK: @"\01??Hfoo@@QAAHH@Z" @@ -53,6 +56,8 @@ int bar::g; extern int * const h = &a; +int i[10][20]; + // Static functions are mangled, too. // Also make sure calling conventions, arglists, and throw specs work. static void __stdcall alpha(float a, double b) throw() {} @@ -71,3 +76,8 @@ void gamma(class foo, struct bar, union baz, enum quux) {} // Make sure pointer/reference-type mangling works. void delta(int * const a, const long &) {} // CHECK: @"\01?delta@@YAXQAHABJ@Z" + +// Array mangling. (It should be mangled as a const pointer, but that needs +// to be fixed in Sema.) +void epsilon(int a[][10][20]) {} +// CHECK: @"\01?epsilon@@YAXPAY19BD@H@Z" |