diff options
author | Sunil Srivastava <sunil_srivastava@playstation.sony.com> | 2016-02-05 20:50:02 +0000 |
---|---|---|
committer | Sunil Srivastava <sunil_srivastava@playstation.sony.com> | 2016-02-05 20:50:02 +0000 |
commit | 0ce2f227e83bb46da47921165792eaa26002a9e9 (patch) | |
tree | 4c0349fab2cfa069e223914873a5f3c3212c2ff3 /clang/lib/Basic | |
parent | 00ab73dcb0d602608a0851bb61aa378ef5ed3215 (diff) | |
download | bcm5719-llvm-0ce2f227e83bb46da47921165792eaa26002a9e9.tar.gz bcm5719-llvm-0ce2f227e83bb46da47921165792eaa26002a9e9.zip |
Do not honor explicit alignment attribute on fields for PS4.
This change reverts r257462 for PS4 triple.
Differential Revision: http://reviews.llvm.org/D16788
llvm-svn: 259916
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r-- | clang/lib/Basic/TargetInfo.cpp | 1 | ||||
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp index 1648a27d8b3..4a2341e565e 100644 --- a/clang/lib/Basic/TargetInfo.cpp +++ b/clang/lib/Basic/TargetInfo.cpp @@ -66,6 +66,7 @@ TargetInfo::TargetInfo(const llvm::Triple &T) : TargetOpts(), Triple(T) { UseSignedCharForObjCBool = true; UseBitFieldTypeAlignment = true; UseZeroLengthBitfieldAlignment = false; + UseExplicitBitFieldAlignment = true; ZeroLengthBitfieldBoundary = 0; HalfFormat = &llvm::APFloat::IEEEhalf; FloatFormat = &llvm::APFloat::IEEEsingle; diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 1c05eeef841..cbbf51be18e 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -606,6 +606,10 @@ public: this->MaxTLSAlign = 256; this->UserLabelPrefix = ""; + // On PS4, do not honor explicit bit field alignment, + // as in "__attribute__((aligned(2))) int b : 1;". + this->UseExplicitBitFieldAlignment = false; + switch (Triple.getArch()) { default: case llvm::Triple::x86_64: |