aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJan Ole Hüser <j.hueser@beckhoff.de>2020-11-05 11:01:51 -0800
committerReid Kleckner <rnk@google.com>2020-11-05 12:57:17 -0800
commitd2e7dca5ca92c655e451d6fcb806df38d7f2d56b (patch)
treef4288cd1a41835b08252ea8b05a44dd948c18c26 /clang/lib/Frontend/CompilerInvocation.cpp
parent1af037f643fc5499f83d92e5aec199950871d475 (diff)
downloadllvm-d2e7dca5ca92c655e451d6fcb806df38d7f2d56b.zip
llvm-d2e7dca5ca92c655e451d6fcb806df38d7f2d56b.tar.gz
llvm-d2e7dca5ca92c655e451d6fcb806df38d7f2d56b.tar.bz2
[CodeGen] Fix Bug 47499: __unaligned extension inconsistent behaviour with C and C++
For the language C++ the keyword __unaligned (a Microsoft extension) had no effect on pointers. The reason, why there was a difference between C and C++ for the keyword __unaligned: For C, the Method getAsCXXREcordDecl() returns nullptr. That guarantees that hasUnaligned() is called. If the language is C++, it is not guaranteed, that hasUnaligend() is called and evaluated. Here are some links: The Bug: https://bugs.llvm.org/show_bug.cgi?id=47499 Thread on the cfe-dev mailing list: http://lists.llvm.org/pipermail/cfe-dev/2020-September/066783.html Diff, that introduced the check hasUnaligned() in getNaturalTypeAlignment(): https://reviews.llvm.org/D30166 Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D90630
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions