77 Commits
Author SHA1 Message Date
Alex Beregszaszi 5a54cd5c70 Only warn for shift instructions if not using constantinople 2018-03-01 17:19:35 +01:00
chriseth dc317a44e0 Provide EVM version to assembly analysis. 2018-03-01 17:19:35 +01:00
Alex Beregszaszi 73c5d99bfa Add basic test for shift opcodes 2018-02-27 13:43:04 +01:00
Alex Beregszaszi ae02bb5aad Raise error on oversized number literals in assembly 2018-02-22 01:02:19 +01:00
chriseth e2bf5de8a2 Expect end of string at end of top-level block for assembly parser. 2018-02-21 00:41:39 +01:00
Alex Beregszaszi 8b20a7cd53 Disallow non-functional instructions in parseExpression early 2018-01-10 14:16:46 +01:00
Alex Beregszaszi 42f8875770 Show restricted instruction warning before argument mismatch issue 2018-01-08 00:39:22 +00:00
chriseth 767052f2f7 Tests for strict mode. 2018-01-06 03:28:21 +00:00
chriseth ca0d244bf7 Adjust tests. 2017-12-13 12:28:15 +01:00
Alex Beregszaszi d57afb20fa Fix warning test for jumps in assembly 2017-12-05 20:27:50 +00:00
Alex Beregszaszi bc875f6b9c Warn for assembly labels too 2017-12-05 19:27:12 +00:00
chriseth 9232cd2621 Tests. 2017-11-22 16:27:32 +01:00
chriseth 6dbc34e16e If statement for Iulia / inline assembly. 2017-11-22 16:25:24 +01:00
Alex Beregszaszi 3b813ed295 Support multiple assignment in inline assembly 2017-09-20 11:16:23 +02:00
chriseth 97cb571ba4 Tests for recursion in JULIA. 2017-08-22 12:43:44 +02:00
chriseth 2c5985de06 Be more strict about number literals in assembly. 2017-08-21 13:31:28 +02:00
Alex Beregszaszi cee93d946d Support parsing let statements without a value 2017-07-13 15:18:18 +02:00
Alex Beregszaszi 0c92f53944 Correctly check for jump warnings 2017-06-30 20:47:33 +01:00
Alex Beregszaszi d4fecc7b11 Warn on JUMP/JUMPI in inline assembly 2017-06-30 20:47:14 +01:00
Alex Beregszaszi c5339037e9 Test for variable redeclaration in for loops 2017-06-16 11:30:03 +01:00
chriseth 0fd73e5832 Fix test. 2017-06-16 11:29:41 +01:00
chriseth ea0a86a995 Some more parsing tests. 2017-06-16 11:29:35 +01:00
chriseth 1b3ba7bc57 Some more tests. 2017-06-16 10:56:21 +01:00
Alex Beregszaszi 47925bc14e Parse for statement in assembly parser / printer 2017-06-16 10:56:21 +01:00
Alex Beregszaszi 42b61171d9 Merge pull request #2192 from winsvega/develop
add STATICCALL instruction
2017-06-14 21:03:32 +01:00
Dimitry c20cdd0a05 add new opcode instructions to the parser
STATICCALL        0xfa  6 inputs  (gas address mem1 mem2 mem3 mem4)
2017-06-14 18:18:12 +02:00
chriseth 1b1f35762e Enforce function arguments when parsing functional instructions. 2017-06-14 14:51:47 +02:00
Yoichi Hirai 464dea2459 test: Add different styles of returndatacopy and returndatasize 2017-06-13 16:57:08 +02:00
Yoichi Hirai 0b22154a75 libevmasm: add RETURNDATACOPY and RETURNDATASIZE 2017-06-13 16:57:02 +02:00
chriseth bf2b5c746a Use lowercase when reporting instruction error. 2017-06-09 15:17:29 +02:00
Alex Beregszaszi 80227af08a Add test for two functions calling eachother 2017-06-09 10:46:13 +01:00
chriseth b098b363b5 Test for embedded functions. 2017-06-08 15:52:45 +02:00
chriseth b75c7b5775 Move inline assembly to new abstraction and test both backends. 2017-06-08 15:52:45 +02:00
chriseth 97cc968a13 Initial EVM1.5 assembly implementation. 2017-06-08 15:52:44 +02:00
Alex Beregszaszi dcb7c51920 Add inline assembly test for sha3/keccak256 2017-05-30 13:57:44 +01:00
Alex Beregszaszi 98c9051174 Fix expected message in test case 2017-05-26 11:16:12 +01:00
Alex Beregszaszi 05fcf1989c Better error messages for invalid switch cases 2017-05-26 03:20:34 +01:00
Alex Beregszaszi c64bd33784 Disallow instructions as a switch expression 2017-05-26 03:20:34 +01:00
Alex Beregszaszi 0c5c1ca911 Add tests 2017-05-26 03:20:34 +01:00
Alex Beregszaszi 338202ea96 Uniform error messages 2017-05-24 13:35:52 +01:00
Alex Beregszaszi 130f7419fb Add tests 2017-05-24 13:35:52 +01:00
Alex Beregszaszi fb46268982 Add tests 2017-05-23 10:24:19 +01:00
Alex Beregszaszi 2ade4fcdd8 Add tests for bool literal 2017-05-19 09:44:16 +01:00
chriseth 28f10f4783 Remove error label / invalid jump label. 2017-04-28 13:14:52 +02:00
Alex Beregszaszi 35f1cf92db Remove parentheses from around function return parameters 2017-04-27 10:08:02 +01:00
Alex Beregszaszi fa467c365c Fix test build 2017-04-25 16:49:04 +02:00
chriseth 34717838da Review comments. 2017-04-25 16:49:03 +02:00
chriseth 3f1f0316c6 Use raw string for tests. 2017-04-25 16:49:03 +02:00
chriseth f13c8af3f9 Make tests comply with stack height checks. 2017-04-25 16:49:03 +02:00
chriseth 5d6747eb32 Refactor assembly analysis into scope filling and checking. 2017-04-25 16:49:03 +02:00