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 | 27d09acf9e883691288d8a21c10f4a5d6e293242 (patch) | |
tree | 897e6d92d570a90dab403f5e3c87573a869ce7c7 /test/CodeGenCXX/microsoft-abi-static-initializers.cpp | |
parent | bf4e0959ad4929d245107ceb91e1738a10237b0a (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203151 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/microsoft-abi-static-initializers.cpp')
-rw-r--r-- | test/CodeGenCXX/microsoft-abi-static-initializers.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/CodeGenCXX/microsoft-abi-static-initializers.cpp b/test/CodeGenCXX/microsoft-abi-static-initializers.cpp index 4f44bb8acc..021356e8fa 100644 --- a/test/CodeGenCXX/microsoft-abi-static-initializers.cpp +++ b/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 |