reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaExpr.cpp
10659   if (!IsThreeWay || IsAnyPointerType(LHS) || IsAnyPointerType(RHS)) {
10663     RHS = DefaultFunctionArrayLvalueConversion(RHS.get());
10663     RHS = DefaultFunctionArrayLvalueConversion(RHS.get());
10664     if (RHS.isInvalid())
10670     RHS = DefaultLvalueConversion(RHS.get());
10670     RHS = DefaultLvalueConversion(RHS.get());
10671     if (RHS.isInvalid())
10675   checkArithmeticNull(*this, LHS, RHS, Loc, /*IsCompare=*/true);
10677     CheckPtrComparisonWithNullChar(LHS, RHS);
10678     CheckPtrComparisonWithNullChar(RHS, LHS);
10683       RHS.get()->getType()->isVectorType())
10684     return CheckVectorCompareOperands(LHS, RHS, Loc, Opc);
10686   diagnoseLogicalNotOnLHSofCheck(*this, LHS, RHS, Loc, Opc);
10687   diagnoseTautologicalComparison(*this, Loc, LHS.get(), RHS.get(), Opc);
10690   QualType RHSType = RHS.get()->getType();
10693     return checkArithmeticOrEnumeralCompare(*this, LHS, RHS, Loc, Opc);
10698       RHS.get()->isNullPointerConstant(Context, Expr::NPC_ValueDependentIsNull);
10706     assert(Context.hasSameType(LHS.get()->getType(), RHS.get()->getType()));
10736     return InvalidOperands(Loc, LHS, RHS);
10744                                    RHS.get()->getSourceRange());
10746       DiagnoseAlwaysNonNullPointer(RHS.get(), LHSNullKind, IsEquality,
10766           *this, Loc, LHS, RHS, /*isError*/ (bool)isSFINAEContext());
10771       RHS = ImpCastExprToType(RHS.get(), LHSType, CK_BitCast);
10771       RHS = ImpCastExprToType(RHS.get(), LHSType, CK_BitCast);
10788       if (convertPointersToCompositeType(*this, Loc, LHS, RHS))
10808           << RHS.get()->getSourceRange();
10815         diagnoseFunctionPointerToVoidComparison(*this, Loc, LHS, RHS,
10819       diagnoseDistinctPointerComparison(*this, Loc, LHS, RHS, /*isError*/false);
10829               << LHS.get()->getSourceRange() << RHS.get()->getSourceRange();
10839         RHS = ImpCastExprToType(RHS.get(), LHSType, Kind);
10839         RHS = ImpCastExprToType(RHS.get(), LHSType, Kind);
10850         RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
10850         RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
10863       RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
10863       RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
10889             RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
10889             RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
10902       if (convertPointersToCompositeType(*this, Loc, LHS, RHS))
10919         << RHS.get()->getSourceRange();
10921     RHS = ImpCastExprToType(RHS.get(), LHSType, CK_BitCast);
10921     RHS = ImpCastExprToType(RHS.get(), LHSType, CK_BitCast);
10936           << RHS.get()->getSourceRange();
10943       RHS = ImpCastExprToType(RHS.get(), LHSType,
10943       RHS = ImpCastExprToType(RHS.get(), LHSType,
10959         diagnoseDistinctPointerComparison(*this, Loc, LHS, RHS,
10971         Expr *E = RHS.get();
10976         RHS = ImpCastExprToType(E, LHSType,
10984         diagnoseDistinctPointerComparison(*this, Loc, LHS, RHS,
10986       if (isObjCObjectLiteral(LHS) || isObjCObjectLiteral(RHS))
10987         diagnoseObjCLiteralComparison(*this, Loc, LHS, RHS, Opc);
10992         RHS = ImpCastExprToType(RHS.get(), LHSType, CK_BitCast);
10992         RHS = ImpCastExprToType(RHS.get(), LHSType, CK_BitCast);
11004       RHS = ImpCastExprToType(RHS.get(), LHSType,
11004       RHS = ImpCastExprToType(RHS.get(), LHSType,
11035         << RHS.get()->getSourceRange();
11044       RHS = ImpCastExprToType(RHS.get(), LHSType,
11044       RHS = ImpCastExprToType(RHS.get(), LHSType,
11052     RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
11052     RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
11076       RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
11076       RHS = ImpCastExprToType(RHS.get(), LHSType, CK_NullToPointer);
11081   return InvalidOperands(Loc, LHS, RHS);