================
@@ -20287,7 +20287,11 @@ void Sema::DiagnoseEqualityWithExtraParens(ParenExpr 
*ParenE) {
 
 ExprResult Sema::CheckBooleanCondition(SourceLocation Loc, Expr *E,
                                        bool IsConstexpr) {
-  DiagnoseAssignmentAsCondition(E);
+  // This warning is already covered by `warn_assignment_bool_context` in C++.
+  // NOTE: Ideally both warnings would be combined
+  if (!getLangOpts().CPlusPlus || getLangOpts().ObjC)
----------------
PhilippRados wrote:

> Also, rather than this, I'd prefer we are smarter about the new diagnostic to 
> not overlap in the condition case (suppressing THAT instead of htis here).

Yes, I agree. Is there a way to check if a certain other diagnostic has been 
issued? Or do I need to pass a flag like `isCond` to `Sema::ImpCastExprToType` 
to be able to check if the outer expression is a condition? The latter would 
require a lot of function changes which would be a little tedious which is why 
I'm asking beforehand.

https://github.com/llvm/llvm-project/pull/115234
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to