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
|
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 |
|
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 |
|
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 |
|
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 |
|
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
|
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 |
|
Daniel Kirchner
|
e58a1de57f
|
Merge pull request #8431 from mijovic/sol2YulSelectorAddress
Adding sol->yul for f.selector and f.address
|
2020-03-06 22:48:38 +01:00 |
|
Djordje Mijovic
|
092827b7ad
|
Adding sol->yul for f.selector and f.address
|
2020-03-06 21:43:14 +01:00 |
|
Daniel Kirchner
|
7f38cbb91d
|
Fix calling unimplemented base function.
|
2020-03-06 10:51:16 +01:00 |
|
Daniel Kirchner
|
919888ddbc
|
Use yul function for calldata tail access, fix checks and add additional revert reason.
|
2020-03-04 14:39:36 +01:00 |
|
Djordje Mijovic
|
58c6b90705
|
Deprecated warning for .value() and .gas() on function and constructror calls
|
2020-03-04 12:51:49 +01:00 |
|
chriseth
|
45041e5d3a
|
Allow access to `_slot ` for local storage pointer variables.
|
2020-02-25 14:28:04 +01:00 |
|
Djordje Mijovic
|
dd9009eba6
|
TestFileParser: Adding new keyword wei for expressing function value
|
2020-02-21 11:39:37 +01:00 |
|
Christian Parpart
|
c92fe69a60
|
Finishes external call implementation.
|
2020-02-14 11:59:04 +01:00 |
|
Leonardo Alt
|
3800391a1a
|
[Yul] Support conditionals
|
2020-02-13 17:02:15 -04:00 |
|
chriseth
|
9aed40ab19
|
Check that functions exist in isoltest.
|
2020-02-13 13:22:53 +01:00 |
|
Daniel Kirchner
|
df0873d138
|
Implement calldata arrays for Yul IR
|
2020-02-12 14:00:29 +01:00 |
|
Daniel Kirchner
|
3c9f18b749
|
Use IRVariable's in IR code generation and implement tuples.
|
2020-02-12 12:36:14 +01:00 |
|
Leonardo Alt
|
36928c7a35
|
Add reason string for internal reverts
|
2020-02-10 11:57:20 -03:00 |
|
Daniel Kirchner
|
d882b6fa83
|
Allow tests to be marked ABIEncoderV1Only.
|
2020-02-04 17:22:03 +01:00 |
|
Daniel Kirchner
|
af9fc8b634
|
Mapping getters for Yul IR.
|
2020-02-04 17:22:03 +01:00 |
|
Daniel Kirchner
|
d3cbfb0c5c
|
Allow user-defined types as mapping keys in parser and restrict to contracts during type checking.
|
2020-02-04 17:22:03 +01:00 |
|
Mathias Baumann
|
1027f6f78f
|
Extract some semantic tests
|
2020-01-28 11:59:44 +01:00 |
|
chriseth
|
790c6d2cae
|
Tests for salted create.
|
2020-01-23 21:20:01 +01:00 |
|
Jason Cobb
|
595f569e97
|
Update tests for interface inheritance
|
2020-01-22 09:40:40 -05:00 |
|
chriseth
|
0f014144c8
|
Test for true/false in inline assembly.
|
2020-01-14 17:16:09 +01:00 |
|
Daniel Kirchner
|
9535c0f520
|
Introduce FunctionKind::Declaration and allow accessing function signatures via contract name.
|
2020-01-09 15:40:41 +01:00 |
|
chriseth
|
670b719773
|
Updates to control structures (2).
Co-Authored-By: Bhargava Shastry <bhargava.shastry@ethereum.org>
|
2019-12-12 17:01:57 +01:00 |
|
chriseth
|
07d271e770
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-12-10 10:07:30 +01:00 |
|
Alex Beregszaszi
|
c9360421fc
|
Move snark test from SolidityEndToEnd
|
2019-12-09 18:33:07 +00:00 |
|
chriseth
|
e061f1e743
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2019-12-05 16:44:26 +01:00 |
|
Mathias Baumann
|
b7d5de59c5
|
Implement overridding of functions by public variables
|
2019-12-05 12:48:52 +00:00 |
|
Gaith Hallak
|
4d90180e24
|
Support referencing other constants in inline assembly
|
2019-12-05 13:27:17 +03:00 |
|
chriseth
|
4365b665f4
|
Increase loop size to account for net storage gas metering.
|
2019-12-04 13:13:05 +01:00 |
|
Daniel Kirchner
|
7d1b0c6023
|
Fix Yul IR push
|
2019-11-28 18:11:38 +01:00 |
|
chriseth
|
b0db64ff5b
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-26 16:19:35 +01:00 |
|
Leonardo Alt
|
ce83bfb088
|
[Yul] Format string literals back to quoted string literals
|
2019-11-26 15:28:39 +01:00 |
|
chriseth
|
a00f824479
|
Merge pull request #7773 from ethereum/develop
Merge develop into develop_060
|
2019-11-21 21:49:22 +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 |
|
chriseth
|
8f2595957b
|
Merge pull request #7719 from ethereum/librarySignatuŕes
Add selector member to public and external library functions.
|
2019-11-20 18:43:14 +01:00 |
|
Leonardo Alt
|
389da5228e
|
Merge remote-tracking branch 'origin/develop' into merge_develop_060
|
2019-11-20 12:27:40 +01:00 |
|
Erik Kundt
|
01705efb70
|
Adds and updates Yul tests for push() and pop().
|
2019-11-20 12:04:47 +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 |
|
Erik Kundt
|
7d6c0a50c2
|
Adjusts semantic tests to read-only array length.
|
2019-11-19 21:11:14 +01:00 |
|
Alex Beregszaszi
|
cbb08ae3db
|
Add semantic test for SELFBALANCE in inline assembly
|
2019-11-19 17:09:18 +01:00 |
|
Alex Beregszaszi
|
fc2af72a3d
|
Add semantic test for CHAINID in inline assembly
|
2019-11-19 17:09:18 +01:00 |
|
chriseth
|
6797879128
|
Merge pull request #7647 from ethereum/virtual-5424
Implement virtual keyword
|
2019-11-19 13:21:27 +01:00 |
|