summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2016-12-15 16:30:20 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2016-12-15 16:30:20 +0000
commit05b8fde8ee1dc4af5c804f1f12a4da706ffdf8a3 (patch)
tree4f6ab703ae6517852ae9714585a93d874e61fcc9 /clang/lib/CodeGen
parentcf1767421140616e436338477c3560665de1f5fd (diff)
downloadbcm5719-llvm-05b8fde8ee1dc4af5c804f1f12a4da706ffdf8a3.tar.gz
bcm5719-llvm-05b8fde8ee1dc4af5c804f1f12a4da706ffdf8a3.zip
CodeGen: ubsan is built static on windows, give handlers local storage
The UBSAN runtime is built static on Windows. This requires that we give local storage always. This impacts Windows where the linker would otherwise have to generate a thunk to access the symbol via the IAT. This should repair the windows clang build bots. llvm-svn: 289829
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGExpr.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
index 49308e25d71..88a537467e2 100644
--- a/clang/lib/CodeGen/CGExpr.cpp
+++ b/clang/lib/CodeGen/CGExpr.cpp
@@ -2545,7 +2545,8 @@ static void emitCheckHandlerCall(CodeGenFunction &CGF,
llvm::Value *Fn = CGF.CGM.CreateRuntimeFunction(
FnType, FnName,
llvm::AttributeSet::get(CGF.getLLVMContext(),
- llvm::AttributeSet::FunctionIndex, B));
+ llvm::AttributeSet::FunctionIndex, B),
+ /*Local=*/true);
llvm::CallInst *HandlerCall = CGF.EmitNounwindRuntimeCall(Fn, FnArgs);
if (!MayReturn) {
HandlerCall->setDoesNotReturn();
OpenPOWER on IntegriCloud