summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2015-01-16 18:44:04 +0000
committerTim Northover <tnorthover@apple.com>2015-01-16 18:44:04 +0000
commit7ad87af2773b31abc97c6cafd171f51dcc7dd332 (patch)
treef3380ba9221ec3c6df849d8f3752fe47d3e45045 /clang/lib/Basic/Targets.cpp
parent949dc41502ff3ee9e34166080cc7861df1cd2a79 (diff)
downloadbcm5719-llvm-7ad87af2773b31abc97c6cafd171f51dcc7dd332.tar.gz
bcm5719-llvm-7ad87af2773b31abc97c6cafd171f51dcc7dd332.zip
AArch64: implement AAPCS layout rules for bit-fields.
llvm-svn: 226294
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r--clang/lib/Basic/Targets.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 45a37172926..9aac3b78643 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -4650,6 +4650,13 @@ public:
// specifiers.
NoAsmVariants = true;
+ // AAPCS gives rules for bitfields. 7.1.7 says: "The container type
+ // contributes to the alignment of the containing aggregate in the same way
+ // a plain (non bit-field) member of that type would, without exception for
+ // zero-sized or anonymous bit-fields."
+ UseBitFieldTypeAlignment = true;
+ UseZeroLengthBitfieldAlignment = true;
+
// AArch64 targets default to using the ARM C++ ABI.
TheCXXABI.set(TargetCXXABI::GenericAArch64);
}
OpenPOWER on IntegriCloud