Commit Graph

5211 Commits

Author SHA1 Message Date
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
Alex Beregszaszi
d22434ee57 Change ABIEncoderV1 to not pad empty strings 2020-12-01 14:32:18 +00: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
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
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
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
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
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
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
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
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