From: Rafael Espindola Date: Tue, 20 Mar 2018 15:42:58 +0000 (+0000) Subject: Set dso_local for guid decls. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=29c65f90ec05124855608d2011fbd0ef8ea75dec;p=clang Set dso_local for guid decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327991 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index a47c1c649d..310fb8e190 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -1921,6 +1921,7 @@ ConstantAddress CodeGenModule::GetAddrOfUuidDescriptor( /*isConstant=*/true, llvm::GlobalValue::LinkOnceODRLinkage, Init, Name); if (supportsCOMDAT()) GV->setComdat(TheModule.getOrInsertComdat(GV->getName())); + setDSOLocal(GV); return ConstantAddress(GV, Alignment); } diff --git a/test/CodeGenCXX/microsoft-templ-uuidof.cpp b/test/CodeGenCXX/microsoft-templ-uuidof.cpp index 4d30a6f9dd..7d40a15c93 100644 --- a/test/CodeGenCXX/microsoft-templ-uuidof.cpp +++ b/test/CodeGenCXX/microsoft-templ-uuidof.cpp @@ -15,6 +15,8 @@ struct __declspec(uuid("{BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB}")) X {}; struct __declspec(uuid("{CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC}")) C {}; +// CHECK-DAG: @_GUID_aaaaaaaa_aaaa_aaaa_aaaa_aaaaaaaaaaaa = linkonce_odr dso_local + const _GUID &xa = __uuidof(X); // CHECK-DAG: @"?xa@@3ABU_GUID@@B" = {{.*}} @_GUID_aaaaaaaa_aaaa_aaaa_aaaa_aaaaaaaaaaaa