Commit Graph

19192 Commits

Author SHA1 Message Date
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
hrkrshnn
cf6fe5a777 NameDispenser: Added three public functions.
The private function `illegalName` was converted into a public function.

A new public getter function `usedNames()` returns a reference to `m_usedNames`.

A public function reset that would change all `m_usedNames` to *only* the names that are used in the
AST. Also resets the counter. This will be used before the final NameSimplifier step in the
optimization phase.

The first two functions were added so that `NameSimplifier` could use it instead of traversing the AST
using `NameCollector` to find used names.
2020-11-30 14:02:57 +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
chriseth
a5a560e163
Merge pull request #10417 from ethereum/onlyClearForAssignment
DataFlowAnalyzer: Only clear known values for assignment.
2020-11-30 12:02:28 +01:00
chriseth
75b1624180
Merge pull request #10404 from ethereum/ewasm-eq-simplify
[ewasm] Change eq() in polyfill to branch-less version
2020-11-30 11:54:45 +01: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
chriseth
45307a24d6
Merge pull request #10416 from ethereum/speedUpByMovingAssertion
Superspeed.
2020-11-30 11:35:20 +01:00
Leonardo
84ff925de4
Merge pull request #10431 from Jaime-Iglesias/issue-10284
[docs] Add clarification to struct initialization in previous versions
2020-11-30 11:12:42 +01:00
Jaime
34816206a5 docs - add clarification to struct initialization in previous versions 2020-11-28 20:26:54 +00:00
Kamil Śliwak
656cb810a4
Merge pull request #10409 from ssi91/not-serialized-json-fields
[BREAKING] do not serialize fields abi, devdoc, userdoc and storage-layout
2020-11-28 21:18:16 +01:00
ssi91
b5dc62c47b do not serialize fields abi, devdoc, userdoc and storage-layout
add changelogs

Apply suggestions from code review

Co-authored-by: Kamil Śliwak <cameel2@gmail.com>
2020-11-28 17:51:06 +07:00
Alex Beregszaszi
06af2fb38a [ewasm] Change eq() in polyfill to branch-less version 2020-11-27 22:47:55 +00:00
Kamil Śliwak
887569efd5
Merge pull request #10339 from ethereum/update-circleci-config
[ci] .circleci/config.yml: use docker images containing hera v0.3.2.
2020-11-27 20:07:05 +01: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
Alex Beregszaszi
e64bf748f2
Merge pull request #10425 from ethereum/update-hera-in-buildpacks
buildpack-deps: Update hera to 0.3.2.
2020-11-27 18:22:50 +00:00
Alexander Arlt
3c7dd8d9b0 [ci] .circleci/config.yml: use docker images containing hera v0.3.2. 2020-11-26 19:40:24 -05:00
Alexander Arlt
46844d433d buildpack-deps: Update hera to 0.3.2. 2020-11-26 18:28:17 -05:00
Alexander Arlt
81b769b844 [ci] docker_upgrade.sh: use of environment files. 2020-11-26 18:28:17 -05:00
Kamil Śliwak
46f638e54e
Merge pull request #10421 from ssi91/fix-getters-test
pass a literal with correct length
2020-11-26 23:33:24 +01:00
ssi91
e7165f3a9c pass a literal with correct length
mark a test as Yul-based
2020-11-27 04:02:48 +07:00
chriseth
21c35924df Only clear for assignment. 2020-11-26 18:32:13 +01:00
chriseth
111eaa1e9b Superspeed. 2020-11-26 17:38:01 +01:00
chriseth
e8843fe1d3
Merge pull request #10414 from ethereum/noEmptyStableRun
Abort early if the optimizer sequence is empty.
2020-11-26 17:16:21 +01:00
chriseth
ac9b31d623 Abort early if the optimizer sequence is empty. 2020-11-26 16:41:20 +01: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
chriseth
39adbfc0cc
Merge pull request #10391 from ethereum/activateNestedArrayCopyingCalldata2Memory
Support copying of nested calldata arrays to memory.
2020-11-26 12:41:53 +01:00
Djordje Mijovic
26d454d8a8 Using auto to avoid type name duplication. 2020-11-26 12:13:32 +01:00
Djordje Mijovic
565d0cd4eb Support copying of nested calldata arrays to memory. 2020-11-26 12:13:29 +01:00
chriseth
101260943a
Merge pull request #10407 from ethereum/calldataStructArrayMemberAccessSol2Yul
[Sol->Yul] Implementing member access to arrays in calldata structs.
2020-11-26 11:59:06 +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
b283a2f894
Merge pull request #10400 from ethereum/fixAbiCoderV2Pragmas
Fixing pragmas to abicoder v2.
2020-11-25 14:45:54 +00: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
chriseth
af72791dd8
Merge pull request #10363 from ethereum/drop-legacy-ast
[BREAKING] Remove the legacy AST JSON output
2020-11-25 13:37:44 +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
chriseth
38f143c597
Merge pull request #10255 from ethereum/this-super-underscore-reserved-identifiers
[BREAKING] Disallow declarations with name "this", "super" and "_"
2020-11-25 11:55:58 +01:00
hrkrshnn
a834476de6 Tests/Docs after disallowing super, this and _ as declaration names 2020-11-25 11:14:13 +01:00