aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorNigel Perks <nigelp@xmos.com>2020-12-08 12:33:59 -0500
committerAaron Ballman <aaron@aaronballman.com>2020-12-08 12:33:59 -0500
commit27ea7d0a6e0dc51e0214707bcc265fa6f9dc9bc6 (patch)
tree73935be032b03c9c2bd86eab460fa4c29b603e99 /clang/lib/Frontend/CompilerInvocation.cpp
parent09f2f9605fbaff2b72c586d76256c9e6e312a0f3 (diff)
downloadllvm-27ea7d0a6e0dc51e0214707bcc265fa6f9dc9bc6.zip
llvm-27ea7d0a6e0dc51e0214707bcc265fa6f9dc9bc6.tar.gz
llvm-27ea7d0a6e0dc51e0214707bcc265fa6f9dc9bc6.tar.bz2
Fix inconsistent availability attribute message string literal check.
Function Parser::ParseAvailabilityAttribute checks that the message string of an availability attribute is not a wide string literal. Test case clang/test/Parser/attr-availability.c specifies that a string literal is expected. The code checked that the first token in a string concatenation is a string literal, and then that the concatenated string consists of 1-byte characters. On a target where wide character is 1 byte, a string concatenation "a" L"b" passes both those checks, but L"b" alone is rejected. More generally, "a" u8"b" passes the checks, but u8"b" alone is rejected. So check isAscii() instead of character size.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions