mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
GlobalValue: Automatically reset visibility when setting local linkage
r208264 started asserting in `setLinkage()` and `setVisibility()` that visibility and linkage are compatible. There are a few places in clang where visibility is set first, and then linkage later, so the assert fires. In `setLinkage()`, it's clear what the visibility *should* be, so rather than updating all the call sites just automatically fix the visibility. The testcase for this is for *clang*, so it'll follow separately in cfe. PR19760 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209227 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1e3493b04a
commit
8598e290c3
@ -222,8 +222,8 @@ public:
|
||||
bool hasCommonLinkage() const { return isCommonLinkage(Linkage); }
|
||||
|
||||
void setLinkage(LinkageTypes LT) {
|
||||
assert((!isLocalLinkage(LT) || hasDefaultVisibility()) &&
|
||||
"local linkage requires default visibility");
|
||||
if (isLocalLinkage(LT))
|
||||
Visibility = DefaultVisibility;
|
||||
Linkage = LT;
|
||||
}
|
||||
LinkageTypes getLinkage() const { return Linkage; }
|
||||
|
Loading…
Reference in New Issue
Block a user