Kamil Śliwak
|
f574d8ec3a
|
Don't assume that an expression cannot be associated with a function declaration
|
2020-05-27 00:05:18 +02:00 |
|
Alexander Arlt
|
118cb13476
|
[Sol - Yul] Add support for ABIDecode.
|
2020-05-26 13:30:37 -05:00 |
|
Kamil Śliwak
|
1a2e441bc5
|
Generate internal dispatch only for functions that might actually get called via pointers
- This also adds support for internal library calls as a side-effect since they'll now be pulled into the internal dispatch automatically.
|
2020-05-26 17:01:50 +02:00 |
|
chriseth
|
99194b1450
|
New tests.
|
2020-05-26 10:51:13 +02:00 |
|
Djordje Mijovic
|
4c3e78d046
|
Disallowing shifts by signed types
|
2020-05-26 10:18:21 +02:00 |
|
chriseth
|
69a028b49c
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-26 10:11:23 +02:00 |
|
Kamil Śliwak
|
4a2ce57bed
|
Add support for bound function calls in IR generator
|
2020-05-20 21:10:20 +02:00 |
|
chriseth
|
74b9b094c0
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-05-20 17:22:47 +02:00 |
|
chriseth
|
3c71412a47
|
Merge pull request #8988 from ethereum/isoltest_default_formatting
[isoltest] Improve parameter formatting.
|
2020-05-20 08:05:33 +02:00 |
|
Alexander Arlt
|
410986e00f
|
[isoltest] Improve parameter formatting.
|
2020-05-19 19:13:39 -05:00 |
|
chriseth
|
d422a406ba
|
Merge pull request #8983 from ethereum/develop
Merge develop into breaking.
|
2020-05-19 18:05:28 +02:00 |
|
Kamil Śliwak
|
16e80b7bcd
|
Test case for internal dispatch with functions that have arguments that take up multiple slots
|
2020-05-19 18:02:14 +02:00 |
|
Djordje Mijovic
|
bd64b971b9
|
Fixing tests on breaking branch.
|
2020-05-19 17:42:19 +02:00 |
|
Djordje Mijovic
|
d235d0c166
|
[Sol->Yul] Implementing Byte array push() and pop()
|
2020-05-19 14:47:00 +02:00 |
|
chriseth
|
7ef114db9a
|
Merge pull request #8841 from ethereum/sol_yul_ripemd160_ecrecover
[Sol - Yul] Add support for ripemd160 & ecrecover.
|
2020-05-14 18:43:55 +02:00 |
|
Alexander Arlt
|
91e9d54c71
|
[Sol - Yul] Add support for ripemd160 & ecrecover.
|
2020-05-14 10:44:39 -05:00 |
|
chriseth
|
993a7941b1
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-14 17:24:40 +02:00 |
|
chriseth
|
257bc6a416
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-14 13:04:46 +02:00 |
|
Djordje Mijovic
|
472fb21ee0
|
[Sol->Yul] Enabling new bytes(n)
|
2020-05-14 12:55:14 +02:00 |
|
chriseth
|
1700bdc4ad
|
Merge pull request #8925 from ethereum/abiEncodeCalldataSlice
Allow abi encoding array slices without casting.
|
2020-05-13 18:55:16 +02:00 |
|
Daniel Kirchner
|
97296d8622
|
Allow ABI encoding for array slices without explicit casts.
|
2020-05-13 18:20:07 +02:00 |
|
Mathias Baumann
|
820fdd9bf7
|
Escape backslashes when formatting
|
2020-05-13 17:08:37 +02:00 |
|
chriseth
|
0be56a0abf
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-12 17:48:53 +02:00 |
|
Daniel Kirchner
|
c2f5a66a79
|
Implement .creationCode for Sol->Yul.
|
2020-05-11 18:51:51 +02:00 |
|
Daniel Kirchner
|
3fbde6e782
|
Merge pull request #8856 from ethereum/implicitConstructorCallvalueCheck
Implicit constructor callvalue check
|
2020-05-11 18:50:36 +02:00 |
|
Daniel Kirchner
|
79b217dfb3
|
Callvalue checks for implicit constructors.
|
2020-05-11 16:14:34 +02:00 |
|
chriseth
|
c0bf529236
|
Support bare calls.
|
2020-05-11 15:11:46 +02:00 |
|
chriseth
|
0248303c15
|
Merge pull request #8872 from ethereum/int-min-max
implemented type(X).min and type(X).max for all integer types
|
2020-05-11 15:08:19 +02:00 |
|
Harikrishnan Mulackal
|
e4e200f29f
|
Changelog and tests
|
2020-05-11 15:29:05 +05:30 |
|
Harikrishnan Mulackal
|
e54c4eecfc
|
implemented type(X).min and type(X).max for all integer types
|
2020-05-11 14:51:13 +05:30 |
|
chriseth
|
a0e291bd06
|
Implement Yul IR generation for abi.encode*
|
2020-05-07 19:39:15 +02:00 |
|
chriseth
|
f38cf85482
|
Use vector of slots.
|
2020-05-07 17:54:04 +02:00 |
|
chriseth
|
e986fde0c1
|
Introduce non-reversed version of tupleEncoder.
|
2020-05-07 15:08:09 +02:00 |
|
Alex Beregszaszi
|
327c75bc1b
|
IR generation for shifts
|
2020-05-06 19:14:23 +02:00 |
|
chriseth
|
76275cf34a
|
Merge pull request #8824 from ethereum/solYulDirtyMemory
Fix accessing memory reference types in yul codegen and clean up on memory reads.
|
2020-05-06 16:17:19 +02:00 |
|
Daniel Kirchner
|
234ffcf278
|
Merge pull request #8718 from ethereum/irConstants
IR generation for constants.
|
2020-05-06 16:05:17 +02:00 |
|
Daniel Kirchner
|
c25a3eba14
|
Fix accessing memory reference types in yul codegen and clean up on memory reads.
|
2020-05-06 11:34:11 +02:00 |
|
Daniel Kirchner
|
b580106c80
|
Yul parser hack and more yul tests.
|
2020-05-05 17:23:41 +02:00 |
|
chriseth
|
02c20698c9
|
IR generation for constants.
|
2020-05-05 17:07:55 +02:00 |
|
Daniel Kirchner
|
28d25afab1
|
Cleanup tests for Sol->Yul arithmetic and comparison.
|
2020-05-05 13:38:31 +02:00 |
|
Djordje Mijovic
|
e8f6f63e77
|
[Sol2Yul] Adding support for builtin revert(string)
|
2020-05-05 07:05:39 +02:00 |
|
Djordje Mijovic
|
8b7f87eed5
|
[isoltest] Enforcing compileViaYul to be set if test can pass via yul
|
2020-05-05 00:38:13 +02:00 |
|
chriseth
|
ecbf216354
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-04 18:46:45 +02:00 |
|
chriseth
|
1aef9c7d20
|
Merge pull request #8777 from ethereum/sol_yul_simplefunctions
[Sol - Yul] Add some built-in functions.
|
2020-05-04 16:07:10 +02:00 |
|
chriseth
|
51ccb1519f
|
Yul codegen for immutables.
|
2020-05-04 15:00:50 +02:00 |
|
Alexander Arlt
|
151e637336
|
[Sol - Yul] Add some built-in functions.
- simplifications for GasLeft, Selfdestruct and BlockHash.
- add support for addmod & mulmod.
|
2020-04-30 14:10:09 -05:00 |
|
Jason Cobb
|
8973732b74
|
Compare categories instead of types in ContractCompiler(740)
|
2020-04-28 13:13:45 -04:00 |
|
chriseth
|
1fe55370f4
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-04-28 13:02:06 +02:00 |
|
hrkrshnn
|
bd0b06e8db
|
Tests, Docs and Changelog
|
2020-04-28 16:03:52 +05:30 |
|
Djordje Mijovic
|
f3f729549d
|
[Sol->Yul] Enabling creation function call
|
2020-04-27 16:15:57 +02:00 |
|
chriseth
|
dda883b585
|
IR generation for sha256.
|
2020-04-27 11:10:20 +02:00 |
|
Kamil Śliwak
|
d3da878200
|
Enable internal library calls
|
2020-04-24 15:00:51 +02:00 |
|
Kamil Śliwak
|
56a85d6cb3
|
IRGeneratorForStatements: Handle internal calls to functions from specific base contracts as static calls rather than calls via pointers
|
2020-04-24 15:00:16 +02:00 |
|
chriseth
|
2b39f3b988
|
Merge pull request #8766 from ethereum/sol_yul_gasleft
[Sol - Yul] Add support for built-in gasleft().
|
2020-04-24 14:24:01 +02:00 |
|
Alexander Arlt
|
aafa4583df
|
[Sol - Yul] Add support for built-in gasleft().
|
2020-04-23 17:14:03 -05:00 |
|
Kamil Śliwak
|
e65a5a562e
|
IRGenerationContext::internalDispatch(): Fix code generated when the function called via pointer does not return anything
|
2020-04-23 21:16:41 +02:00 |
|
hrkrshnn
|
48ff9fd4d6
|
Tests, Changelog and updated grammar
|
2020-04-23 17:27:37 +05:30 |
|
chriseth
|
16ed53ddd0
|
Merge pull request #8591 from mijovic/sol2YulConstructorParams
[Sol2Yul] Adding support for constructors with parameters (inheritance)
|
2020-04-23 12:56:54 +02:00 |
|
chriseth
|
a371910674
|
Merge pull request #8642 from ethereum/interfaceid
Add support for interfaceId.
|
2020-04-23 12:24:49 +02:00 |
|
chriseth
|
6728e3ef94
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-04-22 17:21:32 +02:00 |
|
Djordje Mijovic
|
5329da93fb
|
[Sol2Yul] Adding support for constructors with parameters in case of inheritance
|
2020-04-22 14:47:08 +02:00 |
|
chriseth
|
4908101ad7
|
Yul IR generation for member access to type types.
|
2020-04-22 11:25:27 +02:00 |
|
chriseth
|
1d8e742296
|
Merge pull request #8684 from ethereum/yulForSelector
Yul codegen for `.selector`.
|
2020-04-20 16:32:11 +02:00 |
|
Kamil Śliwak
|
c7947c1af6
|
Implement lazy function generation using function generation queue
|
2020-04-17 13:28:07 +02:00 |
|
Alexander Arlt
|
3754a86ab2
|
Add support for interfaceID.
|
2020-04-16 12:17:40 -05:00 |
|
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 |
|
a3d4
|
aba0b2957c
|
Fix tuple assignments with multi-slot components.
|
2020-04-07 18:39:25 +02:00 |
|
chriseth
|
51883958ab
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-04-07 11:14:28 +02:00 |
|
Daniel Kirchner
|
d68c526eaa
|
Disallow external function pointers as immutables.
|
2020-04-03 11:56:51 +02:00 |
|
chriseth
|
d7a39c86ce
|
Accessors for immutable variables.
|
2020-04-02 19:09:54 +02:00 |
|
Leonardo Alt
|
39ff0deb05
|
Zero initialize memory arrays
|
2020-04-02 15:55:18 +02:00 |
|
Daniel Kirchner
|
77ea896b68
|
Properly handle assignments of immutables at declaration.
|
2020-04-02 08:35:22 +02:00 |
|
Daniel Kirchner
|
fe9f8d520c
|
Restrict size for dynamic memory array creation.
|
2020-04-01 17:25:09 +02:00 |
|
chriseth
|
b83d82ab75
|
Merge pull request #8550 from a3d4/fix-8450-typechecker-compiler-error
Fix a couple of internal compiler errors when assigning nested tuples
|
2020-03-31 22:21:58 +02:00 |
|
a3d4
|
c002cae691
|
Fix #8450. Prevented internal compiler errors when assigning nested tuples.
|
2020-03-31 03:25:26 +02:00 |
|
Djordje Mijovic
|
89d5ecdd24
|
[Sol2Yul] Adding support for constructor with parameters
|
2020-03-27 01:19:11 +01:00 |
|
chriseth
|
165f7bf60f
|
Move files.
|
2020-03-26 17:47:36 +01:00 |
|
Alexander Arlt
|
67e9776418
|
Extract 45 tests from SolidityEndToEndTest.cpp
|
2020-03-26 17:39:12 +01:00 |
|
Daniel Kirchner
|
e255c15227
|
Tests.
|
2020-03-24 16:45:31 +01:00 |
|
Daniel Kirchner
|
04d8ad2ae1
|
Legacy codegeneration for immutable state variables.
|
2020-03-24 16:45:25 +01:00 |
|
chriseth
|
7d68f9f6c3
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-03-24 13:35:41 +01:00 |
|
Daniel Kirchner
|
fe659ceb41
|
Anything outside storage is always a pointer.
|
2020-03-23 15:34:10 +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 |
|
chriseth
|
d55bbd4aa5
|
Merge pull request #8508 from a3d4/again-refactor-testcase-classes
More refactoring of TestCase classes
|
2020-03-19 23:05:32 +01:00 |
|
chriseth
|
f25157a5f8
|
Sort tests.
|
2020-03-19 14:42:25 +01:00 |
|
a3d4
|
f4d9f6772f
|
Unified use of settings. Removed a couple of unused functions.
|
2020-03-19 14:02:39 +01:00 |
|
Alexander Arlt
|
23d00b5ca3
|
Extracted 292 tests from SolidityEndToEndTest.cpp
|
2020-03-18 11:56:43 -05:00 |
|
Djordje Mijovic
|
96d278b101
|
[Sol->Yul] Adding slicing for call data arrays
|
2020-03-13 13:40:38 +01:00 |
|
Daniel Kirchner
|
bdd8045db5
|
Merge pull request #8183 from ethereum/functionOptionsYulIR
[YulIR] Function call options for Yul IR
|
2020-03-12 10:49:51 +01:00 |
|
Leonardo Alt
|
89ce2dbfe9
|
The identifier var should be fine in Yul
|
2020-03-11 18:45:08 +01:00 |
|
chriseth
|
9d92c9fbf1
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-03-11 18:44:06 +01:00 |
|
chriseth
|
5dd30777d2
|
Test.
|
2020-03-10 22:44:06 +01:00 |
|
Christian Parpart
|
bb29a7e497
|
Merge pull request #8460 from ethereum/yulutil-convert-array
YulUtilFunctions: convertionFunction() to also handle array string/memory casts
|
2020-03-10 14:00:34 +01:00 |
|
Christian Parpart
|
5d7a370248
|
YulUtilFunctions: convertionFunction() to also handle array string/memory casts.
|
2020-03-10 11:21:12 +01:00 |
|
chriseth
|
b7c001eb7f
|
Merge pull request #8416 from ethereum/reuseYulCalldataTailAccess
Fix yul calldata tail access functions and reuse them for old codegen.
|
2020-03-09 15:10:48 +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
|
e210026e74
|
[Sol2Yul] Implements function-to-function cast.
|
2020-03-09 10:40:57 +01:00 |
|