Index: lib/CodeGen/CodeGenModule.cpp =================================================================== --- lib/CodeGen/CodeGenModule.cpp +++ lib/CodeGen/CodeGenModule.cpp @@ -1921,6 +1921,7 @@ /*isConstant=*/true, llvm::GlobalValue::LinkOnceODRLinkage, Init, Name); if (supportsCOMDAT()) GV->setComdat(TheModule.getOrInsertComdat(GV->getName())); + setDSOLocal(GV); return ConstantAddress(GV, Alignment); } Index: test/CodeGenCXX/microsoft-templ-uuidof.cpp =================================================================== --- test/CodeGenCXX/microsoft-templ-uuidof.cpp +++ test/CodeGenCXX/microsoft-templ-uuidof.cpp @@ -15,6 +15,8 @@ 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