[PATCH] D89065: [clang] Tweaked fixit for static assert with no message

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 22 07:36:44 PST 2021


aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.

LGTM aside from some nits.



================
Comment at: clang/lib/Parse/ParseDeclCXX.cpp:861
+                                               SourceLocation EndExprLoc) {
+  if (const auto *BO = llvm::dyn_cast_or_null<BinaryOperator>(AssertExpr)) {
+    if (BO->getOpcode() == BO_LAnd &&
----------------



================
Comment at: clang/lib/Parse/ParseDeclCXX.cpp:863
+    if (BO->getOpcode() == BO_LAnd &&
+        llvm::isa<StringLiteral>(BO->getRHS()->IgnoreImpCasts()))
+      return FixItHint::CreateReplacement(BO->getOperatorLoc(), ",");
----------------



================
Comment at: clang/test/FixIt/fixit-static-assert.cpp:2-3
+// RUN: %clang_cc1 -std=c++14 %s -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s
+// Ensure no warnings are emitted in c++17.
+// RUN: %clang_cc1 -std=c++17 %s -Werror -fsyntax-only
+// RUN: %clang_cc1 -std=c++14 %s -fixit-recompile -fixit-to-temporary -Werror
----------------
Any reason not to pass `-verify=cxx17` and `// cxx17-no-diagnostics`?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89065/new/

https://reviews.llvm.org/D89065



More information about the cfe-commits mailing list