diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-03-06 19:57:36 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-03-06 19:57:36 +0000 |
commit | 34b4989658a724111652c3dbe52b9ee42cd54c24 (patch) | |
tree | bda4b73f6243a197aaf5f7a4a9456b92405acad1 /clang/test | |
parent | eeb5195d3a6e6ee0ecd0f9af7e08c37e3b520cbb (diff) | |
download | bcm5719-llvm-34b4989658a724111652c3dbe52b9ee42cd54c24.tar.gz bcm5719-llvm-34b4989658a724111652c3dbe52b9ee42cd54c24.zip |
MS ABI: Disambiguate the manglings for global guard variables
If a guard variable will be created for an entity at global scope,
then we cannot rely on the scope depth to disambiguate names for us.
Instead, mangle the entire variable into the guard to ensure it's uniqueness.
llvm-svn: 203151
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp b/clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp index 4f44bb8acc7..021356e8fa2 100644 --- a/clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp +++ b/clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp @@ -135,6 +135,8 @@ void force_usage() { } // CHECK: define internal void @"\01??__Efoo@?$B@H@@2VA@@A@YAXXZ"() [[NUW]] +// CHECK: load i32* @"\01??_Bfoo@?$B@H@@2VA@@A@5" +// CHECK: store i32 {{.*}}, i32* @"\01??_Bfoo@?$B@H@@2VA@@A@5" // CHECK: %{{[.0-9A-Z_a-z]+}} = call x86_thiscallcc %class.A* @"\01??0A@@QAE@XZ" // CHECK: call i32 @atexit(void ()* @"\01??__Ffoo@?$B@H@@2VA@@A@YAXXZ") // CHECK: ret void |