Index: clang/lib/Parse/ParseTentative.cpp =================================================================== --- clang/lib/Parse/ParseTentative.cpp +++ clang/lib/Parse/ParseTentative.cpp @@ -88,10 +88,8 @@ } 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; } Index: clang/test/Interpreter/disambiguate-decl-stmt.cpp =================================================================== --- clang/test/Interpreter/disambiguate-decl-stmt.cpp +++ clang/test/Interpreter/disambiguate-decl-stmt.cpp @@ -26,6 +26,10 @@ x.I::~I(); x = 20; +struct Dtor1 {~Dtor1();}; +Dtor1::~Dtor1() { printf("Dtor1\n"); } +Dtor1 d1; + // Ctors // Deduction guide