diff options
author | Yoichi Hirai <i@yoichihirai.com> | 2017-10-18 18:02:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-18 18:02:14 +0800 |
commit | fda8499c1549dee11dea4207d7f0ed4ab75c7856 (patch) | |
tree | 771be72c1e500933597c325b15e210a49fcd53ed /test/liblll/Compiler.cpp | |
parent | e854da1a8c2253704e412214e8115fd1c1c819f2 (diff) | |
parent | 15517b571d3ac4ee01af3e2e2f3fff7c5b2296c5 (diff) | |
download | dexon-solidity-fda8499c1549dee11dea4207d7f0ed4ab75c7856.tar dexon-solidity-fda8499c1549dee11dea4207d7f0ed4ab75c7856.tar.gz dexon-solidity-fda8499c1549dee11dea4207d7f0ed4ab75c7856.tar.bz2 dexon-solidity-fda8499c1549dee11dea4207d7f0ed4ab75c7856.tar.lz dexon-solidity-fda8499c1549dee11dea4207d7f0ed4ab75c7856.tar.xz dexon-solidity-fda8499c1549dee11dea4207d7f0ed4ab75c7856.tar.zst dexon-solidity-fda8499c1549dee11dea4207d7f0ed4ab75c7856.zip |
Merge pull request #3070 from ethereum/lll-assembly
lll: disallow useless PUSHn in assembly
Diffstat (limited to 'test/liblll/Compiler.cpp')
-rw-r--r-- | test/liblll/Compiler.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/liblll/Compiler.cpp b/test/liblll/Compiler.cpp index 2d66bce1..77d263b8 100644 --- a/test/liblll/Compiler.cpp +++ b/test/liblll/Compiler.cpp @@ -121,6 +121,23 @@ BOOST_AUTO_TEST_CASE(switch_inconsistent_return_count) BOOST_CHECK(!successCompile(sourceCode)); } +BOOST_AUTO_TEST_CASE(disallowed_asm_instructions) +{ + for (unsigned i = 1; i <= 32; i++) + BOOST_CHECK(!successCompile("(asm PUSH" + boost::lexical_cast<string>(i) + ")")); +} + +BOOST_AUTO_TEST_CASE(disallowed_functional_asm_instructions) +{ + for (unsigned i = 1; i <= 32; i++) + BOOST_CHECK(!successCompile("(PUSH" + boost::lexical_cast<string>(i) + ")")); + for (unsigned i = 1; i <= 16; i++) + BOOST_CHECK(!successCompile("(DUP" + boost::lexical_cast<string>(i) + ")")); + for (unsigned i = 1; i <= 16; i++) + BOOST_CHECK(!successCompile("(SWAP" + boost::lexical_cast<string>(i) + ")")); + BOOST_CHECK(!successCompile("(JUMPDEST)")); +} + BOOST_AUTO_TEST_SUITE_END() } |