https://github.com/nabijaczleweli updated https://github.com/llvm/llvm-project/pull/88673
From bfbbc19adfac17c8f8230dbe0928a3ec299ce0af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= <nabijaczlew...@nabijaczleweli.xyz> Date: Mon, 15 Apr 2024 03:52:50 +0200 Subject: [PATCH] Allow struct q{int q;~q();} (#88597) --- clang/include/clang/Basic/DiagnosticSemaKinds.td | 2 -- clang/lib/Sema/SemaExprCXX.cpp | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td index 5ec0218aedfe86..c8c3f2de81f82a 100644 --- a/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -2187,8 +2187,6 @@ def err_undeclared_destructor_name : Error< "undeclared identifier %0 in destructor name">; def err_destructor_name : Error< "expected the class name after '~' to name the enclosing class">; -def err_destructor_name_nontype : Error< - "identifier %0 after '~' in destructor name does not name a type">; def err_destructor_expr_mismatch : Error< "identifier %0 in object destruction expression does not name the type " "%1 of the object being destroyed">; diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index 25f23a3abf1718..69d4a6d51ecafb 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -448,9 +448,8 @@ ParsedType Sema::getDestructorName(const IdentifierInfo &II, Diag(NameLoc, diag::err_destructor_expr_nontype) << &II << MakeFixItHint(); } - } else { - Diag(NameLoc, SearchType.isNull() ? diag::err_destructor_name_nontype - : diag::err_destructor_expr_mismatch) + } else if (!SearchType.isNull()) { + Diag(NameLoc, diag::err_destructor_expr_mismatch) << &II << SearchType << MakeFixItHint(); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits