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

References

tools/clang/lib/Sema/SemaOverload.cpp
12738   if (Args[0]->isTypeDependent() || Args[1]->isTypeDependent()) {
12738   if (Args[0]->isTypeDependent() || Args[1]->isTypeDependent()) {
12744             Args[0], Args[1], Opc, Context.DependentTy, VK_RValue, OK_Ordinary,
12744             Args[0], Args[1], Opc, Context.DependentTy, VK_RValue, OK_Ordinary,
12748           Args[0], Args[1], Opc, Context.DependentTy, VK_LValue, OK_Ordinary,
12748           Args[0], Args[1], Opc, Context.DependentTy, VK_LValue, OK_Ordinary,
12760     return CXXOperatorCallExpr::Create(Context, Op, Fn, Args,
12766   if (checkPlaceholderForOverload(*this, Args[1]))
12771   assert(Args[0]->getObjectKind() != OK_ObjCProperty);
12772   if (checkPlaceholderForOverload(*this, Args[0]))
12781   if (Opc == BO_Assign && !Args[0]->getType()->isOverloadableType())
12782     return CreateBuiltinBinOp(OpLoc, Opc, Args[0], Args[1]);
12782     return CreateBuiltinBinOp(OpLoc, Opc, Args[0], Args[1]);
12787     return CreateBuiltinBinOp(OpLoc, Opc, Args[0], Args[1]);
12787     return CreateBuiltinBinOp(OpLoc, Opc, Args[0], Args[1]);
12799   AddNonMemberOperatorCandidates(Fns, Args, CandidateSet);
12802   AddMemberOperatorCandidates(Op, OpLoc, Args, CandidateSet);
12804     AddMemberOperatorCandidates(Op, OpLoc, {Args[1], Args[0]}, CandidateSet,
12804     AddMemberOperatorCandidates(Op, OpLoc, {Args[1], Args[0]}, CandidateSet,
12809     AddMemberOperatorCandidates(ExtraOp, OpLoc, Args, CandidateSet);
12811       AddMemberOperatorCandidates(ExtraOp, OpLoc, {Args[1], Args[0]},
12811       AddMemberOperatorCandidates(ExtraOp, OpLoc, {Args[1], Args[0]},
12820     AddArgumentDependentLookupCandidates(OpName, OpLoc, Args,
12826       AddArgumentDependentLookupCandidates(ExtraOpName, OpLoc, Args,
12845   AddBuiltinOperatorCandidates(Op, OpLoc, Args, CandidateSet);
12858         std::swap(Args[0], Args[1]);
12858         std::swap(Args[0], Args[1]);
12875               << Args[0]->getSourceRange() << Args[1]->getSourceRange();
12875               << Args[0]->getSourceRange() << Args[1]->getSourceRange();
12896                       << Args[0]->getType() << Args[1]->getType()
12896                       << Args[0]->getType() << Args[1]->getType()
12897                       << Args[0]->getSourceRange() << Args[1]->getSourceRange();
12897                       << Args[0]->getSourceRange() << Args[1]->getSourceRange();
12910           CheckMemberOperatorAccess(OpLoc, Args[0], Args[1], Best->FoundDecl);
12910           CheckMemberOperatorAccess(OpLoc, Args[0], Args[1], Best->FoundDecl);
12916               SourceLocation(), Args[1]);
12921             PerformObjectArgumentInitialization(Args[0], /*Qualifier=*/nullptr,
12925           Base = Args[0] = Arg0.getAs<Expr>();
12926           Args[1] = RHS = Arg1.getAs<Expr>();
12932             SourceLocation(), Args[0]);
12940               SourceLocation(), Args[1]);
12943           Args[0] = LHS = Arg0.getAs<Expr>();
12944           Args[1] = RHS = Arg1.getAs<Expr>();
12960             Context, ChosenOp, FnExpr.get(), Args, ResultTy, VK, OpLoc,
12967         ArrayRef<const Expr *> ArgsArray(Args, 2);
12977           DiagnoseSelfMove(Args[0], Args[1], OpLoc);
12977           DiagnoseSelfMove(Args[0], Args[1], OpLoc);
13028             Args[0], Best->BuiltinParamTypes[0], Best->Conversions[0],
13032         Args[0] = ArgsRes0.get();
13035             Args[1], Best->BuiltinParamTypes[1], Best->Conversions[1],
13039         Args[1] = ArgsRes1.get();
13058                                                    Args, OpLoc);
13059       if (Args[0]->getType()->isRecordType() &&
13063              << Args[0]->getSourceRange() << Args[1]->getSourceRange();
13063              << Args[0]->getSourceRange() << Args[1]->getSourceRange();
13064         if (Args[0]->getType()->isIncompleteType()) {
13066             << Args[0]->getType()
13067             << Args[0]->getSourceRange() << Args[1]->getSourceRange();
13067             << Args[0]->getSourceRange() << Args[1]->getSourceRange();
13073         if (DiagnoseTwoPhaseOperatorLookup(*this, Op, OpLoc, Args))
13079         Result = CreateBuiltinBinOp(OpLoc, Opc, Args[0], Args[1]);
13079         Result = CreateBuiltinBinOp(OpLoc, Opc, Args[0], Args[1]);
13083       CandidateSet.NoteCandidates(*this, Args, Cands, OpcStr, OpLoc);
13091                                          << Args[0]->getType()
13092                                          << Args[1]->getType()
13093                                          << Args[0]->getSourceRange()
13094                                          << Args[1]->getSourceRange()),
13095           *this, OCD_AmbiguousCandidates, Args, BinaryOperator::getOpcodeStr(Opc),
13116                          << Args[0]->getSourceRange()
13117                          << Args[1]->getSourceRange()),
13118           *this, OCD_AllCandidates, Args, BinaryOperator::getOpcodeStr(Opc),
13124   return CreateBuiltinBinOp(OpLoc, Opc, Args[0], Args[1]);
13124   return CreateBuiltinBinOp(OpLoc, Opc, Args[0], Args[1]);