860 Commits
Author SHA1 Message Date
Daniel Kirchner 73cd009b89 Fix struct allocation in Sol->Yul. 2020-06-11 12:16:45 +02:00
chriseth d4e3491f35 Merge pull request #9177 from ethereum/fixYulStructMemberAccess
[Sol -> Yul] Fix struct member access for memory and implement for calldata.
2020-06-11 09:41:04 +02:00
Daniel Kirchner 90b66a7362 Fix struct member access for memory and implement for calldata. 2020-06-10 20:01:30 +02:00
Djordje MijovicandKamil Śliwak c6e4943089 Adding fixes for signedness warnings in libsolidity
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-10 10:41:55 +02:00
chriseth 2724ce9511 Index access to fixed bytes and byte arrays. 2020-06-09 10:50:28 +02:00
chriseth e7f3c042b6 Struct member access for storage and memory. 2020-06-03 10:37:39 +02:00
chriseth 37e8d78cff [Sol->Yul] Implement getters. 2020-06-03 10:33:37 +02:00
chriseth eb923af09c Do not set source locations for small internal assembly routines. 2020-05-27 18:26:46 +02:00
chriseth 0aa3fb5026 Merge pull request #9014 from ethereum/sol-yul-abidecode
[Sol - Yul] Add support for ABIDecode.
2020-05-27 11:44:13 +02:00
chriseth f066050ec0 Merge pull request #9024 from ethereum/namableTypes
Disallow non-namable types for inline arrays.
2020-05-27 09:21:07 +02:00
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
chriseth 309f0fbc8a Unimplemented assert for conversion from calldata slices to memory. 2020-05-26 18:17:36 +02: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
Kamil Śliwak 2716b5ff83 Replace conditionally empty whiskers variables for punctuation with <?+> syntax in IRGenerator::generateInternalDispatchFunctions() 2020-05-26 16:33:40 +02:00
chriseth e6b399c86e Merge pull request #8942 from ethereum/calldataVariables
Calldata variables.
2020-05-26 11:34:40 +02:00
chriseth 499cb0526f Calldata variables. 2020-05-26 10:51:13 +02:00
chriseth 76d27bcfaa Fix assumption for member not in memory. 2020-05-26 10:35:04 +02:00
chriseth 6d64095ccf Merge pull request #8987 from ethereum/sol-yul-bound-functions
[Sol->Yul] Bound functions
2020-05-25 16:53:33 +02:00
chriseth 44e62c1fae Merge pull request #8997 from ethereum/sol-yul-refactor-no-internal-functions-with-arbitrary-parameters
[Sol->Yul] Remove unnecessary code for handling internal functions with arbitrary parameters (refactor)
2020-05-25 16:47:10 +02:00
chriseth 042dc965fa Merge pull request #8952 from ethereum/sol-yul-refactor-simplify-end-visit-for-internal-calls
[Sol->Yul] Simplify end visit for internal calls (refactor)
2020-05-25 16:46:36 +02:00
Mathias Baumann d45bb2aa07 Add proper unipmlemented errors for array copying 2020-05-25 10:48:42 +02:00
a3d4 a499ef16fa Fix spelling errors 2020-05-25 02:54:37 +02:00
Kamil Śliwak 4a2ce57bed Add support for bound function calls in IR generator 2020-05-20 21:10:20 +02:00
Kamil Śliwak a68b4ab7ed IRGeneratorForStatements: Slightly reorganize local variables in endVisit(MemberAccess)
- Add memberFunctionType accessible in the whole function to avoid declaring it multiple times
- Add objectCategory
2020-05-20 21:09:27 +02:00
Kamil Śliwak 87c598863f IRGeneratorForStatements: Remove unnecessary code for handling internal functions with arbitrary parameters
- Internal functions cannot have arbitrary parameters
2020-05-20 21:08:59 +02:00
Kamil Śliwak 0943333276 Simplify endVisit() for internal calls
- Define IRHelpers::referencedFunctionDeclaration() to avoid repeating the same dynamic_casts over and over again.
2020-05-20 21:07:37 +02:00
Kamil Śliwak 6c6a8a74e8 IRGenerationContext: Extract code for enumerating dispatchable functions from generateInternalDispatch() into a separate function 2020-05-20 13:16:08 +02:00
Kamil Śliwak bd75543900 Add IRNames::internalDispatch() and use it in IRGenerationContext 2020-05-20 12:48:49 +02:00
Kamil Śliwak 22c0568d34 IRGenerationContext::internalDispatch(): Remove unused local YulUtilFunctions instance 2020-05-20 12:46:32 +02:00
Kamil Śliwak 7d2292fbaf Rename IRGenerationContext::internalDispatch() to generateInternalDispatchFunction() 2020-05-20 12:46:31 +02:00
Kamil Śliwak 1a521cc7ac Use YulArity in IR generator 2020-05-19 23:03:21 +02:00
Kamil Śliwak 16e58449ab ir/Common: Add YulArity struct 2020-05-19 23:03:15 +02:00
Kamil Śliwak b0ae85b6b0 IRGenerationContext::internalDispatch(): Don't use asCallableFunction() to get internal function type 2020-05-19 18:00:50 +02:00
Djordje Mijovic d235d0c166 [Sol->Yul] Implementing Byte array push() and pop() 2020-05-19 14:47:00 +02:00
Kamil Śliwak 465e4d4088 Extract more functions for generating function and variable names into IRNames 2020-05-15 14:51:00 +02:00
Kamil Śliwak 7af7273b60 Move static functions for constructing names from IRGenerationContext into the new Common module 2020-05-14 19:48: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
Djordje Mijovic 472fb21ee0 [Sol->Yul] Enabling new bytes(n) 2020-05-14 12:55:14 +02:00
Daniel Kirchner 97296d8622 Allow ABI encoding for array slices without explicit casts. 2020-05-13 18:20:07 +02:00
Daniel Kirchner 6f04664cfa Disallow array slicing for arrays with dyanmically encoded base types. 2020-05-13 15:52:22 +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 f1e0aa7a56 Merge pull request #8763 from ethereum/bareCall
IR code generation for call.
2020-05-11 16:06:54 +02:00
chriseth e2f7e8a3a7 Merge pull request #8890 from ethereum/fixclangv10
Fix clang v10 compilation errors
2020-05-11 15:39:09 +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
Mathias Baumann fe43132003 Fix clang v10 compilation errors 2020-05-11 14:59:51 +02:00