From 8070a8497c0fb3e6f70a557f788405d8945b1208 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Fri, 15 Aug 2008 23:29:09 +0000 Subject: [PATCH] Update Expr::{getIntegerConstantExprValue, isIntegerConstantExpr} to use default APSInt constructor instead of embedding arbitrary constant. Update OverloadExpr::getNumArgs to use getIntegerConstantExprValue. Update OverloadExpr::getExpr to be const. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54828 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/Expr.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h index 9b6ce2fc8f..bc99edf174 100644 --- a/include/clang/AST/Expr.h +++ b/include/clang/AST/Expr.h @@ -97,7 +97,7 @@ public: /// constant expression. The expression must be a valid integer /// constant expression as determined by isIntegerConstantExpr. llvm::APSInt getIntegerConstantExprValue(ASTContext &Ctx) const { - llvm::APSInt X(32); + llvm::APSInt X; bool success = isIntegerConstantExpr(X, Ctx); success = success; assert(success && "Illegal argument to getIntegerConstantExpr"); @@ -112,7 +112,7 @@ public: SourceLocation *Loc = 0, bool isEvaluated = true) const; bool isIntegerConstantExpr(ASTContext &Ctx, SourceLocation *Loc = 0) const { - llvm::APSInt X(32); + llvm::APSInt X; return isIntegerConstantExpr(X, Ctx, Loc); } /// isConstantExpr - Return true if this expression is a valid constant expr. @@ -1320,9 +1320,7 @@ public: /// getNumArgs - Return the number of arguments to pass to the candidate /// functions. unsigned getNumArgs(ASTContext &Ctx) const { - llvm::APSInt constEval(32); - (void) cast(SubExprs[0])->isIntegerConstantExpr(constEval, Ctx); - return constEval.getZExtValue(); + return getExpr(0)->getIntegerConstantExprValue(Ctx).getZExtValue(); } /// getNumSubExprs - Return the size of the SubExprs array. This includes the @@ -1331,7 +1329,7 @@ public: unsigned getNumSubExprs() const { return NumExprs; } /// getExpr - Return the Expr at the specified index. - Expr *getExpr(unsigned Index) { + Expr *getExpr(unsigned Index) const { assert((Index < NumExprs) && "Arg access out of range!"); return cast(SubExprs[Index]); } -- 2.40.0