diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-23 19:30:48 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-23 19:30:48 +0000 |
commit | 922f2aa9b2f13631febe7167e6db3cd3b421e161 (patch) | |
tree | bdbcb27e99714519c2e27a4358ce87c069bc4ad9 /clang/test/CodeGenCXX/pragma-init_seg.cpp | |
parent | 1afffac05b37af21c6df63ef5e662e2e1b81c2f8 (diff) | |
download | bcm5719-llvm-922f2aa9b2f13631febe7167e6db3cd3b421e161.tar.gz bcm5719-llvm-922f2aa9b2f13631febe7167e6db3cd3b421e161.zip |
Bring r325915 back.
The tests that failed on a windows host have been fixed.
Original message:
Start setting dso_local for COFF.
With this there are still some GVs where we don't set dso_local
because setGVProperties is never called. I intend to fix that in
followup commits. This is just the bare minimum to teach
shouldAssumeDSOLocal what it should do for COFF.
llvm-svn: 325940
Diffstat (limited to 'clang/test/CodeGenCXX/pragma-init_seg.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/pragma-init_seg.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/test/CodeGenCXX/pragma-init_seg.cpp b/clang/test/CodeGenCXX/pragma-init_seg.cpp index 1ed841f23dd..8fecb1e1952 100644 --- a/clang/test/CodeGenCXX/pragma-init_seg.cpp +++ b/clang/test/CodeGenCXX/pragma-init_seg.cpp @@ -9,17 +9,17 @@ int f(); namespace simple_init { #pragma init_seg(compiler) int x = f(); -// CHECK: @"\01?x@simple_init@@3HA" = global i32 0, align 4 +// CHECK: @"\01?x@simple_init@@3HA" = dso_local global i32 0, align 4 // CHECK: @__cxx_init_fn_ptr = private constant void ()* @"\01??__Ex@simple_init@@YAXXZ", section ".CRT$XCC" #pragma init_seg(lib) int y = f(); -// CHECK: @"\01?y@simple_init@@3HA" = global i32 0, align 4 +// CHECK: @"\01?y@simple_init@@3HA" = dso_local global i32 0, align 4 // CHECK: @__cxx_init_fn_ptr.1 = private constant void ()* @"\01??__Ey@simple_init@@YAXXZ", section ".CRT$XCL" #pragma init_seg(user) int z = f(); -// CHECK: @"\01?z@simple_init@@3HA" = global i32 0, align 4 +// CHECK: @"\01?z@simple_init@@3HA" = dso_local global i32 0, align 4 // No function pointer! This one goes on @llvm.global_ctors. } @@ -35,7 +35,7 @@ int x = f(); namespace selectany_init { int __declspec(selectany) x = f(); -// CHECK: @"\01?x@selectany_init@@3HA" = weak_odr global i32 0, comdat, align 4 +// CHECK: @"\01?x@selectany_init@@3HA" = weak_odr dso_local global i32 0, comdat, align 4 // CHECK: @__cxx_init_fn_ptr.3 = private constant void ()* @"\01??__Ex@selectany_init@@YAXXZ", section ".asdf", comdat($"\01?x@selectany_init@@3HA") } @@ -43,7 +43,7 @@ namespace explicit_template_instantiation { template <typename T> struct A { static const int x; }; template <typename T> const int A<T>::x = f(); template struct A<int>; -// CHECK: @"\01?x@?$A@H@explicit_template_instantiation@@2HB" = weak_odr global i32 0, comdat, align 4 +// CHECK: @"\01?x@?$A@H@explicit_template_instantiation@@2HB" = weak_odr dso_local global i32 0, comdat, align 4 // CHECK: @__cxx_init_fn_ptr.4 = private constant void ()* @"\01??__Ex@?$A@H@explicit_template_instantiation@@2HB@YAXXZ", section ".asdf", comdat($"\01?x@?$A@H@explicit_template_instantiation@@2HB") } @@ -51,7 +51,7 @@ namespace implicit_template_instantiation { template <typename T> struct A { static const int x; }; template <typename T> const int A<T>::x = f(); int g() { return A<int>::x; } -// CHECK: @"\01?x@?$A@H@implicit_template_instantiation@@2HB" = linkonce_odr global i32 0, comdat, align 4 +// CHECK: @"\01?x@?$A@H@implicit_template_instantiation@@2HB" = linkonce_odr dso_local global i32 0, comdat, align 4 // CHECK: @__cxx_init_fn_ptr.5 = private constant void ()* @"\01??__Ex@?$A@H@implicit_template_instantiation@@2HB@YAXXZ", section ".asdf", comdat($"\01?x@?$A@H@implicit_template_instantiation@@2HB") } |