[clang] [clang] Reject array comparisons in C++26 for unknown/dependent types in templates (PR #191101)

via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 13 22:01:48 PDT 2026


================
@@ -12488,8 +12488,7 @@ static void diagnoseTautologicalComparison(Sema &S, SourceLocation Loc,
   QualType LHSType = LHS->getType();
   QualType RHSType = RHS->getType();
   if (LHSType->hasFloatingRepresentation() ||
-      (LHSType->isBlockPointerType() && !BinaryOperator::isEqualityOp(Opc)) ||
-      S.inTemplateInstantiation())
+      (LHSType->isBlockPointerType() && !BinaryOperator::isEqualityOp(Opc)))
----------------
PrabbyDD wrote:

I thought he meant for just `inTemplateInstantiation()` into `checkCompareOperands()`, did he mean the whole if statement? Could you elaborate why? I figured this just had to do with templates, but admittedly, I am not completely sure what `diagnoseTautologicalComparison` is doing. 

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


More information about the cfe-commits mailing list