diff options
| author | Aaron Ballman <aaron@aaronballman.com> | 2021-07-01 12:39:17 -0400 |
|---|---|---|
| committer | Aaron Ballman <aaron@aaronballman.com> | 2021-07-01 12:41:18 -0400 |
| commit | bc7cc2074b7b7043e05cb46346f1368eb4ae9949 (patch) | |
| tree | 3a24cc53f18829750d71bba588d8fa1ae422a808 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
| parent | bef9464c514ad868eb99c4ad391690ac2eb690c1 (diff) | |
Fix an accepts-invalid issue with [[]] attributes in the type position in C
A user reported an issue to me via email that Clang was accepting some
code that GCC was rejecting. After investigation, it turned out to be a
general problem of us failing to properly reject attributes written in
the type position in C when they don't apply to types. The root cause
was a terminology issue -- we sometimes use "CXX11Attr" to mean [[]] in
C++11 mode and sometimes [[]] in general -- and this came back to bite
us because in this particular case, it really meant [[]] in C++ mode.
I fixed the issue by introducing a new function
AttributeCommonInfo::isStandardAttributeSyntax() to represent [[]] in
either C or C++ mode.
This fix pointed out that we've had the issue in some of our existing
tests, which have all been corrected. This resolves
https://bugs.llvm.org/show_bug.cgi?id=50954.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions
