diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-04-02 12:25:07 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-04-02 12:25:07 +0000 |
commit | 1d4ffd74c167467b7659d560d3f7b150fd931fbb (patch) | |
tree | 19dc6d2c7fc7d4ccf3c9e96118341048ff332899 /clang/lib/AST/DeclGroup.cpp | |
parent | 165307184a54624f4a30936d5edd0c9faa63357c (diff) | |
download | bcm5719-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.cpp | 2 |
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); |