about summary refs log tree commit diff homepage
path: root/lib/Expr/ExprPPrinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Expr/ExprPPrinter.cpp')
-rw-r--r--lib/Expr/ExprPPrinter.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Expr/ExprPPrinter.cpp b/lib/Expr/ExprPPrinter.cpp
index a2103b99..6eb15c7c 100644
--- a/lib/Expr/ExprPPrinter.cpp
+++ b/lib/Expr/ExprPPrinter.cpp
@@ -382,7 +382,13 @@ public:
       if (printWidth)
 	PC << "(w" << e->getWidth() << " ";
 
-      PC << e->getConstantValue();
+      if (e->getWidth() <= 64) {
+        PC << e->getZExtValue();
+      } else {
+        std::string S;
+        e->toString(S);
+        PC << S;
+      }
 
       if (printWidth)
 	PC << ")";