summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/dso-local-executable.c
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2018-08-29 17:26:58 +0000
committerMartin Storsjo <martin@martin.st>2018-08-29 17:26:58 +0000
commit5ff7a8e67b1c0123fea25d67d1017b898e28504e (patch)
treeaed2436cf1d3bafa8f665cb069771742477b6b0c /clang/test/CodeGen/dso-local-executable.c
parentcfbbb707f539feed15bc35ecd44a095688d5b27a (diff)
downloadbcm5719-llvm-5ff7a8e67b1c0123fea25d67d1017b898e28504e.tar.gz
bcm5719-llvm-5ff7a8e67b1c0123fea25d67d1017b898e28504e.zip
[MinGW] Don't mark external variables as DSO local
Since MinGW supports automatically importing external variables from DLLs even without the DLLImport attribute, we shouldn't mark them as DSO local unless we actually know them to be local for sure. Keep marking thread local variables as DSO local. Differential Revision: https://reviews.llvm.org/D51382 llvm-svn: 340941
Diffstat (limited to 'clang/test/CodeGen/dso-local-executable.c')
-rw-r--r--clang/test/CodeGen/dso-local-executable.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/CodeGen/dso-local-executable.c b/clang/test/CodeGen/dso-local-executable.c
index 6e434a67eff..36fd4d0d039 100644
--- a/clang/test/CodeGen/dso-local-executable.c
+++ b/clang/test/CodeGen/dso-local-executable.c
@@ -9,6 +9,17 @@
// COFF-DAG: @import_var = external dllimport global i32
// COFF-DAG: declare dllimport void @import_func()
+// RUN: %clang_cc1 -triple x86_64-w64-mingw32 -emit-llvm %s -o - | FileCheck -allow-deprecated-dag-overlap --check-prefix=MINGW %s
+// MINGW-DAG: @bar = external global i32
+// MINGW-DAG: @weak_bar = extern_weak global i32
+// MINGW-DAG: declare dso_local void @foo()
+// MINGW-DAG: @baz = dso_local global i32 42
+// MINGW-DAG: define dso_local i32* @zed()
+// MINGW-DAG: @thread_var = external dso_local thread_local global i32
+// MINGW-DAG: @local_thread_var = dso_local thread_local global i32 42
+// MINGW-DAG: @import_var = external dllimport global i32
+// MINGW-DAG: declare dllimport void @import_func()
+
// RUN: %clang_cc1 -triple x86_64-pc-linux -emit-llvm -mrelocation-model static %s -o - | FileCheck -allow-deprecated-dag-overlap --check-prefix=STATIC %s
// STATIC-DAG: @bar = external dso_local global i32
// STATIC-DAG: @weak_bar = extern_weak dso_local global i32
OpenPOWER on IntegriCloud