chriseth
d43693ecca
Merge pull request #10675 from ethereum/refactor-bytecode-comparison-scripts
...
Refactor bytecode comparison scripts
2021-01-11 18:57:47 +01:00
Djordje Mijovic
85b8325f0b
[Sol->Yul] Implementing dynamic array push for arrays of structs.
2021-01-11 17:49:42 +01:00
Kamil Śliwak
085f88d349
Create unit tests for prepare_report.py
2021-01-11 17:06:59 +01:00
chriseth
3804ad85f6
Enable tests.
2021-01-11 14:51:33 +01:00
Martin Blicha
ff76c989ac
addressing review comments
2021-01-11 14:19:06 +01:00
Martin Blicha
3d7188ac7b
update to the tests
2021-01-11 13:36:03 +01:00
Martin Blicha
09de54b5eb
tests
2021-01-11 13:36:03 +01:00
Harikrishnan Mulackal
5241b7b761
Merge pull request #10684 from ethereum/fixIRWrappingExp
...
Use wrapping arithmetic for exp in unchecked blocks.
2021-01-06 18:53:54 +01:00
Harikrishnan Mulackal
3cb48b8c60
Merge pull request #10683 from ethereum/optSubEq
...
Optimize iszero(sub(x, y)) to eq(x, y).
2021-01-06 12:22:54 +01:00
Daniel Kirchner
308549f950
Simplify test and add Changelog entry.
2021-01-06 11:33:08 +01:00
Alex Beregszaszi
8edfa26f0a
Mark the empty version pragma as invalid
2021-01-04 19:28:36 +00:00
Leonardo Alt
b02722ebda
Add contract name to called function in cex
2021-01-04 10:03:16 +01:00
Djordje Mijovic
67c92b7f6e
Updating gas costs and cmdline tests.
2020-12-30 17:48:41 +01:00
Djordje Mijovic
b74c08143f
Deleting yul unimplemented test.
2020-12-30 17:19:04 +01:00
Djordje Mijovic
ddb05769a5
[Sol->Yul] Implementing type name.
2020-12-30 17:19:03 +01:00
Leonardo Alt
78d55e6b4a
[SMTChecker] Support check/unchecked
2020-12-30 12:14:30 +01:00
Martin Blicha
be0a0f4d90
[SMTChecker] Added constraints for block properties
2020-12-29 22:17:44 +01:00
Leonardo Alt
9482e7de23
[SMTChecker] Fix calls to virtual/overriden functions
2020-12-29 11:25:20 +01:00
Martin Blicha
41d31fe4d4
updates to the tests
2020-12-28 20:05:52 +01:00
Martin Blicha
77dff222e9
disabling some tests because of nondeterminism in Spacer
2020-12-28 16:24:44 +01:00
Martin Blicha
745466b71f
updates to the tests
2020-12-28 14:32:53 +01:00
Djordje Mijovic
c41f996c7b
Adding more tests for array copying.
...
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-12-28 13:16:24 +01:00
chriseth
2ab83217e3
Use wrapping arithmetic for exp in unchecked blocks.
2020-12-22 16:49:55 +01:00
chriseth
e299d8ba64
Merge pull request #10677 from ethereum/dirtyMemoryBytesSol2Yul
...
[Sol->Yul] Disable old codegen test viaYul and create new one that fits IR semantics
2020-12-22 16:22:38 +01:00
chriseth
04d83af1d2
Merge pull request #10492 from ethereum/arrayClearingDiffBaseSol2Yul
...
[Sol->Yul] Fixing array clearing when copying from storage to storage.
2020-12-22 15:15:03 +01:00
chriseth
d46da8e53c
Optimize iszero(sub(x, y)) to eq(x, y).
2020-12-22 15:11:48 +01:00
Djordje Mijovic
a204596c3e
[Sol->Yul] Disable old codegen test viaYul and create new one that fits IR semantics.
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-12-22 15:11:07 +01:00
Martin Blicha
d90b9da4f0
[SMTChecker] Refactoring
2020-12-22 13:10:48 +01:00
chriseth
b965446182
Catch panic.
2020-12-22 11:08:44 +01:00
Đorđe Mijović
b78443ac75
Merge pull request #10577 from ethereum/deleteMappingSol2Yul
...
[Sol->Yul] Skipping mapping types when deleting structs and arrays.
2020-12-21 20:08:51 +01:00
Leonardo
a48106ca1f
Merge pull request #10670 from blishko/smt-virtual-modifiers-fix
...
[SMTChecker] Fix virtual modifier called statically
2020-12-21 18:05:02 +01:00
Djordje Mijovic
adb9d0c41a
[Sol->Yul] Fixing array clearing when copying from storage to storage.
2020-12-21 17:33:06 +01:00
Djordje Mijovic
8b6397e8fb
Adding more syntax and semantic tests.
2020-12-21 15:30:49 +01:00
Đorđe Mijović
21dc6c8356
Merge pull request #10552 from ethereum/gettersSol2Yul
...
[Sol->Yul] Implementing getter for struct with bytes member
2020-12-21 15:29:29 +01:00
Djordje Mijovic
7b2614576f
Activating some tests viaYul after implementing getters for bytes.
2020-12-21 14:46:13 +01:00
Djordje Mijovic
2d5a2c65a8
[Sol->Yul] Implementing getters for bytes and structs containing bytes member.
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-12-21 14:46:06 +01:00
Martin Blicha
87ef0e16f5
[SMTChecker] Fix virtual modifier called statically
2020-12-21 13:52:28 +01:00
Djordje Mijovic
9b8634f2a7
[Sol->Yul] Skipping mapping types when deleting structs and arrays.
2020-12-21 13:19:25 +01:00
Bhargava Shastry
beed9de7d5
Merge pull request #10668 from ethereum/fuzzer-always-add-smt-pragma
...
ossfuzz: Add option to force SMT pragma and set it in solc fuzzers
2020-12-21 12:38:44 +01:00
Bhargava Shastry
a6a2b58e57
ossfuzz: Add option to force SMT pragma and set it in solc fuzzers
...
Co-authored-by: Leonardo <leo@ethereum.org>
2020-12-21 11:55:58 +01:00
chriseth
43baceb1ed
Test for recursion with modifiers.
2020-12-21 11:39:59 +01:00
Leonardo
158154bac3
Merge pull request #10345 from ethereum/ir-runtime
...
Output runtime object in IR
2020-12-18 17:19:40 +01:00
Alex Beregszaszi
7e20a095a8
Merge pull request #10652 from ethereum/smt_constants_inplce
...
[SMTChecker] Replace constants by their value in-place
2020-12-18 14:22:32 +00:00
chriseth
c4ade1753e
Merge pull request #10445 from ethereum/modifiers
...
[Sol->Yul] Implement function modifiers.
2020-12-18 14:29:00 +01:00
Leonardo Alt
034d1ab90f
[SMTChecker] Replace constants by their value in-place
2020-12-18 14:22:28 +01:00
Alex Beregszaszi
b14a6a10cc
Report meaningful error if parsing a version pragma failed
2020-12-18 11:50:37 +00:00
Martin Blicha
7078e8f8f8
[SMTChecker] Fix analysis of overriding modifiers
2020-12-17 17:05:54 +01:00
chriseth
1fa371d426
Tests
2020-12-17 17:00:51 +01:00
chriseth
35908c602b
Modifiers for constructors.
2020-12-17 17:00:51 +01:00
chriseth
ccaa81fbe7
Implement function modifiers.
2020-12-17 17:00:51 +01:00
Leonardo Alt
50be39fc21
Add and update tests
2020-12-17 14:42:49 +01:00
Alex Beregszaszi
953d18c6cb
Output runtime object in IR
2020-12-16 19:23:10 +00:00
Leonardo Alt
f5c96ea6da
Fix constant evaluation build
2020-12-16 17:59:00 +01:00
chriseth
3a23df6717
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-16 16:56:45 +01:00
chriseth
7338295fee
Merge pull request #10623 from ethereum/smt_const_expr
...
[SMTChecker] Apply const eval to arithmetic binary expressions
2020-12-16 15:39:16 +01:00
Kamil Śliwak
34e21c929a
Fix a test for unicode direction override failing because of Windows line endings
2020-12-16 15:24:41 +01:00
Leonardo Alt
80e85b772b
[SMTChecker] Apply const eval to arithmetic binary expressions
2020-12-16 14:58:00 +01:00
chriseth
8f833f4e8f
Merge pull request #10618 from ethereum/develop
...
Merge develop into breaking.
2020-12-16 12:34:41 +01:00
chriseth
5c40fb060c
Report illegal tokens in the Yul parser.
2020-12-16 12:20:07 +01:00
Leonardo Alt
59428b8f76
Fix SMTChecker tests on breaking
2020-12-15 19:49:57 +01:00
Christian Parpart
381c63ec99
Scanner: Generate error on inbalanced RLO/LRO/PDF override markers.
2020-12-15 18:40:51 +01:00
chriseth
6c7e6a3c9f
Merge pull request #10615 from ethereum/develop
...
Merge develop into breaking.
2020-12-15 18:34:01 +01:00
chriseth
53368eff9b
Merge pull request #10604 from ethereum/strict-address-payable
...
[BREAKING] Strict address payable
2020-12-15 18:25:31 +01:00
Bhargava Shastry
b45a5d7605
Asmanalysis: Add test case that demonstrates bug
2020-12-15 17:57:19 +01:00
Bhargava Shastry
9b38176c77
AsmAnalysis: Fix out of bounds read due to incorrect bounds checking on literal arguments
2020-12-15 15:38:59 +01:00
chriseth
3c270ca7f7
Merge pull request #10608 from ethereum/develop
...
Merge develop into breaking.
2020-12-15 15:24:53 +01:00
hrkrshnn
fdaede9b3e
Tests after disallowing some explicit payable conversions
2020-12-15 15:01:40 +01:00
chriseth
4e86390e40
Merge pull request #10590 from ethereum/deposit-test
...
Include the eth2 deposit contract as an external test
2020-12-15 14:57:38 +01:00
Bhargava Shastry
e0e30fc600
Merge pull request #10592 from ethereum/abiv2-isabelle-test-values-fix-bugs
...
Abiv2 isabelle fuzzing
2020-12-15 14:29:20 +01:00
chriseth
ffaf40950a
Merge pull request #10605 from ethereum/develop
...
Merge develop into breaking.
2020-12-15 14:01:01 +01:00
chriseth
2a54079d41
Merge pull request #10575 from ethereum/calldataArraySlices
...
Conversion of calldata array slices to memory
2020-12-15 12:21:33 +01:00
Bhargava Shastry
b273e52628
Abiv2 fuzzer: Enable differential fuzzing and remove support for string coding
...
co-authored-by: Leonardo <leo@ethereum.org>
2020-12-15 11:13:10 +01:00
Bhargava Shastry
39f1893956
Fix integer overflow due to large unsigned cpp_int
2020-12-15 11:12:51 +01:00
Martin Blicha
e2c27b8ea4
[SMTChecker] Fix internal error on constructor of a recursive struct
2020-12-15 09:53:52 +01:00
Djordje Mijovic
64f0120622
Change assertions to align to TypeChecker.
2020-12-15 09:21:50 +01:00
Djordje Mijovic
d479c98920
Adding tests for conversion of calldata slices to memory and storage and fixing syntax tests.
2020-12-15 09:21:47 +01:00
Martin Blicha
71f835b71b
[SMTChecker] Fixed internal error when increment/decrement is applied on a result of push().
2020-12-14 22:52:44 +01:00
Alex Beregszaszi
edbdff8619
Update tests
2020-12-14 19:32:31 +00:00
chriseth
271a17d908
Merge pull request #10496 from ethereum/address-payable
...
[BREAKING] tx.origin, msg.sender and address(literal) are non-payable addresses
2020-12-14 20:16:52 +01:00
chriseth
9c3690c246
Some more tests for overflow.
2020-12-14 19:12:48 +01:00
hrkrshnn
7438c4dc16
Tests after making all explicit address conversions as non-payable
2020-12-14 18:46:01 +01:00
Martin Blicha
103fa3b7eb
[SMTChecker] Fix internal error on abstract modifier
2020-12-14 18:23:25 +01:00
Martin Blicha
27402781c4
[SMTChecker] Fixed crash on push to bytes on lhs of an assignment
2020-12-14 17:40:45 +01:00
hrkrshnn
88c99a7538
Tests/Docs: changing type of msg.sender and tx.origin into address
...
And also making the type of address(literal) as non-payable address.
2020-12-14 16:55:48 +01:00
Martin Blicha
0be325dc0d
[SMTChecker] Fix handling of function calls where the function identifier is nested in a tuple.
2020-12-14 16:19:24 +01:00
chriseth
d257ab7141
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-14 16:05:12 +01:00
Alex Beregszaszi
34cab95446
Do not insert SPDX line if it is already present (in semantic tests)
2020-12-14 14:25:58 +00:00
chriseth
0dd2f1edbe
Update counter-examples.
2020-12-14 14:21:35 +01:00
Alex Beregszaszi
3a7a0e4256
Add test cases for the deposit contract
2020-12-14 13:11:57 +00:00
Alex Beregszaszi
b97a12c299
Initial import of syntaxTests/externalContracts/deposit_contract.sol
...
Imported from https://github.com/axic/eth2-deposit-contract/tree/r2
2020-12-14 12:19:07 +00:00
Alex Beregszaszi
aa042ccb87
Disallow leading zeroes in sized-types
...
Also avoid using boost::lexical_cast for parseSize.
2020-12-14 11:40:14 +00:00
Alex Beregszaszi
4bffd040e2
Add tests for weirdly sized types
...
e.g. bytes00001
2020-12-14 11:40:11 +00:00
chriseth
28374447d2
Merge pull request #10582 from ethereum/addr-literal
...
Fix crash with oversized address literals
2020-12-14 12:14:28 +01:00
chriseth
561280a5cc
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-14 11:33:40 +01:00
Kamil Śliwak
ac12274acd
cmdlineTests.sh: Fix the script failing to detect that --ast option does not exist
2020-12-12 06:30:57 +01:00
Kamil Śliwak
1f2ffa99c2
cmdlineTests.sh: Fix test_solc_assembly_output including garbage in the tested output
2020-12-12 06:30:57 +01:00
Alex Beregszaszi
33ff2b16ff
Fix crash with oversized address literals
2020-12-11 23:45:23 +00:00
Leonardo
db9aa36d6c
Merge pull request #10567 from blishko/unary-operators-fix
...
[SMTChecker] Fix CHC analysis of increment/decrement
2020-12-11 18:52:12 +01:00
Leonardo
da9cede0fe
Merge pull request #10348 from ethereum/simplify-compiler
...
Simplify abstraction of Compiler/CompilerContext/CompilerStack
2020-12-11 17:42:36 +01:00
Martin Blicha
8927015e5a
[SMTChecker] Adding unary increment and decrement as under/overflow verification targets for the CHC engine
2020-12-11 17:41:50 +01:00
Leonardo
7972d8eb98
Merge pull request #10578 from ethereum/ast-test
...
Properly print sources in ASTJSONTest
2020-12-11 17:41:31 +01:00
Leonardo
adead3072d
Merge pull request #10570 from ethereum/abiv2-isabelle-test-values-fix-bugs
...
Ensure empty arrays are not visited and fix formatting issues
2020-12-11 17:38:15 +01:00
Harikrishnan Mulackal
2139f93410
Merge pull request #10556 from ethereum/external-test-readme
...
README describing the workflow around external tests and their repositories
2020-12-11 17:37:38 +01:00
Alex Beregszaszi
4a7f2ddc6d
Properly print sources in ASTJSONTest
2020-12-11 15:28:54 +00:00
Alex Beregszaszi
ccd1f283aa
Merge pull request #9360 from ethereum/rich-function-type
...
Improve error message when assigning builtin functions
2020-12-11 15:25:59 +00:00
Alex Beregszaszi
98d8174d31
Simplify Compiler/CompilerContext by removing extra layers of indirection
2020-12-11 14:43:51 +00:00
Alex Beregszaszi
b40b82535c
Add comprehensive tests for FixedHash
...
Also explicitly disallow FixedHash<0>, given most functions were not working with it, and it is not very useful.
2020-12-11 12:20:37 +00:00
chriseth
baaf7c0db8
Implement address(...).code in the IR
2020-12-11 03:00:30 +00:00
Alex Beregszaszi
7b347b9ec2
Introduce address(...).code
2020-12-11 03:00:30 +00:00
Alex Beregszaszi
fa37e69c25
Improved error messages when converting to/from builtin functions
2020-12-10 22:38:15 +00:00
Alex Beregszaszi
ff7e45f417
Add test cases for assigning builtins/bound functions to function types
2020-12-10 22:18:52 +00:00
Đorđe Mijović
9e4f3bad06
Merge pull request #10569 from ethereum/byteArrayStorageStorage
...
Fix copying byte arrays from storage to storage.
2020-12-10 22:52:50 +01:00
Bhargava Shastry
9bd4a1095e
Ensure empty arrays are not visited and fix formatting issues
2020-12-10 22:43:45 +01:00
Alex Beregszaszi
bd641a5206
Enable more C++ compiler warnings
2020-12-10 21:03:58 +00:00
chriseth
7764ee8d86
Fix copying byte arrays from storage to storage.
2020-12-10 21:47:37 +01:00
Kamil Śliwak
747e1709ff
fixup! README describing the workflow around external tests and their repositories
2020-12-10 19:53:49 +01:00
Kamil Śliwak
12418c533b
fixup! README describing the workflow around external tests and their repositories
2020-12-10 19:53:49 +01:00
Kamil Śliwak
14ea1bc145
README describing the workflow around external tests and their repositories
2020-12-10 19:53:49 +01:00
Leonardo Alt
64f81fe82b
Fix SMT tests
2020-12-10 18:54:52 +01:00
chriseth
ef3bcbda97
Merge pull request #9549 from ethereum/yul-reserved
...
[BREAKING] Disallow using reserved identifiers in Yul
2020-12-10 18:49:44 +01:00
chriseth
f7a7e2928b
New test.
2020-12-10 18:35:13 +01:00
Alex Beregszaszi
7cd05bf603
Introduce block.chainid
2020-12-10 17:07:54 +00:00
Alex Beregszaszi
c032ad3379
Update tests
2020-12-10 17:18:15 +01:00
chriseth
d0551b67d7
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-10 17:07:56 +01:00
Bhargava Shastry
dc1c0e9d4e
Abiv2 fuzzer: Retrieve values to be encoded from the fuzzer
2020-12-10 16:33:14 +01:00
Bhargava Shastry
fe79a27a0a
Merge pull request #10561 from ethereum/abiv2-isabelle-values
...
Abiv2 fuzzer: Make integer value generation consistent with range for…
2020-12-10 14:15:07 +01:00
chriseth
e15136c210
Merge pull request #10558 from ethereum/magictype-tests
...
Adds more tests for state access (block/tx/msg)
2020-12-10 14:05:37 +01:00
Bhargava Shastry
3c8caabf2e
Remove unused code
2020-12-10 12:56:04 +01:00
Bhargava Shastry
693548b787
Abiv2 fuzzer: Make integer value generation consistent with range for that integer type
2020-12-10 12:34:14 +01:00
chriseth
4861c9b8d1
Merge pull request #10554 from ethereum/emptyBytesPushSol2Yul
...
[Sol->Yul] Implementing empty byte array push.
2020-12-10 12:19:07 +01:00
chriseth
482bda6887
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-10 12:15:52 +01:00
Mathias Baumann
37cc795034
Fix segfault for empty @return tags in modifiers
2020-12-10 11:54:40 +01:00
Leonardo
7e930f7bb3
Merge pull request #10543 from ethereum/abiv2-isabelle-encode-test
...
Isabelle abiv2 fuzzer: Add type string
2020-12-09 23:33:41 +01:00
Alex Beregszaszi
f9d6abf69b
Add more tests for state access (block, msg, tx, etc.)
...
Move some of them out of SolidityEndToEndTests. Additionally this ensures the deterministic values of the testing infrastructure.
2020-12-09 20:46:01 +00:00
Leonardo
9e07981920
Merge pull request #10477 from ethereum/smt_isoltest_cex
...
[SMTChecker] Move CHC counterexamples to primary location
2020-12-09 20:37:24 +01:00
Leonardo Alt
3c142e0e94
Move CHC counterexamples to primary location
2020-12-09 19:55:18 +01:00
Djordje Mijovic
ab74194ca3
[Sol->Yul] Implementing empty byte array push.
2020-12-09 19:31:35 +01:00
Bhargava Shastry
2e3cba996a
Isabelle abiv2 fuzzer: Add type string
2020-12-09 18:10:10 +01:00
Kamil Śliwak
da2c2f4d40
Switch the external tests back to the usual branches from solidity-external-tests (080 version)
2020-12-09 18:08:12 +01:00
chriseth
3f748bbb94
Merge pull request #10336 from ethereum/enablecoderv2bydefault
...
[BREAKING] Enable ABI coder v2 by default.
2020-12-09 18:05:07 +01:00
chriseth
1c99537b5a
Merge pull request #10550 from ethereum/chainIdView
...
[BREAKING] Mark chainid as view.
2020-12-09 17:41:27 +01:00
chriseth
870fd24723
Merge pull request #9888 from ethereum/account-hash
...
Support address().codehash
2020-12-09 17:40:56 +01:00
Kamil Śliwak
165cab9e9d
Switch the external tests back to the usual branches from solidity-external-tests
2020-12-09 17:33:13 +01:00
Daniel Kirchner
588535566f
Mark chainid as view.
2020-12-09 16:55:51 +01:00
Alex Beregszaszi
ad6739d0f6
Support address().codehash
2020-12-09 14:58:27 +00:00
Daniel Kirchner
e691b7402a
Move standard-json "modelCheckerSettings" key to "settings.modelChecker".
2020-12-09 15:53:32 +01:00
chriseth
251f2a4d93
Fix bug in constant evaluator.
2020-12-09 15:50:53 +01:00
chriseth
dff7dcdc27
Update source location tests.
2020-12-09 15:25:15 +01:00
chriseth
3f5925e1c3
Update gas cost tests.
2020-12-09 15:25:15 +01:00
chriseth
72f1e4ea0b
Explicitly set coder to v1 for syntax tests.
2020-12-09 15:25:15 +01:00
chriseth
a5bd22795e
Force running abi coder v1 instead of v2.
2020-12-09 15:25:15 +01:00
chriseth
b18c76e34b
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-09 15:24:49 +01:00
Leonardo Alt
a961a76263
Do not run SMTChecker when file level functions/constants are present.
2020-12-09 12:18:55 +01:00
Leonardo
3ca4a5136d
Merge pull request #10539 from blishko/test-issue-10502
...
[SMTChecker] Adding test witnessing that SMTChecker no longer crashes when producing CEX with arrays
2020-12-09 11:03:53 +01:00
Martin Blicha
de34fe8aa3
[SMTChecker] Adding test witnessing that SMTChecker no longer crashes when producing CEX with arrays
2020-12-09 09:13:39 +01:00
Alex Beregszaszi
47b10fd751
Report warning if contract uses abicoder v1, but IR is requested
2020-12-09 01:20:58 +00:00
chriseth
806453aca9
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 21:00:09 +01:00
chriseth
0d7f9ae183
Merge pull request #10520 from ethereum/fix-initial-optimizer-settings-in-external-tests
...
Fix initial optimizer settings in external tests
2020-12-08 20:52:59 +01:00
chriseth
49d1f541a1
Merge pull request #10264 from ethereum/warn-conversion
...
Enable -Wconversion
2020-12-08 20:37:12 +01:00
chriseth
672abc2276
Merge pull request #10530 from ethereum/changeConstructorOrder
...
[Sol->Yul] Evaluate base arguments in derived to base order.
2020-12-08 20:32:48 +01:00
chriseth
e97ca0a777
Evaluate base arguments in derived to base order.
2020-12-08 20:27:06 +01:00
Alex Beregszaszi
7e88ba8da0
Enable the -Wconversion warning
2020-12-08 16:45:24 +00:00
chriseth
b045195c1e
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 17:42:31 +01:00
Kamil Śliwak
a66ab1eb4e
Simplify functions for setting solc version in Truffle config
2020-12-08 16:23:37 +01:00
Kamil Śliwak
8cd6e15333
When changing compiler settings in Truffle config, always set all of them
2020-12-08 16:21:46 +01:00
Kamil Śliwak
5868eb7879
Take into account optimization level when creating initial Truffle settings for external tests
2020-12-08 16:11:17 +01:00
Kamil Śliwak
c6643712f7
Refactor truffle_run_test() to make optimizer settings reusable
2020-12-08 16:11:16 +01:00
Kamil Śliwak
609f1746c9
force_solc_settings: Stop using the outdated 'solc' key for compiler settings in truffle-config.js
...
- Settings were moved under 'compilers' in Truffle 5.0.0 and none of the projects use older Truffle.
2020-12-08 16:10:42 +01:00
Kamil Śliwak
a64a2fa186
Remove unused find_truffle_config
2020-12-08 16:10:11 +01:00
Leonardo
71a4a4efb1
Merge pull request #10529 from blishko/compound_assignment
...
[SMTChecker] Remove assert that is not true for compound assignment with right shift
2020-12-08 15:43:36 +01:00
Bhargava Shastry
fe6543a7c8
Abiv2 isabelle: Add fuzzer test harness skeleton and update CMake
2020-12-08 13:05:23 +01:00
Martin Blicha
12aa654bad
added test
2020-12-08 13:05:16 +01:00
Djordje Mijovic
acb93f3a97
Disallowing usage of msg.data in receive() function.
2020-12-08 11:49:20 +01:00
Alex Beregszaszi
66ee3ec533
Remove the \b, \f, \v escape sequences from the Scanner
2020-12-07 21:10:03 +00:00
chriseth
759db0e646
Properly filter requested artefacts inside the EVM objects.
2020-12-07 22:03:06 +01:00
Martin Blicha
ff0c794674
[SMTChecker] Fixing conversion from StringLiteral to FixedBytes
2020-12-07 19:30:51 +01:00
Leonardo Alt
b7ac207391
[SMTChecker] Support return in CHC
2020-12-07 18:17:33 +01:00
Kamil Śliwak
ec21fba4b7
Update to 0.8.0 versions of solidity-external-tests branches where necessary/available
2020-12-07 17:18:48 +01:00
Kamil Śliwak
d00bf35d6d
Don't run Gnosis external tests without optimization
...
- They fail because the code size exceeds 24576 bytes.
2020-12-07 17:17:57 +01:00
chriseth
a3c5d37d02
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 17:13:48 +01:00
chriseth
8623e7fbe8
Merge pull request #10429 from ethereum/fix-and-enable-external-tests
...
Fix and enable external tests
2020-12-07 16:48:44 +01:00
Alex Beregszaszi
a8197788d0
Replace the inconsistent use of u160/Address/h160 with h160 only
2020-12-07 16:44:59 +01:00
chriseth
73a2843f05
Merge pull request #10513 from ethereum/groupDecoder
...
Group decoding function cases.
2020-12-07 14:40:19 +01:00
chriseth
50d5c77197
Merge pull request #10512 from ethereum/external-tests-remove-force-abi-v2
...
Remove the option for forcing ABIv2 from external tests
2020-12-07 14:39:10 +01:00
chriseth
254119d146
Merge pull request #10506 from ethereum/superInLibs
...
Make super unavailable in libraries.
2020-12-07 14:36:42 +01:00
Daniel Kirchner
6c70208d5f
Merge pull request #10359 from ethereum/extra-semi
...
Enable the -Wextra-semi warning
2020-12-07 14:35:30 +01:00
chriseth
251f722919
Group decoding function cases.
2020-12-07 14:14:54 +01:00
Kamil Śliwak
c7b95e385f
external tests: Update solc-js dependencies after forcefully replacing it
...
- Otherwise it fails if the external project uses a version that is too old and does not have some newly added dependencies
2020-12-07 14:09:18 +01:00
Kamil Śliwak
70a2fc58b0
Add jobs and scripts running external tests for Gnosis v2
2020-12-07 14:09:18 +01:00
Kamil Śliwak
e05241adfc
Update Colony, Gnosis and OpenZeppelin external tests to run on updated 0.7.x branches from solidity-external-tests
2020-12-07 14:09:18 +01:00
chriseth
b86c91d1a3
Make super unavailable in libraries.
2020-12-07 13:59:50 +01:00
Kamil Śliwak
4d76e22439
Remove the option for forcing ABIv2 from external tests
2020-12-07 13:55:57 +01:00
chriseth
329b8f2a60
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 13:04:14 +01:00
Bhargava Shastry
83fc7d3f7d
Merge pull request #10487 from ethereum/yul-interpreter-expression-nesting-level
...
Yul interpreter: Introduce expression evaluation maximum nesting depth
2020-12-07 11:26:14 +01:00
Kamil Śliwak
3619a0a0f4
Merge pull request #10464 from ethereum/enable-shellcheck-for-external-test-scripts
...
Enable shellcheck for external test scripts
2020-12-04 18:56:09 +01:00
Bhargava Shastry
32fd692c51
Yul interpreter: Introduce expression evaluation maximum nesting depth
2020-12-04 17:27:03 +01:00
Alex Beregszaszi
1e2bfbd6b2
Enable the -Wextra-semi warning
2020-12-04 17:21:19 +01:00
Djordje Mijovic
2839a1b0bf
[Sol->Yul] Documenting difference in initialization order in case of inheritance.
...
Co-authored-by: Leonardo <leo@ethereum.org>
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-12-04 16:32:56 +01:00
Bhargava Shastry
0d6cae304b
abiv2 proto fuzzer: Move anon namespace utility functions to common source
2020-12-04 15:33:41 +01:00
chriseth
4be9b409de
Remove unary plus.
2020-12-04 15:14:25 +01:00
chriseth
89919e47d3
New test.
2020-12-04 15:14:25 +01:00
Christian Parpart
c5d172c058
Reimplement constant evaluator.
2020-12-04 15:14:25 +01:00
chriseth
49bde69afa
Move computation of constants out of types.cpp
2020-12-04 15:14:25 +01:00
Leonardo Alt
7490ffbe13
Use nonlinear clauses instead of inlining for base constructors
2020-12-04 13:25:56 +01:00
Kamil Śliwak
55ccfc32f5
Remove external test scripts from shellcheck ignores
2020-12-03 22:17:44 +01:00
Kamil Śliwak
8080be9445
external test scripts: Replace global $SOLJSON variable with a parameter
2020-12-03 22:17:44 +01:00
Kamil Śliwak
fcf0538224
external test scripts: Replace global $FORCE_ABIv2 variable with a parameter
2020-12-03 22:17:44 +01:00
Kamil Śliwak
3590311e6f
external test scripts: Replace the old dollar expressions with newer variants
2020-12-03 22:17:44 +01:00
Kamil Śliwak
0a29218848
external test scripts: Quote variables properly
2020-12-03 22:17:44 +01:00
chriseth
75266ea8d4
Merge pull request #10488 from ethereum/fixDocsRevertData
...
Fix documentation about revert data.
2020-12-03 19:21:44 +01:00
chriseth
61fd76cb27
Fix documentation about revert data.
2020-12-03 18:47:16 +01:00
chriseth
d56a7bb89e
Merge pull request #10489 from ethereum/develop
...
Merge develop into breaking.
2020-12-03 18:11:12 +01:00
chriseth
e04cc80438
Merge pull request #9555 from ethereum/yul-parser-refactor
...
Yul parser refactor
2020-12-03 18:07:31 +01:00
hrkrshnn
9e5d7b9910
Test updates after disallowing Integer -> Contract conversion
2020-12-03 17:53:00 +01:00
chriseth
27e44b85e3
Merge pull request #10419 from ethereum/bug-namesimplifier
...
Fix a bug in NameSimplifier.
2020-12-03 17:52:40 +01:00
Alex Beregszaszi
a9be2e4bb8
update tests
2020-12-03 17:15:45 +01:00
Alex Beregszaszi
6c0a3bd043
Ensure that builtins must be executed
2020-12-03 17:15:44 +01:00
Alex Beregszaszi
43353bb6ca
update tests
2020-12-03 17:15:43 +01:00
Alex Beregszaszi
3da2b67b67
simplify parser
2020-12-03 17:14:49 +01:00
hrkrshnn
40244c5469
Tests/Docs after stricter explicit conversion.
2020-12-03 16:51:05 +01:00
Bhargava Shastry
e1b44500dd
Yul interpreter: Smaller execution timeout for tests and additional test cases
2020-12-03 10:08:41 +01:00
Leonardo
088b694f0b
Merge pull request #10207 from ethereum/smt_tests_asserts
...
[SMTChecker] Add uncovered test and replace uncovered tests by asserts
2020-12-03 08:59:48 +01:00
Martin Blicha
2ee633f404
[SMTChecker] Added support for public getters through this.
2020-12-02 16:06:48 +01:00
chriseth
d50676ecb0
Merge pull request #10451 from ethereum/noTypeSuper
...
No type super
2020-12-02 15:56:41 +01:00
chriseth
52c49aebe8
Disallow meta type on super.
2020-12-02 15:43:18 +01:00
hrkrshnn
3efac3eef0
NameSimplifier is removed from steps available to users.
2020-12-02 13:48:01 +01:00
chriseth
9a5902f9d7
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-02 12:28:02 +01:00
Kamil Śliwak
23a9e517e7
Force the use of latest Truffle in ENS external tests
2020-12-02 01:26:16 +01:00
Kamil Śliwak
bbf2471f64
External tests: Replace hard-coded version in force_truffle_version() with a parameter
2020-12-02 01:26:16 +01:00
chriseth
e10712c173
Merge pull request #10454 from ethereum/ewasm-cleanup
...
[ewasm] Clean up some builtins and fix text representation of `select`
2020-12-01 17:34:48 +01:00
chriseth
c4e97b7624
Update tests.
2020-12-01 16:15:19 +01:00
chriseth
577c1d301b
Reduce warnings in commandline tests.
2020-12-01 16:09:46 +01:00
chriseth
c193ce6c07
Rename SourceReferenceFormatterHuman.
2020-12-01 16:09:46 +01:00
Alex Beregszaszi
1dedba8538
Only use SourceReferenceFormatterHuman
2020-12-01 16:09:46 +01:00
chriseth
edfae1ed05
Merge pull request #10458 from ethereum/fixMergeProblems
...
Fix tests after merge.
2020-12-01 16:08:51 +01:00
Alex Beregszaszi
d22434ee57
Change ABIEncoderV1 to not pad empty strings
2020-12-01 14:32:18 +00:00
chriseth
da91e590db
Fix tests after merge.
2020-12-01 15:30:50 +01:00
chriseth
390640f557
Merge pull request #10384 from ethereum/called_directly_feature
...
Use annotation.calledDirectly to simplify IR codegen
2020-12-01 15:07:02 +01:00
chriseth
8279d90ba2
Merge pull request #10403 from ethereum/rename-asmdata
...
Rename AsmData* to AST*
2020-12-01 14:33:11 +01:00
chriseth
1944d5ce44
Merge pull request #9722 from ethereum/fix-9676
...
Add Solidity test case generator framework
2020-12-01 14:26:12 +01:00
chriseth
6d1454fce6
Disallow conversion to super.
2020-12-01 14:15:50 +01:00
Alex Beregszaszi
04cf4867fe
[ewasm] Clean up opcodes/builtins in the binary encoder
...
Also make sure that `i32.drop/i64.drop` won't silently drop its arguments, as they may have side-effects.
2020-12-01 12:50:54 +00:00
Alex Beregszaszi
a29a7ad680
[ewasm] Properly encode i32/i64.select in the text format
2020-12-01 11:22:38 +00:00
Mathias Baumann
ea5b63914a
Add test to cover (L.f)() case
2020-12-01 12:02:29 +01:00
chriseth
6de7eaba95
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-01 10:50:13 +01:00
chriseth
388fcddd23
Merge pull request #10415 from ethereum/arrayClearingStorageSol2Yul
...
[Sol->Yul] Fixing copying from storage to storage.
2020-12-01 09:43:47 +01:00
Djordje Mijovic
bd86588459
Adding more tests for array copying from storage to storage.
2020-12-01 08:50:36 +01:00
Djordje Mijovic
28e01202af
[Sol->Yul] Fixing coping from storage to storage.
2020-12-01 08:50:33 +01:00
Leonardo Alt
fa561dbd0e
Add uncovered test and replace uncovered tests by asserts
2020-11-30 18:46:47 +01:00
Harikrishnan Mulackal
91e67472bf
Merge pull request #10383 from ethereum/add-ens-external-tests
...
External tests: Add ENS contracts
2020-11-30 18:15:15 +01:00
Alex Beregszaszi
7e7a42c6ad
Merge pull request #10441 from ethereum/fix-version-pragma-replacement-in-external-tests
...
Fix command for stripping version pragmas in external tests
2020-11-30 15:24:20 +00:00
chriseth
ce6e52b052
Merge pull request #10430 from ethereum/wasm-select
...
[ewasm] Add i32.select/i64.select
2020-11-30 14:42:26 +01:00
Kamil Śliwak
dc57451775
Replace the command for stripping version pragmas in external tests with one that does not break on ^<=>
2020-11-30 14:25:46 +01:00
Bhargava Shastry
d6ecedd16c
External tests: Add ENS contracts
2020-11-30 13:53:28 +01:00
Leonardo
3287341f1e
Merge pull request #10316 from blishko/bmc_branches
...
[SMTChecker] Handle branches with return statements properly in BMC engine
2020-11-30 13:50:09 +01:00
Alex Beregszaszi
a7ee1355bd
[ewasm] Use select instruction where appropriate
2020-11-30 12:10:32 +00:00
Alex Beregszaszi
9640cfd77e
[ewasm] Add i32.select/i64.select
2020-11-30 11:58:33 +00:00
Martin Blicha
cd06d68cbe
[SMTChecker] Keeping better track of path condition through branches with return statement in the BMC engine.
2020-11-30 11:47:49 +01:00
Alex Beregszaszi
06af2fb38a
[ewasm] Change eq() in polyfill to branch-less version
2020-11-27 22:47:55 +00:00
Kamil Śliwak
fb01884e69
Merge pull request #10424 from ethereum/ir-modifiers
...
Add unimplemented assert for modifiers in the IR
2020-11-27 20:06:54 +01:00
Alex Beregszaszi
28e65bac46
Add unimplemented assert for modifiers in the IR
...
Also improved relevant tests for modifiers to be more strict and detect if the modifier body was skipped.
2020-11-27 18:34:17 +00:00
Alexander Arlt
46844d433d
buildpack-deps: Update hera to 0.3.2.
2020-11-26 18:28:17 -05:00
ssi91
e7165f3a9c
pass a literal with correct length
...
mark a test as Yul-based
2020-11-27 04:02:48 +07:00
chriseth
3e5396598b
Merge pull request #10410 from ethereum/ir-fixedbytes-bitnot
...
Support BitNot on FixedBytes in IR
2020-11-26 14:42:52 +01:00
Alex Beregszaszi
cbae5ca324
Support BitNot on FixedBytes in IR
2020-11-26 13:20:02 +00:00
Djordje Mijovic
565d0cd4eb
Support copying of nested calldata arrays to memory.
2020-11-26 12:13:29 +01:00
chriseth
18de8a56c9
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-26 11:48:53 +01:00
Djordje Mijovic
bae32ac402
[Sol->Yul] Implementing member access to arrays in calldata structs.
2020-11-26 11:46:31 +01:00
Đorđe Mijović
5f732cb3ca
Merge pull request #10402 from ethereum/ir-fix-library-call
...
Properly terminate definitions using define() in IRGenerateForStatements
2020-11-26 10:07:27 +01:00
Alex Beregszaszi
a22077f736
Rename AsmData -> AST
...
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Alex Beregszaszi
8d9c332593
Properly terminate definitions using define() in IRGenerateForStatements
...
The lack of termination can result in unparseable output.
2020-11-25 16:41:39 +00:00
Đorđe Mijović
7eb5fc31f8
Merge pull request #10394 from ethereum/viayul-tests
...
Switch compileViaYul to also where appropriate
2020-11-25 16:46:30 +01:00
Alex Beregszaszi
159f50e189
Turn on semantic tests for the old codegen where possible
...
These were marked IR-only, but they do pass on the old codegen too.
Also add old codegen version of semantictests/revertStrings/function_entry_checks.
2020-11-25 14:33:39 +00:00
Djordje Mijovic
5077deb285
Fixing pragmas to abicoder v2.
2020-11-25 15:13:57 +01:00
Alex Beregszaszi
c4fd7e4003
Remove/update tests
2020-11-25 11:40:33 +00:00
Alex Beregszaszi
3bce2a2294
Remove the legacy AST JSON output
2020-11-25 11:40:33 +00:00
hrkrshnn
a834476de6
Tests/Docs after disallowing super, this and _ as declaration names
2020-11-25 11:14:13 +01:00
chriseth
f02bc817af
Merge pull request #10388 from ethereum/forwardRevertOnCreate
...
[Sol->Yul] Forward failure for creation.
2020-11-25 10:39:54 +01:00
chriseth
ec49f4c905
Merge pull request #10393 from ethereum/getters
...
Add more tests for getters
2020-11-25 10:09:38 +01:00
chriseth
bdc571cfb6
Merge pull request #10385 from ethereum/activateStructCopyingOldCodegen
...
Support copying dynamically encoded structs from calldata to memory.
2020-11-25 10:07:13 +01:00
hrkrshnn
52c8fcc67b
Removed "compileToEwasm: also" option from 4 tests cases
2020-11-25 08:13:46 +01:00
chriseth
f01cd3f38f
Fix merge conflicts
2020-11-25 08:09:38 +01:00
Alex Beregszaszi
53b635a21f
Add more tests for getters
2020-11-24 22:37:42 +00:00
Djordje Mijovic
200227ab75
Support copying dynamically encoded structs from calldata to memory.
2020-11-24 20:36:17 +01:00
chriseth
cedb56ed81
Forward failure for creation.
2020-11-24 19:54:18 +01:00
Djordje Mijovic
26c43cfc66
[SMTChecker] Fix SMT logic error when doing compound assignment with string literlas.
2020-11-24 19:14:15 +01:00
chriseth
253889cbf1
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-24 16:22:03 +01:00
chriseth
2d235bf7b0
Merge pull request #10341 from ethereum/optimizeAllocation
...
Do not allocate memory objects if they will be assigned directly.
2020-11-24 16:05:46 +01:00
chriseth
79669ecd48
Use new abicoder pragma.
2020-11-24 14:57:45 +01:00
chriseth
dbb24484e9
Update test/libsolidity/semanticTests/memoryManagement/assembly_access.sol
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-11-24 14:39:37 +01:00
chriseth
409e92580f
Do not allocate memory objects if they will be assigned directly.
2020-11-24 14:11:01 +01:00
Djordje Mijovic
eea6513b5d
[Sol->Yul] Implementing copying dynamically encoded structs from calldata to memory
...
Co-authored-by: Leonardo <leo@ethereum.org>
2020-11-23 23:22:34 +01:00
Bhargava Shastry
864458922a
Add solidity generator
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-11-23 22:27:40 +01:00
chriseth
ee657f5361
Merge pull request #10214 from ethereum/fallbackReturn
...
Allow fallback function to return data.
2020-11-23 19:49:59 +01:00
chriseth
a0a02f2307
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-23 19:28:08 +01:00
chriseth
91c88a5f6b
Merge pull request #10346 from ethereum/boundFunctions
...
[Sol->Yul] Bound functions.
2020-11-23 19:09:20 +01:00
chriseth
f87edb6efc
Bound functions.
2020-11-23 18:58:23 +01:00
Martin Blicha
66125b79d6
[SMTChecker] Do not report warning when encountered a Type identifier. The operations are supported now.
2020-11-23 15:41:57 +01:00
chriseth
f313668ef1
Merge pull request #10211 from ethereum/copyArrayCalldata2MemSol2Yul
...
[Sol->Yul] Copying arrays from calldata to memory
2020-11-23 15:02:18 +01:00
chriseth
19e9e8b550
Some more tests.
2020-11-23 15:00:00 +01:00
Djordje Mijovic
41ec7cc23e
Adding new tests and activating old tests.
2020-11-23 14:52:55 +01:00
Djordje Mijovic
2b52677a82
Fixing some calldata to storage tests.
2020-11-23 14:52:51 +01:00
chriseth
67ec5f6b17
Override semantics for fallback function.
2020-11-23 14:22:37 +01:00
chriseth
fda352094f
Allow fallback function to return data.
2020-11-23 14:22:37 +01:00
Martin Blicha
80d743426f
[SMTChecker] Added support for struct constructor.
2020-11-23 13:45:17 +01:00
Alexander Arlt
da36055449
[ewasm] Polyfill: calldataload & calldatacopy: Enable Tests.
2020-11-21 08:57:56 -05:00
Alexander Arlt
9d6296eca4
[ewasm] Polyfill: calldataload & calldatacopy.
2020-11-20 13:46:04 -05:00
Alex Beregszaszi
8228b5b0b8
Fix test failures due to merge conflict (from develop to breaking)
2020-11-20 18:21:21 +00:00
Leonardo Alt
e4339b0526
[SMTChecker] Support named arguments in function calls
2020-11-20 11:52:26 -01:00
chriseth
f1d28b1d17
Fix string literal assignment to storage.
2020-11-19 15:27:21 +01:00
chriseth
7f0cc433be
Fix mapping conversion.
2020-11-18 20:20:25 +01:00
chriseth
a7db4fa4a5
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-18 20:05:02 +01:00
Kamil Śliwak
5560239cf5
Replace links to readthedocs.io with ones using the new domain
2020-11-18 15:20:34 +01:00
chriseth
1508b08f3e
Implement inline assembly access to constants.
2020-11-18 12:35:23 +01:00
chriseth
9f0a631948
Merge pull request #10208 from ethereum/offsetLengthCalldata
...
Support .offset and .length for dynamic calldata arrays
2020-11-18 12:09:11 +01:00
Alexander Arlt
c0d28492c3
[ewasm] Polyfill: Rename endian_swap -> bswap.
2020-11-17 21:30:06 -05:00
chriseth
1e08e4e04c
Merge pull request #10319 from ethereum/ewasm-polyfill-split
...
Split ewasm polyfill functions into different files.
2020-11-18 01:53:46 +01:00
chriseth
2665eaa4fa
Support .offset and .length for calldata bytes and string arrays.
2020-11-18 01:45:56 +01:00
Alexander Arlt
19f764bf65
Split ewasm polyfill functions into different files.
2020-11-17 19:27:44 -05:00
Kamil Śliwak
ced140615a
Test for calling external library functions with mapping parameters (does not work via Yul yet)
2020-11-17 20:36:58 +01:00
Kamil Śliwak
dfa0a0cdff
IR codegen: Handle address() with library type argument and external library calls
2020-11-17 20:36:39 +01:00
chriseth
691f7e6eae
Fix merge conflicts.
2020-11-17 19:59:23 +01:00
chriseth
e8a278eefa
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-17 18:51:57 +01:00
chriseth
049c7f7a8e
Disallow using modifiers not in the current contract or in base contracts.
2020-11-17 18:33:45 +01:00
chriseth
e64fd99fb5
Fix qualified modifier lookup.
2020-11-17 18:33:45 +01:00
Kamil Śliwak
4174f38b02
StandardCompiler: Include file names in link references
2020-11-17 17:51:04 +01:00
Kamil Śliwak
9f0283df5c
Fix command-line tests using wrong file names for libraries
2020-11-17 17:50:50 +01:00
chriseth
74ce8d6979
Fix assignment to non-lvalue storage values.
2020-11-17 15:56:34 +01:00
chriseth
df53b53aa5
Merge pull request #10315 from ethereum/fixToStorageCopy
...
[SolYul] Fix bug in array to storage copy routine.
2020-11-17 15:56:21 +01:00
chriseth
fffd0306f5
Fix bug in array to storage copy routine.
2020-11-17 14:56:44 +01:00
chriseth
bb97363abf
Merge pull request #9989 from ethereum/issue-9947
...
Natspec: Fix internal error when different return name was inherited
2020-11-17 13:54:03 +01:00
Mathias Baumann
559b27aaad
Natspec: Fix internal error when different return name was inherited
2020-11-17 11:56:32 +01:00
chriseth
adaf1ff7df
Merge pull request #10272 from ethereum/storageStorageCopyForStructs
...
Storage storage copy for structs
2020-11-17 11:47:48 +01:00
Leonardo
65c2089b43
Merge pull request #10310 from blishko/issue-10306
...
[SMTChecker] Adding a dummy frame to the call stack for the implicit constructor
2020-11-17 09:34:49 -01:00
chriseth
98cc7a1ea9
Copying structs from storage to storage.
2020-11-17 11:06:25 +01:00
chriseth
d9fb17a85e
Copy value array from storage to storage.
2020-11-17 10:51:34 +01:00
chriseth
7ccb4fea2b
Merge pull request #10270 from ethereum/copyByteArrayFromStorageToStorage
...
[SolYul] Copy byte arrays from storage to storage.
2020-11-17 00:30:30 +01:00
Martin Blicha
07427c798c
[SMTChecker] Adding a dummy frame to the call stack for the implicit constructor
2020-11-16 22:46:17 +01:00
Alex Beregszaszi
d7814358a6
Merge pull request #10292 from ethereum/cli-check-for-duplicate-libraries
...
[CLI] Reject duplicates in --libraries
2020-11-16 21:12:00 +00:00
Leonardo
81b3a13333
Merge pull request #10289 from ethereum/fix-standard-json-crash-on-linker-references-without-colon
...
Fix standard JSON crash on linker references without a colon
2020-11-16 19:27:35 -01:00
Kamil Śliwak
1a4d38c0ac
CommandLineInterface: Report an error if library appears multiple times in the --libraries option
2020-11-16 21:22:47 +01:00
chriseth
c3b862c073
Merge pull request #10294 from ethereum/cmdline-tests-fix-bytecode-removal-leaving-out-every-other-part
...
Fix bytecode replacement in command-line tests not detecting all bytecode segments between linker references
2020-11-16 20:22:56 +01:00
chriseth
62893aa1a1
Copy byte arrays from storage to storage.
2020-11-16 19:06:33 +01:00
Kamil Śliwak
1bf700e088
Return a type error when an enum has more than 256 members
2020-11-16 18:58:19 +01:00
chriseth
5431afcc8c
Merge pull request #10287 from ethereum/refactorMoveTests3
...
Moving mostly array tests to semanticTests
2020-11-16 18:50:40 +01:00
Kamil Śliwak
b97c6c55ad
StandardCompiler: Don't assume that link reference always contains a colon
2020-11-16 17:41:54 +01:00
Kamil Śliwak
543f804226
StandardCompiler: Add helpers to streamline comparing link references in tests
2020-11-16 17:41:54 +01:00
Kamil Śliwak
738769db4c
cmdlineTest.sh: Fix regex for bytecode removal removing only every other piece between two references
...
- Matched fragments must not overlap for the regex to work correctly.
2020-11-14 03:18:46 +01:00
Djordje Mijovic
1428a939a6
Moving some more array tests to semanticTests.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
29d480d0ed
Moving some byte array pop tests to semanticTests.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
31981bad12
Organizing array tests into more directories.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
11033c9536
Moving some bytes and array tests to semanticTests
2020-11-13 12:32:39 +01:00
Djordje Mijovic
bdf05bf8a0
Moving try catch test to semantic tests.
2020-11-13 12:32:35 +01:00
Leonardo
f1846b57a2
Merge pull request #10244 from blishko/this-external-calls
...
[SMTChecker] Analyzing external calls to `this`
2020-11-13 11:28:34 +00:00
Martin Blicha
5ca7a24896
[SMTChecker] Added support for precise modeling of external calls to this
.
...
Modeling external calls to this, since we can trust these calls.
fixed problem with transaction data not being restored after trusted external call
update to the tests
additional tests
changelog entry
added tests for external getters of this
2020-11-13 11:49:09 +01:00
Alex Beregszaszi
a3381d7260
Add settings.viaIR to standard json
2020-11-12 22:38:44 +00:00
Alex Beregszaszi
e074582bf1
Add --experimental-via-ir option to solc
2020-11-12 22:34:31 +00:00
Alex Beregszaszi
301d7ea39e
Add viaIR option to CompilerStack
...
It also sets the experimental flag in the metadata to true.
2020-11-12 22:34:31 +00:00
Alex Beregszaszi
fcedaba7f7
[ewasm] Allow compiling abstract/interface contracts
2020-11-12 15:26:11 +00:00
Alex Beregszaszi
a63d850f50
Improve ewasm commandline tests
2020-11-12 15:25:54 +00:00
chriseth
d744a8fb48
Fail on invalid storage encoding for byte arrays.
2020-11-12 11:12:42 +01:00
chriseth
14ed67ac4b
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-11 20:33:40 +01:00
chriseth
44eb63fad0
Merge pull request #10263 from ethereum/fixTryCreateYul
...
Fix Yul codegen for try with create.
2020-11-11 20:10:54 +01:00
chriseth
571e1e5269
Merge pull request #10266 from ethereum/fixCalldataIndexAccess
...
Fix calldata index access.
2020-11-11 19:03:19 +01:00
chriseth
8f570a3184
Fix calldata index access.
2020-11-11 18:42:26 +01:00
chriseth
01d7d50750
Fix initializing mapping return variables.
2020-11-11 18:08:42 +01:00
chriseth
59da25056b
Fix Yul codegen for try with create.
2020-11-11 17:52:50 +01:00
Kamil Śliwak
ed55d48727
cmdlineTests.sh: Fix buggy calculation of the number of input files
2020-11-11 13:47:36 +01:00
chriseth
0f6d3bc4ed
Merge pull request #10192 from ethereum/refactorMoveTests2
...
Moving tests to semanticTests part2
2020-11-11 13:45:02 +01:00
chriseth
0a31a6bc36
Merge pull request #10258 from ethereum/develop
...
Merge develop into breaking.
2020-11-11 13:36:17 +01:00
Alex Beregszaszi
6f6bcdd526
[ewasm] Display custom sections as hex string in the text output
2020-11-10 23:48:24 +01:00
Alex Beregszaszi
e5396e42c3
Add wasm support to libyul/ObjectCompilerTest
2020-11-10 23:24:49 +01:00
chriseth
d3a016b597
Merge pull request #10251 from ethereum/cmdline-tests-input-sol-by-default
...
Assume input.sol by default in command-line tests (restores old behavior) (reopened)
2020-11-10 17:29:58 +01:00
chriseth
141277dadf
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-10 17:28:36 +01:00
Kamil Śliwak
25badc4095
cmdlineTests.sh: When there's no input file assume input.sol instead of reporting an error
2020-11-10 16:55:11 +01:00
Djordje Mijovic
6915d9d2a8
Moving some struct tests to semanticTests
2020-11-10 16:37:29 +01:00
Djordje Mijovic
490064590a
Moving more abi decoder tests to semanticTests.
2020-11-10 16:37:26 +01:00
Djordje Mijovic
a838adc481
Moving some more array tests to semanticTests
2020-11-10 16:37:26 +01:00
Leonardo
55ac5de472
Merge pull request #10240 from ethereum/immutablesPureValue
...
Immutables with literal values are pure.
2020-11-10 15:23:33 +00:00
chriseth
6cc264ff0a
Merge pull request #10221 from ethereum/refactorArrayConversions
...
[Sol->Yul] Refactor array conversions
2020-11-10 16:18:11 +01:00
hrkrshnn
2348b721bb
Tests after changing type of super to TypeType
2020-11-10 15:38:21 +01:00
Djordje Mijovic
362a36ed59
Enabling test for old codegen.
2020-11-10 15:13:48 +01:00
chriseth
eaba9a680a
Merge pull request #10199 from ethereum/readfile
...
[CLI] Improve error handling of missing/unwriteable files
2020-11-10 13:50:40 +01:00
chriseth
da92fe548e
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-10 13:48:32 +01:00
chriseth
fc50169d00
Merge pull request #10233 from ethereum/cmdline-tests-arbitrary-input-extension
...
Arbitrary input file extensions in command-line tests
2020-11-10 13:45:56 +01:00
chriseth
b981a2a74a
Merge pull request #10229 from ethereum/linking-in-assembly-mode
...
Linking in assembly mode
2020-11-10 13:21:57 +01:00
chriseth
3db94fbc48
Merge pull request #10212 from ethereum/testfileparser
...
Refactor and simplify TestFileParser
2020-11-10 13:15:35 +01:00
chriseth
3c1d990964
Merge pull request #10224 from ethereum/strict-literal-to-enum-conversion
...
[BREAKING] Strict explicit conversion between literals and enums
2020-11-10 13:15:12 +01:00
chriseth
74339ac0d7
Merge pull request #10227 from ethereum/cmdline-tests-for-linking
...
Command-line tests for linking
2020-11-10 13:12:33 +01:00
Alex Beregszaszi
81c448fb4c
Rework TestFileParser
2020-11-10 13:09:07 +01:00
Alex Beregszaszi
c002fcc39f
Untangle headers and namespaces in TestFileParser
2020-11-10 13:09:07 +01:00
chriseth
765ed13814
Immutables with literal values are pure.
2020-11-10 13:08:42 +01:00
chriseth
9230ddf110
Merge pull request #10225 from ethereum/cmdline-tests-bytecode-output-with-linker-references
...
Strip bytecode from command-line test output but preserve link references
2020-11-09 18:14:33 +01:00
Leonardo
25b2a38d8b
Merge pull request #10202 from ethereum/smt_fix_modifiers_branches
...
[SMTChecker] Fix CHC false positives when using branches inside modifiers
2020-11-09 16:42:30 +00:00
Kamil Śliwak
df8e182b46
Link binaries produced in assembly mode
2020-11-09 17:17:43 +01:00
Kamil Śliwak
6ef1e4cfd4
Command-line tests for linking in assembly mode
2020-11-09 17:17:27 +01:00
Kamil Śliwak
a0d22422b0
Command-line tests for linking in Solidity mode
2020-11-09 17:17:27 +01:00
Kamil Śliwak
06ea7c66f7
Use consistent style for stuff removed from the output of command-line tests
2020-11-09 17:17:15 +01:00
Kamil Śliwak
0e4edc8424
Strip bytecode from command-line test output but leave linker references intact
2020-11-09 17:17:15 +01:00
Kamil Śliwak
a6ef907f55
cmdlineTests.sh: Allow arbitrary extensions for input files
2020-11-09 17:10:15 +01:00
Kamil Śliwak
dfb5516446
cmdlineTests.sh: Remove double slashes from input file paths
...
- `${tdir}` already ends with a slash so something like `${tdir}/input.json` evaluates to `test_dir//input.json`.
2020-11-09 17:07:47 +01:00
Kamil Śliwak
7f1389a6cd
cmdlineTests.sh: Print task name before the error about ambiguous input
...
- Otherwise it looks as if the error applies to a test that actually succeeded.
2020-11-09 17:00:30 +01:00
chriseth
04195439b7
Merge remote-tracking branch 'origin/develop' into HEAD
2020-11-09 14:28:05 +01:00
hrkrshnn
03f58c6b52
Strict explicit conversion between literals and enums
...
Explicit conversions between literals and enums are only allowed if the literal can represent a
value in the enum.
2020-11-06 19:15:02 +01:00
Leonardo Alt
00858c0ccf
Isoltets SMTChecker option and BMC specific tests
2020-11-06 15:03:38 +00:00
Leonardo Alt
1b6abfa37f
Make timeout tests harder
2020-11-06 13:35:07 +00:00
Kamil Śliwak
3c4273a06c
cmdlineTests: Use .yul extension for Yul files
...
- Currently many files have .sol extension because originally the test script required it but this has changed some time ago.
2020-11-05 18:05:23 +01:00
chriseth
8814e32b31
Merge pull request #10193 from ethereum/revert-test
...
Add tests for empty string literals in the ABI and fix TestFileParser
2020-11-05 15:31:11 +01:00
Alex Beregszaszi
1536e49b3d
Add more syntax tests for uncovered cases
2020-11-05 10:30:09 +00:00
Leonardo Alt
1dbd8f8d67
Fix CHC false positives when using branches inside modifiers
2020-11-04 21:47:07 +00:00
Alex Beregszaszi
f2a51bcf38
Fix TestFileParser to support empty strings
...
Previously empty strings would be replaced with the token name, e.g. "string" in this case.
2020-11-04 17:49:23 +00:00
Alex Beregszaszi
39f6286e9f
Add tests for ABI coding empty strings and string literals
...
Include the case of revert("")
2020-11-04 17:48:59 +00:00
Alex Beregszaszi
9ebd3da3ff
[CLI] Report error on missing file for --standard-json
2020-11-04 16:35:19 +00:00
Alex Beregszaszi
3c7f642227
Change readFile/readFileAsString to throw FileNotFound exception
2020-11-04 16:35:19 +00:00
Christian Parpart
1a9a3b115c
Moving the surplus_input
inline assembly test to yulSyntaxTests.
2020-11-04 12:03:33 +01:00
Christian Parpart
f55844e0f2
InlineAssembly: Extracting remaining tests.
2020-11-04 12:03:33 +01:00
Christian Parpart
3597c8343d
InlineAssembly: Extracting tests for name clashes.
2020-11-04 12:03:33 +01:00
Christian Parpart
55f9eab51f
InlineAssembly: Extracting tests for function definition and calls.
2020-11-04 12:03:33 +01:00
Christian Parpart
f2117b87f7
InlineAssembly: Extracting tests for for-statements.
2020-11-04 12:03:33 +01:00
Christian Parpart
671b1c950e
InlineAssembly: Extracting function expression tests
2020-11-04 12:03:33 +01:00
Christian Parpart
616f03f577
InlineAssembly: Extracting tests for variable declaration
2020-11-04 12:03:33 +01:00
Christian Parpart
cc230ddda3
InlineAssembly: Extracting tests for switch statement
2020-11-04 12:03:33 +01:00
Christian Parpart
6f872dbebf
InlineAssembly: Extracting tests for if statement
2020-11-04 12:03:33 +01:00
Leonardo
62535c2fd4
Merge pull request #10181 from ethereum/smt_user_timeout
...
[SMTChecker] User timeout option
2020-11-04 10:55:28 +00:00
Leonardo
a8045ba5eb
Merge pull request #10177 from ethereum/smt_chc_fix_warnings
...
[SMTChecker] Report SMTEncoder warnings also via CHC
2020-11-03 16:41:16 +00:00
Harikrishnan Mulackal
24cce56215
Merge pull request #10189 from ethereum/underscore-tests
...
Add syntax and semantic tests for underscore
2020-11-03 17:06:31 +01:00
Leonardo Alt
daf859c15b
[SMTChecker] report SMTEncoder warnings also via CHC
2020-11-03 16:06:17 +00:00
Alex Beregszaszi
b0864a4af9
Add syntax and semantic tests for underscore
2020-11-03 15:22:57 +00:00
chriseth
26cf6f189d
Test with storage struct containing external function.
2020-11-03 14:34:18 +01:00
chriseth
1f3239d097
Simplify split parameter.
2020-11-03 14:34:18 +01:00
hrkrshnn
29e23efc93
Tests/Docs after "stricter explicit conversion from Literals to Integers"
2020-11-03 14:31:44 +01:00
chriseth
06d0459a72
Merge pull request #10187 from ethereum/validateExternal
...
[SolYul] Properly validate external functions from calldata.
2020-11-03 14:29:28 +01:00
chriseth
5ffee049fa
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-03 14:05:14 +01:00
chriseth
4e6ae00f89
Merge pull request #10096 from ethereum/pragmaabicoder
...
Introduce abicoder pragma.
2020-11-03 13:53:59 +01:00
chriseth
9305ab987e
Merge pull request #10185 from ethereum/refatorMoveTests
...
Move some tests to semanticTests
2020-11-03 13:50:30 +01:00
chriseth
e27a1b786b
Wording in error messages.
2020-11-03 13:31:51 +01:00
chriseth
834da7be90
Introduce abicoder pragma.
2020-11-03 13:31:50 +01:00
chriseth
c16b535804
Validate external functions from calldata.
2020-11-03 13:28:08 +01:00
Djordje Mijovic
3f60223c41
Moving enum test to semanticTests
2020-11-03 13:13:21 +01:00
Leonardo Alt
d03ddeb0fa
[SMTChecker] User timeout option
2020-11-03 10:46:11 +00:00
Djordje Mijovic
73fcd9b5f0
Moving some array tests to semanticTests
2020-11-03 11:34:22 +01:00
Djordje Mijovic
18a464f4f4
Moving some tests to semantic tests.
2020-11-03 11:00:52 +01:00
chriseth
22b31054b6
Merge pull request #10174 from ethereum/storeInternalFunctions
...
Implement internal functions in storage.
2020-11-03 09:56:12 +01:00
Đorđe Mijović
e0529989da
Merge pull request #10180 from ethereum/convertDuringStoring
...
[SolYul] Convert properly during storing.
2020-11-03 08:42:14 +01:00
chriseth
129b095b09
Implement internal functions in storage.
2020-11-02 23:10:03 +01:00
chriseth
49bd3f2af4
Convert properly during storing.
2020-11-02 21:15:34 +01:00
chriseth
b287a6e995
Disallow specifying call options multiple times.
2020-11-02 20:07:23 +01:00
Leonardo Alt
e38d0db683
[SMTChecker] Fix internal error when array.push() is used as LHS of assignment
2020-11-02 13:32:53 +00:00
Leonardo Alt
94e2506132
Fix inherited state vars for BMC
2020-11-02 11:42:39 +00:00
Martin Blicha
c1a57ffbfe
[SMTChecker] More precise creation of verification targets.
2020-10-30 19:11:28 +01:00
chriseth
ef503f180c
New test.
2020-10-29 18:53:15 +01:00
chriseth
6ec5612f35
Enable more tests.
2020-10-29 18:53:15 +01:00
chriseth
1066af3b98
Copy byte array to storage.
2020-10-29 18:53:15 +01:00
chriseth
b6f7640801
Merge pull request #10146 from ethereum/stop-after-parsing-script
...
Fix test/stopAfterParseTests.sh for macos.
2020-10-29 18:15:22 +01:00
chriseth
ace810b078
Merge pull request #10137 from ethereum/fixedBytesOps
...
[Sol->Yul] Bit operations for fixed bytes types.
2020-10-29 18:04:07 +01:00
chriseth
ce50f05fc1
Merge remote-tracking branch 'origin/develop' into HEAD
2020-10-29 16:44:47 +01:00
Đorđe Mijović
3bb35d80ff
Merge pull request #10150 from ethereum/isoltestStorageEmpty
...
Empty storage option for isoltest.
2020-10-29 15:02:36 +01:00
chriseth
3b8c038647
Empty storage option for isoltest.
2020-10-29 13:55:07 +01:00
Alex Beregszaszi
bcd31daf94
[ewasm] Terminate on out-of-bounds access in EwasmInterpreter
2020-10-29 10:26:41 +00:00
Alexander Arlt
ff7c47a1f3
Fix test/stopAfterParseTests.sh for macos.
2020-10-28 17:59:56 -05:00
chriseth
d00ef95a72
Refactor isoltest function call kind.
2020-10-28 19:04:24 +01:00
chriseth
e93a84ccd4
Merge remote-tracking branch 'origin/develop' into HEAD
2020-10-28 18:19:31 +01:00
chriseth
0c12b2e53a
Bit operations for fixed bytes types.
2020-10-28 18:04:54 +01:00
chriseth
7b26c099b3
Merge pull request #10122 from ethereum/ewasm-interpreter
...
[ewasm] Fix EwasmBuiltinInterpreter to follow the specs
2020-10-28 13:11:44 +01:00
chriseth
fb40f29594
Merge pull request #10133 from ethereum/asm-error-codes
...
Split error codes for EVM opcodes
2020-10-28 13:00:23 +01:00
Alex Beregszaszi
6b2942e7f0
[ewasm] Properly touch memory in EwasmInterpreter
2020-10-28 11:57:18 +00:00
Alex Beregszaszi
9dc5ceae94
[ewasm] Implement "create" properly in EwasmInterpreter
2020-10-28 11:57:18 +00:00
Alex Beregszaszi
62028c90f0
[ewasm] Overhaul memory handling in EwasmInterpreter
...
Introduce writeMemory and read/writeBytes32/Address helpers.
Fix read/writeU128/U256 to be little-endian.
Update each instruction to follow the specification.
2020-10-28 11:57:18 +00:00
Alex Beregszaszi
24d8c2ed90
Split error codes for EVM opcodes
2020-10-28 11:45:46 +00:00
Đorđe Mijović
1f50b86aad
Merge pull request #10073 from ethereum/smt_format_array_cex
...
Format array cex
2020-10-28 12:39:19 +01:00
Leonardo Alt
25f75ce547
Remove nondet tests
2020-10-28 11:03:42 +00:00
chriseth
cc4b44058d
Merge pull request #10126 from ethereum/fixIceStructCalldataToStorageSol2Yul
...
[Sol->Yul] Fixing ice when copying struct that contains nested array to storage
2020-10-28 11:46:22 +01:00
Leonardo
07c454949f
Merge pull request #10127 from ethereum/fixIceSmtBitwise
...
[SMTChecker] Fix ICE when using >>>
2020-10-28 09:28:18 +00:00
Djordje Mijovic
28f92064b9
[Sol->Yul] Fixing ice when copying struct that contains nested array to storage
2020-10-28 09:28:40 +01:00
Djordje Mijovic
9cc37c3fa4
[SMTChecker] Fix ICE when using >>>
2020-10-28 09:25:14 +01:00
Leonardo Alt
4755cfe157
Fix assignment to contract member access
2020-10-26 14:39:02 +00:00
hrkrshnn
0e30fbbae1
Fix failing SMTChecker test on breaking
2020-10-26 14:01:40 +01:00
Leonardo Alt
d3d77e482c
Fix ICE on conditions with tuples of rationals
2020-10-23 14:47:53 +01:00
chriseth
20f39ab6e9
Merge pull request #10097 from ethereum/develop
...
Merge develop into breaking.
2020-10-23 10:30:24 +02:00
chriseth
93642f9bfc
Enum panic test for pre-byzantium.
2020-10-22 19:25:55 +02:00
chriseth
6d3528b4a7
Update gas costs.
2020-10-22 19:25:55 +02:00
chriseth
60af9d24ff
Update tests.
2020-10-22 19:25:55 +02:00
chriseth
b559de11ee
Ignore return error data for pre-byzantium.
2020-10-22 19:25:55 +02:00
chriseth
bfc8e26007
Remove low-level log functions.
2020-10-22 17:50:14 +02:00
Martin Blicha
ade3b9951c
[SMTChecker] Added support for selector when expression's value is known at compile time
2020-10-22 14:18:52 +02:00
Leonardo Alt
b087fa9750
[SMTChecker] Fix ICE implicit conversion string literal -> byte
2020-10-21 22:03:01 +01:00
Martin Blicha
f0d81601db
[SMTChecker] Adding division by zero checks in the CHC engine
2020-10-21 14:48:33 +02:00
Mathias Baumann
a4dc110b38
Fix dependency tracking for abstract contracts for Yul codegen
2020-10-20 16:58:24 +02:00
Mathias Baumann
e991465336
Fix dependency tracking for abstract contracts
2020-10-20 16:58:24 +02:00
Leonardo Alt
cf35785328
Add unknown message to all verification targets
2020-10-19 20:54:13 +01:00
chriseth
6979952995
Merge remote-tracking branch 'origin/develop' into HEAD
2020-10-19 18:02:50 +02:00
chriseth
c9ef727136
New tests.
2020-10-19 16:58:59 +02:00
chriseth
e61fa59593
Update existing tests.
2020-10-19 16:58:59 +02:00
chriseth
527c073bb9
Checked arithmetic by default.
2020-10-19 16:58:37 +02:00
Leonardo Alt
b67ade5163
Move modelCheckerSettings out of settings in StandardCompiler
2020-10-19 10:39:06 +01:00
Daniel Kirchner
79d9a1ca81
Tests for abi.encode.
2020-10-16 20:24:43 +02:00
Daniel Kirchner
e06d4303fb
Semantic tests.
2020-10-16 19:40:41 +02:00
Daniel Kirchner
909ce9164a
Allow arrays of contract types as type expressions e.g. for abi.decode.
2020-10-16 19:40:41 +02:00
Leonardo
eedd12ad1d
Merge pull request #10056 from ethereum/smt_fix_develop
...
Fix SMT command line test
2020-10-16 18:37:55 +01:00
Leonardo Alt
289ac23fe6
Fix smt cmdlinetest
2020-10-16 17:58:45 +01:00
Daniel Kirchner
db4dd51739
Merge pull request #10055 from ethereum/userDefinedLibraryTypes
...
Disallow invalid use of library names as type names.
2020-10-16 18:55:42 +02:00
Daniel Kirchner
3f14c904b0
Disallow invalid use of library names as type names.
2020-10-16 18:25:08 +02:00
Leonardo
a097f9f124
Merge pull request #10025 from ethereum/smt_crypto_functions
...
[SMTChecker] Support crypto functions in CHC
2020-10-16 16:40:29 +01:00
Leonardo
8d7bdcaba7
Merge pull request #10036 from ethereum/smt_cli_option
...
Add CLI option to choose model checker engine
2020-10-16 16:37:33 +01:00
Martin Blicha
8c351278ac
[SMTChecker] added test to check correct handling of the sign of the modulo operation
2020-10-16 16:17:32 +02:00
Martin Blicha
78c8fbc7ce
[SMTChecker] encoding division and modulo operations using slack variables
2020-10-16 16:06:31 +02:00
Leonardo Alt
4e49135318
Add CLI option to choose model checker engine
2020-10-16 15:01:47 +01:00
Leonardo Alt
54f76e081a
[SMTChecker] Support crypto functions in CHC
2020-10-16 14:57:13 +01:00
Djordje Mijovic
5f0b8dd716
[Sol->Yul] Changing yul unimplemented test as delete bytes is implemented now.
2020-10-15 22:05:40 +02:00
Djordje Mijovic
4a66723ff9
[Sol->Yul] Implementing resizing of dynamic byte arrays
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-10-15 22:05:35 +02:00
chriseth
c9ed1b9ae9
Merge pull request #10047 from ethereum/removeMemoryGuards
...
Disable StackLimitEvader again until we have stronger correctness guarantees.
2020-10-15 18:56:33 +02:00
Daniel Kirchner
68667f0e84
Remove POPs from ASSIGNIMMUTABLE generated bytecode, if possible.
2020-10-15 18:14:41 +02:00
Daniel Kirchner
0dca223b45
Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
2020-10-15 18:14:41 +02:00
chriseth
00fb152316
Merge pull request #10048 from ethereum/develop
...
Merge develop into breaking
2020-10-15 17:30:11 +02:00
chriseth
89bdad2096
Merge pull request #10043 from ethereum/emptyArrayCopy
...
Fix empty array copy bug.
2020-10-15 17:07:54 +02:00
chriseth
38abadf502
Fix empty array copy bug.
2020-10-15 16:48:08 +02:00
Daniel Kirchner
2e984a3651
Remove memoryguard calls from command line test expectations.
2020-10-15 16:25:15 +02:00
Daniel Kirchner
82876fd00e
Disable StackLimitEvader again until we have stronger correctness guarantees.
2020-10-15 16:16:41 +02:00
chriseth
e17d6853a9
Merge pull request #9985 from ethereum/optimizeDeleteStructSol2Yul
...
[Sol->Yul] Optimizing delete struct.
2020-10-15 16:03:06 +02:00
Bhargava Shastry
5023d3decb
ossfuzz: Remove antlr4 build deps
2020-10-15 12:59:18 +02:00
chriseth
837dd004c8
Enable some more Yul tests.
2020-10-14 17:43:19 +02:00
chriseth
979d3062bc
Merge pull request #10033 from ethereum/develop
...
Merge develop into breaking
2020-10-14 14:12:20 +02:00
Djordje Mijovic
6f7947cfa5
[Sol->Yul] Optimizing delete struct.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-10-14 13:35:15 +02:00
chriseth
92a2cddbfa
Merge pull request #10024 from ethereum/outofBoundsGetter
...
Use revert for out-of-bounds array index access in getter.
2020-10-14 12:33:41 +02:00
chriseth
9b1f90512b
Merge pull request #10027 from ethereum/yul-syntax-test-extractions
...
Continued Yul syntax test extractions.
2020-10-14 12:32:39 +02:00
chriseth
56d6855222
Merge pull request #9738 from ethereum/arrayCopyingSol2Yul
...
[Sol->Yul] Implementing copying of arrays to storage
2020-10-14 12:22:09 +02:00
Christian Parpart
626b7cdb09
Extract yul syntax tests: invalid use of builtin identifiers
2020-10-14 12:18:33 +02:00
Christian Parpart
5d40494ed2
Extract yul syntax tests: function
2020-10-14 12:05:46 +02:00
Christian Parpart
5b799b01ab
Extract yul syntax tests: multiple assignment expression
2020-10-14 11:50:25 +02:00
Christian Parpart
99d18336a0
Extract yul syntax tests: recursion depth
2020-10-14 11:45:54 +02:00
Christian Parpart
b1b2d3ef62
Extract yul syntax tests: switch statement
2020-10-14 11:39:10 +02:00
Christian Parpart
c63265ff03
Extract yul syntax tests: for statement
2020-10-14 11:23:10 +02:00
Christian Parpart
2accbbe251
Extract yul syntax tests: if statement
2020-10-14 10:54:18 +02:00
chriseth
8d241fece9
Merge pull request #9849 from ethereum/fixIce9817
...
Fixing ICE on returning struct with mapping from library
2020-10-14 00:05:19 +02:00
Djordje Mijovic
674855f684
[Sol->Yul] Adding new and activating old tests for copying of arrays to storage.
2020-10-13 20:31:11 +02:00
Leonardo Alt
88f783bb1e
Remove more tests because current Spacer crashes
2020-10-13 19:27:49 +01:00
Djordje Mijovic
1272c474ba
Fixing ICE when returning Struct from library
2020-10-13 20:00:11 +02:00
chriseth
5dc3a971cb
Use revert for out-of-bounds array index access in getter.
2020-10-13 18:57:41 +02:00
Leonardo Alt
b9b9c229b4
New tests
2020-10-13 17:49:04 +01:00
Leonardo Alt
47b268d509
Update tests
2020-10-13 17:49:04 +01:00
Leonardo Alt
aec456021d
Add tx constraints to CHC
2020-10-13 17:49:04 +01:00
chriseth
f6e57a0eec
Merge pull request #10023 from ethereum/develop
...
Merge develop into breaking.
2020-10-13 18:18:53 +02:00
chriseth
fed6ea0125
Fix error message formatting in isoltest.
2020-10-13 17:20:19 +02:00
chriseth
c86ea59384
Merge pull request #10019 from ethereum/exp-associativity
...
[BREAKING] Exp associativity
2020-10-13 17:03:18 +02:00
hrkrshnn
13e7012e1e
Parser: Exponentiation is right associative
2020-10-13 16:38:37 +02:00
Mathias Baumann
006e5f2e1f
Allow path syntax for super constructor calls
2020-10-13 14:32:11 +02:00
Mathias Baumann
0b7b174945
Add AST Node IdentifierPath
2020-10-13 14:32:11 +02:00
Mathias Baumann
32b4f18023
Print warning for unnamed return parameters and no return statement
2020-10-13 13:11:29 +02:00
chriseth
0ea4bdafcd
Merge pull request #10017 from ethereum/develop
...
Merge develop into breaking.
2020-10-13 12:58:23 +02:00
chriseth
4b342a7cad
Merge pull request #9816 from ethereum/exp-base-literals
...
[Sol->Yul] Optimization for exponentiation when the base is a literal
2020-10-12 19:34:38 +02:00
Harikrishnan Mulackal
dbd5326d0c
Commandline test for exp with literal base
2020-10-12 18:54:58 +02:00
Harikrishnan Mulackal
418aa01c5b
Optimization for exponentiation when the base is a literal
2020-10-12 18:54:58 +02:00
Djordje Mijovic
e23d8f5593
[SMTChecker] Supporting inline arrays.
2020-10-12 16:59:14 +02:00
chriseth
8a1bf41ac0
Merge pull request #10010 from ethereum/develop
...
Merge develop into breaking.
2020-10-12 15:33:34 +02:00
Kamil Śliwak
e1cc888369
Fix checkBaseABICompatibility() to make it actually check return parameters and not just ordinary parameters twice
2020-10-12 15:14:56 +02:00
Kamil Śliwak
9dc7f5de4a
Enable 4 semantic tests from functionCall.inheritance that now work via Yul
...
- Looks like something overlooked in one of the recently merged PRs.
2020-10-12 15:10:16 +02:00
Kamil Śliwak
3128e82a9a
Look for experimental pragmas in the module containing the definition when generating code for modifiers and inherited functions
2020-10-12 14:29:53 +02:00
chriseth
e7603d7590
Merge pull request #10003 from ethereum/more-tests-and-docs-for-mixed-abi-encoder-use-checks
...
More tests and some minimal docs for mixed ABI encoder use
2020-10-12 14:22:44 +02:00
chriseth
1a125cf755
Merge pull request #10006 from ethereum/bug-9229-fix
...
Fixes internal compiler error with an unused reference to module member.
2020-10-12 13:43:35 +02:00
chriseth
d1b06328a6
Merge pull request #8635 from ethereum/test-coverage-inheritance
...
Improving test coverage wrt. inheritance
2020-10-12 13:40:48 +02:00
Kamil Śliwak
94a49fcc4a
Additional tests for ABIEncoderV1 calls using ABIEncoderV2 types
2020-10-12 13:26:01 +02:00
Christian Parpart
8ac0bee361
Adds some more tests and groups all function call inheritance related together into single sub-directory.
2020-10-12 12:29:55 +02:00
Leonardo Alt
3d2e6252f0
Add/update tests
2020-10-12 11:11:52 +01:00
Leonardo Alt
18cf01c187
Add this and state to CHC
2020-10-12 11:11:52 +01:00
Christian Parpart
712d0805eb
Fixes internal compiler error with an unused reference to module member.
2020-10-12 11:56:01 +02:00
Kamil Śliwak
d9215cf956
Merge pull request #9999 from ethereum/enableTest
...
Enable test that started working for yul.
2020-10-09 19:44:15 +02:00
a3d4
90c8c32d86
If a declaration shadows several others, group them together
2020-10-08 21:01:25 +02:00
chriseth
aa7aa21913
Enable test.
2020-10-08 21:00:50 +02:00
a3d4
f29ebc0847
Fix shadowing/same-name warnings for later declarations
2020-10-08 20:22:04 +02:00
chriseth
14352ed921
Merge remote-tracking branch 'origin/develop' into HEAD
2020-10-08 20:18:04 +02:00
chriseth
3970c4e57d
Merge pull request #9892 from ethereum/constantsAtFileLevel
...
Constants at file-level.
2020-10-08 19:53:33 +02:00
chriseth
f8d5c4db36
Merge pull request #9843 from ethereum/deleteStructSol2Yul
...
[Sol->Yul] Implementing delete struct
2020-10-08 19:08:40 +02:00
chriseth
34e7ae6ff9
New tests.
2020-10-08 18:56:18 +02:00
chriseth
b2f1d558da
Update existing tests.
2020-10-08 18:56:17 +02:00
chriseth
346fe1c6c5
Constants at file-level.
2020-10-08 18:56:17 +02:00
chriseth
b5a08f8641
Merge pull request #9958 from a3d4/fix-ice-storage-parameters-in-libraries
...
Fix ICE caused by storage parameters with nested mappings in libraries
2020-10-08 17:17:09 +02:00
Djordje Mijovic
ad8d840ee7
[Sol->Yul] Implementing conversion of struct to struct pointer.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-10-08 16:37:57 +02:00
Djordje Mijovic
fa69378f4f
Changing unimplemented test for yul
2020-10-08 15:27:33 +02:00
Djordje Mijovic
4e8275df2c
Enabling triggered tests and adding one new for deleting struct
2020-10-08 15:27:33 +02:00
chriseth
fd6196af16
Copying of arrays from storage to memory.
2020-10-08 15:16:13 +02:00
chriseth
e16811e79f
Merge remote-tracking branch 'origin/develop' into HEAD
2020-10-08 14:56:52 +02:00
a3d4
d7b4b4a7aa
Fix ICE caused by storage parameters with nested mappings in libraries
2020-10-07 22:07:57 +02:00
Harikrishnan Mulackal
a309669f75
Disallow explicit conversions from negative literals to `address
`
2020-10-07 16:06:02 +02:00
Mathias Baumann
6114cd8e8e
Add missing annotation assignments
2020-10-07 14:52:35 +02:00
Christian Parpart
04079bff6f
Eliminates dead code around GasEstimator
...
- structuralEstimation()
- breakToStatementLevel()
2020-10-07 13:31:40 +02:00
chriseth
431397eddf
Merge pull request #9943 from ethereum/array-cleanup
...
Array cleanup
2020-10-07 11:53:06 +02:00
Kamil Śliwak
33ff79bf82
Add missing checks for parameter compatibilty with ABIEncoderV1 in calls
2020-10-06 21:28:46 +02:00
chriseth
b401093679
Merge pull request #9967 from ethereum/develop
...
Merge develop into breaking.
2020-10-06 17:45:53 +02:00
chriseth
25d408058b
Merge pull request #9954 from ethereum/issue-9948
...
Remove unneeded assert
2020-10-06 16:50:14 +02:00
Harikrishnan Mulackal
1bdbc10110
Properly cleanup after copying dynamic-array to storage for packed types
2020-10-06 16:06:02 +02:00
chriseth
046cc42121
Merge pull request #9965 from ethereum/var_is_reserved
...
Var is reserved keyword.
2020-10-06 15:49:53 +02:00
chriseth
3102b98e82
Var is reserved keyword.
2020-10-06 15:08:57 +02:00
Djordje Mijovic
818afcbec2
[Sol->Yul] Implementing push for nested storage arrays and storage arrays of structs.
2020-10-06 13:06:40 +02:00
Mathias Baumann
6af16469e7
Remove unneeded assert
...
An error will trigger later in the name resolve phase
2020-10-05 13:01:11 +02:00
Harikrishnan Mulackal
756e21a888
Merge pull request #9946 from ethereum/viewpure-tests
...
Add more tests to ViewPureChecker
2020-10-02 14:36:28 +02:00
Alex Beregszaszi
32cb5207b3
Add more tests to ViewPureChecker
2020-10-02 11:57:35 +01:00
Alex Beregszaszi
fedbea46cd
[SMTChecker] Support type conversions
2020-10-02 10:26:02 +02:00
Leonardo
87e1934bee
Merge pull request #9885 from ethereum/smt_array_slices
...
[SMTChecker] Support array slices
2020-10-01 18:12:57 +02:00
chriseth
e5771efdf8
Merge pull request #9905 from ethereum/deleteArrayPackedSol2Yul
...
[Sol->Yul] Implementing deleting of storage array of types that are packed in storage
2020-10-01 16:50:57 +02:00
Leonardo Alt
c8cc73c80c
Support array slices
2020-10-01 11:52:02 +02:00
Djordje Mijovic
03eeb49a66
Adding test for deleting packed storage array.
2020-10-01 10:25:04 +02:00
chriseth
3af21c92d2
Merge pull request #9702 from a3d4/fix-7410-arrays-of-mappings
...
Fix ICE caused by an array of mappings
2020-09-30 20:24:09 +02:00
chriseth
fda8bde2d7
Stop after parsing.
2020-09-30 16:57:49 +02:00
Mathias Baumann
4c02cd2310
Add name for split-test to prevent failure in other places
2020-09-30 16:56:53 +02:00
Harikrishnan Mulackal
fd02ccc68c
Implemented events with indexed function as parameter in Yul
2020-09-30 12:11:39 +02:00
Harikrishnan Mulackal
3970412422
Implemented events with function type as one of its indexed parameters
2020-09-30 12:11:38 +02:00
chriseth
7a86a61b08
Merge pull request #9895 from ethereum/exp-negative-one
...
Optimize exp when base is -1
2020-09-30 11:54:22 +02:00
a3d4
a244daaacb
Exclude tests with overly deep nesting from antlr grammar checks
2020-09-29 20:20:20 +02:00
a3d4
3c876fcb60
Fix ICE caused by an array of mappings
2020-09-29 18:17:46 +02:00
Harikrishnan Mulackal
2b9f040c48
Optimize exp when base is -1
2020-09-29 17:44:09 +02:00
chriseth
9a28dbfebd
Merge pull request #9925 from ethereum/develop
...
Merge develop into breaking.
2020-09-29 16:42:56 +02:00
a3d4
3698cd54a5
Complete error coverage of Parser and SyntaxChecker
2020-09-29 16:07:02 +02:00
chriseth
4b67829328
Merge pull request #9917 from ethereum/leb-encoding
...
Add LEB128 encoding functions & tests.
2020-09-29 14:55:25 +02:00
Leonardo Alt
352cce5fc8
[SMTChecker] Support addmod and mulmod.
2020-09-29 12:45:19 +02:00
chriseth
4bdec8107c
Merge remote-tracking branch 'origin/develop' into HEAD
2020-09-29 09:53:50 +02:00
Alexander Arlt
b6e1415509
Add LEB128 encoding functions & tests.
2020-09-28 16:06:19 -05:00
Leonardo Alt
fa7c9a0dc6
Simplify internal function calls
2020-09-28 15:31:15 +02:00
chriseth
9115100f2a
Merge pull request #9909 from ethereum/fix-9890
...
Fix missing annotation settings because of early return
2020-09-28 12:27:43 +02:00
Mathias Baumann
76bb2cafe9
Fix missing annotation settings because of early return
2020-09-28 12:12:44 +02:00
chriseth
bab2d6d644
Merge pull request #9852 from ethereum/fix-9851
...
Typechecker: Disallow free function redefinition
2020-09-28 11:15:47 +02:00
a3d4
9721bda36e
Complete error coverage of ParserBase
2020-09-28 01:56:25 +02:00
Leonardo Alt
e6bd18525b
[SMTChecker] Add engine prefix to verification target error messages
2020-09-25 19:09:06 +02:00
Leonardo Alt
0223571987
[SMTChecker] Do not report error when rlimit
2020-09-25 18:43:10 +02:00
Bhargava Shastry
e2a2276272
Contract level checker: Disallow free function redefinition and alias
...
shadowing another free function
Co-authored-by: chriseth <chris@ethereum.org>
2020-09-25 17:09:58 +02:00
Alex Beregszaszi
9f3d5d3e2f
[SMTChecker] Implement support for memory allocation
2020-09-25 15:56:24 +01:00
Alex Beregszaszi
9c1b041dcb
[SMTChecker] Keep constraints of string literals after assignment
2020-09-25 11:32:48 +01:00
Alex Beregszaszi
5090353a1a
[SMTChecker] Keep knowledge about string literals
2020-09-25 11:32:23 +01:00
Leonardo
57e1b2cb92
Merge pull request #9881 from ethereum/smt_fixed_bytes_index_access
...
[SMTChecker] Support fixed bytes index access
2020-09-25 11:32:56 +02:00
Leonardo Alt
df8c6d94e3
[SMTChecker] Support fixed bytes index access
2020-09-25 09:59:38 +02:00
chriseth
5711d664aa
Merge pull request #9887 from ethereum/evmhost
...
EVMHost: keep precompile balance/settings across resets
2020-09-24 21:15:06 +02:00
Alex Beregszaszi
e93992257e
Add more semantic tests for balance/extcodehash
2020-09-24 19:04:27 +01:00
Alex Beregszaszi
6479138dd4
EVMHost: keep precompile balance/settings across resets
...
Also set proper codehash for precompiles.
2020-09-24 18:51:39 +01:00
chriseth
c0954be254
Merge pull request #9886 from ethereum/develop
...
Merge develop into breaking.
2020-09-24 19:49:20 +02:00
chriseth
d52b3839e2
Merge pull request #9882 from ethereum/invalidOnErrorYul
...
[SolYul] Use invalid opcode for internal errors
2020-09-24 19:37:44 +02:00
chriseth
b5c340cd66
Update tests
2020-09-24 17:07:43 +02:00
Leonardo
d180d6cdaf
Merge pull request #9880 from ethereum/smt-abi-type
...
[SMTChecker] Do not warn on "abi" as an identifer
2020-09-24 17:02:17 +02:00
chriseth
763282343f
Merge pull request #9883 from ethereum/develop
...
Merge develop into breaking.
2020-09-24 16:05:51 +02:00
Harikrishnan Mulackal
ec25e960f9
Merge pull request #9863 from ethereum/signed-exp-tests
...
Signed exp tests
2020-09-24 15:59:01 +02:00
Alex Beregszaszi
6edfdff187
[SMTChecker] Do not warn on "abi" as an identifer
...
There is an approprate warning for the function call.
2020-09-24 13:57:42 +01:00
chriseth
a9f9b4db27
Merge pull request #9872 from ethereum/smt_remove_tests
...
Extract boost smt and remove unused tests
2020-09-24 13:20:19 +02:00
chriseth
0a3b836f5a
Merge pull request #9867 from ethereum/string-literals
...
More clear error messages with converting (hex) string literals
2020-09-24 12:49:46 +02:00
Leonardo
35a7d5d3e4
Merge pull request #9873 from ethereum/smt_dec_rlimit
...
[SMTChecker] Decrease rlimit
2020-09-23 23:11:59 +02:00
Leonardo Alt
ebb6f61506
[SMTChecker] Decrease rlimit
2020-09-23 19:28:47 +02:00
Alex Beregszaszi
e54110ff17
Return UTF-8 error in BoolResult and remove it from string type
2020-09-23 17:35:05 +01:00
Alex Beregszaszi
a154594de6
Display string literal as hex in error messages if it is not printable ASCII
2020-09-23 17:33:39 +01:00
Alex Beregszaszi
0e5abbd4a9
Display location of invalid UTF-8 sequence in unicode literals in SyntaxChecker
2020-09-23 17:01:02 +01:00
Leonardo Alt
8eba66daf9
Extract boost smt and remove unused tests
2020-09-23 17:55:55 +02:00
Alex Beregszaszi
ca743191b7
Report why assigning oversized hex strings to bytes fail
2020-09-23 16:46:47 +01:00
Alex Beregszaszi
af8d78010e
Display BoolResult from implicit/explicit conversions for more clarity in error messages
2020-09-23 16:04:07 +01:00
Harikrishnan Mulackal
c314ca3cf2
Tests for signed exponentiation
2020-09-23 16:27:33 +02:00
Đorđe Mijović
858b4507e2
Merge pull request #9854 from ethereum/bitwiseSmt
...
[SMTChecker] Support compound shifts and bitwise and, or, and xor
2020-09-23 12:35:48 +02:00
chriseth
0c6dc1dce4
Merge pull request #9862 from ethereum/develop
...
Merge develop into breaking
2020-09-23 12:22:32 +02:00
chriseth
91f7c6644f
Only expect more failure data params if they are there.
2020-09-23 12:22:11 +02:00
chriseth
9c5e14e309
Merge pull request #9839 from ethereum/annotations-optional
...
Make annotations ``SetOnce`` or ``optional`` where feasible
2020-09-23 11:44:21 +02:00
Djordje Mijovic
96bafb9ba3
[SMTChecker] Updating old and adding new tests for compound shift operators.
2020-09-23 11:31:37 +02:00
Djordje Mijovic
0193952106
[SMTChecker] Updating old and adding new tests for compound bitwise xor operator.
2020-09-23 11:31:37 +02:00
Djordje Mijovic
e2e0b33ee7
[SMTChecker] Updating old and adding new tests for compound bitwise or operator.
2020-09-23 11:31:41 +02:00
Djordje Mijovic
69df163dcb
[SMTChecker] Updating old and adding new tests for compound bitwise and operator.
2020-09-23 11:31:37 +02:00
Leonardo Alt
f4ee4cd479
Update tests
2020-09-22 20:51:28 +02:00
Alex Beregszaszi
709d25bd3d
[SMTChecker] Support address type conversion with literals
2020-09-22 18:49:11 +01:00
Mathias Baumann
dd81d05559
Make annotations `SetOnce
or
optional
` where feasible
2020-09-22 17:38:21 +02:00
chriseth
700cc4c9d3
Merge pull request #9836 from ethereum/fix-missing-check-for-nested-dynamic-arrays-with-abi-encode-decode-v1
...
Add missing check for nested dynamic arrays in abi.encode()/decode() functions in ABIEncoderV1
2020-09-22 15:49:17 +02:00
chriseth
83aa8c1e23
Merge pull request #9818 from a3d4/introduce-compositetype
...
Introduce CompositeType
2020-09-21 22:33:04 +02:00
Daniel Kirchner
7fa9a9d312
Merge pull request #9162 from ethereum/memoryEscalator
...
Memory Escalator
2020-09-21 20:03:38 +02:00
chriseth
8e77bb5bfc
Merge pull request #9838 from ethereum/fix-wrong-name-reported-for-invalid-named-argument
...
Fix wrong name reported for invalid named argument
2020-09-21 17:17:14 +02:00
a3d4
6b77a20134
Introduce CompositeType
2020-09-21 16:18:04 +02:00
chriseth
306fef334b
Merge pull request #9546 from ethereum/expToShift
...
Optimization rule: Replace exp by shl.
2020-09-21 12:21:47 +02:00
Daniel Kirchner
48f620fb50
Reverse the order of the memory offsets assigned to variables.
2020-09-17 22:13:27 +02:00
Daniel Kirchner
f4b42d1c72
Add stack limit evader.
2020-09-17 22:13:27 +02:00
Kamil Śliwak
aae640dd3a
Fix wrong name used in error message when reporting invalid named argument
2020-09-17 18:59:18 +02:00
Kamil Śliwak
4045f41c8d
Make the test for invalid named arguments more robust
...
- Add more parameters and use different types.
- Now it's clear that the name used in the error message is wrong.
2020-09-17 17:29:28 +02:00
Kamil Śliwak
dc62d763eb
Move syntax tests for named arguments from namedAndTypeResolution/ to functionCalls/
2020-09-17 17:29:28 +02:00
Kamil Śliwak
1a4cc4e64d
Fix type check for nested arrays in abi.encode/decode functions in ABIEncoderV1
...
- Without this fix, nested arrays are not detected as unsupported and compiler fails on an UnimplementedError.
- Now it's consistent with how structs are handled in ABIEncoderV1.
2020-09-17 17:29:16 +02:00
Kamil Śliwak
89e696ca1b
Allow using zero in patterns passed to isoltest --test
2020-09-17 17:28:49 +02:00
chriseth
684fff34a9
Replace exp by shl.
2020-09-17 16:06:52 +02:00
chriseth
aa7a6922e7
Restrict unary negation to signed integers.
2020-09-17 15:01:53 +02:00
chriseth
e4231b879b
Merge pull request #9834 from ethereum/develop
...
Merge develop into breaking.
2020-09-17 15:00:41 +02:00
chriseth
6e4205e445
Do not run reasoning test if no SMT Solver is available.
2020-09-17 13:43:35 +02:00
Harikrishnan Mulackal
64ddf2c699
Verify simplification rule exp(2, X) to shl(X, 1)
2020-09-16 17:36:39 +02:00
chriseth
9750286ee4
Merge pull request #9823 from ethereum/develop
...
Merge develop into breaking.
2020-09-16 14:24:58 +02:00
chriseth
5000785ff8
Merge pull request #9822 from ethereum/fix-ice-on-returning-string-literal-in-calldata
...
Mark string literals as not implicitly convertible to calldata arrays
2020-09-16 14:23:47 +02:00
Alex Beregszaszi
a187a1c4c4
Merge pull request #9798 from ethereum/smt-log
...
[SMTChecker] Support events and low-level logs
2020-09-16 12:26:27 +01:00
Kamil Śliwak
3ba3bde65e
Mark string literals as not implicitly convertible to calldata arrays
2020-09-16 12:44:57 +02:00
Alex Beregszaszi
c8c17b693b
[SMTChecker] Support events and low-level logs
2020-09-16 11:50:39 +02:00
Kamil Śliwak
2916ae5bda
Fix static arrays with dynamic elements not being treated as dynamic in FunctionType::returnParameterTypesWithoutDynamicTypes()
2020-09-16 11:15:52 +02:00
chriseth
b08b76ffca
Merge pull request #9776 from ethereum/reportUnimplemented
...
Sol->Yul: Report source locations related to unimplemented features.
2020-09-15 18:46:45 +02:00
chriseth
39ecc18d4d
Merge pull request #9812 from ethereum/develop
...
Merge develop into breaking.
2020-09-15 15:58:45 +02:00
chriseth
9bcc2f1713
Make ReasoningBasedSimplifier available as step.
2020-09-15 15:57:59 +02:00
chriseth
2d7e28769a
Skip smt optimizer tests if smt is disabled.
2020-09-15 15:57:59 +02:00
chriseth
f73fb726af
Reasoning based optimizer.
2020-09-15 15:57:58 +02:00
chriseth
2f41245e43
Commandline test for unimplemented IR.
2020-09-15 14:42:04 +02:00
chriseth
8c8c83a104
Adjust testing framework.
2020-09-15 14:41:46 +02:00
Alex Beregszaszi
5355e85639
Merge pull request #9782 from ethereum/smt-revert
...
[SMTChecker] Support revert()
2020-09-15 13:26:19 +01:00
chriseth
ff93d8ac6c
Merge pull request #9804 from ethereum/extractYulSyntaxTests
...
Extract (some) yul syntax tests.
2020-09-15 13:50:45 +02:00
chriseth
9eda69f637
Merge pull request #9793 from ethereum/same-syntax-test
...
[Trivial] Use same multi-source-syntax for test files
2020-09-15 13:49:34 +02:00
chriseth
74efd5ba46
Merge pull request #9703 from a3d4/fix-4558-shadowed-declaration-warning
...
Corrected warning for homonymous, but not shadowing declarations
2020-09-15 13:48:55 +02:00
Alex Beregszaszi
783d66c1a4
[SMTChecker] Support revert()
2020-09-15 11:46:33 +01:00
Alex Beregszaszi
8f36408ef9
Add test case for revert() in SMTChecker
2020-09-15 11:46:16 +01:00
Mathias Baumann
a1eb0f7225
Use same multi-source-syntax for test files
2020-09-15 12:44:02 +02:00
chriseth
768e0e96e4
Extract yul syntax tests.
2020-09-15 12:13:30 +02:00
chriseth
eac175c08b
Merge pull request #9053 from ethereum/generatedSources
...
Export generated sources
2020-09-15 12:08:47 +02:00
chriseth
33cdefc40e
New test.
2020-09-15 11:22:43 +02:00
chriseth
7f0a86ce56
Remove version from combined-json.
2020-09-15 11:22:43 +02:00
chriseth
3f9f63b829
Test updates.
2020-09-15 11:22:16 +02:00
Daniel Kirchner
e93d74398b
Merge pull request #9807 from ethereum/smt_readd_tests
...
Readd SMTChecker tests
2020-09-15 02:57:42 +02:00
a3d4
4ca7655b74
Correct the warning for homonymous, but not shadowing declarations
2020-09-15 02:39:21 +02:00
Leonardo Alt
28c8e01149
Readd SMTChecker tests
2020-09-14 23:44:13 +02:00
Alex Beregszaszi
83934254ea
[SMTChecker] Support type(I).interfaceId
2020-09-14 20:34:52 +01:00
chriseth
efe829b4b2
Merge pull request #9805 from ethereum/develop
...
Merge develop into breaking.
2020-09-14 20:48:03 +02:00
chriseth
552a5f0913
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
...
Handle "leaf functions" first in full inliner.
2020-09-14 20:22:48 +02:00
chriseth
c6281f29d5
Merge pull request #9577 from ethereum/removeflag
...
Remove "removesNonConstant" flag.
2020-09-14 20:20:46 +02:00
chriseth
de51531366
Merge pull request #9791 from a3d4/refactor-collision-warnings
...
Refactor collision warnings
2020-09-14 20:19:53 +02:00
Leonardo Alt
fd6c665548
Update SMTChecker tests with z3 4.8.9
2020-09-14 19:04:13 +02:00
Harikrishnan Mulackal
b7944477a1
Update UnusedFunctionParameterPruner tests to avoid getting inlined
2020-09-14 17:59:50 +02:00
chriseth
8e39110a30
Remove flag.
2020-09-14 17:35:04 +02:00
Kamil Śliwak
ea1c249822
[yul-phaser] Chromosome: Use more samples and higher tolerance in tests checking the distribution
...
- This makes them run a second longer (which might seem small but it's a 3x increase).
- Hopefully they will break less when the random seed changes.
2020-09-14 16:17:39 +02:00
Kamil Śliwak
5637bdcaec
[yul-phaser] Replace mutation tests with hard-coded expectations with more robust ones that check the statistical distribution
...
- The old tests would easily break when adding/removing optimiser steps.
2020-09-14 16:17:39 +02:00
Kamil Śliwak
d75f0ba437
[yul-phaser] Chromosome: Make it possible to use genes that do not correspond to existing optimiser steps
2020-09-14 16:17:39 +02:00
chriseth
fb205b719e
Merge pull request #9783 from ethereum/yul-phaser-fix-slow-tests-for-classic-algorithm
...
[yul-phaser] Fix slow tests for classic genetic algorithm
2020-09-14 16:16:59 +02:00
a3d4
d8520b0af0
Move collision warnings to StaticAnalyzer
2020-09-14 02:52:00 +02:00
a3d4
e7a6534d4f
Unify collision warnings
2020-09-14 02:17:53 +02:00
Leonardo
31b5102aa0
Merge pull request #9731 from ethereum/smt_import
...
[SMTChecker] Fix CHC encoding
2020-09-12 00:56:04 +02:00
Alex Beregszaszi
961a199cf5
[SMTChecker] Support type(T).min and type(T).max
2020-09-11 21:37:51 +01:00
Kamil Śliwak
e024032a67
Revert "[yul-phaser] Temporarily disable very slow tests for the classic algorithm"
...
This reverts commit b23f7d8790
.
2020-09-11 22:05:56 +02:00
Kamil Śliwak
952a9c6115
[yul-phaser] Chromosome: store step abbreviations instead of full names
2020-09-11 22:05:56 +02:00
Kamil Śliwak
2a707e7685
[yul-phaser] Chromosome: Add stepsToGenes() and genesToSteps()
2020-09-11 22:05:56 +02:00
Leonardo Alt
3fea11e1a9
Remove problematic test
2020-09-11 22:02:18 +02:00
Leonardo Alt
23ee011c56
[SMTChecker] Fix imports
2020-09-11 13:34:46 +02:00
Leonardo
72f8a753a9
Merge pull request #9586 from ethereum/scoper
...
Assign scopes as a separate step.
2020-09-11 10:45:54 +02:00
Leonardo Alt
84c707cd2a
Adjust problematic SMTChecker tests
2020-09-10 19:32:17 +02:00
chriseth
42c26e0bf5
Inline tiny functions first.
2020-09-10 17:01:20 +02:00
chriseth
f102feaf09
Handle "leaf functions" first in full inliner.
2020-09-10 17:01:19 +02:00
chriseth
6101bdf7e2
Name simplifier.
2020-09-10 16:23:29 +02:00
Leonardo Alt
40197df104
[SMTChecker] Support shifts
2020-09-09 19:47:52 +02:00
chriseth
c966971fd3
Merge pull request #9770 from ethereum/smt_dot
...
[SMTChecker] Change warning message
2020-09-09 17:17:04 +02:00
chriseth
6508986077
Merge pull request #9768 from ethereum/move-event-syntax-tests-from-name-and-type-resolution
...
Group event-related syntax tests together
2020-09-09 16:57:30 +02:00
Leonardo Alt
00f6b303b1
[SMTChecker] Change warning message
2020-09-09 16:14:21 +02:00
Kamil Śliwak
6f41e83b48
Move most event-related syntax tests from nameAndTypeResolution/ to events/
2020-09-09 14:53:46 +02:00
Kamil Śliwak
5e9dd67a0a
FunctionType::canTakeArguments(): Use the correct index when comparing named parameter types
2020-09-09 14:45:58 +02:00
Alexander Arlt
23d9b1567e
Add support for ewasm evmc vm.
2020-09-08 12:41:42 -05:00
chriseth
202332405f
Merge pull request #9760 from ethereum/sol2YulStorageArrayIndexAccessFix
...
[Sol->Yul] Fixing storage array index access
2020-09-08 16:33:54 +02:00
Djordje Mijovic
ec6d21cde2
[Sol->Yul] Fixing storage array index access
2020-09-08 16:02:56 +02:00
Mathias Baumann
b72fb1333b
Adjust docs example to work with v0.8.0
2020-09-08 13:36:16 +02:00
Kamil Śliwak
41bcb97e36
Don't consider contracts implicitly convertible to the type of super
...
- `super` for all intents and purposes behaves like a type and should be a TypeType rather than ContractType. We have an issue to fix it but it's a breaking change. Until then let's at least not treat other contracts as convertible to the ContractType that `super` represents.
2020-09-08 00:29:44 +02:00
Alexander Arlt
df8bbeeb22
ViewPureChecker::reportMutability: don't check visibility on constructors.
2020-09-07 11:35:33 -05:00
Harikrishnan Mulackal
acec8f271d
Type Checker: Disallow `virtual
` for modifiers in libraries.
2020-09-07 11:17:38 +02:00
Leonardo Alt
69a7808838
Add new tests
2020-09-03 15:19:33 +02:00
Leonardo Alt
afcd44e77c
Update current tests
2020-09-03 15:19:03 +02:00
Harikrishnan Mulackal
974e35d09c
Tests and changelog
2020-09-03 13:15:38 +02:00
Harikrishnan Mulackal
e2fd41f097
Implemented UnusedFunctionArgumentPruner
2020-09-03 13:15:38 +02:00
chriseth
2934a1f037
Assign scopes as a separate step.
2020-09-02 20:45:33 +02:00
chriseth
3a48be546d
Merge pull request #9602 from ethereum/structMemToStorageSol2Yul
...
[Sol->Yul] Implementing various copying of structs
2020-09-02 13:50:46 +02:00
chriseth
23514c1749
Merge pull request #9724 from ethereum/superForYul
...
Implement ``super``.
2020-09-02 12:48:39 +02:00
Djordje Mijovic
a740cb619b
Adding tests for copying structs with function pointers between storage and memory
2020-09-02 12:28:53 +02:00
Djordje Mijovic
23f6369a46
Implementing struct copying from calldata to storage
2020-09-02 12:28:53 +02:00
Djordje Mijovic
762e3f3cee
[Sol->Yul] Implementing struct copying from calldata to storage
2020-09-02 12:28:53 +02:00
Djordje Mijovic
381784dd89
[Sol->Yul] Implementing struct copying from storage to memory
2020-09-02 12:28:53 +02:00
Djordje Mijovic
b89c863e11
[Sol->Yul] Implementing struct copying from memory to storage
2020-09-02 12:28:53 +02:00
chriseth
8f34ac472f
Implement `super
`.
2020-09-02 11:00:42 +02:00
Djordje Mijovic
e7a05324af
Adding simple array copying tests
2020-09-02 09:39:28 +02:00
Leonardo
0d83977d5a
Merge pull request #9648 from ethereum/smt_refactor_predicates
...
[SMTChecker] Refactor CHC predicates
2020-09-01 20:38:47 +02:00
Leonardo Alt
49d3804de4
[SMTChecker] Fix rational number short circuit
2020-09-01 17:21:13 +02:00
Leonardo Alt
e23d96464b
Adjust test
2020-09-01 16:10:12 +02:00
Leonardo Alt
016b9b83a8
Refactor predicates
2020-09-01 16:09:56 +02:00
Leonardo
6b38c64c84
Merge pull request #9709 from ethereum/smt_fix_tuple_3
...
[SMTChecker] Fix ICE on tuples of one element of tuple type
2020-09-01 10:47:36 +02:00
Leonardo
20b359e5c5
Merge pull request #9716 from ethereum/smt_fix_tuple_2
...
[SMTChecker] Fix ICE on tuple assignment
2020-09-01 10:44:34 +02:00
Leonardo
c9ca1d1814
Merge pull request #9706 from ethereum/smt_fix_tuple_lvalue
...
[SMTChecker] Fix unary operator on lvalue tuple
2020-09-01 10:37:24 +02:00
chriseth
f628fd3f03
Merge pull request #9655 from a3d4/fix-msvc-adl
...
Fix MSVC ADL
2020-09-01 10:35:11 +02:00
Leonardo Alt
238b8a929e
[SMTChecker] Fix ICE on tuples of one element that actually have tuple type
2020-09-01 08:31:57 +02:00
Leonardo Alt
5cafbeebec
[SMTChecker] Fix ICE on tuple assignment
2020-09-01 08:29:01 +02:00
Leonardo Alt
50e0ada77d
[SMTChecker] Fix unary operator on lvalue tuple
2020-09-01 08:25:06 +02:00
a3d4
8faa5243b5
Fix MSVC ADL
2020-09-01 00:42:42 +02:00
chriseth
34543e5eab
Merge pull request #9692 from ethereum/smt_fix_pop
...
[SMTChecker] Fix soundness of array pop
2020-08-31 20:07:58 +02:00
chriseth
b3b1df6556
Merge pull request #9681 from ethereum/small-astjsontest-refactor
...
Refactor ASTJSONTest to reduce redundancy
2020-08-31 19:50:06 +02:00
chriseth
0203eea20e
Merge pull request #9649 from a3d4/improve-error-coverage-erorrecovery
...
Complete test coverage for errors related to parser error recovery
2020-08-31 18:33:19 +02:00
chriseth
8c8eca3ec2
Merge pull request #9701 from a3d4/fix-8885-update-test-expectations
...
Fix test expectation update
2020-08-31 13:39:11 +02:00
chriseth
7346165b6c
Merge pull request #9688 from ethereum/fix-9675
...
ossfuzz: Generate antlr4 runtime deps
2020-08-31 13:07:03 +02:00
a3d4
6336aa5aba
Fix test expectation update
2020-08-31 12:50:18 +02:00
Leonardo Alt
8c05db88c0
[SMTChecker] Fix soundness of array pop
2020-08-31 12:11:33 +02:00
Alex Beregszaszi
7ef9591e64
Expose hex literal to the Yul parser
...
This allows nicer error messages.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
26a76c18d4
Add Yul syntax test for every Solidity keyword
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
4366ede889
Introduce Leave as a keyword for Yul
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
caa329066e
Do not emit Solidity-only tokens in the Scanner for Yul
...
And simplfiy AsmParser greatly.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
bd7283ad22
Add scanner test for specially handled keywords in Yul
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
a80e2c1462
Update tests for immutable variables
2020-08-28 19:06:34 +01:00
Alex Beregszaszi
56624af209
Merge pull request #9695 from ethereum/scanner-test
...
Add more scanner tests for hex and unicode literals
2020-08-28 18:19:22 +01:00
chriseth
20efba6b55
Merge pull request #9568 from ethereum/fixImmutables
...
Fix reads checks for complex assignment and increment/decrement for immutable variables.
2020-08-28 16:14:18 +02:00
Christian Parpart
cd3836f467
Fixes compilation on MSVC wrt. narrowing conversion from cstr-ptr to bool.
2020-08-28 15:54:47 +02:00
Alex Beregszaszi
aa70758c32
Add more scanner tests for hex and unicode literals
2020-08-28 14:33:29 +01:00
chriseth
8b564a7be7
Fix reads checks for immutable variables.
2020-08-28 15:24:40 +02:00
chriseth
ec3f3c41dd
Merge pull request #9690 from ethereum/immutable-rhs-vardecl
...
Disallow assigning more than once to immutables during the variable declaration
2020-08-28 14:39:23 +02:00
Leonardo
df79a4f162
Merge pull request #9691 from ethereum/oversized-function-array
...
Changed canonicalName() to toString() because of internal functions
2020-08-28 13:57:47 +02:00
Harikrishnan Mulackal
7ff809dc78
Disallow assigning more than once to immutables during the vardecl
2020-08-28 13:42:54 +02:00
Harikrishnan Mulackal
672f391660
Changed canonicalName() to toString() because of internal functions
2020-08-27 21:09:35 +02:00
Alex Beregszaszi
e872b1b51e
Merge pull request #9689 from ethereum/using-for-interface
...
Disallow ``using for`` directive for interfaces.
2020-08-27 19:09:19 +01:00
Bhargava Shastry
6101590d93
ossfuzz: Generate antlr4 runtime deps
2020-08-27 17:33:29 +02:00
chriseth
0798167f3d
Merge pull request #9612 from ethereum/yul-rightarrow
...
Introduce RightArrow (->) token
2020-08-27 16:21:18 +02:00
Harikrishnan Mulackal
c7dc42a794
Disallow `using for
` directive for interfaces.
2020-08-27 15:57:51 +02:00
Mathias Baumann
c4962df262
Refactor ASTJSONTest to reduce redundancy
2020-08-27 15:56:41 +02:00
Harikrishnan Mulackal
7826564226
Fix infinite loop for structs in library function parameter
2020-08-27 14:18:07 +02:00
Harikrishnan Mulackal
1c066b1059
Allow type(Contract).name
for abstract contracts and interfaces
2020-08-27 13:37:08 +02:00
Alex Beregszaszi
662f7d8fac
Rename Arrow to DoubleArrow
2020-08-27 12:28:27 +01:00
Alex Beregszaszi
4e5b403c37
Introduce RightArrow (->) token in the scanner
2020-08-27 12:28:27 +01:00
chriseth
161ed4c948
Merge pull request #9683 from ethereum/fix-exp-neg-literal
...
Disallow the exponent to be a signed integer literal
2020-08-27 13:26:15 +02:00
Harikrishnan Mulackal
6f22899153
Disallow the exponent to be a signed integer literal
2020-08-27 12:08:45 +02:00
Harikrishnan Mulackal
79b2e41252
Fix inheritdoc tags trying to resolve 'empty' elements
2020-08-26 21:28:00 +02:00
Leonardo
fdc4142b2c
Merge pull request #9661 from ethereum/smtBitwiseOr
...
[SMTChecker] Support bitwise or, xor and not operator
2020-08-26 18:20:15 +02:00
chriseth
dbe0518cd2
Merge pull request #9652 from ethereum/iceInlineAssemblyOffset
...
[Sol->Yul] Enabling storage pointers to local vars in inline assembly.
2020-08-26 17:12:54 +02:00
chriseth
bc4e07d309
Merge pull request #9672 from ethereum/fixRecompilation
...
Fix inlining order to correspond to source order.
2020-08-26 16:39:03 +02:00
Djordje Mijovic
11a7763f49
[SMTChecker] Support bitwise or, xor and not.
2020-08-26 11:06:56 +02:00
Djordje Mijovic
d99b81ef02
[Sol->Yul] Enabling storage pointers to local vars in inline assembly.
2020-08-26 10:25:42 +02:00
chriseth
e72afcba47
Fix inlining order to correspond to source order.
2020-08-26 10:20:18 +02:00
chriseth
221524b153
Merge pull request #9606 from ethereum/newGrammar
...
Rewrite of the antlr grammar.
2020-08-26 09:57:13 +02:00
chriseth
21489d8193
Merge pull request #9638 from ethereum/fixNullValuesAST
...
Remove null values from AST also in standard-json mode.
2020-08-24 15:57:33 +02:00
Djordje Mijovic
00e765f478
Fix tests for conditional operator on latest develop.
2020-08-22 07:52:55 +02:00
Đorđe Mijović
4dd25f7302
Merge pull request #9639 from ethereum/smtConditionalSupport
...
[SMTChecker] Supporting conditional operator
2020-08-21 14:25:47 +02:00
Djordje Mijovic
3f97a1012a
[SMTChecker] Supporting conditional operator
2020-08-20 21:39:35 +02:00
a3d4
0ee4a85a84
Complete test coverage for errors related to parser error recovery
2020-08-20 16:14:39 +02:00
chriseth
4a720a6511
Merge pull request #9646 from a3d4/improve-error-coverage-syntaxchecker
...
Improve error coverage of syntax checker
2020-08-20 13:18:35 +02:00
chriseth
4dc63875f9
Merge pull request #9113 from ethereum/smt_chc_overflow
...
[SMTChecker] Add underflow/overflow target to CHC
2020-08-20 13:17:00 +02:00
a3d4
ad311fae19
Improve error coverage of syntax checker
2020-08-20 03:23:21 +02:00
Daniel Kirchner
bd21535dd1
Rewrite of the antlr grammar.
2020-08-19 17:55:31 +02:00
chriseth
b2b8e0e4c6
Merge pull request #9312 from ethereum/rewrite-loopInvariantCodeMotion
...
Rewrite loop invariant code motion
2020-08-19 14:27:04 +02:00
Harikrishnan Mulackal
bbf15c9af3
Tests and Changelog
2020-08-19 12:41:29 +02:00
chriseth
7b8cc0c49b
Remove null values from AST also in standard-json mode.
2020-08-19 11:06:14 +02:00
chriseth
a795e4db9b
Merge pull request #9640 from a3d4/improve-error-coverage-parser
...
Improve error coverage of parser
2020-08-19 11:03:50 +02:00
a3d4
0f5d0b6455
Improve error coverage of parser
2020-08-19 01:37:11 +02:00
chriseth
3c27d36ebd
Merge pull request #9283 from ethereum/refactor-sideEffects
...
Refactor SideEffects
2020-08-18 15:12:42 +02:00
Harikrishnan Mulackal
3cbe65e4f3
Refactor SideEffects struct
2020-08-18 14:53:59 +02:00
chriseth
17edf4f207
Merge pull request #9479 from ethereum/exp
...
Implement checked exponentiation.
2020-08-18 13:57:25 +02:00
chriseth
c34e349572
Implement checked exponentiation.
2020-08-18 12:42:53 +02:00
chriseth
2ff954ec2d
Use kind in json AST for free function.
2020-08-18 11:46:59 +02:00
chriseth
e9f91edc4b
Update existing tests.
2020-08-18 11:46:59 +02:00
chriseth
9324fb4f20
Free functions.
2020-08-18 11:46:59 +02:00
Harikrishnan Mulackal
58bfe0b0d2
Tests for refactor-SideEffects
2020-08-14 17:44:19 +02:00
Leonardo Alt
5afd1219f5
Add test with unused error id
2020-08-14 12:58:27 +02:00
Leonardo Alt
0a160b1ba0
Update remaining tests
2020-08-14 12:58:27 +02:00
Leonardo Alt
80ab56dbc6
Update overflow tests
2020-08-14 12:58:27 +02:00
Leonardo Alt
8a06041bbe
[SMTChecker] Add underflow/overflow target to CHC
2020-08-14 12:58:27 +02:00
Alex Beregszaszi
babb175d86
Add more syntax tests for Yul
2020-08-13 14:20:52 +01:00
Daniel Kirchner
5d670aaa18
Merge pull request #9614 from ethereum/yul-hex
...
Update tests/documentation to show that hex literals are not supported in Yul
2020-08-13 03:11:45 +02:00
Alex Beregszaszi
b752551ebd
Add test case for string literals in switch statements in Yul
2020-08-13 00:27:41 +01:00
Alex Beregszaszi
acb1e8c280
Add tests showing hex literals are not allowed in Yul
2020-08-13 00:27:19 +01:00
Alex Beregszaszi
bb29307b02
Add/Update tests for Yul function definition
2020-08-12 23:53:08 +01:00
Djordje Mijovic
d685bee2ec
[Sol->Yul] Implementing struct copying from calldata to memory.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-08-11 16:18:06 +02:00
Leonardo Alt
ec31d971e6
[SMTChecker] Fix tuple name for arrays
2020-08-07 12:28:10 +02:00
Daniel Kirchner
9ca48987dd
Merge pull request #9520 from ethereum/interpreterLiteral
...
Fix literal arguments in interpreter.
2020-08-06 16:11:31 +02:00
Daniel Kirchner
143b37af56
Only conditionally run old code generation in CompilerStack, StandardCompiler and semantic tests.
2020-08-06 15:05:17 +02:00
chriseth
0226d104b7
Fix literal arguments in interpreter.
2020-08-06 14:16:59 +02:00
chriseth
3a409c39e4
Merge pull request #9518 from ethereum/smt_fix_bmc_function_inlining
...
[SMTChecker] Fix ICE in BMC function inlining
2020-08-06 00:50:04 +02:00
chriseth
ebd512cef6
Merge pull request #9576 from ethereum/test-cleanup
...
Rename libsolidity/SolidityScanner to liblangutil/Scanner in tests
2020-08-06 00:49:33 +02:00
chriseth
488fd5a27a
Merge pull request #9575 from ethereum/yul-optim-check
...
Parse optimiser output in yulOptimiserTests
2020-08-06 00:40:45 +02:00
Alex Beregszaszi
2e8616e2e4
Run prequisite steps for VarNameCleaner in tests
2020-08-05 22:12:51 +01:00
Alex Beregszaszi
0a8bc861b2
Remove old boost tests from libyul/ObjectParser
2020-08-05 21:01:46 +01:00
Alex Beregszaszi
291c359ee9
Add more syntax tests for Yul objects
...
Also move some of them from boost tests.
2020-08-05 21:01:46 +01:00
Alex Beregszaszi
e7c99918ed
Use yul::test::parse in libyul/SynaxtTests to support objects
2020-08-05 18:10:21 +01:00
chriseth
98faf82d3f
Merge pull request #9563 from ethereum/constrInLib
...
Fix member lookup for constructor in library.
2020-08-05 19:07:28 +02:00
Alex Beregszaszi
99d96870ae
Rename libsolidity/SolidityScanner to liblangutil/Scanner in tests
2020-08-05 13:39:18 +01:00
Alex Beregszaszi
42a777e9e2
Use forward declaration in EwasmTranslationTest
2020-08-05 13:31:51 +01:00
Alex Beregszaszi
dec0f86b83
Merge pull request #9542 from ethereum/smt_add_test
...
[SMTChecker] Add test from Aon blog post
2020-08-05 13:24:16 +01:00
Alex Beregszaszi
e77ae3f06e
Parse optimiser output in yulOptimiserTests
2020-08-05 12:57:14 +01:00
Alex Beregszaszi
a21c8e18f1
Merge pull request #9572 from ethereum/yul-optimiser-tests
...
Return object format in expectation for yulOptimizerTests
2020-08-05 12:57:01 +01:00
Alex Beregszaszi
ad6f39376f
Return object format in expectation for yulOptimizerTests
2020-08-05 11:55:13 +01:00
Alex Beregszaszi
6e381326fe
Adjust and add more tests
2020-08-05 11:37:04 +01:00
Leonardo Alt
8df8c6e14f
[SMTChecker] Fix ICE in BMC function inlining
2020-08-05 11:47:25 +02:00
chriseth
b8fd409f7f
Merge pull request #9566 from ethereum/byteAfterShrNonEight
...
Optimize byte-after-shr for shift amounts that are not multiples of 8.
2020-08-04 14:19:11 +02:00
chriseth
a3a9630d8b
Optimize byte-after-shr for shift amounts that are not multiples of 8.
2020-08-04 12:16:23 +02:00
chriseth
0ea5aae9aa
Require inheritdoc tag to be non-empty.
2020-08-04 12:13:23 +02:00
chriseth
c96e997a3c
Fix member lookup for constructor in library.
2020-08-04 10:51:40 +02:00
Leonardo Alt
55624d6416
Add test from Aon blog post
2020-08-04 09:31:48 +02:00
Bhargava Shastry
5100effeec
yul: Set non movable flag to true in simplification rule for byte of right-shifted expression
2020-08-03 17:30:52 +02:00
chriseth
cd2ce28317
Merge pull request #9547 from ethereum/useCBOR
...
Use cbor metadata in gas cost tests.
2020-07-28 23:59:14 +02:00
chriseth
b8b78a6982
Use cbor metadata in gas cost tests.
2020-07-28 23:42:22 +02:00
chriseth
9e5a56a649
Merge pull request #9526 from ethereum/scanner-split
...
Add ScannerKind and replace supportPeriodInIdentifier
2020-07-28 23:25:28 +02:00
chriseth
aea75d0f5b
Merge pull request #9513 from ethereum/smt_fix_fixed_bytes_access
...
[SMTChecker] Fix ICE on fixed bytes access
2020-07-28 23:24:04 +02:00
chriseth
73506e2858
Merge pull request #9530 from a3d4/improve-error-coverage-referenceresolver
...
Complete error coverage of ReferenceResolver
2020-07-28 21:12:54 +02:00
a3d4
ffdb0e37ff
Complete error coverage of ReferenceResolver
2020-07-28 18:56:57 +02:00
a3d4
dbeacbafa5
Cover "Override changes modifier to public state variable." error
2020-07-28 18:55:12 +02:00
Leonardo Alt
ad1798b000
[SMTChecker] Fix ICE on fixed bytes access
2020-07-28 17:59:42 +02:00
Alex Beregszaszi
d9cb8c8c5e
Add ScannerKind and replace supportPeriodInIdentifier
2020-07-28 12:31:08 +01:00
chriseth
655113e922
Merge pull request #9532 from ethereum/smt_fix_tests
...
Fix SMTChecker tests
2020-07-28 12:14:46 +02:00
Alex Beregszaszi
291c00c3de
Remove errenous error duplication and move some tests around
2020-07-28 10:45:27 +01:00
chriseth
53d497fc31
Merge pull request #9412 from ethereum/unicode-string
...
[BREAKING] Support unicode string literal type
2020-07-28 11:42:23 +02:00
Leonardo Alt
a6df232fa3
Fix SMT tests
2020-07-28 11:24:25 +02:00
Alex Beregszaszi
0102d30b0a
Add more tests to the scanner regarding dots in identifiers
2020-07-27 18:38:18 +01:00
chriseth
ee9a03ffe1
Merge pull request #9501 from ethereum/calldataToMemoryCopy
...
[Sol->Yul] Implementing bytes copying from calldata to memory.
2020-07-27 19:23:30 +02:00
chriseth
81cdc39f51
Merge pull request #9514 from ethereum/fixInterCon
...
Fix internal error for invalid data location in constructor.
2020-07-27 19:21:55 +02:00
Alex Beregszaszi
f5f86779b8
Update tests for unicode literals
2020-07-27 18:21:17 +01:00
Alex Beregszaszi
5bfcc1ffcc
Update tests for string literals
2020-07-27 18:21:17 +01:00
chriseth
9605b85c21
Merge pull request #9352 from ethereum/smt_cex
...
[SMTChecker] CHC counterexamples
2020-07-27 19:21:04 +02:00
Leonardo Alt
b207222af7
Fix extra parens
2020-07-27 17:14:59 +02:00
Djordje Mijovic
96258c7e75
[Sol->Yul] Implementing bytes copying from calldata to memory.
2020-07-27 15:14:26 +02:00
chriseth
f24097c38d
Fix internal error for invalid data location in constructor.
2020-07-27 15:00:17 +02:00
Leonardo Alt
de4ae301c4
[SMTChecker] Fix ICE when tuples have extra effectless parens
2020-07-27 13:03:27 +02:00
chriseth
5812cd8213
Merge pull request #9511 from ethereum/ast-hex-string
...
[BREAKING] Distinguish between stringLiteral and hexStringLiteral in the JSON AST
2020-07-27 12:34:40 +02:00
Alex Beregszaszi
5ecc84e92e
Distinguish between stringLiteral and hexStringLiteral in the JSON AST
2020-07-27 10:19:24 +01:00
chriseth
2c574af45b
Fix conversion bug for exp operation.
2020-07-27 10:44:42 +02:00
chriseth
1a1960ede0
Merge pull request #9466 from ethereum/fixTokens
...
Properly sort token list.
2020-07-27 10:42:31 +02:00
chriseth
7ff3d10fee
Merge pull request #9492 from ethereum/someValueTests
...
Some more tests for value.
2020-07-23 19:09:28 +02:00
Leonardo Alt
95484d9969
Fix tests after rebase
2020-07-23 18:49:03 +02:00
Leonardo Alt
d70ebbb62d
Remove problematic test
2020-07-23 18:49:03 +02:00
Leonardo Alt
5bb4e73693
Review 1
2020-07-23 18:49:03 +02:00
Leonardo Alt
003c9b9a5b
Update tests
2020-07-23 18:49:03 +02:00
chriseth
80d704891c
Merge pull request #9493 from ethereum/fix-gnosis
...
Force upgrade package-lock
2020-07-23 18:00:12 +02:00
chriseth
8607bfdfaa
Merge pull request #9007 from a3d4/fix-8727-no-return-optimizer-error
...
Report an error if immutables not assigned
2020-07-23 16:50:42 +02:00
chriseth
95c8f41ddf
Merge pull request #9489 from ethereum/fixStackLit
...
Fix handling of long literal arguments in the stack compressor.
2020-07-23 16:49:39 +02:00
a3d4
5b54cfbed3
Report an error if immutables not assigned
2020-07-23 16:38:54 +02:00
Harikrishnan Mulackal
bde0728b9b
Force upgrade package-lock
2020-07-23 20:05:14 +05:30
chriseth
336fe94422
Merge pull request #9426 from ethereum/smt_fix_1_tuple
...
[SMTChecker] Fix ICE in 1-tuple chain
2020-07-23 15:38:17 +02:00
chriseth
4f611fbf17
Some more tests for value.
2020-07-23 14:57:47 +02:00
chriseth
a1da90d14b
Adding more tests for function types
2020-07-23 14:55:32 +02:00
Djordje Mijovic
e7d5a7da10
[TypeChecker] Remove function input and return parameter names from mobileType
2020-07-23 14:39:49 +02:00
chriseth
8cfbe02cc0
Fix token list.
2020-07-23 14:28:28 +02:00
chriseth
fc34c81f4c
Test for long object names in optimizer.
2020-07-23 14:03:51 +02:00
Leonardo Alt
9d2a0947e9
Fix 1-tuple chain
2020-07-23 13:46:41 +02:00
chriseth
845c1ae91f
Merge pull request #9469 from ethereum/fix-9468
...
Yul fuzzer: Enable nested object references
2020-07-23 13:26:42 +02:00
chriseth
6bb6783d39
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-22 15:26:44 +02:00
Bhargava Shastry
115380ca76
Yul fuzzer: Enable nested object references
...
Co-authored-by: Đorđe Mijović <djordje.mijovic@gmail.com>
2020-07-22 14:02:41 +02:00
chriseth
0dc111bac9
Merge pull request #9463 from a3d4/improve-error-coverage-only-one-receive
...
Add "Only one receive function is allowed"-error to syntax tests
2020-07-22 10:40:49 +02:00
chriseth
8339ee4122
Merge pull request #9423 from ethereum/runtimeCodeSol2Yul
...
[Sol->Yul] Supporting .runtimeCode
2020-07-22 09:51:07 +02:00
chriseth
cb1f7a8410
Merge pull request #9235 from ethereum/yulSubObjectAccessWithDot
...
Yul sub object access with dot
2020-07-22 09:50:41 +02:00
a3d4
7e0a291fac
Add "Only one receive function is allowed"-error to syntax tests
2020-07-22 04:09:24 +02:00
Djordje Mijovic
546e9af24d
[Sol->Yul] Supporting .runtimeCode
2020-07-21 17:56:37 +02:00
Djordje Mijovic
6f97e6153c
[yul] Adding support for accessing subobjects via .
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-21 17:56:11 +02:00
Bhargava Shastry
18fbbfa5ca
Fuzzer: Count step by number of interpreted statements
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-07-21 15:38:02 +02:00
chriseth
8b7567f963
Fix merge conflicts.
2020-07-21 15:06:57 +02:00
Bhargava Shastry
4067bab7dd
Add corpus based multi source fuzzer
...
Co-authored-by: Leonardo <leo@ethereum.org>
2020-07-21 13:43:29 +02:00
chriseth
e19e4d9db1
Merge pull request #9451 from ethereum/smt_fix_push_push
...
[SMTChecker] Fix push().push()
2020-07-21 11:40:37 +02:00
chriseth
9be5ed1220
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-21 11:35:28 +02:00
a3d4
ecdfef1b30
Replace grave accent with acute accent
2020-07-21 00:18:47 +02:00
chriseth
e7f26c2320
Merge pull request #9218 from ethereum/issue-8911
...
Natspec: Implement inheritance and @inheritdoc
2020-07-20 18:44:13 +02:00
chriseth
10f93fbd8a
Merge pull request #9428 from ethereum/removeVar
...
Remove special treatment of ``var``.
2020-07-20 18:43:44 +02:00
chriseth
2c7359de1e
Merge pull request #9394 from ethereum/fix-9391
...
Yul interpreter: Return addresses of type u160 for create and create2…
2020-07-20 18:38:43 +02:00
Mathias Baumann
ba0a4de50d
NatSpec: Implement `@inheritdoc
`
2020-07-20 18:32:18 +02:00
chriseth
93c792c696
Remove special treatment of `var
`.
2020-07-20 17:22:04 +02:00
Leonardo Alt
2c93278719
Fix push().push()
2020-07-20 17:17:35 +02:00
chriseth
8bdd93f4b8
Update tests.
2020-07-20 17:17:19 +02:00
chriseth
50a54fa8aa
Implement inline arrays.
2020-07-20 17:06:32 +02:00
chriseth
ac95e98b2b
Merge pull request #9449 from ethereum/fixEnforceViaYul
...
Fix enforce via yul
2020-07-20 17:01:42 +02:00
chriseth
1c9179683e
Merge pull request #9433 from ethereum/reportAllStackErrors
...
Report all stack errors
2020-07-20 15:44:51 +02:00
chriseth
0a25370eeb
Update tests.
2020-07-20 15:40:58 +02:00
Mathias Baumann
446d15488c
Update tests for new public var override rules
2020-07-20 15:18:23 +02:00
chriseth
c8772a54c3
Constants are considered pure.
2020-07-20 15:18:23 +02:00
chriseth
d3647b13e4
Disallow public state variables overriding pure functions.
2020-07-20 15:18:23 +02:00
Mathias L. Baumann
69a596b0ff
Merge pull request #9418 from ethereum/stateMutForOverride
...
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-20 15:01:25 +02:00
chriseth
53bc0ff18e
Fix "enforce via yul".
2020-07-20 14:52:31 +02:00
Bhargava Shastry
deffb7ffc8
Yul interpreter: Return addresses of type u160 for create and create2 calls
2020-07-20 11:26:47 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
Leonardo Alt
2e1067a05a
Set type properly for event parameters
2020-07-17 11:17:27 +02:00
chriseth
ba21d26f88
Merge pull request #9344 from ethereum/issue-3412
...
Allow overrides to have a more strict mutability than super
2020-07-16 18:50:51 +02:00
Mathias Baumann
dfffecfe2c
Allow overrides to have a more strict mutability than super
2020-07-16 17:55:12 +02:00
Leonardo Alt
672633af0a
[SMTChecker] Fix ICE on compound assignment to array index
2020-07-16 17:44:10 +02:00
Daniel Kirchner
579e4b5a69
Report all stack errors in the EVM code transform.
2020-07-16 17:38:04 +02:00
chriseth
aa3f51ab47
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-16 17:19:35 +02:00
chriseth
f945163909
Merge pull request #9432 from ethereum/develop
...
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
Mathias Baumann
d3af598c49
CodeGen: Avoid double cleanup when copying to memory
2020-07-16 13:53:48 +02:00
Mathias Baumann
f47981d484
Prepare testcase for avoiding double cleanup
2020-07-16 13:53:46 +02:00
Leonardo Alt
46653b2d43
Fix ICE when bitwise operator on fixed bytes
2020-07-15 19:32:15 +02:00
chriseth
dca85a286d
Merge pull request #9398 from ethereum/eip615
...
Prefix EIP-615 opcodes with EIP615 in Instructions
2020-07-14 19:18:02 +02:00
Alex Beregszaszi
eab12ecf77
Nicer error message for private payable functions
2020-07-14 14:38:12 +01:00
chriseth
526e7b878b
Merge pull request #9403 from ethereum/string-tests
...
Add more tests for strings with unicode (escapes)
2020-07-14 13:49:06 +02:00
chriseth
f93932c259
Merge pull request #9406 from ethereum/fixSegfault
...
Fix segfault in oversized objects check in combination with var.
2020-07-14 13:30:33 +02:00
Daniel Kirchner
874f4d5447
Merge pull request #9407 from ethereum/refactorStorageSizeUpperBound
...
Refactor storageSizeUpperBound.
2020-07-14 12:17:45 +02:00
Daniel Kirchner
9c62ea182d
Fix segfault in oversized objects check in combination with var.
2020-07-14 11:23:39 +02:00
chriseth
f28bede34a
Refactor storageSizeUpperBound.
2020-07-14 10:45:02 +02:00
Harikrishnan Mulackal
f73b25bb78
Removed specialized errors related to constant state mutability
2020-07-14 12:42:47 +05:30
Alex Beregszaszi
950612cf42
Add more tests for strings with unicode (escapes)
2020-07-13 20:43:30 +01:00
Alex Beregszaszi
6a1ad7e59c
Fix formatting hex strings in isoltest update
2020-07-13 19:06:16 +01:00
Alex Beregszaszi
870ea98c21
Prefix EIP-615 opcodes with EIP615 in Instructions
2020-07-13 17:34:19 +01:00
chriseth
289fc7a9d0
Merge pull request #9371 from ethereum/refactorInterpreter
...
Refactor yul interpreter.
2020-07-13 18:27:47 +02:00
Daniel Kirchner
41710acbca
More semantic tests.
2020-07-13 18:07:11 +02:00
Daniel Kirchner
c3e13b6733
Promote gwei to a proper keyword.
2020-07-13 18:07:11 +02:00
Daniel Kirchner
38c6ecbbe2
Remove finney and szabo denominations.
2020-07-13 18:07:10 +02:00
chriseth
cf189a3285
Merge pull request #9285 from ethereum/no_dot_in_asm
...
[BREAKING] Change _slot and _offset to use dot in inline assembly
2020-07-13 17:46:39 +02:00
Daniel Kirchner
def0ebbb3e
Free variables directly after visiting RHS of Variable Declarations during EVMCodeTransform.
2020-07-13 17:36:15 +02:00
chriseth
414e3bd6fe
Merge pull request #9387 from ethereum/swapDup
...
Remove swap after dup.
2020-07-13 17:27:43 +02:00
chriseth
12f390a60a
Merge pull request #9326 from ethereum/eventOverwriting
...
[BREAKING] Disallow multiple events with same name and types.
2020-07-13 15:44:35 +02:00
chriseth
080f33a72c
Remove swap after dup.
2020-07-13 15:05:01 +02:00
chriseth
1d666335f8
Merge pull request #9367 from ethereum/wasm-dialect
...
Add ctz and popcnt to WasmDialect
2020-07-13 15:02:34 +02:00
chriseth
fc2e9ec2ff
Use .slot
and .offest
to access storage items.
2020-07-13 14:59:22 +02:00
chriseth
8eee3ed3a2
Merge pull request #9388 from ethereum/develop
...
Merge develop into breaking.
2020-07-13 14:55:21 +02:00
Djordje Mijovic
a72b0deea6
Disabling -Wsign-conversion for yul_proto_diff_custom_mutate_ossfuzz target
2020-07-13 14:01:53 +02:00
Alex Beregszaszi
8df4baac42
Implement ctz/popcnt in yulInterpreter
2020-07-13 11:18:10 +01:00
chriseth
c90d3a3558
Merge pull request #9384 from ethereum/yul-err-typo
...
Fix missing quote in error message for invalid Yul types
2020-07-13 11:28:55 +02:00
chriseth
b3566ad0d5
Merge pull request #9082 from ethereum/conversionWarnings
...
Adding `-Wsign-conversion` flag and fixing errors
2020-07-13 11:28:09 +02:00
chriseth
ab2f64f442
Disallow multiple events with same name and types.
2020-07-13 11:24:37 +02:00
Daniel Kirchner
c8f25142a7
Add nooptions label to smt checks.
2020-07-11 20:17:12 +02:00
Alex Beregszaszi
20dd66f398
Fix missing quote in error message for invalid Yul types
2020-07-10 21:06:09 +01:00
Daniel Kirchner
65ed93d99f
Merge pull request #9366 from ethereum/wasm-clz
...
Fix yulInterpreter to correctly handle i32.clz
2020-07-10 20:36:24 +02:00
Alex Beregszaszi
f5ae9c5761
Fix yulInterpreter to correctly handle i32.clz
2020-07-10 15:38:25 +01:00
a3d4
efc5ee207d
Fix internal compiler error caused by oversized objects
2020-07-10 11:39:07 +02:00
Djordje Mijovic
3781ee6349
Removing -Wsign-conversion flag for ossfuzz targets
2020-07-09 17:22:52 +02:00
Djordje Mijovic
547590b972
Fixing additional signedness errors after adding -Wsign-conversion flag
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-09 17:22:45 +02:00
Mathias Baumann
6b37f1c025
Remove visiblity of libraries in inherited contracts.
2020-07-09 16:38:29 +02:00
chriseth
82b66c7687
Merge pull request #9372 from a3d4/improve-error-coverage-cmdlinetests
...
Cover cmdlineTests.sh errors
2020-07-09 16:17:00 +02:00
chriseth
9ef050af9a
Merge pull request #9373 from ethereum/develop
...
Merge develop into breaking.
2020-07-09 16:15:43 +02:00
chriseth
2b94ced65f
Merge pull request #8305 from ethereum/fix-7947
...
yul proto fuzzer: Use custom mutation routines
2020-07-09 15:40:16 +02:00
chriseth
8b52985744
Merge pull request #9357 from ethereum/fix-9356
...
Disable more than one reference to a variable on the LHS of a tuple a…
2020-07-09 15:27:04 +02:00
chriseth
3cf5ed9514
Use plain strings for comparison.
2020-07-09 15:00:13 +02:00
chriseth
ec2393d3b6
Refactor interpreter.
2020-07-09 15:00:13 +02:00
a3d4
a068583bec
Cover cmdlineTests.sh errors
2020-07-09 14:39:05 +02:00
Bhargava Shastry
7272129354
yul fuzzer: Add framework for yul optimizer custom mutation routines
...
Co-authored-by: Leonardo <leo@ethereum.org>
2020-07-09 13:32:07 +02:00
chriseth
f3e100a000
Merge pull request #9359 from ethereum/doNotRunAllTests
...
Do not run tests that do not need options multiple times.
2020-07-08 22:19:46 +02:00
chriseth
59f4989966
Optimize combination of byte and shl.
2020-07-08 20:26:46 +02:00
chriseth
ecc4bf2464
Merge pull request #9354 from ethereum/improveTestSpeed
...
Improve testing speed by only enabling the Yul optimizer if needed.
2020-07-08 19:54:32 +02:00
chriseth
8eb459c825
Disallow dot in inline assembly identifiers.
2020-07-08 19:29:58 +02:00
chriseth
d4ecd33247
Propagate function call argument types across function call options.
2020-07-08 17:59:02 +01:00
chriseth
83337c850e
Do not run tests that do not need options multiple times.
2020-07-08 18:47:14 +02:00
chriseth
0c7e4cf16b
Merge pull request #9340 from ethereum/compileTimeSha
...
Evaluate keccak256 of string literals at compile-time.
2020-07-08 18:42:38 +02:00
chriseth
19ec9ecbfd
Merge pull request #9347 from ethereum/moretests
...
Add create & delete array tests for yul
2020-07-08 18:09:57 +02:00
chriseth
0a0f578d7c
Evaluate keccak256 of string literals at compile-time.
2020-07-08 16:14:14 +02:00
Bhargava Shastry
48ac4b2954
Disable more than one reference to a variable on the LHS of a tuple assignment
2020-07-08 13:16:07 +02:00
Mathias Baumann
f9d6fa71fd
Add create & delete array tests for yul
2020-07-08 13:10:33 +02:00
chriseth
5ebf2b84ef
Improve testing speed by only enabling the Yul optimizer if needed.
2020-07-08 10:51:42 +02:00
chriseth
64b6524bdb
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-08 09:37:14 +02:00
Kamil Śliwak
b23f7d8790
[yul-phaser] Temporarily disable very slow tests for the classic algorithm
2020-07-07 17:14:57 +02:00
chriseth
41e1e34211
Merge pull request #9180 from ethereum/noVisibilityForConstructor
...
[BREAKING] No visibility for constructor
2020-07-07 16:26:41 +02:00
Alex Beregszaszi
0bd6fb027b
Update tests
2020-07-07 13:13:58 +01:00
chriseth
ec8be81258
Merge pull request #9243 from ethereum/jumpTypesForYul
...
Jump types for yul functions.
2020-07-07 12:21:14 +02:00
chriseth
552d353430
New tests.
2020-07-07 12:16:18 +02:00
chriseth
5959d442cb
Make visibility optional, but it has to be consistent.
2020-07-07 12:16:18 +02:00
chriseth
9743390a53
Update tests.
2020-07-07 12:16:18 +02:00
Alex Beregszaszi
beb4b1d563
Fix tests on breaking
2020-07-07 10:17:58 +01:00
chriseth
d72aae20aa
Merge pull request #9321 from ethereum/multiYulAssign
...
Disallow the same yul variable occurring multiple times on the LHS of an assignment.
2020-07-07 11:07:05 +02:00
chriseth
2e9933b0de
Merge pull request #9320 from ethereum/tests_for_memory_in_external.sol
...
Tests for memory in external functions.
2020-07-07 11:05:50 +02:00
Daniel Kirchner
70615a73a4
Disallow the same yul variable occurring multiple times on the LHS of an assignment.
2020-07-07 10:52:47 +02:00
chriseth
e48d3e5847
Fix wording of error message.
2020-07-06 19:22:52 +02:00
chriseth
982a269b2b
Merge pull request #9325 from ethereum/develop
...
Merge develop into breaking.
2020-07-06 19:11:02 +02:00
chriseth
a09a791999
Merge pull request #9313 from ethereum/doesnt
...
[Trivial] Replace "doesn't" with "does not" in error message
2020-07-06 18:21:02 +02:00
chriseth
4d2b9cd38f
Jump types for yul functions.
2020-07-06 18:12:54 +02:00
chriseth
9009335b3f
Merge pull request #9319 from ethereum/noCalldataForConstructor
...
Constructors cannot have calldata parameters.
2020-07-06 17:58:23 +02:00
chriseth
c0adf2bb4c
Tests for memory in external functions.
2020-07-06 17:08:24 +02:00
chriseth
f372ba6fea
Constructors cannot have calldata parameters.
2020-07-06 16:52:51 +02:00
Alex Beregszaszi
60d4b1e8cc
Rename drop to i64.drop in WasmDialect
...
Also properly implement support for both i32.drop and i64.drop in BinaryTransform, TextTransform, and YulInterpreter
2020-07-06 15:47:17 +01:00
chriseth
375cb09341
Merge pull request #9316 from ethereum/yul-cleanup-evm
...
Tiny cleanups to EVMDialect in Yul
2020-07-06 16:14:24 +02:00
chriseth
083ef2d685
Merge pull request #9311 from a3d4/improve-large-variable-size-warning
...
Add variable name to the "Variable covers ...." warning
2020-07-06 15:31:33 +02:00
chriseth
ab68406006
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-06 15:25:25 +02:00
a3d4
5e4aeaa460
Add variable name to the "Variable covers a large part of storage ...." message
2020-07-06 13:49:09 +02:00
Mathias Baumann
8cdf14f1b3
Replace "doesn't" with "does not" in error message
2020-07-06 13:44:33 +02:00
Alex Beregszaszi
f0d256bfdb
Add test case for jumpi in inline assembly
2020-07-06 10:41:35 +01:00
Daniel Kirchner
b9b24daa8a
Merge pull request #9295 from ethereum/requireFLIR
...
Require for loop init rewriter for SSA.
2020-07-04 17:51:57 +02:00
chriseth
711ed588d7
Require for loop init rewriter for SSA.
...
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-07-03 19:24:31 +02:00
Alex Beregszaszi
0ac039e4ea
Merge pull request #9305 from ethereum/yul-dot-tests
...
Add Yul syntax tests for dots in identifiers
2020-07-03 18:18:58 +01:00
Alex Beregszaszi
889131321a
Merge pull request #9298 from ethereum/yul-evm-version-tests
...
Use different error code for various EVM features in Yul
2020-07-03 17:05:01 +01:00
a3d4
46bcac58eb
Merge pull request #9187 from a3d4/fix-storagesizeestimate
...
Fixed recursive check in structureSizeEstimate
2020-07-03 17:35:11 +02:00
Alex Beregszaszi
8b53f85e28
Add Yul syntax tests for dots in identifiers
2020-07-03 15:41:09 +01:00
a3d4
1c7a0dcbea
Add warnings for oversized subtypes
2020-07-03 15:18:02 +02:00
Alex Beregszaszi
9a94b89c48
Update and add new tests for features of different EVM version
2020-07-03 14:08:09 +01:00
Daniel Kirchner
c0ee566049
Merge pull request #9293 from ethereum/yul-restrict-linkersymbol-to-object-dialect
...
[Yul] Restrict `linkersymbol` to object dialect and add missing changelog entries
2020-07-03 11:37:21 +02:00
chriseth
3d96e2b11a
Merge pull request #9257 from ethereum/yul-in-memory-struct-creation
...
Yul: Implement memory struct allocation
2020-07-02 17:03:46 +02:00
Mathias Baumann
50373ac1b0
Yul: Implement memory struct allocation
2020-07-02 16:37:20 +02:00
Kamil Śliwak
356b9a7904
Restrict linkersymbol
builtin to object dialect of Yul
2020-07-02 14:41:40 +02:00
a3d4
c2e1273ff4
Fixed recursive check in structureSizeEstimate
2020-07-02 04:14:58 +02:00
Leonardo Alt
5517e817d5
Do not trust code of external functions
2020-07-01 18:20:46 +02:00
Leonardo Alt
5160f89c1b
[SMTChecker] Support to external calls to unknown code
2020-07-01 18:20:33 +02:00
chriseth
1ec1166a27
Merge pull request #9277 from a3d4/improve-docstringparser-error-coverage
...
Add a missing DocStringParser error to tests
2020-07-01 18:17:09 +02:00
chriseth
3d602b3190
Merge pull request #9271 from ethereum/sloadKnowledge
...
[Yul Optimizer] Make DataFlowAnalyzer aware of storage / memory slot after sload / mload
2020-07-01 13:46:10 +02:00
chriseth
e0b1d8b9bd
Make DataFlowAnalyzer aware of storage / memory slot after sload / mload.
2020-07-01 13:45:25 +02:00
chriseth
ea46636ad2
Merge pull request #9281 from ethereum/fix-6772
...
Fuzzer: Add a specialized StackTooDeepError Exception that is caught …
2020-07-01 11:47:35 +02:00
Bhargava Shastry
1a0391bceb
Fuzzer: Add a specialized StackTooDeepError Exception that is caught in the fuzzing harness
2020-07-01 11:08:20 +02:00
a3d4
acd42a08c1
Add a missing DocStringParser error to tests.
2020-07-01 04:42:37 +02:00
Bhargava Shastry
b82590322c
yul proto fuzzer: Remove assertion that no errors/warnings while parsing yul code
2020-06-30 21:46:38 +02:00
chriseth
3e3f9a472f
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-30 18:56:51 +02:00
Bhargava Shastry
d0ea1f97fd
Yul interpreter: Return selfbalance constant for the expression
...
balance(address()) and balance constant otherwise.
2020-06-30 16:59:13 +02:00
chriseth
76943023bd
Merge pull request #9267 from ethereum/issue-8911-split
...
NatSpec: Implement default inheritance.
2020-06-30 15:16:14 +02:00
Mathias Baumann
c50f0ae00e
NatSpec: Implement default inheritance.
2020-06-30 14:45:13 +02:00
Harikrishnan Mulackal
eeadb5a6b5
Tests, Docs and Changelog
2020-06-30 16:53:41 +05:30
chriseth
49e3217933
Merge pull request #9230 from ethereum/issue-8716
...
Add unit denomination ``gwei``
2020-06-30 12:36:10 +02:00
Mathias Baumann
fe33891531
Natspec: Add warning when using @author
with functions
2020-06-29 18:10:36 +02:00
chriseth
a1309e4c5f
Merge pull request #9011 from ethereum/natspec-event
...
NatSpec for events
2020-06-29 17:14:00 +02:00
Kamil Śliwak
3f3f8adcb8
CommandLineInterface: In error message about options disallowed in assembly mode only include the names of actually used options
2020-06-29 15:23:13 +02:00
Harikrishnan Mulackal
4146ff9fcf
NatSpec for events
2020-06-26 15:06:43 +05:30
Mathias Baumann
02328f3bbb
Add unit denomination `gwei
`
2020-06-24 18:24:56 +02:00
Kamil Śliwak
a331d4449d
Add linkersymbol() builtin to Yul EVM dialect
2020-06-24 15:06:52 +02:00
Kamil Śliwak
1b09b4f950
Allow Yul literals longer than 32-bytes when used as literal arguments for builtins
2020-06-24 15:05:38 +02:00
chriseth
af0cd4ab98
Merge pull request #9252 from ethereum/develop
...
Merge develop into breaking.
2020-06-23 18:28:24 +02:00
Bhargava Shastry
0397266351
Implement multi source semantic tests
...
Co-authored-by: chriseth <chris@ethereum.org>
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-23 17:29:16 +02:00
chriseth
e419e904d3
Merge pull request #9215 from a3d4/fix-grammar-pragma-version
...
Fix pragma solidity version in antlr grammar
2020-06-23 12:34:29 +02:00
a3d4
25ebff3a38
Fix pragma solidity version in antlr grammar
2020-06-23 02:25:21 +02:00
chriseth
d67734df6f
Fix error IDs.
2020-06-22 18:56:32 +02:00
chriseth
1441b97131
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-22 18:40:20 +02:00
chriseth
98e5923e3a
Do now disallow assigning to external parameters.
2020-06-22 18:36:32 +02:00
a3d4
1d2ae7d82a
Added error codes to SyntaxTest expectations (changed code)
2020-06-22 16:53:03 +02:00
a3d4
e04cedafc5
Added error codes to SyntaxTest expectations (updated tests)
2020-06-22 16:51:47 +02:00
chriseth
cd2cc76f20
Modules are pure.
2020-06-18 18:28:04 +02:00
chriseth
b00014c51d
Fix source location of yul multi-assignemnt.
2020-06-18 14:31:53 +02:00
chriseth
76468f19fe
Check if using for refers to a library earlier.
2020-06-17 17:45:40 +02:00
chriseth
71cb7551f4
Merge pull request #9208 from ethereum/develop
...
Merge develop into breaking.
2020-06-16 16:11:41 +02:00
Kamil Śliwak
50b426e37b
Update the expected output of command-line tests after wasm changes
2020-06-16 15:36:47 +02:00
chriseth
8e23899886
Merge pull request #9188 from ethereum/refactorNameAndType
...
Refactor name and type resolution in preparation for free functions.
2020-06-16 14:26:52 +02:00
a3d4
5d63fa09e9
Fix false ////- and /***-natspec
2020-06-16 11:15:04 +02:00
chriseth
4b3ae0b206
Merge pull request #9075 from ethereum/commandline-invalid-asm-mode-options
...
Disallow invalid command-line option combinations in assembly mode
2020-06-15 17:33:12 +02:00
chriseth
cc23794575
Merge pull request #8858 from ethereum/fix-8857
...
Add more tests for yul cleanup codegen
2020-06-15 17:18:50 +02:00
Kamil Śliwak
4bd078ed7e
CommandLineInterface: Disallow --output-dir, --gas and --combined-json in assembly mode
2020-06-15 17:12:51 +02:00
Kamil Śliwak
0d7b3ae503
CommandLineInterface: Disallow --yul-dialect and --machine when not in assembly mode
2020-06-15 17:12:51 +02:00
chriseth
8155ad2187
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-15 17:11:41 +02:00
Mathias Baumann
d54e7f50ed
Natspec: Output "type" and "version" in documenation
2020-06-15 14:53:34 +02:00
chriseth
b4c6fdb1ed
Merge pull request #8749 from aarlt/structured-docs-variables-aarlt-breaking
...
[BREAKING] Allow NatSpec comments for state variables.
2020-06-15 14:47:29 +02:00
Leonardo Alt
3c4e286390
[SMTChecker] Replace wrap mod by slack vars
2020-06-12 14:57:21 +02:00
chriseth
07c1167136
Refactor name and type resolution.
2020-06-12 12:18:02 +02:00
Bhargava Shastry
9264135bef
Add tests to validate clearing dirty bits via inline assembly operations
2020-06-12 11:32:15 +02:00
chriseth
0689cda19a
Merge pull request #9116 from ethereum/solYulCleanupFromStorageReference
...
New test for getters.
2020-06-11 14:08:10 +02:00
chriseth
012ba9537b
Merge pull request #9184 from ethereum/fixUsingForStorage
...
Fix using for with explicit reference types.
2020-06-11 14:00:28 +02:00
chriseth
c42373dce4
Merge pull request #9142 from ethereum/wasm-support-for-i32-in-generated-code
...
Add support for types in Wasm AST and code generation
2020-06-11 13:59:44 +02:00
chriseth
5c71b3fbb0
Merge pull request #9173 from ethereum/fixBoundCalldata
...
Fix bound functions with calldata parameters.
2020-06-11 13:31:30 +02:00
chriseth
549c90612c
Fix using for with explicit reference types.
2020-06-11 13:04:41 +02:00
Daniel Kirchner
73cd009b89
Fix struct allocation in Sol->Yul.
2020-06-11 12:16:45 +02:00
chriseth
d4e3491f35
Merge pull request #9177 from ethereum/fixYulStructMemberAccess
...
[Sol -> Yul] Fix struct member access for memory and implement for calldata.
2020-06-11 09:41:04 +02:00
Kamil Śliwak
e67f5072df
Add support for generating code with i32 variables in text and binary wasm
2020-06-11 02:44:23 +02:00
Leonardo
d7f29a33b9
Merge pull request #9096 from ethereum/conversionWarningsLibSol
...
Adding fixes for signedness warnings in libsolidity
2020-06-11 01:06:32 +02:00
Daniel Kirchner
90b66a7362
Fix struct member access for memory and implement for calldata.
2020-06-10 20:01:30 +02:00
chriseth
baabe65a84
Fix bound functions with calldata parameters.
2020-06-10 17:37:59 +02:00
chriseth
2410f0ed5a
Merge pull request #9135 from ethereum/fixReturnParameterLocation
...
Fixing ICE on calling externally a function that returns calldata pointers
2020-06-10 16:44:38 +02:00
Djordje Mijovic
e73fe17277
Fixing ICE on calling externally a function that returns calldata pointers
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-06-10 14:41:45 +02:00
a3d4
51e64fe0b1
Add error IDs to console output
2020-06-10 13:27:25 +02:00
a3d4
b17915a6ba
Add error IDs to JSON
2020-06-10 13:26:51 +02:00
chriseth
6b3171c38b
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-10 11:30:50 +02:00
Djordje Mijovic
c6e4943089
Adding fixes for signedness warnings in libsolidity
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-10 10:41:55 +02:00
chriseth
81f54a170b
Cleanup from storage.
2020-06-09 14:57:04 +02:00
Harikrishnan Mulackal
d8263d331e
Ignore warnings for yulOptimizer tests
2020-06-09 13:03:57 +02:00
Harikrishnan Mulackal
73e634924e
Warn on YUL switch statement with only default statement
2020-06-09 12:32:53 +02:00
chriseth
2724ce9511
Index access to fixed bytes and byte arrays.
2020-06-09 10:50:28 +02:00
Leonardo
1e8e0ebd13
Merge pull request #9140 from ethereum/wasm-binary-fix-memory-immediate-alignment
...
Fix wrong alignment for Wasm store/load with 8-, 16- and 32-bit arguments
2020-06-09 10:42:21 +02:00
Leonardo Alt
f49e2424b2
[SMTChecker] Erase knowledge when array variable is pushed
2020-06-08 10:23:06 +02:00
Kamil Śliwak
fe0a0802b2
wasm/BinaryTransform: Fix wrong alignment for .load/.store with arguments smaller than 64-bits
2020-06-06 00:00:46 +02:00
Kamil Śliwak
976a0f9395
wasm/BinaryTransform: Don't add an empty local entry in binary wasm if there are no locals
2020-06-05 21:03:06 +02:00
Leonardo
d243f5baac
Merge pull request #9045 from ethereum/smt_fix_tuple
...
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 14:21:32 +02:00
Leonardo
731e6466a0
Merge pull request #9067 from ethereum/smt_fix_fp_again
...
[SMTChecker] Fix BMC targets with FP
2020-06-05 12:39:28 +02:00
Daniel Kirchner
0fed2518fc
Merge pull request #9115 from ethereum/moreTestsForGetters
...
More tests for getters.
2020-06-05 12:34:47 +02:00
Leonardo Alt
87ceb72b82
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 12:20:47 +02:00
Djordje Mijovic
9b3d1c11ff
yul-phaser: A few more tweaks to ensure that signedness conversions do not cause warnings
...
- Don't cast booleans to int when the result gets assigned to an unsigned type. Relace them with ifs.
- Use unsigned initializer for a variable declared in a lambda capture.
- Unsigned abs() of a difference of unsigned values.
2020-06-04 17:18:07 +02:00
Djordje Mijovic
a49a127627
yul-phaser: Use ptrdiff_t for iterator arithmetic
2020-06-04 17:17:40 +02:00
chriseth
f97b376f7e
Merge pull request #9040 from ethereum/yulproto-remove-pc
...
ossfuzz: Remove PC from yul proto specification
2020-06-04 10:19:26 +02:00
chriseth
259292c884
Merge pull request #9118 from ethereum/develop
...
Merge develop into breaking.
2020-06-04 10:18:46 +02:00
chriseth
010a2246c7
More tests for getters.
2020-06-03 21:47:24 +02:00
chriseth
6b5f83cdfa
Merge pull request #9058 from ethereum/memberAccessSolYul
...
[Sol->Yul] Member access for structs.
2020-06-03 21:19:49 +02:00
chriseth
f38e3a3574
Merge pull request #9056 from ethereum/solYulGetters
...
[Sol->Yul] Implement getters.
2020-06-03 19:08:15 +02:00
chriseth
59fc88ca17
Merge pull request #9092 from ethereum/libEvmasmConversionWarnings
...
Fixing signedness conversion warnings in libevmasm
2020-06-03 18:46:49 +02:00
chriseth
5024985708
Merge pull request #9074 from ethereum/commandline-fix-wasm-crash-if-no-dialect
...
Fix ICE when selecting assembly variant with no Ewasm translation
2020-06-03 14:24:41 +02:00
chriseth
d12db7ec52
Merge pull request #8994 from ethereum/fixInvertedBinaryOp
...
Fix type inversion for shift and exp operators.
2020-06-03 14:11:16 +02:00
chriseth
1f49edd29d
Merge pull request #9039 from ethereum/yul-remove-pc-instr
...
[Yul] remove PC instruction
2020-06-03 14:10:35 +02:00
Mathias Baumann
6f8b5fe53b
Disallow override with non-public state variables
2020-06-03 14:03:26 +02:00
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
...
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
chriseth
a6c773bd96
Fix type inversion for shift and exp operators.
2020-06-03 13:46:26 +02:00
Djordje Mijovic
e4e3f49844
Fixing signedness conversion warnings in libevmasm
...
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-06-03 13:25:43 +02:00
Christian Parpart
9820df58ab
Remove Yul instruction PC and adapt tests accordingly.
2020-06-03 12:49:23 +02:00
Christian Parpart
c708a1bec2
AsmAnalysis: Fixes a superfluous whitespace in an error string
2020-06-03 12:23:06 +02:00
chriseth
849b16babb
Merge pull request #9095 from ethereum/conversionWarningsLibSolUtil
...
Adding fixes for signedness warnings in libsolutil
2020-06-03 11:10:54 +02:00
chriseth
ebf5a8702f
Merge pull request #9078 from a3d4/fix-tabs-in-formatter
...
Fix tabs in SolcReferenceFormatterHuman
2020-06-03 11:07:39 +02:00
chriseth
e7f3c042b6
Struct member access for storage and memory.
2020-06-03 10:37:39 +02:00