Author: ddunbar
Date: Wed Jul 23 20:08:37 2008
New Revision: 53974

URL: http://llvm.org/viewvc/llvm-project?rev=53974&view=rev
Log:
Add Expr::getIntegerConstantExprValue helper method
 - For getting an APSInt from a known integer constant Expr.
 - TODO: Many users of Expr::isIntegerConstantExpr in codegen should
   probably be using this instead...

Modified:
    cfe/trunk/include/clang/AST/Expr.h

Modified: cfe/trunk/include/clang/AST/Expr.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=53974&r1=53973&r2=53974&view=diff

==============================================================================
--- cfe/trunk/include/clang/AST/Expr.h (original)
+++ cfe/trunk/include/clang/AST/Expr.h Wed Jul 23 20:08:37 2008
@@ -95,6 +95,16 @@
   
   bool isNullPointerConstant(ASTContext &Ctx) const;
 
+  /// getIntegerConstantExprValue() - Return the value of an integer
+  /// 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);
+    bool success = isIntegerConstantExpr(X, Ctx);
+    assert(success && "Illegal argument to getIntegerConstantExpr");
+    return X;
+  }
+
   /// isIntegerConstantExpr - Return true if this expression is a valid integer
   /// constant expression, and, if so, return its value in Result.  If not a
   /// valid i-c-e, return false and fill in Loc (if specified) with the 
location


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to