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

References

tools/clang/lib/Sema/SemaChecking.cpp
10067   static IntRange forBoolType() {
10072   static IntRange forValueOfType(ASTContext &C, QualType T) {
10078   static IntRange forValueOfCanonicalType(ASTContext &C, const Type *T) {
10123   static IntRange forTargetOfCanonicalType(ASTContext &C, const Type *T) {
10142   static IntRange join(IntRange L, IntRange R) {
10142   static IntRange join(IntRange L, IntRange R) {
10142   static IntRange join(IntRange L, IntRange R) {
10148   static IntRange meet(IntRange L, IntRange R) {
10148   static IntRange meet(IntRange L, IntRange R) {
10148   static IntRange meet(IntRange L, IntRange R) {
10156 static IntRange GetValueRange(ASTContext &C, llvm::APSInt &value,
10169 static IntRange GetValueRange(ASTContext &C, APValue &result, QualType Ty,
10175     IntRange R = GetValueRange(C, result.getVectorElt(0), Ty, MaxWidth);
10177       IntRange El = GetValueRange(C, result.getVectorElt(i), Ty, MaxWidth);
10178       R = IntRange::join(R, El);
10184     IntRange R = GetValueRange(C, result.getComplexIntReal(), MaxWidth);
10185     IntRange I = GetValueRange(C, result.getComplexIntImag(), MaxWidth);
10186     return IntRange::join(R, I);
10209 static IntRange GetExprRange(ASTContext &C, const Expr *E, unsigned MaxWidth,
10225     IntRange OutputTypeRange = IntRange::forValueOfType(C, GetExprType(CE));
10225     IntRange OutputTypeRange = IntRange::forValueOfType(C, GetExprType(CE));
10234     IntRange SubRange = GetExprRange(C, CE->getSubExpr(),
10257     IntRange L =
10259     IntRange R =
10261     return IntRange::join(L, R);
10278       return IntRange::forBoolType();
10290       return IntRange::forValueOfType(C, GetExprType(E));
10301       return IntRange::forValueOfType(C, GetExprType(E));
10306       return IntRange::meet(
10317           IntRange R = IntRange::forValueOfType(C, GetExprType(E));
10317           IntRange R = IntRange::forValueOfType(C, GetExprType(E));
10324       return IntRange::forValueOfType(C, GetExprType(E));
10329       IntRange L = GetExprRange(C, BO->getLHS(), MaxWidth, InConstantContext);
10353         return IntRange::forValueOfType(C, GetExprType(E));
10361       IntRange L = GetExprRange(C, BO->getLHS(), opWidth, InConstantContext);
10375       IntRange R = GetExprRange(C, BO->getRHS(), opWidth, InConstantContext);
10384       IntRange L = GetExprRange(C, BO->getLHS(), opWidth, InConstantContext);
10385       IntRange R = GetExprRange(C, BO->getRHS(), opWidth, InConstantContext);
10387       IntRange meet = IntRange::meet(L, R);
10387       IntRange meet = IntRange::meet(L, R);
10402     IntRange L = GetExprRange(C, BO->getLHS(), MaxWidth, InConstantContext);
10403     IntRange R = GetExprRange(C, BO->getRHS(), MaxWidth, InConstantContext);
10404     return IntRange::join(L, R);
10411       return IntRange::forBoolType();
10416       return IntRange::forValueOfType(C, GetExprType(E));
10430   return IntRange::forValueOfType(C, GetExprType(E));
10433 static IntRange GetExprRange(ASTContext &C, const Expr *E,
10523   PromotedRange(IntRange R, unsigned BitWidth, bool Unsigned) {
10685   IntRange OtherRange = IntRange::forValueOfType(S.Context, OtherT);
10685   IntRange OtherRange = IntRange::forValueOfType(S.Context, OtherT);
10698     OtherRange = IntRange::forBoolType();
10859   IntRange signedRange =
10877     IntRange unsignedRange =
11249                                       IntRange Range) {
11787     IntRange SourceRange = GetExprRange(S.Context, E, S.isConstantEvaluated());
11852   IntRange SourceRange = GetExprRange(S.Context, E, S.isConstantEvaluated());
11853   IntRange TargetRange = IntRange::forTargetOfCanonicalType(S.Context, Target);
11853   IntRange TargetRange = IntRange::forTargetOfCanonicalType(S.Context, Target);