From 004d240b6a8f06227f0e819c15e949ffc5fbd7c2 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 23 Feb 2018 15:32:32 +0000 Subject: 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: 325915 --- clang/test/CodeGenCXX/pragma-init_seg.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'clang/test/CodeGenCXX/pragma-init_seg.cpp') 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 struct A { static const int x; }; template const int A::x = f(); template struct A; -// 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 struct A { static const int x; }; template const int A::x = f(); int g() { return A::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") } -- cgit v1.2.3