diff options
author | chriseth <chris@ethereum.org> | 2018-02-22 21:42:52 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-22 21:42:52 +0800 |
commit | ca35963f84c73e6faec990ffe9d3f7a8d8a387c5 (patch) | |
tree | 56c85844ee5455cf35f33e6fcf35aea956836f9a /test | |
parent | bb2a48e05cac2ce16f3b879025a0d9ca57c70e8a (diff) | |
parent | 42856e0f53c1cb9be61e9f24b9f09a7b0179cd55 (diff) | |
download | dexon-solidity-ca35963f84c73e6faec990ffe9d3f7a8d8a387c5.tar dexon-solidity-ca35963f84c73e6faec990ffe9d3f7a8d8a387c5.tar.gz dexon-solidity-ca35963f84c73e6faec990ffe9d3f7a8d8a387c5.tar.bz2 dexon-solidity-ca35963f84c73e6faec990ffe9d3f7a8d8a387c5.tar.lz dexon-solidity-ca35963f84c73e6faec990ffe9d3f7a8d8a387c5.tar.xz dexon-solidity-ca35963f84c73e6faec990ffe9d3f7a8d8a387c5.tar.zst dexon-solidity-ca35963f84c73e6faec990ffe9d3f7a8d8a387c5.zip |
Merge pull request #3570 from ethereum/assembly-oversized-literals
Raise error on oversized number literals in assembly
Diffstat (limited to 'test')
-rw-r--r-- | test/libjulia/Parser.cpp | 1 | ||||
-rw-r--r-- | test/libsolidity/InlineAssembly.cpp | 1 |
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) |