Commit Graph

1454 Commits

Author SHA1 Message Date
chriseth
a06249c984 Tests for revert with reason string. 2018-04-12 13:09:37 +02:00
chriseth
c3dc67d0e0
Merge pull request #3848 from ethereum/constantDivisionByZero
Error on invalid arithmetic with constant expressions.
2018-04-12 11:49:08 +02:00
Daniel Kirchner
d42476e241 Add test to check ConstantEvaluator for pure non-rational functions. 2018-04-12 11:33:54 +02:00
Daniel Kirchner
932915633b Add tests for literal operations as well. 2018-04-11 23:20:40 +02:00
chriseth
b5a696ad48 Properly cope with constructor headers. 2018-04-11 22:00:21 +02:00
chriseth
52f68d3b63 Update expectations. 2018-04-11 22:00:21 +02:00
chriseth
4e1ea0866d Extract modifier tests. 2018-04-11 22:00:21 +02:00
chriseth
2ad1acaf72 Warn if modifiers are applied to functions without implementation. 2018-04-11 22:00:21 +02:00
chriseth
42b90ad4c3 New tests for function state variables. 2018-04-11 22:00:04 +02:00
chriseth
08e807aea0 Add expectations. 2018-04-11 22:00:04 +02:00
chriseth
bd27ce0e25 Extract function type tests. 2018-04-11 22:00:04 +02:00
chriseth
ae3fca6db2
Merge pull request #3863 from ethereum/fixGasEstimation
Correctly ignore costs of fallback for other functions.
2018-04-11 21:53:41 +02:00
Daniel Kirchner
daa69df447 Error on invalid arithmetic with constant expressions. 2018-04-11 21:17:10 +02:00
chriseth
928ce08845 Correctly ignore costs of fallback for other functions. 2018-04-11 19:42:34 +01:00
Daniel Kirchner
cb548f6f53 Fix ConstantEvaluator to correctly handle single element tuples. 2018-04-11 18:30:34 +02:00
Daniel Kirchner
fdcbf1337a Syntax Tests: extract array_length_* tests. 2018-04-11 18:01:24 +02:00
chriseth
d50d1f0ac1
Merge pull request #3580 from ethereum/asm-bitshift-optim
Add simplification rule for bitwise shifting
2018-04-11 17:18:31 +02:00
chriseth
05781c955b Fix line numbers for errors. 2018-04-11 16:37:49 +02:00
chriseth
c9bdbcf470
Merge pull request #3309 from ethereum/limit-errors
Limit the number of errors output in a single run to 256
2018-04-11 16:13:41 +02:00
Jason Cobb
3b7b962b66 Fix bug in typechecking when comparing rational literals 2018-04-11 12:03:08 +02:00
Alex Beregszaszi
2e73ef5ac5 Ignore shift warnings on constantinople tests 2018-04-10 15:29:55 +01:00
Alex Beregszaszi
5f76f47f2e Add end to end tests for SHL/SHR/SAR instructions (constantinople only) 2018-04-10 15:29:54 +01:00
Daniel Kirchner
f03695731b Add source locations to syntax test expectations. 2018-04-10 14:08:22 +02:00
Daniel Kirchner
3eedbc6a9c Error when using no parentheses in modifier-style constructor calls. 2018-04-10 12:09:34 +02:00
Daniel Kirchner
b918a105a4 Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler. 2018-04-09 15:26:08 +02:00
Daniel Kirchner
b8fdb666e2 Allow duplicated constructor calls, if no arguments; support for multiple inheritance; backwards compatibility.
# tmp
2018-04-09 15:26:05 +02:00
Federico Bond
4e037281ac Error on duplicated super constructor calls 2018-04-09 11:22:35 +02:00
chriseth
a38418f0d9 Common subexpression eliminator. 2018-04-06 15:16:29 +02:00
Alex Beregszaszi
d5f40c141b Limit the number of errors output in a single run to 256 2018-04-06 13:52:19 +02:00
chriseth
5b1c0506fa Allow `memory` suffix for internal elementary type parsing. 2018-04-05 16:06:04 +02:00
chriseth
95b0589f77
Merge pull request #3828 from ethereum/soltest
Show JSON error if jsonParseStrict failed in soltest
2018-04-05 15:22:26 +02:00
chriseth
2d22549f64
Merge pull request #3827 from ethereum/constantinople
Support constantinople in soltest
2018-04-05 15:21:45 +02:00
Daniel Kirchner
037eba20fc
Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesis
Error when using empty parentheses for base class constructors that r…
2018-04-05 14:43:28 +02:00
Alex Beregszaszi
ac6a30442f Support constantinople in soltest 2018-04-05 12:11:24 +02:00
Alex Beregszaszi
36d6c27e68
Merge pull request #3745 from ethereum/fixRecursion
Fix invalid recursion errors for structs
2018-04-05 12:04:54 +02:00
Alex Beregszaszi
7f232358bb Show JSON error if jsonParseStrict failed in soltest 2018-04-05 11:59:31 +02:00
chriseth
c6da5c1650
Merge pull request #3822 from ethereum/swap-comparison
Replace comparison operators with opposites if preceded by SWAP1
2018-04-05 11:57:26 +02:00
Daniel Kirchner
96eff0ff6a Error when using empty parenthesis for base class constructors that require arguments. 2018-04-05 11:52:22 +02:00
Alex Beregszaszi
8dc9113e37 Add end-to-end test for SwapComparison and CommutativeSwap peephole optimisers 2018-04-05 10:54:39 +02:00
Alex Beregszaszi
02ea0e547f Replace comparison operators with opposites if preceded by SWAP1 2018-04-04 17:47:58 +02:00
chriseth
65f18a18de More specific push implementation. 2018-04-04 16:50:45 +02:00
chriseth
016f562348
Merge pull request #3808 from ethereum/parserTests
SyntaxTests: extend syntax tests and isoltest to support parser error…
2018-04-04 14:52:01 +02:00
chriseth
0cbe55005d Create empty dynamic memory arrays more efficiently. 2018-04-04 12:37:04 +02:00
Alex Beregszaszi
920de496ab
Merge pull request #3798 from ethereum/commutative-swap
Remove useless SWAP1 in front of commutative operations
2018-04-04 08:15:24 +02:00
Daniel Kirchner
87ad337ae0 Adds parsing sub-directory in syntaxTests and moves two example tests from SolidityParser.cpp to test contracts. 2018-04-03 19:54:46 +02:00
Daniel Kirchner
6f9644add1 SyntaxTests: extend syntax tests and isoltest to support parser errors and compiler exceptions. 2018-04-03 19:54:45 +02:00
Alex Beregszaszi
be6051bead Test multiple instructions with the (non)commutative peephole optimiser 2018-04-03 18:57:28 +02:00
Alex Beregszaszi
17bcabb6cf Remove useless SWAP1 in front of commutative operations 2018-04-03 18:57:07 +02:00
Daniel Kirchner
c98464db06 Remove redundant test and enforce success without warnings. 2018-04-03 18:21:55 +02:00
Daniel Kirchner
d664a599e6 Constructors are defined using the `constructor` keyword. 2018-04-03 18:21:55 +02:00