diff options
author | Martin Storsjo <martin@martin.st> | 2018-08-29 17:26:58 +0000 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2018-08-29 17:26:58 +0000 |
commit | 5ff7a8e67b1c0123fea25d67d1017b898e28504e (patch) | |
tree | aed2436cf1d3bafa8f665cb069771742477b6b0c /clang/test/CodeGen/dso-local-executable.c | |
parent | cfbbb707f539feed15bc35ecd44a095688d5b27a (diff) | |
download | bcm5719-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.c | 11 |
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 |