[clang] Allow struct q{int q;~q();} (#88597) (PR #88673)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Apr 14 18:56:43 PDT 2024
https://github.com/nabijaczleweli created https://github.com/llvm/llvm-project/pull/88673
Based on https://github.com/llvm/llvm-project/issues/88597#issuecomment-2053354660
>From 021cd0e6a8641cd0487f5d00f9c86fb8ab56dd9a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= <nabijaczleweli at 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..bb93803c6384d4 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();
}
More information about the cfe-commits
mailing list