aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.
Good catch that this was crashing! LGTM aside from the nit pointed out by
@tbaeder. Can you also add a release note for the fix? Do you need someone to
commit on your behalf? If so, what name and email address would you like used
for patch attribution?
================
Comment at: clang/lib/Parse/ParseDecl.cpp:5340
+ if (!getLangOpts().CPlusPlus)
+ return false;
if (NextToken().is(tok::kw_new) || // ::new
----------------
inclyc wrote:
> Maybe we can make a new `error` diagnostic definition and fire that here?
I don't think we should -- this function is used to query whether something is
a declaration specifier or not; it'd be surprising to issue a diagnostic from
that kind of interface.
================
Comment at: clang/test/Parser/c2x-attributes.c:146
+// Ensure that '::' outside of attributes does not crash and is not treated as
scope
+double n::v; // expected-error {{expected ';' after top level declarator}}
----------------
inclyc wrote:
> Could we improve this diagnostic message?
> ```
> expected ';' after top level declarator}
> ```
That might be possible, but it should happen as a separate patch. That said,
I'm not certain how much improvement there is to be had there, especially in C
mode. It really does look like the user is trying to declare a variable named
`n` and got the wrong kind of colon.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133248/new/
https://reviews.llvm.org/D133248
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits