Commit Graph

4379 Commits

Author SHA1 Message Date
chriseth
eb923af09c Do not set source locations for small internal assembly routines. 2020-05-27 18:26:46 +02:00
chriseth
894478ff8c
Merge pull request #9038 from ethereum/develop
Merge develop into breaking.
2020-05-27 15:24:27 +02:00
chriseth
a06ac0f39f
Merge pull request #8958 from ethereum/evm-version-dependent-rules
[yul] Add support for EVM version-dependent rules.
2020-05-27 12:52:51 +02:00
chriseth
afa873fe9f
Merge pull request #8913 from ethereum/yul-remove-pc-instr
Mark EVM instruction `pc()` as deprecated when used in inline assembly.
2020-05-27 12:10:32 +02:00
Christian Parpart
b7fa5d5040 Mark EVM instruction pc() as deprecated when used in inline assembly. 2020-05-27 12:07:23 +02:00
Alexander Arlt
a7b89065ca [yul] Add support for EVM version-dependent rules. 2020-05-27 11:57:08 +02:00
chriseth
1bf706085d Merge pull request #9030 from ethereum/issue-8923
Fix ICE when trying to decode too large static arrays
2020-05-27 11:45:39 +02:00
chriseth
0aa3fb5026
Merge pull request #9014 from ethereum/sol-yul-abidecode
[Sol - Yul] Add support for ABIDecode.
2020-05-27 11:44:13 +02:00
chriseth
f066050ec0 Merge pull request #9024 from ethereum/namableTypes
Disallow non-namable types for inline arrays.
2020-05-27 09:21:07 +02:00
Kamil Śliwak
f574d8ec3a Don't assume that an expression cannot be associated with a function declaration 2020-05-27 00:05:18 +02:00
Alexander Arlt
118cb13476 [Sol - Yul] Add support for ABIDecode. 2020-05-26 13:30:37 -05:00
Mathias Baumann
884e7cbffc Fix ICE when trying to decode too large static arrays 2020-05-26 19:36:18 +02:00
chriseth
d0b6de580f Disallow non-namable types for inline arrays. 2020-05-26 18:17:35 +02:00
chriseth
50b200a5d5
Merge pull request #8797 from ethereum/sol-yul-populating-internal-dispatch-on-demand
[Sol->Yul] Populating internal dispatch on demand
2020-05-26 18:17:05 +02:00
Mathias Baumann
b3cafe4583 Fix ICE by avoiding copyForLocation() on ArraySliceType 2020-05-26 17:27:46 +02:00
Kamil Śliwak
1a2e441bc5 Generate internal dispatch only for functions that might actually get called via pointers
- This also adds support for internal library calls as a side-effect since they'll now be pulled into the internal dispatch automatically.
2020-05-26 17:01:50 +02:00
chriseth
c5dbcc9853
Merge pull request #9018 from ethereum/fixLeave
Fix implementation of leave.
2020-05-26 11:35:47 +02:00
chriseth
33450619b1 Checks for uninitialized access to calldata variables. 2020-05-26 10:51:13 +02:00
chriseth
fb40a8abb8 Test updates. 2020-05-26 10:51:13 +02:00
chriseth
99194b1450 New tests. 2020-05-26 10:51:13 +02:00
chriseth
bd64e537cb Fix implementation of leave. 2020-05-26 10:24:01 +02:00
Djordje Mijovic
4c3e78d046 Disallowing shifts by signed types 2020-05-26 10:18:21 +02:00
chriseth
69a028b49c Merge remote-tracking branch 'origin/develop' into breaking 2020-05-26 10:11:23 +02:00
chriseth
370350da07
Merge pull request #9008 from ethereum/smt_add_test
[SMTChecker] Add test that has an unused mapping
2020-05-25 17:04:54 +02:00
chriseth
6d64095ccf
Merge pull request #8987 from ethereum/sol-yul-bound-functions
[Sol->Yul] Bound functions
2020-05-25 16:53:33 +02:00
chriseth
8e31c345a8
Merge pull request #8978 from ethereum/disturbance_stack
Add proper unipmlemented errors for array copying
2020-05-25 15:34:45 +02:00
Mathias Baumann
7f3d437ffe Fix caret position for errors with utf source 2020-05-25 14:27:03 +02:00
Mathias Baumann
d45bb2aa07 Add proper unipmlemented errors for array copying 2020-05-25 10:48:42 +02:00
Leonardo Alt
0fda5fe077 [SMTChecker] Add test that has an unused mapping 2020-05-25 10:24:48 +02:00
a3d4
a499ef16fa Fix spelling errors 2020-05-25 02:54:37 +02:00
Kamil Śliwak
4a2ce57bed Add support for bound function calls in IR generator 2020-05-20 21:10:20 +02:00
chriseth
74b9b094c0 Merge remote-tracking branch 'origin/develop' into HEAD 2020-05-20 17:22:47 +02:00
chriseth
32bec6b374
Merge pull request #8800 from ethereum/natspec-bugfix
[BREAKING] NatSpec bugfix
2020-05-20 17:21:15 +02:00
chriseth
ed0f2d463f
Merge pull request #8453 from imapp-pl/configurable-code-size-metric
Configurable CodeSize metric
2020-05-20 17:15:41 +02:00
hrkrshnn
37257548d0 Fixed bug when two empty NatSpec comments led to scanning past EOL 2020-05-20 20:26:02 +05:30
Kamil Śliwak
1fa689e951 [yul-phaser] ProgramCache::calculateTotalCachedCodeSize(): Replace default weights with ones that better correlate with memory usage 2020-05-20 16:47:23 +02:00
Kamil Śliwak
b776021870 [yul-phaser] Command-line options for altering weights used by CodeSize metric 2020-05-20 16:47:23 +02:00
Kamil Śliwak
40dfac7683 [yul-phaser] Require specifying weights for Program::codeSize() 2020-05-20 16:47:23 +02:00
Kamil Śliwak
d199fc537b Add configurable weights to CodeSize metric 2020-05-20 16:47:23 +02:00
Leonardo
56b5f1bb12
Merge pull request #8976 from ethereum/libsmtutil
libsmtutil
2020-05-20 16:14:37 +02:00
hrkrshnn
4a001d568e Removed null members from JSON output 2020-05-20 16:56:33 +05:30
chriseth
84092edc5d
Merge pull request #8914 from random-internet-cat/down-with-unique-ptr
Down with unique_ptr!
2020-05-20 13:22:06 +02:00
Leonardo Alt
45eba27424 Rename namespace 2020-05-20 12:55:18 +02:00
Leonardo Alt
802d66244d Do not link unnecessarily 2020-05-20 12:55:18 +02:00
Leonardo Alt
087605ea02 Create libsmtutil 2020-05-20 12:55:18 +02:00
chriseth
30278c4b88
Merge pull request #8985 from ethereum/fixWasmLoops
Fix webassembly loops by adding explicit break at the end.
2020-05-20 11:08:24 +02:00
chriseth
3c71412a47
Merge pull request #8988 from ethereum/isoltest_default_formatting
[isoltest] Improve parameter formatting.
2020-05-20 08:05:33 +02:00
Alexander Arlt
410986e00f [isoltest] Improve parameter formatting. 2020-05-19 19:13:39 -05:00
chriseth
4e9f6c3508 Fix webassembly loops by adding explicit break at the end. 2020-05-19 22:16:16 +02:00
chriseth
22d5caa979
Merge pull request #8532 from aarlt/structured-docs-variables-aarlt
Allow NatSpec comments for state variables
2020-05-19 19:26:35 +02:00
chriseth
d422a406ba
Merge pull request #8983 from ethereum/develop
Merge develop into breaking.
2020-05-19 18:05:28 +02:00
Kamil Śliwak
16e80b7bcd Test case for internal dispatch with functions that have arguments that take up multiple slots 2020-05-19 18:02:14 +02:00
Alexander Arlt
af8bb5fb60 Allow natspec comments on state variables. 2020-05-19 11:01:52 -05:00
Erik Kundt
7d37ed4531 Adds structured docs for variable declarations.
- adds natspec generation for state variables.
- exports structured docs for state variables to JSON.
2020-05-19 11:01:52 -05:00
Djordje Mijovic
bd64b971b9 Fixing tests on breaking branch. 2020-05-19 17:42:19 +02:00
chriseth
f70ff0dfaa
Merge pull request #8977 from ethereum/mapping-type-error
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 16:52:54 +02:00
Harikrishnan Mulackal
774edd4670 Error when Mapping type in (non-local) storage is assigned to 2020-05-19 19:12:38 +05:30
chriseth
3b27b4347c
Merge pull request #8916 from ethereum/smt_array_push_pop
[SMTChecker] Support array push/pop
2020-05-19 15:41:10 +02:00
chriseth
3211e22045
Merge pull request #8979 from ethereum/doc-json
[Trival] Test: Output JSON AST as array when it involves multiple sources
2020-05-19 15:29:24 +02:00
chriseth
3275243c89
Merge pull request #8898 from mijovic/sol2YulByteArrayPush
[Sol->Yul] Implementing ByteArray push() and pop()
2020-05-19 15:28:01 +02:00
Djordje Mijovic
d235d0c166 [Sol->Yul] Implementing Byte array push() and pop() 2020-05-19 14:47:00 +02:00
Mathias Baumann
5a7217b90e Test: Output JSON AST as array when it involves multiple sources 2020-05-19 14:26:08 +02:00
Leonardo Alt
1ab6ad79d8 Update test expectation 2020-05-18 16:59:31 +02:00
Leonardo Alt
2435ab938c Add verification target for empty pop 2020-05-18 16:35:56 +02:00
Leonardo Alt
d4d26c02e4 Assume that push will not overflow 2020-05-18 16:35:56 +02:00
Jason Cobb
63ad1092cd
Add comment to filenames in boostTest.cpp 2020-05-18 10:24:38 -04:00
chriseth
f92a4f1965 Provide runtime object in Yul mode. 2020-05-18 13:48:23 +02:00
Harikrishnan Mulackal
4a291f8551 Changelog and test 2020-05-18 12:36:01 +05:30
Leonardo Alt
07bb1952a7 Test updates 2020-05-14 23:32:30 +02:00
Leonardo Alt
a0c605aa85 [SMTChecker] Support array length 2020-05-14 23:32:29 +02:00
chriseth
2d1e7d9504
Merge pull request #8931 from random-internet-cat/lazy-init
Add LazyInit
2020-05-14 18:54:19 +02:00
chriseth
7ef114db9a
Merge pull request #8841 from ethereum/sol_yul_ripemd160_ecrecover
[Sol - Yul] Add support for ripemd160 & ecrecover.
2020-05-14 18:43:55 +02:00
Alexander Arlt
91e9d54c71 [Sol - Yul] Add support for ripemd160 & ecrecover. 2020-05-14 10:44:39 -05:00
Jason Cobb
a093962115
Add tests 2020-05-14 11:27:56 -04:00
chriseth
993a7941b1 Merge remote-tracking branch 'origin/develop' into breaking 2020-05-14 17:24:40 +02:00
Jason Cobb
26406e40d0
Add empty LazyInit test suite 2020-05-14 10:49:31 -04:00
Jason Cobb
24dfa89ee7
Use LazyInit for cached contract compilations 2020-05-14 10:36:58 -04:00
chriseth
b71a3f1f1d
Merge pull request #8939 from ethereum/updateZ3
Update z3 to version 4.8.8.
2020-05-14 16:36:49 +02:00
chriseth
1b86f27002
Merge pull request #8935 from ethereum/moveScopesIntoResolver
Move scopes into resolver.
2020-05-14 14:20:58 +02:00
Daniel Kirchner
0303902173 Update smt test expectations. 2020-05-14 14:12:01 +02:00
chriseth
e751a1c23d Move scopes into resolver. 2020-05-14 13:16:47 +02:00
chriseth
257bc6a416 Merge remote-tracking branch 'origin/develop' into breaking 2020-05-14 13:04:46 +02:00
Djordje Mijovic
472fb21ee0 [Sol->Yul] Enabling new bytes(n) 2020-05-14 12:55:14 +02:00
chriseth
6308ca4a22 Binary transform for br and br_if. 2020-05-14 11:30:19 +02:00
chriseth
504b8d29c9
Merge pull request #8907 from ethereum/licenseIdentifier
Check for SPDX license identifiers.
2020-05-14 01:21:24 +02:00
Alex Beregszaszi
c9745ea101 EVMHost: enable support for Berlin 2020-05-13 22:56:11 +01:00
Alex Beregszaszi
7353804252 EVMHost: simplify code using new evmc features 2020-05-13 22:56:11 +01:00
Alex Beregszaszi
098cfd333f Update EVMC to 7.2.0 2020-05-13 22:29:35 +01:00
chriseth
1700bdc4ad
Merge pull request #8925 from ethereum/abiEncodeCalldataSlice
Allow abi encoding array slices without casting.
2020-05-13 18:55:16 +02:00
Daniel Kirchner
97296d8622 Allow ABI encoding for array slices without explicit casts. 2020-05-13 18:20:07 +02:00
Alexander Arlt
af44c05f1a Add new test. 2020-05-13 18:16:59 +02:00
Alexander Arlt
52b9a92ff8 Update existing tests. 2020-05-13 18:16:59 +02:00
chriseth
3872a1f000 Add support for SPDX license identifiers. 2020-05-13 18:16:59 +02:00
Mathias Baumann
820fdd9bf7 Escape backslashes when formatting 2020-05-13 17:08:37 +02:00
chriseth
e9446475bb
Merge pull request #8924 from ethereum/arraySliceBug
Fix array slice bug.
2020-05-13 16:06:28 +02:00
Daniel Kirchner
6f04664cfa Disallow array slicing for arrays with dyanmically encoded base types. 2020-05-13 15:52:22 +02:00
chriseth
aca700497c
Merge pull request #8903 from ethereum/exponentiation-bug
Fix exponentiation bug
2020-05-13 15:49:23 +02:00
Harikrishnan Mulackal
47e9a13e8a Fix exponentiation bug 2020-05-13 13:53:06 +05:30
chriseth
b2122d479f
Merge pull request #8915 from a3d4/partfix-5819-remove-erroroccurred-flag
Remove a dedicated error flag from DeclarationTypeChecker and other classes
2020-05-12 20:18:33 +02:00
a3d4
02d1f8c41a Remove a dedicated error flag from DeclarationTypeChecker 2020-05-12 18:13:17 +02:00