Commit Graph
5473 Commits
Author SHA1 Message Date
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
chrisethandKamil Śliwak 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