summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/TemplateBase.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-03-28 23:32:39 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-03-28 23:32:39 +0000
commitfdf496cb4807647276ad43f9c4ae5aa30bad299c (patch)
tree3626d6b6d132c5c4c0329a9e10ecbc6618968629 /clang/lib/AST/TemplateBase.cpp
parent9afbb8c2b1d00036cb86de54c6354f9388160ba2 (diff)
downloadbcm5719-llvm-fdf496cb4807647276ad43f9c4ae5aa30bad299c.tar.gz
bcm5719-llvm-fdf496cb4807647276ad43f9c4ae5aa30bad299c.zip
PR19278: Align ASTTemplateArgumentListInfo to match its following dynamic array
of TemplateArgumentLocs. 'uint64_t' has higher alignment requirements than a pointer on some platforms. llvm-svn: 205068
Diffstat (limited to 'clang/lib/AST/TemplateBase.cpp')
-rw-r--r--clang/lib/AST/TemplateBase.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/AST/TemplateBase.cpp b/clang/lib/AST/TemplateBase.cpp
index 16efb790b68..b068ffafef5 100644
--- a/clang/lib/AST/TemplateBase.cpp
+++ b/clang/lib/AST/TemplateBase.cpp
@@ -511,6 +511,8 @@ const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB,
const ASTTemplateArgumentListInfo *
ASTTemplateArgumentListInfo::Create(ASTContext &C,
const TemplateArgumentListInfo &List) {
+ assert(llvm::alignOf<ASTTemplateArgumentListInfo>() >=
+ llvm::alignOf<TemplateArgumentLoc>());
std::size_t size = ASTTemplateArgumentListInfo::sizeFor(List.size());
void *Mem = C.Allocate(size, llvm::alignOf<ASTTemplateArgumentListInfo>());
ASTTemplateArgumentListInfo *TAI = new (Mem) ASTTemplateArgumentListInfo();
OpenPOWER on IntegriCloud