diff --git a/clang/lib/Parse/ParseTentative.cpp b/clang/lib/Parse/ParseTentative.cpp index b26faaff7f9f3d..934087e59b809f 100644 --- a/clang/lib/Parse/ParseTentative.cpp +++ b/clang/lib/Parse/ParseTentative.cpp @@ -88,10 +88,8 @@ bool Parser::isCXXDeclarationStatement( } case tok::kw_operator: return true; - case tok::annot_cxxscope: // Check if this is a dtor. - if (NextToken().is(tok::tilde)) - return true; - break; + case tok::tilde: + return true; default: break; } diff --git a/clang/test/Interpreter/disambiguate-decl-stmt.cpp b/clang/test/Interpreter/disambiguate-decl-stmt.cpp index 0022ad7f546e61..8f8a2a91b0b35e 100644 --- a/clang/test/Interpreter/disambiguate-decl-stmt.cpp +++ b/clang/test/Interpreter/disambiguate-decl-stmt.cpp @@ -26,6 +26,10 @@ I x = 10; x.I::~I(); x = 20; +struct Dtor1 {~Dtor1();}; +Dtor1::~Dtor1() { printf("Dtor1\n"); } +Dtor1 d1; + // Ctors // Deduction guide