diff options
author | chriseth <chris@ethereum.org> | 2018-04-12 17:49:08 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-12 17:49:08 +0800 |
commit | c3dc67d0e0c311a907e7a27e159f9159d78af949 (patch) | |
tree | 5931874703a65e74c9319a06381ea769c2e402a9 /test/libsolidity/syntaxTests/literalOperations | |
parent | ea445b9d372ad99f5c705628104db36bcb0d33a2 (diff) | |
parent | d42476e241489447e5dc4f5b1fafc8000e635fbc (diff) | |
download | dexon-solidity-c3dc67d0e0c311a907e7a27e159f9159d78af949.tar dexon-solidity-c3dc67d0e0c311a907e7a27e159f9159d78af949.tar.gz dexon-solidity-c3dc67d0e0c311a907e7a27e159f9159d78af949.tar.bz2 dexon-solidity-c3dc67d0e0c311a907e7a27e159f9159d78af949.tar.lz dexon-solidity-c3dc67d0e0c311a907e7a27e159f9159d78af949.tar.xz dexon-solidity-c3dc67d0e0c311a907e7a27e159f9159d78af949.tar.zst dexon-solidity-c3dc67d0e0c311a907e7a27e159f9159d78af949.zip |
Merge pull request #3848 from ethereum/constantDivisionByZero
Error on invalid arithmetic with constant expressions.
Diffstat (limited to 'test/libsolidity/syntaxTests/literalOperations')
4 files changed, 20 insertions, 0 deletions
diff --git a/test/libsolidity/syntaxTests/literalOperations/division_by_zero.sol b/test/libsolidity/syntaxTests/literalOperations/division_by_zero.sol new file mode 100644 index 00000000..b52b4c51 --- /dev/null +++ b/test/libsolidity/syntaxTests/literalOperations/division_by_zero.sol @@ -0,0 +1,5 @@ +contract C { + uint constant a = 1 / 0; +} +// ---- +// TypeError: (35-40): Operator / not compatible with types int_const 1 and int_const 0 diff --git a/test/libsolidity/syntaxTests/literalOperations/division_by_zero_complex.sol b/test/libsolidity/syntaxTests/literalOperations/division_by_zero_complex.sol new file mode 100644 index 00000000..8cc3b6f2 --- /dev/null +++ b/test/libsolidity/syntaxTests/literalOperations/division_by_zero_complex.sol @@ -0,0 +1,5 @@ +contract C { + uint constant a = 1 / ((1+3)-4); +} +// ---- +// TypeError: (35-48): Operator / not compatible with types int_const 1 and int_const 0 diff --git a/test/libsolidity/syntaxTests/literalOperations/mod_zero.sol b/test/libsolidity/syntaxTests/literalOperations/mod_zero.sol new file mode 100644 index 00000000..1bbbc3fc --- /dev/null +++ b/test/libsolidity/syntaxTests/literalOperations/mod_zero.sol @@ -0,0 +1,5 @@ +contract C { + uint constant b3 = 1 % 0; +} +// ---- +// TypeError: (36-41): Operator % not compatible with types int_const 1 and int_const 0 diff --git a/test/libsolidity/syntaxTests/literalOperations/mod_zero_complex.sol b/test/libsolidity/syntaxTests/literalOperations/mod_zero_complex.sol new file mode 100644 index 00000000..4899cac3 --- /dev/null +++ b/test/libsolidity/syntaxTests/literalOperations/mod_zero_complex.sol @@ -0,0 +1,5 @@ +contract C { + uint constant b3 = 1 % (-4+((2)*2)); +} +// ---- +// TypeError: (36-52): Operator % not compatible with types int_const 1 and int_const 0 |