Commit Graph

380 Commits

Author SHA1 Message Date
Djordje Mijovic
4a66723ff9 [Sol->Yul] Implementing resizing of dynamic byte arrays
Co-authored-by: chriseth <chris@ethereum.org>
2020-10-15 22:05:35 +02:00
chriseth
c9ed1b9ae9
Merge pull request #10047 from ethereum/removeMemoryGuards
Disable StackLimitEvader again until we have stronger correctness guarantees.
2020-10-15 18:56:33 +02:00
chriseth
89bdad2096
Merge pull request #10043 from ethereum/emptyArrayCopy
Fix empty array copy bug.
2020-10-15 17:07:54 +02:00
chriseth
38abadf502 Fix empty array copy bug. 2020-10-15 16:48:08 +02:00
Daniel Kirchner
82876fd00e Disable StackLimitEvader again until we have stronger correctness guarantees. 2020-10-15 16:16:41 +02:00
Djordje Mijovic
6f7947cfa5 [Sol->Yul] Optimizing delete struct.
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-10-14 13:35:15 +02:00
chriseth
56d6855222
Merge pull request #9738 from ethereum/arrayCopyingSol2Yul
[Sol->Yul] Implementing copying of arrays to storage
2020-10-14 12:22:09 +02:00
Djordje Mijovic
674855f684 [Sol->Yul] Adding new and activating old tests for copying of arrays to storage. 2020-10-13 20:31:11 +02:00
Djordje Mijovic
1272c474ba Fixing ICE when returning Struct from library 2020-10-13 20:00:11 +02:00
chriseth
4b342a7cad
Merge pull request #9816 from ethereum/exp-base-literals
[Sol->Yul] Optimization for exponentiation when the base is a literal
2020-10-12 19:34:38 +02:00
Harikrishnan Mulackal
418aa01c5b Optimization for exponentiation when the base is a literal 2020-10-12 18:54:58 +02:00
Kamil Śliwak
9dc7f5de4a Enable 4 semantic tests from functionCall.inheritance that now work via Yul
- Looks like something overlooked in one of the recently merged PRs.
2020-10-12 15:10:16 +02:00
Kamil Śliwak
3128e82a9a Look for experimental pragmas in the module containing the definition when generating code for modifiers and inherited functions 2020-10-12 14:29:53 +02:00
Christian Parpart
8ac0bee361 Adds some more tests and groups all function call inheritance related together into single sub-directory. 2020-10-12 12:29:55 +02:00
chriseth
aa7aa21913 Enable test. 2020-10-08 21:00:50 +02:00
chriseth
3970c4e57d
Merge pull request #9892 from ethereum/constantsAtFileLevel
Constants at file-level.
2020-10-08 19:53:33 +02:00
chriseth
f8d5c4db36
Merge pull request #9843 from ethereum/deleteStructSol2Yul
[Sol->Yul] Implementing delete struct
2020-10-08 19:08:40 +02:00
chriseth
34e7ae6ff9 New tests. 2020-10-08 18:56:18 +02:00
chriseth
346fe1c6c5 Constants at file-level. 2020-10-08 18:56:17 +02:00
Djordje Mijovic
ad8d840ee7 [Sol->Yul] Implementing conversion of struct to struct pointer.
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-10-08 16:37:57 +02:00
Djordje Mijovic
4e8275df2c Enabling triggered tests and adding one new for deleting struct 2020-10-08 15:27:33 +02:00
chriseth
fd6196af16 Copying of arrays from storage to memory. 2020-10-08 15:16:13 +02:00
chriseth
431397eddf
Merge pull request #9943 from ethereum/array-cleanup
Array cleanup
2020-10-07 11:53:06 +02:00
Harikrishnan Mulackal
1bdbc10110 Properly cleanup after copying dynamic-array to storage for packed types 2020-10-06 16:06:02 +02:00
Djordje Mijovic
818afcbec2 [Sol->Yul] Implementing push for nested storage arrays and storage arrays of structs. 2020-10-06 13:06:40 +02:00
chriseth
e5771efdf8
Merge pull request #9905 from ethereum/deleteArrayPackedSol2Yul
[Sol->Yul] Implementing deleting of storage array of types that are packed in storage
2020-10-01 16:50:57 +02:00
Djordje Mijovic
03eeb49a66 Adding test for deleting packed storage array. 2020-10-01 10:25:04 +02:00
Bhargava Shastry
e2a2276272 Contract level checker: Disallow free function redefinition and alias
shadowing another free function

Co-authored-by: chriseth <chris@ethereum.org>
2020-09-25 17:09:58 +02:00
Alex Beregszaszi
e93992257e Add more semantic tests for balance/extcodehash 2020-09-24 19:04:27 +01:00
Harikrishnan Mulackal
c314ca3cf2 Tests for signed exponentiation 2020-09-23 16:27:33 +02:00
Daniel Kirchner
f4b42d1c72 Add stack limit evader. 2020-09-17 22:13:27 +02:00
Kamil Śliwak
2916ae5bda Fix static arrays with dynamic elements not being treated as dynamic in FunctionType::returnParameterTypesWithoutDynamicTypes() 2020-09-16 11:15:52 +02:00
chriseth
f73fb726af Reasoning based optimizer. 2020-09-15 15:57:58 +02:00
Djordje Mijovic
ec6d21cde2 [Sol->Yul] Fixing storage array index access 2020-09-08 16:02:56 +02:00
chriseth
3a48be546d
Merge pull request #9602 from ethereum/structMemToStorageSol2Yul
[Sol->Yul] Implementing various copying of structs
2020-09-02 13:50:46 +02:00
chriseth
23514c1749
Merge pull request #9724 from ethereum/superForYul
Implement ``super``.
2020-09-02 12:48:39 +02:00
Djordje Mijovic
a740cb619b Adding tests for copying structs with function pointers between storage and memory 2020-09-02 12:28:53 +02:00
Djordje Mijovic
23f6369a46 Implementing struct copying from calldata to storage 2020-09-02 12:28:53 +02:00
Djordje Mijovic
762e3f3cee [Sol->Yul] Implementing struct copying from calldata to storage 2020-09-02 12:28:53 +02:00
Djordje Mijovic
381784dd89 [Sol->Yul] Implementing struct copying from storage to memory 2020-09-02 12:28:53 +02:00
Djordje Mijovic
b89c863e11 [Sol->Yul] Implementing struct copying from memory to storage 2020-09-02 12:28:53 +02:00
chriseth
8f34ac472f Implement `super`. 2020-09-02 11:00:42 +02:00
Djordje Mijovic
e7a05324af Adding simple array copying tests 2020-09-02 09:39:28 +02:00
chriseth
0798167f3d
Merge pull request #9612 from ethereum/yul-rightarrow
Introduce RightArrow (->) token
2020-08-27 16:21:18 +02:00
Harikrishnan Mulackal
1c066b1059 Allow type(Contract).name for abstract contracts and interfaces 2020-08-27 13:37:08 +02:00
Alex Beregszaszi
4e5b403c37 Introduce RightArrow (->) token in the scanner 2020-08-27 12:28:27 +01:00
Djordje Mijovic
d99b81ef02 [Sol->Yul] Enabling storage pointers to local vars in inline assembly. 2020-08-26 10:25:42 +02:00
chriseth
17edf4f207
Merge pull request #9479 from ethereum/exp
Implement checked exponentiation.
2020-08-18 13:57:25 +02:00
chriseth
c34e349572 Implement checked exponentiation. 2020-08-18 12:42:53 +02:00
chriseth
9324fb4f20 Free functions. 2020-08-18 11:46:59 +02:00