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/AST | |
| 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/AST')
| -rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index 0572ff6b134..b8891cb388e 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/lib/AST/RecordLayoutBuilder.cpp @@ -1600,7 +1600,8 @@ void ItaniumRecordLayoutBuilder::LayoutBitField(const FieldDecl *D) { (AllowPadding && (FieldOffset & (FieldAlign-1)) + FieldSize > TypeSize)) { FieldOffset = llvm::alignTo(FieldOffset, FieldAlign); - } else if (ExplicitFieldAlign) { + } else if (ExplicitFieldAlign && + Context.getTargetInfo().useExplicitBitFieldAlignment()) { // TODO: figure it out what needs to be done on targets that don't honor // bit-field type alignment like ARM APCS ABI. FieldOffset = llvm::alignTo(FieldOffset, ExplicitFieldAlign); @@ -1612,7 +1613,8 @@ void ItaniumRecordLayoutBuilder::LayoutBitField(const FieldDecl *D) { (UnpackedFieldOffset & (UnpackedFieldAlign-1)) + FieldSize > TypeSize)) UnpackedFieldOffset = llvm::alignTo(UnpackedFieldOffset, UnpackedFieldAlign); - else if (ExplicitFieldAlign) + else if (ExplicitFieldAlign && + Context.getTargetInfo().useExplicitBitFieldAlignment()) UnpackedFieldOffset = llvm::alignTo(UnpackedFieldOffset, ExplicitFieldAlign); } |

