Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/CodeGen/MicrosoftCXXABI.cpp
Show First 20 Lines • Show All 2,516 Lines • ▼ Show 20 Lines | GuardVar = | ||||
GV->getLinkage(), Zero, GuardName.str()); | GV->getLinkage(), Zero, GuardName.str()); | ||||
GuardVar->setVisibility(GV->getVisibility()); | GuardVar->setVisibility(GV->getVisibility()); | ||||
GuardVar->setDLLStorageClass(GV->getDLLStorageClass()); | GuardVar->setDLLStorageClass(GV->getDLLStorageClass()); | ||||
GuardVar->setAlignment(GuardAlign.getAsAlign()); | GuardVar->setAlignment(GuardAlign.getAsAlign()); | ||||
if (GuardVar->isWeakForLinker()) | if (GuardVar->isWeakForLinker()) | ||||
GuardVar->setComdat( | GuardVar->setComdat( | ||||
CGM.getModule().getOrInsertComdat(GuardVar->getName())); | CGM.getModule().getOrInsertComdat(GuardVar->getName())); | ||||
if (D.getTLSKind()) | if (D.getTLSKind()) | ||||
GuardVar->setThreadLocal(true); | CGM.setTLSMode(GuardVar, D); | ||||
if (GI && !HasPerVariableGuard) | if (GI && !HasPerVariableGuard) | ||||
GI->Guard = GuardVar; | GI->Guard = GuardVar; | ||||
} | } | ||||
ConstantAddress GuardAddr(GuardVar, GuardAlign); | ConstantAddress GuardAddr(GuardVar, GuardAlign); | ||||
assert(GuardVar->getLinkage() == GV->getLinkage() && | assert(GuardVar->getLinkage() == GV->getLinkage() && | ||||
"static local from the same function had different linkage"); | "static local from the same function had different linkage"); | ||||
▲ Show 20 Lines • Show All 1,798 Lines • Show Last 20 Lines |