From ff53669ed918c87d15ddea2d07fda84d4c8eff5d Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Wed, 28 Jun 2017 11:39:40 -0700 Subject: Store integer literals at high precision in AST The lexer was creating an `unsigned long long` value, and then the AST was storing it in an `int`. This change makes both use a `long long`. This is obviously still a stopgap until I can get arbitrary precisions in here. --- source/slang/syntax.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/slang/syntax.cpp') diff --git a/source/slang/syntax.cpp b/source/slang/syntax.cpp index 6b9a74f7d..cf529e55e 100644 --- a/source/slang/syntax.cpp +++ b/source/slang/syntax.cpp @@ -1268,7 +1268,7 @@ namespace Slang // IntVal - int GetIntVal(RefPtr val) + IntegerLiteralValue GetIntVal(RefPtr val) { if (auto constantVal = val.As()) { @@ -1294,7 +1294,7 @@ namespace Slang int ConstantIntVal::GetHashCode() { - return value; + return (int) value; } // SwitchStmt -- cgit v1.2.3