mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-20 20:30:56 +00:00
Work around bug in mingw-w64 GCC 8.1.0
This particular version of GCC seems to break bitfields when a method appears between two bitfield members. Personally, I think it's nice to keep bitfields close together so that it's easy to check how things are packed, so I moved the method after SubClassData. Fixes PR38168. llvm-svn: 337495
This commit is contained in:
parent
a446bf556d
commit
3f6e321579
@ -110,18 +110,12 @@ protected:
|
||||
unsigned IsDSOLocal : 1;
|
||||
|
||||
private:
|
||||
friend class Constant;
|
||||
|
||||
void maybeSetDsoLocal() {
|
||||
if (hasLocalLinkage() ||
|
||||
(!hasDefaultVisibility() && !hasExternalWeakLinkage()))
|
||||
setDSOLocal(true);
|
||||
}
|
||||
|
||||
// Give subclasses access to what otherwise would be wasted padding.
|
||||
// (17 + 4 + 2 + 2 + 2 + 3 + 1 + 1) == 32.
|
||||
unsigned SubClassData : GlobalValueSubClassDataBits;
|
||||
|
||||
friend class Constant;
|
||||
|
||||
void destroyConstantImpl();
|
||||
Value *handleOperandChangeImpl(Value *From, Value *To);
|
||||
|
||||
@ -149,6 +143,12 @@ private:
|
||||
llvm_unreachable("Fully covered switch above!");
|
||||
}
|
||||
|
||||
void maybeSetDsoLocal() {
|
||||
if (hasLocalLinkage() ||
|
||||
(!hasDefaultVisibility() && !hasExternalWeakLinkage()))
|
||||
setDSOLocal(true);
|
||||
}
|
||||
|
||||
protected:
|
||||
/// The intrinsic ID for this subclass (which must be a Function).
|
||||
///
|
||||
|
Loading…
x
Reference in New Issue
Block a user