PR26547: alignof should return ABI alignment, not preferred alignment
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 26 Oct 2018 19:26:45 +0000 (19:26 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 26 Oct 2018 19:26:45 +0000 (19:26 +0000)
commit6822bd79ac43f267613f1615bf60407103e24dba
tree3f29df66730f2992292de2bfd5e2913696043b6f
parent9e22b4c76d7214002e446d28b5fa31102b529e99
PR26547: alignof should return ABI alignment, not preferred alignment

Summary:
- Add `UETT_PreferredAlignOf` to account for the difference between `__alignof` and `alignof`
- `AlignOfType` now returns ABI alignment instead of preferred alignment iff clang-abi-compat > 7, and one uses _Alignof or alignof

Patch by Nicole Mazzuca!

Differential Revision: https://reviews.llvm.org/D53207

llvm-svn: 345419
21 files changed:
clang/docs/ReleaseNotes.rst
clang/include/clang/AST/Stmt.h
clang/include/clang/ASTMatchers/ASTMatchers.h
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Basic/LangOptions.h
clang/include/clang/Basic/TypeTraits.h
clang/lib/AST/ASTDumper.cpp
clang/lib/AST/Expr.cpp
clang/lib/AST/ExprConstant.cpp
clang/lib/AST/ItaniumMangle.cpp
clang/lib/AST/StmtPrinter.cpp
clang/lib/Frontend/CompilerInvocation.cpp
clang/lib/Parse/ParseExpr.cpp
clang/lib/Sema/SemaChecking.cpp
clang/lib/Sema/SemaExpr.cpp
clang/test/Headers/thumbv7-apple-ios-types.cpp
clang/test/Sema/align-x86-abi7.c [new file with mode: 0644]
clang/test/Sema/align-x86.c
clang/test/SemaCXX/align-x86-abi7.cpp [new file with mode: 0644]
clang/test/SemaCXX/align-x86.cpp [new file with mode: 0644]
clang/test/SemaCXX/alignof.cpp