diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-08-04 05:11:01 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-08-04 05:11:01 +0000 |
commit | 37bffb6f3add4d58ef5f11ace024eac0cb4402c2 (patch) | |
tree | 5aac42688c79eaf50fc70f5a58e6d6e495d38e03 /clang/lib/AST/ASTContext.cpp | |
parent | f31ecf3feaf13ec10f9d14b7a6583631c222a899 (diff) | |
download | bcm5719-llvm-37bffb6f3add4d58ef5f11ace024eac0cb4402c2.tar.gz bcm5719-llvm-37bffb6f3add4d58ef5f11ace024eac0cb4402c2.zip |
AST: Propagate 'AlignIsRequired' though many levels of typedefs
A typedef of a typedef should have AlignIsRequired if *either* typedef
has an AlignAttr attached to it.
llvm-svn: 214698
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
-rw-r--r-- | clang/lib/AST/ASTContext.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 7a309603b41..6545d3b351e 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -1707,8 +1707,10 @@ TypeInfo ASTContext::getTypeInfoImpl(const Type *T) const { if (unsigned AttrAlign = Typedef->getMaxAlignment()) { Align = AttrAlign; AlignIsRequired = true; - } else + } else { Align = Info.Align; + AlignIsRequired = Info.AlignIsRequired; + } Width = Info.Width; break; } |