diff options
author | Richard Smith <richard@metafoo.co.uk> | 2020-06-29 14:12:14 -0700 |
---|---|---|
committer | Richard Smith <richard@metafoo.co.uk> | 2020-06-29 14:33:21 -0700 |
commit | 4d1b7e9820ee9c87541619ce4dd41e92dc43cd9c (patch) | |
tree | 846228c085e7e02a937351bc4c163fe0744e635d /llvm/utils/FileCheck/FileCheck.cpp | |
parent | 25055a4fb90292e49f44a0a708390a730cd1116e (diff) | |
download | llvm-4d1b7e9820ee9c87541619ce4dd41e92dc43cd9c.zip llvm-4d1b7e9820ee9c87541619ce4dd41e92dc43cd9c.tar.gz llvm-4d1b7e9820ee9c87541619ce4dd41e92dc43cd9c.tar.bz2 |
Fix a few cases that were incorrectly parsed as unary-expressions
instead of postfix-expressions, and improve error recovery for postfix
operators after unary-expressions.
This covers nullptr, __null, and some calls to type traits with special
parsing rules. We would previously not parse a postfix-expression suffix
for these expressions, so would reject expressions such as
__is_trivial(int)["foo"].
For the case where a postfix-expression suffix is *not* permitted after
a unary-expression (for example, after a new-expression or sizeof
expression), produce a diagnostic if one appears there anyway. That's
always ill-formed, but previously produced very bad diagnostics.
Diffstat (limited to 'llvm/utils/FileCheck/FileCheck.cpp')
0 files changed, 0 insertions, 0 deletions