Mathias Baumann
c47d02066c
Fix yul codegen bug when using binary negatition.
2021-06-29 17:41:03 +02:00
Kamil Śliwak
fa3696878b
Fix crash when passing empty strings to bytes.concat()
2021-06-29 13:52:01 +02:00
Daniel Kirchner
c341445f8e
Maintain disambiguation when generating new functions in StackToMemoryMover.
2021-06-28 18:11:57 +02:00
Daniel Kirchner
bc288aacf5
Have the stack optimization in the code transform only reuse slots that are reachable and fix argument slot reuse on functions without return variables.
2021-06-28 18:11:57 +02:00
Daniel Kirchner
dfce7b667d
Move function arguments and return values.
2021-06-28 18:11:57 +02:00
chriseth
22402accfe
Merge pull request #11578 from ethereum/soltest-clearer-error-message-for-std-exception
...
Clearer error message for `std::exception` in soltest
2021-06-28 16:13:21 +02:00
Kamil Śliwak
19fada966f
Do not use \b, \v and \f escapes in string literals in generated Yul code
2021-06-28 14:13:47 +02:00
Kamil Śliwak
ca0b1bf3f3
Fix crash when passing zero to bytes.concat()
2021-06-25 21:26:28 +02:00
Kamil Śliwak
82b720029d
boostTest: Print diagnostic information for std::exception too
2021-06-25 13:25:10 +02:00
Kamil Śliwak
030fb1d9a2
boostTest: Give BOOST_REQUIRE_NO_THROW a smaller block of code to make the error message clearer when a test raises an unexpected exception
2021-06-25 13:22:15 +02:00
Alexander Arlt
8accf420ea
[yul] Functions: Remove dependency on AST ID.
2021-06-23 16:15:25 +02:00
chriseth
26598a2603
Merge pull request #11569 from ethereum/fixcalltounimplementedmodifier
...
Prevent calls to unimplemented modifiers.
2021-06-23 09:25:02 +02:00
Kamil Śliwak
afb8fb4927
Create libraries for yul-phaser and solc to avoid compiling their sources again for soltest
2021-06-22 17:47:45 +02:00
chriseth
c5923f7fcf
Prevent calls to unimplemented modifiers.
2021-06-22 17:08:28 +02:00
Kamil Śliwak
98e83303b1
Remove assertions preventing calldata->calldata conversion when cleanup is needed
2021-06-22 16:10:16 +02:00
Kamil Śliwak
0311b955c2
isolate_tests.py: Parse Sphinx block parameters correctly
2021-06-21 20:54:12 +02:00
Djordje Mijovic
838f59fa5b
Adding origin location notation to yul ir.
2021-06-21 18:48:20 +02:00
chriseth
0df8a38e55
Support metadata via IR.
2021-06-21 18:20:31 +02:00
hrkrshnn
eb04dfcd3e
Updated expectation of FixedFeeRegistrar.sol
2021-06-17 10:09:47 +02:00
chriseth
614683019b
Merge pull request #11426 from ethereum/test-fixedfee
...
Move contracts/FixedFeeRegistrar to semanticTests/externalContracts
2021-06-16 18:34:10 +02:00
chriseth
5b4a2f66e1
Directly restart processing calling functions.
2021-06-14 13:54:05 +02:00
Daniel Kirchner
284e8a103f
Remove potentially non-deterministic test case.
2021-06-09 14:42:16 +02:00
chriseth
e5500b9f20
Merge pull request #11471 from ethereum/funcdef-unimplemented-modifier
...
Reports an error on unimplemented modifiers in a function definition.
2021-06-09 13:54:05 +02:00
Christian Parpart
a14ac1923d
Fixes ICE when overriding an implemented modifier with an unimplemented one.
2021-06-09 13:15:20 +02:00
Kamil Śliwak
362fc6650d
Extra tests for shadowing within function parameter lists
2021-06-09 12:37:12 +02:00
a3d4
f59145f21f
Fix shadowing struct types by struct member names
2021-06-09 12:37:11 +02:00
a3d4
70b8b1c834
Do not warn about shadowing parameters in functions without implementation
2021-06-09 12:35:26 +02:00
Mathias Baumann
001a25db95
Fix crash in ControlFlowGraph related to free functions.
2021-06-09 11:10:33 +02:00
chriseth
3eaa37030a
Fix infinite recursion in function call graph generator due to recursive constant references.
2021-06-08 16:39:30 +02:00
Mathias Baumann
354f9d1015
Fix: Allow multiple @return tags on public state variables
2021-06-07 15:16:46 +02:00
Mathias Baumann
aae9d347aa
Split DocStringParsing in two stages
...
one requiring type info in the next step
2021-06-07 14:49:46 +02:00
chriseth
1f8f1a3db9
Merge pull request #11484 from ethereum/fix-unreachable-code-anaysis
...
Fix revert pruner modifying function flows wrong
2021-06-04 12:44:35 +02:00
chriseth
8da5d6a854
Update test expectations.
2021-06-04 12:04:04 +02:00
chriseth
a8ffa6c08d
Merge pull request #11482 from ethereum/fixUnreachable2
...
Fix control-flow handling of modifiers without body.
2021-06-03 16:56:05 +02:00
chriseth
2e3ee4c156
Fix control-flow handling of modifiers without body.
2021-06-03 13:31:15 +02:00
hrkrshnn
c3eef8af91
Fix ICE related to receive function having parameters.
2021-06-03 13:08:57 +02:00
chriseth
a30cf6c3e8
Merge pull request #11480 from ethereum/event-mapping-fatal-error
...
Errors about nested mapping in event parameter are fatal.
2021-06-03 11:39:26 +02:00
hrkrshnn
2309ae3edd
Added tests for internal or recursive types as event / error param
...
After converting the error about mapping parameter in event / error into a fatal type error, we were
missing tests that reached the "internal or recursive types" error.
2021-06-03 11:02:27 +02:00
hrkrshnn
cc915f023e
Errors about nested mapping in event parameter are fatal.
...
(Also applies for error parameters.)
2021-06-03 11:02:27 +02:00
chriseth
c55d173a28
Merge pull request #11479 from ethereum/fix-ice-when-assigning-implicitly-convertible-function-array-to-storage
...
Fix ICE when assigning implicitly convertible function array to storage
2021-06-03 10:52:21 +02:00
chriseth
b00027724a
Merge pull request #11478 from ethereum/fix-ice-when-calling-invalid-external-function-type
...
Treat invalid external function type as a fatal error
2021-06-03 09:00:38 +02:00
chriseth
93936129f1
Merge pull request #11476 from ethereum/fix-ice-on-library-bound-to-literal
...
Fix ICE in IR when a library is bound to a literal
2021-06-03 08:58:00 +02:00
Kamil Śliwak
ccf658b0e8
Fix assertion preventing assignment of arrays of implicitly convertible function types
2021-06-03 08:56:02 +02:00
Kamil Śliwak
4a19c7e495
Treat invalid external function type as a fatal error to prevent the type from being used
...
- `returnParameterTypesWithoutDynamicTypes()` assumes it won't encounter such types.
2021-06-02 21:44:39 +02:00
Kamil Śliwak
d96cc3469a
FunctionDefinition.resolveVirtual(): Skip unimplemented functions when lookup happens via super
2021-06-02 16:16:15 +02:00
Kamil Śliwak
67e87147b4
Extra asserts, test renaming, test for super in modifiers
2021-06-02 16:15:51 +02:00
Kamil Śliwak
3c7112ed2b
Remove the assertion against functions bound to types for which should not be possible
...
- The list was wrong - we do support string and int literals
- The assertion was meant to guard against silently skipping over types for which there is no special handling. The current code handles everything in a generic way though and likely will not have to be adjusted for newly added types so the risk of that happening is low.
2021-06-02 13:59:42 +02:00
chriseth
4cbf9ff74c
Merge pull request #10143 from ethereum/issue-10084
...
ControlFlowAnalyser: Also consider called functions in a flow
2021-06-01 19:34:56 +02:00
Leo Alt
bf21cd400c
Fix conversion from bytes to fixed bytes
2021-06-01 17:55:18 +02:00
Mathias Baumann
56ebea8b2f
ControlFlowAnalyser: Also consider called functions in a flow
2021-06-01 15:54:37 +02:00