[clang] [clang] Implement __attribute__((format_matches)) (PR #116708)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 6 06:15:56 PST 2025


=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>,
=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>,
=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>,
=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>,
=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>,
=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>,
=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>,
=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>,
=?utf-8?q?Félix?= Cloutier <fcloutier at apple.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/116708 at github.com>


================
@@ -7320,17 +7320,20 @@ void EquatableFormatArgument::VerifyCompatible(
                          << (ModifierFor + 1) << (Other.ModifierFor + 1),
                      FmtExpr, InFunctionCall);
       S.Diag(Other.ElementLoc, diag::note_format_cmp_with) << 0 << Other.Range;
+      return false;
     }
-    return;
+    return true;
   }
 
+  bool HadError = false;
   if (Sensitivity != Other.Sensitivity) {
     // diagnose and continue
     EmitDiagnostic(S,
                    S.PDiag(diag::warn_format_cmp_sensitivity_mismatch)
                        << Sensitivity << Other.Sensitivity,
                    FmtExpr, InFunctionCall);
     S.Diag(Other.ElementLoc, diag::note_format_cmp_with) << 0 << Other.Range;
+    HadError = true;
----------------
erichkeane wrote:

As a nit: `HadError = S.Diag(....)` would improve readability IMO, and allow skipping some curleys.

https://github.com/llvm/llvm-project/pull/116708


More information about the cfe-commits mailing list