]> granicus.if.org Git - clang/commit
[Sema] Handle transparent_union attributes in C mode only
authorAlex Lorenz <arphaman@gmail.com>
Wed, 12 Oct 2016 09:36:35 +0000 (09:36 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Wed, 12 Oct 2016 09:36:35 +0000 (09:36 +0000)
commit38df4e8d58547a691318935bb7d1d4be41e9803c
tree3b6d3f0185e6bb5e212fd89aa433035fdef7fa0a
parent419410f8d612215c153474046d842762be8aed3a
[Sema] Handle transparent_union attributes in C mode only

This commit marks the transparent_union attributes as C only because clang
doesn't support them in C++ mode. Prior to this commit, clang still tried to
verify these attributes in C++, leading to crashes when analyzing templated
transparent_union unions that have dependent field types. This commit ensures
that such crashes won't happen again.

As a result of this commit clang now displays a warning every time it encounters
a transparent_union attribute in C++ mode.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283995 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/Attr.td
test/SemaCXX/attr-gnu.cpp