diff options
author | David Majnemer <david.majnemer@gmail.com> | 2013-09-17 23:57:10 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2013-09-17 23:57:10 +0000 |
commit | 50ce835ecb27cfc121ba895110866eccfd962f0b (patch) | |
tree | 5cd287b06e7615434f95981141c33b359601c3f6 /clang/test/CodeGenCXX/mangle-ms.cpp | |
parent | 1b0256c37975a1769d879906139d20c2d51b4981 (diff) | |
download | bcm5719-llvm-50ce835ecb27cfc121ba895110866eccfd962f0b.tar.gz bcm5719-llvm-50ce835ecb27cfc121ba895110866eccfd962f0b.zip |
Revert "Revert "[-cxx-abi microsoft] Mangle local TagDecls appropriately""
This reverts commit r190895 which reverted r190892.
llvm-svn: 190904
Diffstat (limited to 'clang/test/CodeGenCXX/mangle-ms.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/mangle-ms.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle-ms.cpp b/clang/test/CodeGenCXX/mangle-ms.cpp index 8b7aa4223d9..fd7c605c99f 100644 --- a/clang/test/CodeGenCXX/mangle-ms.cpp +++ b/clang/test/CodeGenCXX/mangle-ms.cpp @@ -275,3 +275,32 @@ int wWinMain() { return 0; } int DllMain() { return 0; } // CHECK-DAG: @DllMain // X64-DAG: @DllMain + +inline int inline_function_with_local_type() { + static struct { + int a_field; + } static_variable_in_inline_function = { 20 }, second_static = { 40 }; + // CHECK: @"\01?static_variable_in_inline_function@?1??inline_function_with_local_type@@YAHXZ@4U<unnamed-type-static_variable_in_inline_function>@?1??1@YAHXZ@A" + + return static_variable_in_inline_function.a_field + second_static.a_field; +} + +int call_inline_function_with_local_type() { + return inline_function_with_local_type(); +} + +template <typename T> +inline int templated_inline_function_with_local_type() { + static struct { + int a_field; + } static_variable_in_templated_inline_function = { 20 }, + second_static = { 40 }; + // CHECK: @"\01?static_variable_in_templated_inline_function@?1???$templated_inline_function_with_local_type@H@@YAHXZ@4U<unnamed-type-static_variable_in_templated_inline_function>@?1???$templated_inline_function_with_local_type@H@@YAHXZ@A" + + return static_variable_in_templated_inline_function.a_field + + second_static.a_field; +} + +int call_templated_inline_function_with_local_type() { + return templated_inline_function_with_local_type<int>(); +} |