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

Declarations

tools/clang/include/clang/Sema/Sema.h
 4846   ExprResult BuildBinOp(Scope *S, SourceLocation OpLoc,

References

tools/clang/lib/Sema/SemaExpr.cpp
13289   return BuildBinOp(S, TokLoc, Opc, LHSExpr, RHSExpr);
16483     return S.BuildBinOp(nullptr, BO->getOperatorLoc(), BO->getOpcode(),
tools/clang/lib/Sema/SemaExprCXX.cpp
 5244     ExprResult Result = Self.BuildBinOp(/*S=*/nullptr, KeyLoc, BO_Assign, &Lhs,
tools/clang/lib/Sema/SemaObjCProperty.cpp
 1486       ExprResult Res = BuildBinOp(S, PropertyDiagLoc,
tools/clang/lib/Sema/SemaOpenMP.cpp
 5969       ExprResult LBMinVal = SemaRef.BuildBinOp(S, DefaultLoc, BO_Assign,
 5975           SemaRef.BuildBinOp(S, DefaultLoc, BO_Comma, LBMinVal.get(), LBVal);
 5989       ExprResult LBMaxVal = SemaRef.BuildBinOp(S, DefaultLoc, BO_Assign,
 5995           SemaRef.BuildBinOp(S, DefaultLoc, BO_Comma, LBMaxVal.get(), LBVal);
 6009           SemaRef.BuildBinOp(S, DefaultLoc, BO_LT, LBMin, LBMax);
 6049       ExprResult UBMinVal = SemaRef.BuildBinOp(S, DefaultLoc, BO_Assign,
 6055           SemaRef.BuildBinOp(S, DefaultLoc, BO_Comma, UBMinVal.get(), UBVal);
 6069       ExprResult UBMaxVal = SemaRef.BuildBinOp(S, DefaultLoc, BO_Assign,
 6075           SemaRef.BuildBinOp(S, DefaultLoc, BO_Comma, UBMaxVal.get(), UBVal);
 6089           SemaRef.BuildBinOp(S, DefaultLoc, BO_GT, UBMin, UBMax);
 6122     Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Sub, Upper, Lower);
 6138     Diff = SemaRef.BuildBinOp(
 6148   Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Add, Diff.get(), NewStep.get());
 6158   Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Div, Diff.get(), NewStep.get());
 6235   Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Sub, Upper, Lower);
 6241     Diff = SemaRef.BuildBinOp(
 6258   Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Div, Diff.get(), NewStep.get());
 6268   Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Mul, Diff.get(), NewStep.get());
 6296     Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Add, Lower, Diff.get());
 6306     Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Sub, Upper, Diff.get());
 6346       SemaRef.BuildBinOp(S, DefaultLoc,
 6416     Cnt = SemaRef.BuildBinOp(S, Loc, BOK, Cnt, Inc).get();
 6434     Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Sub, Upper, Lower);
 6457   Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Div, Diff.get(), NewStep.get());
 6743       SemaRef.BuildBinOp(S, Loc, BO_Assign, VarRef.get(), NewStart.get());
 6765       SemaRef.BuildBinOp(S, Loc, BO_Mul, Iter.get(), NewStep.get());
 6790         SemaRef.BuildBinOp(S, Loc, BO_Assign, VarRef.get(), NewStart.get());
 6793           SemaRef.BuildBinOp(S, Loc, Subtract ? BO_SubAssign : BO_AddAssign,
 6804     Update = SemaRef.BuildBinOp(S, Loc, Subtract ? BO_Sub : BO_Add,
 6817     Update = SemaRef.BuildBinOp(S, Loc, BO_Assign, VarRef.get(), Update.get());
 7055           SemaRef.BuildBinOp(CurScope, PreCond.get()->getExprLoc(), BO_LAnd,
 7062       LastIteration32 = SemaRef.BuildBinOp(
 7070       LastIteration64 = SemaRef.BuildBinOp(
 7106     LastIteration = SemaRef.BuildBinOp(
 7126     NumIterations = SemaRef.BuildBinOp(
 7171     ExprResult IsUBGreater = SemaRef.BuildBinOp(CurScope, InitLoc, BO_GT,
 7176     EUB = SemaRef.BuildBinOp(CurScope, InitLoc, BO_Assign, UB.get(),
 7200       ExprResult CombIsUBGreater = SemaRef.BuildBinOp(
 7205       CombEUB = SemaRef.BuildBinOp(CurScope, InitLoc, BO_Assign, CombUB.get(),
 7241     Init = SemaRef.BuildBinOp(CurScope, InitLoc, BO_Assign, IV.get(), RHS);
 7252           SemaRef.BuildBinOp(CurScope, InitLoc, BO_Assign, IV.get(), CombRHS);
 7270             .BuildBinOp(CurScope, CondLoc, BO_Add, BoundUB,
 7279           ? SemaRef.BuildBinOp(CurScope, CondLoc,
 7282           : SemaRef.BuildBinOp(CurScope, CondLoc, BO_LT, IV.get(),
 7286     CombDistCond = SemaRef.BuildBinOp(CurScope, CondLoc, BO_LT, IV.get(),
 7296               .BuildBinOp(
 7305         SemaRef.BuildBinOp(CurScope, CondLoc, UseStrictCompare ? BO_LT : BO_LE,
 7311       SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, IV.get(),
 7315   Inc = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, IV.get(), Inc.get());
 7328     NextLB = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, LB.get(), ST.get());
 7333         SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, LB.get(), NextLB.get());
 7339     NextUB = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, UB.get(), ST.get());
 7344         SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, UB.get(), NextUB.get());
 7351           SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, CombLB.get(), ST.get());
 7355       CombNextLB = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, CombLB.get(),
 7363           SemaRef.BuildBinOp(CurScope, IncLoc, BO_Add, CombUB.get(), ST.get());
 7367       CombNextUB = SemaRef.BuildBinOp(CurScope, IncLoc, BO_Assign, CombUB.get(),
 7383     DistCond = SemaRef.BuildBinOp(
 7388         SemaRef.BuildBinOp(CurScope, DistIncLoc, BO_Add, IV.get(), ST.get());
 7390     DistInc = SemaRef.BuildBinOp(CurScope, DistIncLoc, BO_Assign, IV.get(),
 7400         SemaRef.BuildBinOp(CurScope, DistEUBLoc, BO_GT, UB.get(), PrevUB.get());
 7403     PrevEUB = SemaRef.BuildBinOp(CurScope, DistIncLoc, BO_Assign, UB.get(),
 7415               .BuildBinOp(
 7424         SemaRef.BuildBinOp(CurScope, CondLoc, UseStrictCompare ? BO_LT : BO_LE,
 7463         Prod = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Mul, Prod.get(),
 7470         Iter = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Div,
 7484         Prod = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Mul,
 7488       Acc = SemaRef.BuildBinOp(CurScope, UpdLoc, BO_Sub,
12559     ExprResult AssignmentOp = BuildBinOp(/*S=*/nullptr, ELoc, BO_Assign,
12584             BuildBinOp(DSAStack->getCurScope(), ELoc, BO_Assign, SimpleRefExpr,
13558       ReductionOp = S.BuildBinOp(
13563               S.BuildBinOp(Stack->getCurScope(), ReductionId.getBeginLoc(),
13570               S.BuildBinOp(Stack->getCurScope(), ReductionId.getBeginLoc(),
13651               S.BuildBinOp(Stack->getCurScope(), ELoc, BO_Assign, SimpleRefExpr,
13859               BuildBinOp(DSAStack->getCurScope(), ELoc, BO_Assign,
13904         BuildBinOp(CurScope, StepLoc, BO_Assign, SaveRef.get(), StepExpr);
14177         BuildBinOp(/*S=*/nullptr, DE->getExprLoc(), BO_Assign, PseudoDstExpr,
14286     ExprResult AssignmentOp = BuildBinOp(
tools/clang/lib/Sema/SemaPseudoObject.cpp
  468     result = S.BuildBinOp(Sc, opcLoc, nonCompound, opLHS.get(), semanticRHS);
  522     result = S.BuildBinOp(Sc, opcLoc, BO_Add, result.get(), one);
  524     result = S.BuildBinOp(Sc, opcLoc, BO_Sub, result.get(), one);
  904       return S.BuildBinOp(Sc, opcLoc, opcode, result.get(), RHS);
tools/clang/lib/Sema/TreeTransform.h
 2353     return getSema().BuildBinOp(/*Scope=*/nullptr, OpLoc, Opc, LHS, RHS);