Commit Graph
309 Commits
Author SHA1 Message Date
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
Mathias Baumann 81702717b0 [Sol -> Yul] Enable function pointer comparison 2019-05-23 12:52:50 +02:00
chriseth 97fa21841d Use different way to fall back to FunctionalInstruction for loose assembly. 2019-05-23 11:30:12 +02:00
chriseth e324deabd6 Merge pull request #6740 from ethereum/unary-ops
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
2019-05-20 18:06:01 +02:00
Daniel Kirchner b6f4d4e9bc [Sol - Yul] Implement checked multiplication. 2019-05-20 17:36:53 +02:00
Mathias Baumann 86000fdcce [Sol -> Yul] Implement unary -, + 2019-05-20 16:14:46 +02:00
Mathias Baumann 7dbcb80523 [Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, ! 2019-05-20 11:43:12 +02:00
Mathias Baumann f5980f08cc Remove m_code from IRValue
Only one place to append to m_code avoids confusion and bugs
2019-05-14 11:15:04 +02:00
chriseth a28b6224a4 Merge pull request #6714 from ethereum/finishERC20
Finish ERC20
2019-05-13 10:00:38 +02:00
chriseth e047c8d4d9 Code generator for external function calls. 2019-05-09 18:55:12 +02:00
chriseth 60a42f58a0 Fix internal function calls. 2019-05-09 17:57:33 +02:00
chriseth 45ee3fc007 Subtraction for unsigned integers. 2019-05-09 17:57:30 +02:00
Daniel Kirchner b83f6d8d46 [Sol -> Yul] Implement if statements 2019-05-09 14:52:20 +02:00
Mathias Baumann 0abe00d393 [Sol -> Yul] Fix ForLoops and implement WhileLoops 2019-05-09 09:46:19 +02:00
chriseth 595544645e Mappings. 2019-05-08 15:54:52 +02:00
chriseth b4d6f847b4 Events. 2019-05-08 13:29:11 +02:00
chriseth acca390ef5 Most trivial members. 2019-05-07 17:19:45 +02:00
chriseth b99ad2aaa3 Merge pull request #6639 from ethereum/yul-require-assert
Yul generation of "require" and "assert"
2019-05-07 16:59:37 +02:00
chriseth f68c09272b Simple tuple expressions. 2019-05-07 15:59:56 +02:00
chriseth c604481cef Logical operators. 2019-05-07 15:59:35 +02:00
chriseth 785b369b89 Add type helper function. 2019-05-07 12:36:54 +02:00
chriseth 3fa4c3da1e Comparison operations. 2019-05-07 12:35:05 +02:00
chriseth 4069b19734 Unary operation for literals. 2019-05-07 12:35:04 +02:00
Mathias Baumann 7f14352bbf Yul generation of require and assert 2019-05-07 12:19:41 +02:00
chriseth e6f8aaafa5 Conversion for string literals. 2019-05-07 11:55:17 +02:00
chriseth 3365cb9b4a Add type helper function. 2019-05-06 12:01:13 +02:00
chriseth 7c62193524 Change some AST elements to post visit. 2019-05-06 11:43:18 +02:00
chriseth aa4d4afcdc LValues and state variables of value type. 2019-05-02 17:03:22 +02:00
chriseth e66ab6c036 Helper function to define the value of expressions. 2019-04-30 13:10:37 +02:00
chriseth 0eef51ffa4 Conversion during binary operation. 2019-04-30 13:10:37 +02:00