Commit Graph
19089 Commits
Author SHA1 Message Date
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
ssi91andKamil Śliwak 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
hrkrshnn 1a6f0fe52f Disallow declarations to have names "this", "super" and "_".
There will be a declaration error 3726 if these names are used in the contract. Note that there is
an existing warning about shadowing a built-in for "this" and "super".
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