summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2010-07-18 20:49:59 +0000
committerEli Friedman <eli.friedman@gmail.com>2010-07-18 20:49:59 +0000
commitf8340deacd3f79b0e3c6bf60fcb8653cf683dd2f (patch)
tree0218c0d90e462a7fada61fd15c92283f6d6bd736 /clang/test/CodeGenCXX/mangle.cpp
parent40a564f09f5e6878290ba0ad8b45f114b1df51b9 (diff)
downloadbcm5719-llvm-f8340deacd3f79b0e3c6bf60fcb8653cf683dd2f.tar.gz
bcm5719-llvm-f8340deacd3f79b0e3c6bf60fcb8653cf683dd2f.zip
Fix mangling for static member variables of classes inside an extern "C"
linkage specification. Not sure if this is the ideal fix, but I'm reasonably sure it's correct vs. gcc. llvm-svn: 108656
Diffstat (limited to 'clang/test/CodeGenCXX/mangle.cpp')
-rw-r--r--clang/test/CodeGenCXX/mangle.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle.cpp b/clang/test/CodeGenCXX/mangle.cpp
index 814a7592fad..37af79b0f9c 100644
--- a/clang/test/CodeGenCXX/mangle.cpp
+++ b/clang/test/CodeGenCXX/mangle.cpp
@@ -507,3 +507,14 @@ namespace test13 {
// CHECK: define weak_odr void @_ZN6test133fooINS_1BEEEvRKNS_1AIT_EE(
template void foo(const A<B> &a);
}
+
+namespace test14 {
+ extern "C" {
+ struct S {
+ static int a(), x;
+ };
+ // CHECK: define i32 @_ZN6test141S1aEv
+ // CHECK: load i32* @_ZN6test141S1xE
+ int S::a() { return S::x; }
+ }
+}
OpenPOWER on IntegriCloud