aboutsummaryrefslogtreecommitdiffstats
path: root/test/liblll/EndToEndTest.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-11-13 21:10:48 +0800
committerGitHub <noreply@github.com>2018-11-13 21:10:48 +0800
commitc237013911aa5bb6102e1262e6aa62178c0f02e0 (patch)
tree2827f17d04ed01a3e36a2fed83cbd9e8b2a2003b /test/liblll/EndToEndTest.cpp
parent82fadfd1a7c5715595ddbf6643ae494cdb6eca8c (diff)
parent90e4d244073c1d9ced47711a533cc8fe4ac217f2 (diff)
downloaddexon-solidity-c237013911aa5bb6102e1262e6aa62178c0f02e0.tar
dexon-solidity-c237013911aa5bb6102e1262e6aa62178c0f02e0.tar.gz
dexon-solidity-c237013911aa5bb6102e1262e6aa62178c0f02e0.tar.bz2
dexon-solidity-c237013911aa5bb6102e1262e6aa62178c0f02e0.tar.lz
dexon-solidity-c237013911aa5bb6102e1262e6aa62178c0f02e0.tar.xz
dexon-solidity-c237013911aa5bb6102e1262e6aa62178c0f02e0.tar.zst
dexon-solidity-c237013911aa5bb6102e1262e6aa62178c0f02e0.zip
Merge pull request #5020 from ethereum/lll-seq-fix
LLL: terminate sequences with a STOP
Diffstat (limited to 'test/liblll/EndToEndTest.cpp')
-rw-r--r--test/liblll/EndToEndTest.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/liblll/EndToEndTest.cpp b/test/liblll/EndToEndTest.cpp
index ceaf450e..60aef7b0 100644
--- a/test/liblll/EndToEndTest.cpp
+++ b/test/liblll/EndToEndTest.cpp
@@ -986,6 +986,20 @@ BOOST_AUTO_TEST_CASE(shift_right)
BOOST_CHECK(callFallback() == encodeArgs(u256(256)));
}
+BOOST_AUTO_TEST_CASE(sub_assemblies)
+{
+ char const* sourceCode = R"(
+ (returnlll
+ (return (create 0 (returnlll (sstore 1 1)))))
+ )";
+ compileAndRun(sourceCode);
+ bytes ret = callFallback();
+ BOOST_REQUIRE(ret.size() == 32);
+ u256 rVal = u256(toHex(ret, 2, HexPrefix::Add));
+ BOOST_CHECK(rVal != 0);
+ BOOST_CHECK(rVal < u256("0x10000000000000000000000000000000000000000"));
+}
+
BOOST_AUTO_TEST_SUITE_END()
}