aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-01-05 07:25:41 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2018-02-22 08:02:19 +0800
commitae02bb5aadfa49636f9931524dbc026c855201f1 (patch)
tree0328334a01d5198a6f17c97c8ad6fa0c46a52906 /test
parentd01786f0aa4e128f70aea2bc53a8d3c61294a587 (diff)
downloaddexon-solidity-ae02bb5aadfa49636f9931524dbc026c855201f1.tar
dexon-solidity-ae02bb5aadfa49636f9931524dbc026c855201f1.tar.gz
dexon-solidity-ae02bb5aadfa49636f9931524dbc026c855201f1.tar.bz2
dexon-solidity-ae02bb5aadfa49636f9931524dbc026c855201f1.tar.lz
dexon-solidity-ae02bb5aadfa49636f9931524dbc026c855201f1.tar.xz
dexon-solidity-ae02bb5aadfa49636f9931524dbc026c855201f1.tar.zst
dexon-solidity-ae02bb5aadfa49636f9931524dbc026c855201f1.zip
Raise error on oversized number literals in assembly
Diffstat (limited to 'test')
-rw-r--r--test/libjulia/Parser.cpp1
-rw-r--r--test/libsolidity/InlineAssembly.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/test/libjulia/Parser.cpp b/test/libjulia/Parser.cpp
index 0a2dd815..ff9474c1 100644
--- a/test/libjulia/Parser.cpp
+++ b/test/libjulia/Parser.cpp
@@ -228,6 +228,7 @@ BOOST_AUTO_TEST_CASE(number_literals)
CHECK_ERROR("{ let x:u256 := .1:u256 }", ParserError, "Invalid number literal.");
CHECK_ERROR("{ let x:u256 := 1e5:u256 }", ParserError, "Invalid number literal.");
CHECK_ERROR("{ let x:u256 := 67.235:u256 }", ParserError, "Invalid number literal.");
+ CHECK_ERROR("{ let x:u256 := 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff:u256 }", TypeError, "Number literal too large (> 256 bits)");
}
BOOST_AUTO_TEST_CASE(builtin_types)
diff --git a/test/libsolidity/InlineAssembly.cpp b/test/libsolidity/InlineAssembly.cpp
index 70620f78..45fb54f8 100644
--- a/test/libsolidity/InlineAssembly.cpp
+++ b/test/libsolidity/InlineAssembly.cpp
@@ -390,6 +390,7 @@ BOOST_AUTO_TEST_CASE(number_literals)
CHECK_PARSE_ERROR("{ let x := .1 }", ParserError, "Invalid number literal.");
CHECK_PARSE_ERROR("{ let x := 1e5 }", ParserError, "Invalid number literal.");
CHECK_PARSE_ERROR("{ let x := 67.235 }", ParserError, "Invalid number literal.");
+ CHECK_STRICT_ERROR("{ let x := 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff }", TypeError, "Number literal too large (> 256 bits)");
}
BOOST_AUTO_TEST_CASE(function_definitions)