[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
Tue Apr 14 05:03:17 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)))
----------------
Sirraide wrote:
> That check makes sense if all we’re doing is emitting tautological comparison warnings
Also, this means that in older language modes where these comparisons aren’t deprecated, the tautological comparison warning (but _not_ the deprecation warning or error) should continue to be guarded behind `inTemplateInstantiation()`
https://github.com/llvm/llvm-project/pull/191101
More information about the cfe-commits
mailing list