Commit Graph
98 Commits
Author SHA1 Message Date
Christian Parpart b7fa5d5040 Mark EVM instruction pc() as deprecated when used in inline assembly. 2020-05-27 12:07:23 +02:00
Mathias Baumann debcc8c056 Add setimmutable and loadimmutable to dialect. 2020-05-04 15:00:50 +02:00
Alexander Arlt 3e649eb8e1 Disallow access to functions from inline assembly. 2020-04-01 10:34:55 +02:00
a3d4 a86c511713 Replaced "assert" with "if" (incorrect contract code is not supposed to trigger asserts). 2020-03-12 14:03:27 +01:00
chriseth 45041e5d3a Allow access to `_slot` for local storage pointer variables. 2020-02-25 14:28:04 +01:00
Mathias Baumann b8e2baf5f4 Use yul::AstWalker to resolve assembly symbols 2020-01-28 17:57:48 +01:00
chriseth 123ea0a250 Remove asm flavour. 2020-01-14 17:16:09 +01:00
chriseth e061f1e743 Merge remote-tracking branch 'origin/develop' into HEAD 2019-12-05 16:44:26 +01:00
Gaith Hallak 4d90180e24 Support referencing other constants in inline assembly 2019-12-05 13:27:17 +03:00
chriseth cf12e20e43 Fix test. 2019-12-05 09:12:05 +01:00
Daniel Kirchner 77a9e91443 Enable yul optimizer by default. 2019-12-02 19:30:14 +01:00
Erik Kundt 8faa6ffeaf Adjusts syntax and semantic tests to 0.6.0 2019-11-19 12:10:07 +01:00
chriseth 216e1749f4 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-14 13:42:46 +01:00
chriseth b099374d8c Fix assembly parsing by passing evm version. 2019-11-14 13:06:36 +01:00
Daniel Kirchner 0556f64722 Analyze inline assembly variable declarations for invalid or shadowing names. 2019-11-07 13:04:37 +01:00
Daniel Kirchner 3321fc56ea Split fallback function and introduce "fallback()" and "receive()" syntax. 2019-11-04 17:17:58 +01:00
chriseth 499fe57d33 Tests 2019-10-29 14:32:16 +01:00
chriseth 607bf24afe Merge pull request #7386 from ethereum/060-strict-inline-assembly
Defaulting to strict inline assembly (instead of loose)
2019-10-28 12:48:58 +01:00
Henry Lee 24cbb4dd17 Treat magic variables as unknown identifiers in inline assembly
This fixes #4575. For keywords such as 'super' and 'this', will be
treated as unknown identifiers.
2019-10-28 14:59:50 +11:00
Christian Parpart f05718ef5d Syntax tests: Adapted to changes. 2019-10-25 15:01:27 +02:00
Christian Parpart e40c498260 Adapting the tests to strict inline assembly. 2019-10-25 15:01:25 +02:00
chriseth bfc8fd23ac Document chainid and selfbalance. 2019-09-19 15:35:37 +02:00
chriseth 9cb9021c36 Cope with constants without value in inline assembly. 2019-07-09 11:12:13 +02:00
chriseth cdd137e3d1 Support constant numbers in inline assembly. 2019-07-02 14:01:05 +02:00
Daniel Kirchner 6368cd4c82 AsmParser: disallow trailing commas in function call arguments. 2019-06-06 13:16:27 +02:00
chriseth df96648b1c Do not allow msize in inline assembly if the Yul optimizer is active. 2019-05-28 12:54:33 +02:00
chriseth 90e8594858 Update tests. 2019-05-23 11:30:12 +02:00
chriseth f9ec1231b6 Support period as part of identifiers for Yul and Inline Assembly. 2019-04-25 16:48:16 +02:00
Alex Beregszaszi fcf884f201 Do not ignore fatal error in AsmParser for inline assembly 2019-02-21 16:18:53 +00:00
Mathias Baumann f395d5bab4 Add extra token for assembly assignment
Adding an extra token for := prevents whitespace between : = being valid
2019-02-21 13:58:21 +01:00
chriseth 0613c69c4a Merge pull request #6043 from ethereum/asm-jump-invalidlabel
Proper error message for missing variables in inline assembly
2019-02-20 14:32:40 +01:00
Alex Beregszaszi 687522a2f5 Move inline assembly tests from nameAndTypeResolution to inlineAssembly 2019-02-20 11:00:02 +00:00
Alex Beregszaszi 52496ea719 Proper error message for missing variables in inline assembly 2019-02-20 10:36:55 +00:00
chriseth d829794737 Improve yul error messages around number of arguments and variables. 2018-12-04 11:37:03 +01:00
Christian Parpart 0ad56bca79 Adapting tests to Scanner's lexical error diagnostics change. 2018-11-24 12:59:37 +01:00
Lazaridis e454737a3c adapt to latest code changes 2018-11-23 17:27:52 +01:00
chriseth a9a414bd0f Added some tests. 2018-10-24 14:29:33 +02:00
Alex Beregszaszi 3c791d637d Provide nicer error message when referencing overloaded references 2018-08-08 15:59:24 +01:00
Alex Beregszaszi 05cc7e79e1 More precise error message if using non-variables with _slot/_offset 2018-08-07 13:18:54 +01:00
Alex Beregszaszi eb7b3862ac Properly handle invalid references used together with _slot and _offset. 2018-08-07 13:18:38 +01:00
Alex Beregszaszi 296ba24f7f Do not crash on using _slot and _offset suffixes on their own 2018-08-07 12:14:12 +01:00
Christian Parpart 9b8a05ebfb Update tests to remove support for loose assembly 2018-08-02 13:37:13 +01:00
Daniel Kirchner 8781990ff3 Remove trailing whitespace in all contract files. 2018-08-01 21:57:12 +02:00
Alex Beregszaszi ab3978723a Add more tests for inlineasm/AsmAnalyzer 2018-07-25 10:45:31 +01:00
Alex Beregszaszi d647761058 Add more comprehensive tests for embedded inline assembly LValue/RValue access 2018-07-25 10:45:31 +01:00
chriseth 2211739fc4 Update tests. 2018-07-03 22:51:55 +02:00
D-Nice 3cad417710 Add passing test case 2018-06-28 16:45:53 -04:00
D-Nice d62476fb1f Adds storage_reference.sol syntax test 2018-06-27 19:42:46 -04:00