Mathias Baumann
e197ebbdd1
Replace TypePointer
with Type const*
2021-03-23 11:47:19 +01:00
chriseth
16db3a84f1
Fix call graph with respect to constants.
2021-02-25 16:00:53 +01:00
Kamil Śliwak
781f00771c
Remove IRGenerator::verifyCallGraphs and make generate() verify the graphs automatically
2021-02-23 10:47:02 +01:00
Kamil Śliwak
6c28120f19
Move CallGraph structure to a separate module
2021-02-23 10:47:02 +01:00
Mathias Baumann
4c283f00c1
Add IRGenerator::verifyCallGraphs()
2021-02-23 10:46:28 +01:00
hrkrshnn
0135cae222
Fix IR bug: constructor parameter that needs multiple stack slots
...
When an argument had multiple stack slots, like `function() external`, there wasn't enough variables
assigned for the constructor. This lead to some mismatch between return values and arguments between
some functions.
2021-02-12 17:42:02 +01:00
hrkrshnn
7786e6d561
Fix IR bug when modifier parameter was function return variable
...
The bug was that function return variables were not part of the m_context.localVariable during
the modifier generation and a looking up them was throwing.
2021-02-11 14:44:55 +01:00
Harikrishnan Mulackal
215233d5c8
Merge pull request #10945 from ethereum/constructor-modifier-bugfix
...
Fix IR bug about calling the wrong modifier during construction
2021-02-10 21:42:45 +01:00
hrkrshnn
2f30fdaa21
Fix IR bug about calling the wrong modifier during construction
2021-02-10 20:53:11 +01:00
chriseth
a72ab1c9c1
Replace "runtime" by "deployed" naming.
2021-02-10 00:56:16 +01:00
Alexander Arlt
061fecbc90
[whiskers] Add check that template contain tags.
2021-01-20 15:26:34 -05:00
Alex Beregszaszi
7c7fd22062
Include revert strings in IR
2021-01-14 18:45:12 +01:00
chriseth
8ad9290086
Fix modifier lookup.
2021-01-14 11:01:14 +01:00
chriseth
5c453acbe8
Fix encoding of library return values.
2021-01-11 20:37:45 +01:00
chriseth
e807c9bb63
Library call guard.
2021-01-11 20:37:44 +01:00
Djordje Mijovic
2d5a2c65a8
[Sol->Yul] Implementing getters for bytes and structs containing bytes member.
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-12-21 14:46:06 +01:00
chriseth
35908c602b
Modifiers for constructors.
2020-12-17 17:00:51 +01:00
chriseth
ccaa81fbe7
Implement function modifiers.
2020-12-17 17:00:51 +01:00
chriseth
806453aca9
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 21:00:09 +01:00
chriseth
e97ca0a777
Evaluate base arguments in derived to base order.
2020-12-08 20:27:06 +01:00
chriseth
6de7eaba95
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-01 10:50:13 +01:00
Alex Beregszaszi
28e65bac46
Add unimplemented assert for modifiers in the IR
...
Also improved relevant tests for modifiers to be more strict and detect if the modifier body was skipped.
2020-11-27 18:34:17 +00:00
chriseth
253889cbf1
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-24 16:22:03 +01:00
chriseth
fda352094f
Allow fallback function to return data.
2020-11-23 14:22:37 +01:00
chriseth
20f39ab6e9
Merge pull request #10097 from ethereum/develop
...
Merge develop into breaking.
2020-10-23 10:30:24 +02:00
chriseth
bfd267459c
Panic codes.
2020-10-22 19:25:55 +02:00
Mathias Baumann
a4dc110b38
Fix dependency tracking for abstract contracts for Yul codegen
2020-10-20 16:58:24 +02:00
chriseth
6979952995
Merge remote-tracking branch 'origin/develop' into HEAD
2020-10-19 18:02:50 +02:00
Daniel Kirchner
0dca223b45
Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
2020-10-15 18:14:41 +02:00
Daniel Kirchner
82876fd00e
Disable StackLimitEvader again until we have stronger correctness guarantees.
2020-10-15 16:16:41 +02:00
chriseth
979d3062bc
Merge pull request #10033 from ethereum/develop
...
Merge develop into breaking
2020-10-14 14:12:20 +02:00
chriseth
5dc3a971cb
Use revert for out-of-bounds array index access in getter.
2020-10-13 18:57:41 +02:00
Mathias Baumann
006e5f2e1f
Allow path syntax for super constructor calls
2020-10-13 14:32:11 +02:00
chriseth
1e3596ec71
Use invalid opcode on internal errors.
2020-09-24 16:02:35 +02:00
Daniel Kirchner
976abf4715
Easy review fixes.
2020-09-17 22:13:27 +02:00
Daniel Kirchner
f4b42d1c72
Add stack limit evader.
2020-09-17 22:13:27 +02:00
chriseth
930646ba2b
Report locations of unimplemented features.
2020-09-15 14:41:46 +02:00
Djordje Mijovic
d99b81ef02
[Sol->Yul] Enabling storage pointers to local vars in inline assembly.
2020-08-26 10:25:42 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
chriseth
37e8d78cff
[Sol->Yul] Implement getters.
2020-06-03 10:33:37 +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
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
d0b82fe854
Merge pull request #8869 from ethereum/useSlotes
...
Use vector of slots.
2020-05-07 19:03:59 +02:00
chriseth
75ca072ae6
Assertion about getters for non-value type immutables.
2020-05-07 18:18:40 +02:00
chriseth
f38cf85482
Use vector of slots.
2020-05-07 17:54:04 +02:00
chriseth
f42dc70c9f
Merge pull request #8863 from ethereum/nonReversedEncoder
...
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:47:32 +02:00
chriseth
e986fde0c1
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:08:09 +02:00
chriseth
6fb112fa8e
Remove some unneeded headers.
2020-05-07 01:49:46 +02:00
chriseth
02c20698c9
IR generation for constants.
2020-05-05 17:07:55 +02:00