Commit Graph
916 Commits
Author SHA1 Message Date
Christian Parpart 76c72ba89f Fixes signedness (causes compilation failure on MSVC). 2019-10-23 16:32:41 +02:00
Christian Parpart c6152b8059 Compile fix. 2019-10-23 13:08:17 +02:00
Mathias L. Baumann 7e01696030 Merge pull request #7554 from ethereum/develop
Merge develop into develop_060
2019-10-21 17:05:12 +02:00
chriseth ebfe7391ff Use selfbalance for `address(this).balance`. 2019-10-16 14:25:56 +02:00
chriseth b5d6d5fcf9 Create. 2019-09-23 17:22:56 +02:00
chriseth 70b796bd1a Code generator for try/catch. 2019-09-23 17:22:56 +02:00
chriseth 9ecd51c54d Refactor. 2019-09-18 14:06:03 +02:00
Leonardo Alt 43d6e00b14 Add push() for dynamic storage arrays 2019-09-17 13:47:33 +02:00
chriseth 5b3efee93b Merge pull request #7442 from ethereum/develop
Merge develop into develop_060
2019-09-17 12:16:27 +02:00
Leonardo Alt eab9f65610 Fix ICE when pop dyn storage array of mapping 2019-09-16 16:33:17 +02:00
Daniel Kirchner 4782c800ec Initial introduction of array slices with partial implementation for dynamic calldata arrays. 2019-09-13 10:57:53 +02:00
chriseth ea0a952a69 Merge pull request #7362 from ethereum/develop
Merge develop into develop_060
2019-09-05 16:50:44 +02:00
Daniel Kirchner 7148792b8a Refactor ExpressionCompiler with acceptAndConvert. 2019-09-05 15:05:59 +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
Daniel Kirchner 9f6fff2120 Replace casting of external functions to address by a member named "address". 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
chriseth 9955c51769 Merge pull request #7077 from ethereum/sol-yul-delete-fixed-storage
[Sol->Yul] Implement delete for fixed-sized storage arrays
2019-08-08 16:47:16 +02:00
mingchuan 15631a7fbe Split calldataEncodedSize into calldataEncodedSize, calldataEncodedTailSize and calldataHeadSize and fix all usages. 2019-08-08 15:52:21 +02:00
Mathias Baumann e072885031 [Sol->Yul] Implement delete for fixed-sized storage arrays 2019-08-07 18:28:52 +02:00
chriseth c8f04b88bf Merge pull request #7176 from ethereum/decodeMemoryLocation
Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode
2019-08-07 15:42:14 +02:00
Daniel Kirchner efb34bdf22 Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode. 2019-08-06 14:11:14 +02:00
Christian Parpart 235638b3fc Implements constructor code for state variables. 2019-08-05 11:23:01 +02:00
Mathias Baumann d9addbcf49 Fix error in g++7 with -O2 flag 2019-07-29 16:17:41 +02:00
chriseth 579bdaddb9 Merge pull request #7088 from ethereum/diffLegYul
Document differences between legacy Solidity and Solidity via Yul.
2019-07-11 17:59:01 +02:00
chriseth 76d7ea888b Document differences between legacy Solidity and Solidity via Yul. 2019-07-11 17:48:06 +02:00
chriseth 869d69d293 Supply full object to stack compressor and Optimizer Suite. 2019-07-10 18:49:42 +02:00
Mathias Baumann d264e3e0ba [Sol->Yul] Implement getter functions 2019-07-10 13:42:39 +02:00
Mathias Baumann 37f04976a2 [Sol->Yul] Implement keccak256 2019-07-09 18:25:07 +02:00
chriseth 15eb8fec50 Merge pull request #7015 from ethereum/sol-yul-arrays
[Sol->Yul] Implement uint256[] memory arrays
2019-07-09 17:34:46 +02:00
Mathias Baumann 0f24fcea17 [Sol->Yul] Implement uint256[] memory arrays 2019-07-09 15:36:02 +02:00
djudjuu cafa01cbf6 moved SuffixHelper to StringUtils 2019-07-09 13:50:07 +02:00
Mathias Baumann 3e51d14c6d Fix missing int -> string conversion 2019-07-04 09:31:24 +02:00
chriseth cdd137e3d1 Support constant numbers in inline assembly. 2019-07-02 14:01:05 +02:00
chriseth fe9aa59b8f Fix conversion during storing. 2019-06-25 13:00:02 +02:00
Mathias Baumann 0e812b16c2 Minor indent fix 2019-06-24 14:51:04 +02:00
chriseth 9c129a4087 Merge pull request #6984 from ethereum/yul-reindent
yul: adds reindent() function to reindent yul source code and makes us of it in IRGenerator
2019-06-24 12:54:40 +02:00
Christian Parpart 0fd1db533e yul: adds reindent() function to reindent yul source code and makes use of it in IRGenerator.
This function does count curly and round braces and reindents
accordingly the beginning of each line.

It does consider line-comments (// and ///) but not multiline comments (/* ... */).
2019-06-24 12:53:50 +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
chriseth 9bb7160c4c Merge pull request #6958 from sifmelcara/fix-abiencoderv2-codegen
Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots
2019-06-20 13:08:42 +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 e4c884ae13 Unify style of checked integer division for sol->yul code generation. 2019-06-20 12:18:18 +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 b03cb2bce6 YulUtilFuncs: Add missing/adjust existing documentation 2019-06-19 18:09:23 +02:00
Mathias Baumann 910cb8d329 [Sol->Yul] Implement .length for storage arrays 2019-06-19 18:09:23 +02:00
Mathias Baumann c5b50039d2 [Sol->Yul] Report error after Ir code
this way less scrolling is required
2019-06-19 18:09:23 +02:00
mingchuan ae273ff3bd Move code that access calldata array element to separate function 2019-06-19 17:26:35 +08:00