diff options
author | CJentzsch <jentzsch.software@gmail.com> | 2015-02-07 00:38:09 +0800 |
---|---|---|
committer | CJentzsch <jentzsch.software@gmail.com> | 2015-02-07 00:38:09 +0800 |
commit | 8404c8747747b8842215889139ab20b479fb792c (patch) | |
tree | f0c45fccdc9f4c6f62e32f9a48ff37da90d11aa8 /SolidityNameAndTypeResolution.cpp | |
parent | d78e171ef44db2cfa141ca1c4b3873b2d6d84cf5 (diff) | |
parent | 5bedf7f81612767f2f60ea57a1c38c34973465ec (diff) | |
download | dexon-solidity-8404c8747747b8842215889139ab20b479fb792c.tar dexon-solidity-8404c8747747b8842215889139ab20b479fb792c.tar.gz dexon-solidity-8404c8747747b8842215889139ab20b479fb792c.tar.bz2 dexon-solidity-8404c8747747b8842215889139ab20b479fb792c.tar.lz dexon-solidity-8404c8747747b8842215889139ab20b479fb792c.tar.xz dexon-solidity-8404c8747747b8842215889139ab20b479fb792c.tar.zst dexon-solidity-8404c8747747b8842215889139ab20b479fb792c.zip |
Merge remote-tracking branch 'upstream/develop' into addTests
Diffstat (limited to 'SolidityNameAndTypeResolution.cpp')
-rw-r--r-- | SolidityNameAndTypeResolution.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/SolidityNameAndTypeResolution.cpp b/SolidityNameAndTypeResolution.cpp index 742d2ee2..05ce6ed6 100644 --- a/SolidityNameAndTypeResolution.cpp +++ b/SolidityNameAndTypeResolution.cpp @@ -910,6 +910,28 @@ BOOST_AUTO_TEST_CASE(disallow_declaration_of_void_type) BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError); } +BOOST_AUTO_TEST_CASE(overflow_caused_by_ether_units) +{ + char const* sourceCodeFine = R"( + contract c { + function c () + { + a = 115792089237316195423570985008687907853269984665640564039458; + } + uint256 a; + })"; + BOOST_CHECK_NO_THROW(parseTextAndResolveNames(sourceCodeFine)); + char const* sourceCode = R"( + contract c { + function c () + { + a = 115792089237316195423570985008687907853269984665640564039458 ether; + } + uint256 a; + })"; + BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError); +} + BOOST_AUTO_TEST_SUITE_END() } |