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 |
|
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 |
|
chriseth
|
597d37b731
|
Implement for loops.
|
2019-04-30 13:10:37 +02:00 |
|
chriseth
|
c1ca16cd33
|
Implement return.
|
2019-04-30 13:10:36 +02:00 |
|
Mathias Baumann
|
1ef213cc15
|
Sol -> Yul: Implement explicit cast
|
2019-04-24 22:52:17 +02:00 |
|
Mathias Baumann
|
441369d5f1
|
Sol -> Yul Generator: Mark "return" as unimplemented
|
2019-04-24 22:52:17 +02:00 |
|
Mathias Baumann
|
944ac6fb6d
|
Sol -> Yul Generation: Implicit conversions
|
2019-04-24 22:52:17 +02:00 |
|
Mathias Baumann
|
3d061c83d7
|
IR: Generate inline asm blocks
|
2019-04-18 16:49:19 +02:00 |
|
Christian Parpart
|
bf43eebea9
|
libsolidity: Introducing TypeProvider API, for clear type system ownership.
|
2019-04-16 18:26:45 +02:00 |
|
chriseth
|
565d9837e4
|
Virtual function calls.
|
2019-04-11 15:45:43 +02:00 |
|
chriseth
|
18ab8aeb85
|
Overflow-checked addition.
|
2019-04-11 15:45:14 +02:00 |
|