Rakete1111 created this revision.
Rakete1111 added a project: clang.
This patch removes the empty `""` when using `static_assert(1 + 1 == 3, "");`
in the diagnostic:
main.cpp:1:1: error: static_assert failed
static_assert(1 + 1 == 3, "");
^ ~~~~~~~~~~
https://reviews.llvm.org/D39360
Files:
lib/Sema/SemaDeclCXX.cpp
Index: lib/Sema/SemaDeclCXX.cpp
===================================================================
--- lib/Sema/SemaDeclCXX.cpp
+++ lib/Sema/SemaDeclCXX.cpp
@@ -13319,8 +13319,9 @@
Expr *AssertExpr,
Expr *AssertMessageExpr,
SourceLocation RParenLoc) {
- StringLiteral *AssertMessage =
- AssertMessageExpr ? cast<StringLiteral>(AssertMessageExpr) : nullptr;
+ auto *AssertMessage = cast_or_null<StringLiteral>(AssertMessageExpr);
+ if (AssertMessage && !AssertMessage->getLength())
+ AssertMessage = nullptr;
if (DiagnoseUnexpandedParameterPack(AssertExpr, UPPC_StaticAssertExpression))
return nullptr;
Index: lib/Sema/SemaDeclCXX.cpp
===================================================================
--- lib/Sema/SemaDeclCXX.cpp
+++ lib/Sema/SemaDeclCXX.cpp
@@ -13319,8 +13319,9 @@
Expr *AssertExpr,
Expr *AssertMessageExpr,
SourceLocation RParenLoc) {
- StringLiteral *AssertMessage =
- AssertMessageExpr ? cast<StringLiteral>(AssertMessageExpr) : nullptr;
+ auto *AssertMessage = cast_or_null<StringLiteral>(AssertMessageExpr);
+ if (AssertMessage && !AssertMessage->getLength())
+ AssertMessage = nullptr;
if (DiagnoseUnexpandedParameterPack(AssertExpr, UPPC_StaticAssertExpression))
return nullptr;
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits