summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclGroup.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2015-04-02 12:25:07 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2015-04-02 12:25:07 +0000
commit1d4ffd74c167467b7659d560d3f7b150fd931fbb (patch)
tree19dc6d2c7fc7d4ccf3c9e96118341048ff332899 /clang/lib/AST/DeclGroup.cpp
parent165307184a54624f4a30936d5edd0c9faa63357c (diff)
downloadbcm5719-llvm-1d4ffd74c167467b7659d560d3f7b150fd931fbb.tar.gz
bcm5719-llvm-1d4ffd74c167467b7659d560d3f7b150fd931fbb.zip
Replace custom alignment enforcement with LLVM_ALIGNAS.
This isn't perfect as it still assumes sizeof(void*) == alignof(void*), but we can fix that when compiler support gets better. Shrinks some Stmts that happen to inherit from Stmt and have a SourceLocation as the first member (64 bit archs only). llvm-svn: 233911
Diffstat (limited to 'clang/lib/AST/DeclGroup.cpp')
-rw-r--r--clang/lib/AST/DeclGroup.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/AST/DeclGroup.cpp b/clang/lib/AST/DeclGroup.cpp
index 9861f2278f9..512837fdf3f 100644
--- a/clang/lib/AST/DeclGroup.cpp
+++ b/clang/lib/AST/DeclGroup.cpp
@@ -18,6 +18,8 @@
using namespace clang;
DeclGroup* DeclGroup::Create(ASTContext &C, Decl **Decls, unsigned NumDecls) {
+ static_assert(sizeof(DeclGroup) % llvm::AlignOf<void *>::Alignment == 0,
+ "Trailing data is unaligned!");
assert(NumDecls > 1 && "Invalid DeclGroup");
unsigned Size = sizeof(DeclGroup) + sizeof(Decl*) * NumDecls;
void* Mem = C.Allocate(Size, llvm::AlignOf<DeclGroup>::Alignment);
OpenPOWER on IntegriCloud