[PATCH] D148425: [clang-repl] Correctly disambiguate dtor declarations from statements

Vassil Vassilev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 2 02:40:38 PDT 2023


v.g.vassilev marked an inline comment as done.
v.g.vassilev added inline comments.


================
Comment at: clang/lib/Parse/ParseTentative.cpp:91
         return true;
-      case tok::annot_cxxscope: // Check if this is a dtor.
-        if (NextToken().is(tok::tilde))
----------------
aaron.ballman wrote:
> Are you sure you can remove this? Wouldn't this be used for a case like:
> ```
> struct Foo {
>   struct Bar {
>     struct Baz {
>       ~Baz();
>     };
>   };
> };
> 
> Foo::Bar::Baz::~Baz() {}
> ```
> (I could be reading the code wrong, but I thought we had a reason to check for `annot_cxxscope` -- seems we missed test coverage for it!)
It looks like we do not need the `annot_cxxscope` as it seems it was processed above (likely one of the recent additions such as `ParseOptionalCXXScopeSpecifier`). I added a test case for the case you proposed in rG87ae74692456


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148425/new/

https://reviews.llvm.org/D148425



More information about the cfe-commits mailing list