diff options
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
-rw-r--r-- | clang/lib/AST/ASTContext.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 5463b7b7b05..c6e2c20df7d 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -696,7 +696,10 @@ CharUnits ASTContext::getDeclAlign(const Decl *D, bool RefAsPointee) const { // Walk through any array types while we're at it. T = getBaseElementType(arrayType); } - Align = std::max(Align, getPreferredTypeAlign(T.getTypePtr())); + if (Target.usePreferredTypeAlign()) + Align = std::max(Align, getPreferredTypeAlign(T.getTypePtr())); + else + Align = std::max(Align, getTypeAlign(T.getTypePtr())); } // Fields can be subject to extra alignment constraints, like if |