]> granicus.if.org Git - clang/commit
Avoid PointerIntPair of constexpr EvalInfo structs
authorReid Kleckner <rnk@google.com>
Tue, 15 Aug 2017 01:17:47 +0000 (01:17 +0000)
committerReid Kleckner <rnk@google.com>
Tue, 15 Aug 2017 01:17:47 +0000 (01:17 +0000)
commit7890d5abb1ff405e1e7f98370964d8295cd0bc63
tree91dd694e37e444267cf83edabf6e7e6377d8f5e1
parent75ea7d101d4b8442924428356eb604465a3d2e6b
Avoid PointerIntPair of constexpr EvalInfo structs

They are stack allocated, so their alignment is not to be trusted.
32-bit MSVC only guarantees 4 byte stack alignment, even though alignof
would tell you otherwise. I tried fixing this with __declspec align, but
that apparently upsets GCC. Hopefully this version will satisfy all
compilers.

See PR32018 for some info about the mingw issues.

Should supercede https://reviews.llvm.org/D34873

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310905 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/ExprConstant.cpp