Commit Graph
288 Commits
Author SHA1 Message Date
chriseth f271dfa2e2 Yul codegen for .selector. 2020-04-16 13:42:58 +02:00
chriseth 06adbc2c59 Implement bit operations. 2020-04-16 00:33:45 +02:00
Daniel Kirchner 0c5c93f3c2 Fix tuple assignments for empty tuples in Yul IR. 2020-04-15 11:10:52 +02:00
Christian Parpart d00d3c45b1 [Sol2Yul] Implements codegen part for try/catch statements. 2020-04-14 18:42:37 +02:00
Leonardo Alt 39ff0deb05 Zero initialize memory arrays 2020-04-02 15:55:18 +02:00
chriseth 2853cba3e5 Fix call to internalDispatch. 2020-04-01 12:13:32 +02:00
chriseth 173f234860 Refactor: Replace inheritance hierarchy by most derived contract. 2020-03-26 18:27:39 +01:00
Leonardo Alt 0fcb1427c9 Fix Yul codegen when dynamic array is used as rhs of assignment 2020-03-20 17:52:51 +01:00
Djordje Mijovic 96d278b101 [Sol->Yul] Adding slicing for call data arrays 2020-03-13 13:40:38 +01:00
chriseth fa148f2483 Parsing of immutable state variable. 2020-03-12 17:11:24 +01:00
chriseth 6a896f766a Function call options for YulIR. 2020-03-10 22:38:11 +01:00
Christian Parpart 988bd6780b Merge pull request #8414 from ethereum/sol2yul-func-type-conversion
[Sol2Yul] Implements function-to-function cast.
2020-03-09 11:31:44 +01:00
Christian Parpart c8cbb98002 [Sol2Yul] Fixes appendExternalFunctionCall for argumentStrings.size() == 0. 2020-03-09 10:30:07 +01:00
Djordje Mijovic 092827b7ad Adding sol->yul for f.selector and f.address 2020-03-06 21:43:14 +01:00
Bhargava Shastry 786c63ec3c Use explicit type for variant constructor that is part of direct list initializer 2020-02-18 10:42:08 +05:30
Christian Parpart c92fe69a60 Finishes external call implementation. 2020-02-14 11:59:04 +01:00
Leonardo Alt 3800391a1a [Yul] Support conditionals 2020-02-13 17:02:15 -04:00
Daniel Kirchner df0873d138 Implement calldata arrays for Yul IR 2020-02-12 14:00:29 +01:00
Daniel Kirchner 3c9f18b749 Use IRVariable's in IR code generation and implement tuples. 2020-02-12 12:36:14 +01:00
Leonardo Alt 36928c7a35 Add reason string for internal reverts 2020-02-10 11:57:20 -03:00
chriseth fbe5bb0cce Parse default dialect and omit when printing. 2020-01-29 17:25:25 +01:00
chriseth 6ded158739 Change expression parts to use strings instead of numbers. 2020-01-27 08:55:11 +01:00
chriseth 123ea0a250 Remove asm flavour. 2020-01-14 17:16:09 +01:00
Christian Parpart 6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
Daniel Kirchner 7d1b0c6023 Fix Yul IR push 2019-11-28 18:11:38 +01:00
chriseth d5e9271592 Merge pull request #7350 from ethereum/array-length-rvalue
Make `length` member read-only
2019-11-21 19:22:42 +01:00
Leonardo Alt 389da5228e Merge remote-tracking branch 'origin/develop' into merge_develop_060 2019-11-20 12:27:40 +01:00
Daniel Kirchner 372df6b9e1 Implement array push and pop for yul and replace assignments in via yul tests. 2019-11-20 12:04:42 +01:00
Leonardo Alt be849b3c47 Replace boost::variant by std::variant in libyul 2019-11-19 17:23:18 +01:00
Erik Kundt ecaed1030f Makes array length access read-only. 2019-11-19 16:09:21 +01:00
chriseth c30839888f Use `leave` in code generator. 2019-10-29 14:32:16 +01:00
Daniel Kirchner 4782c800ec Initial introduction of array slices with partial implementation for dynamic calldata arrays. 2019-09-13 10:57:53 +02:00
Daniel Kirchner 42f30981db Add unimplemented assertion to IR generation when accessing address member of external function types. 2019-08-19 14:56:04 +02:00
chriseth 74f16ef186 Refactor IRLValue so that it does not require IRGenerationContext. 2019-08-08 17:27:35 +02:00
Christian Parpart 235638b3fc Implements constructor code for state variables. 2019-08-05 11:23:01 +02:00
Mathias Baumann 37f04976a2 [Sol->Yul] Implement keccak256 2019-07-09 18:25:07 +02:00
Mathias Baumann 0f24fcea17 [Sol->Yul] Implement uint256[] memory arrays 2019-07-09 15:36:02 +02:00
Mathias Baumann 0e812b16c2 Minor indent fix 2019-06-24 14:51:04 +02:00
chriseth 350631ae0d Merge pull request #6940 from ethereum/sol-yul-storage-array-index
[Sol->Yul] Implement index access for storage arrays
2019-06-24 12:49:19 +02:00
Mathias Baumann 1dd63f416e [Sol->Yul] Implement index access for storage arrays 2019-06-20 16:14:51 +02:00
Mathias Baumann 346c512cd7 [Sol->Yul] Implement _slot/_offset suffix for storage variables 2019-06-20 14:50:52 +02:00
Daniel Kirchner fcd3410f26 Implement checked mod for sol->yul code generation. 2019-06-20 12:30:32 +02:00
Daniel Kirchner a5b9f634ef Implement signed multiplication for sol->yul code generation. 2019-06-20 12:30:30 +02:00
Daniel Kirchner 5f6af8b374 Implement signed subtraction for sol->yul code generation. 2019-06-20 12:16:56 +02:00
Daniel Kirchner 88988af561 Implement signed addition for sol->yul code generation. 2019-06-20 11:42:50 +02:00
Mathias Baumann 910cb8d329 [Sol->Yul] Implement .length for storage arrays 2019-06-19 18:09:23 +02:00
Daniel Kirchner 2dbdddc7e5 Fix argument count for require with message and string literals. 2019-06-06 13:17:08 +02:00
chriseth fbf189151d [SolYul] Division. 2019-05-27 17:53:46 +02:00
chriseth fb40063253 Compound assignment. 2019-05-23 21:32:30 +02:00
Mathias Baumann 981983089c [Sol -> Yul] Implement delete for function pointers 2019-05-23 15:51:59 +02:00