mirror of https://github.com/microsoft/clang.git
Set dso_local for NSConcreteStackBlock.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327544 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ac11dcec21
commit
8c83aac7a1
|
@ -2586,11 +2586,11 @@ static void configureBlocksRuntimeObject(CodeGenModule &CGM,
|
|||
}
|
||||
}
|
||||
|
||||
if (!CGM.getLangOpts().BlocksRuntimeOptional)
|
||||
return;
|
||||
|
||||
if (GV->isDeclaration() && GV->hasExternalLinkage())
|
||||
if (CGM.getLangOpts().BlocksRuntimeOptional && GV->isDeclaration() &&
|
||||
GV->hasExternalLinkage())
|
||||
GV->setLinkage(llvm::GlobalValue::ExternalWeakLinkage);
|
||||
|
||||
CGM.setDSOLocal(GV);
|
||||
}
|
||||
|
||||
llvm::Constant *CodeGenModule::getBlockObjectDispose() {
|
||||
|
|
|
@ -67,7 +67,7 @@ int (*g(void))(void) {
|
|||
return _Block_copy(^{ ++i; return i; });
|
||||
}
|
||||
|
||||
// CHECK-BLOCKS-IN-BLOCKS-DECL: @_NSConcreteStackBlock = external dllexport global i8*
|
||||
// CHECK-BLOCKS-IN-BLOCKS-DECL: @_NSConcreteStackBlock = external dso_local dllexport global i8*
|
||||
// CHECK-BLOCKS-IN-BLOCKS-DEFN: @_NSConcreteStackBlock = common dso_local dllexport global [5 x i32]
|
||||
// CHECK-BLOCKS-NOT-IN-BLOCKS: @_NSConcreteStackBlock = external dllimport global i8*
|
||||
// CHECK-BLOCKS-NOT-IN-BLOCKS-EXTERN: @_NSConcreteStackBlock = external dllimport global i8*
|
||||
|
|
Loading…
Reference in New Issue