Alex Beregszaszi
600e3ad240
Support shl/shr in LLL
2017-06-14 14:08:28 +01:00
chriseth
21aafaa704
Merge pull request #2331 from ethereum/ASTDocumentationEntry
...
documentation field added to ContractDefinition-Node
2017-06-14 14:32:27 +02:00
benjaminion
3299c479b6
LLL: fix handling of "sha3" expression
...
When PR #2317 changed the EVM opcode from SHA3 to KECCAK256 it broke the `(sha3 loc len)` expression in LLL. This PR fixes things while allowing existing code using the sha3 expression (such as the ENS registrar) to continue to compile. I.e. both `(keccak256 loc len)` and `(sha3 loc len)` may be used, and the existing related sha3 macros continue to work.
Three end-to-end test cases have been added for kekkac256 and sha3.
2017-06-13 22:20:14 +01:00
Yoichi Hirai
8775e77305
Add a warning about a varialbe of the name of an instruction
2017-06-13 16:57:08 +02:00
Yoichi Hirai
a7241df4b7
Add a failing test as suggested in
...
https://github.com/ethereum/solidity/pull/2275#discussion_r121438333
2017-06-13 16:57:08 +02:00
Yoichi Hirai
a0f8c94dad
Add a test about checking a warning
2017-06-13 16:57:08 +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
Yoichi Hirai
c4f0608b68
More informative test
2017-06-13 12:28:03 +02:00
Yoichi Hirai
0909ffc26e
Fix the expectation about the parse
2017-06-13 12:21:28 +02:00
Yoichi Hirai
a03913427f
Add an end-to-end test about LLL macro with zero arguments
2017-06-12 15:16:08 +02:00
Yoichi Hirai
b86b084bc6
Add a test that fails about an LLL macro with no arguments
2017-06-12 15:16:03 +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
64ddb176bb
Test for accessing outer inline assembly scope.
2017-06-08 15:52:45 +02:00
chriseth
97cc968a13
Initial EVM1.5 assembly implementation.
2017-06-08 15:52:44 +02:00
djudjuu
83f0e00900
tests for non-legacy mode
2017-06-07 15:52:44 +02:00
djudjuu
ebdebc7c12
new test case and indentation fix
2017-06-06 15:47:30 +02:00
chriseth
1fba984966
Merge pull request #2332 from ethereum/fixLiteralPrint
...
fix Literalprint
2017-06-06 15:09:48 +02:00
djudjuu
62eafdd010
adjusted testcase and renaming
2017-06-06 13:26:23 +02:00
chriseth
d4a57d81ba
Merge pull request #2317 from ethereum/keccak256
...
Use keccak256 in tests and replace the SHA3 instruction in assembly
2017-05-30 19:34:28 +02:00
djudjuu
b011ddfae3
adjusted test-cases
2017-05-30 19:25:54 +02:00
Rhett Aultman
89b60ffbd4
Refactor error reporting
...
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.
This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
Alex Beregszaszi
dcb7c51920
Add inline assembly test for sha3/keccak256
2017-05-30 13:57:44 +01:00
Alex Beregszaszi
ff33297786
Add test for sha3() == keccak256()
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
9e1c509cf5
Use keccak256() in tests (and not sha3())
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
0c8beac357
Rename the SHA3 assembly instruction to KECCAK256
2017-05-30 10:54:29 +01:00
Alex Beregszaszi
efadf7e41f
Change error message for invalid type
2017-05-26 20:42:17 +01:00
Alex Beregszaszi
8fe79fe706
Introduce Julia mode in AsmAnalyzer
2017-05-26 20:39:30 +01:00
Alex Beregszaszi
3b75c5b45f
Validate that only basic types are used in Julia
2017-05-26 20:39:10 +01:00
Alex Beregszaszi
98c9051174
Fix expected message in test case
2017-05-26 11:16:12 +01:00
chriseth
ec676ba9f2
Merge pull request #2224 from ethereum/julia-switch
...
Implement switch statement in the assembly parser/printer
2017-05-26 11:24:38 +02: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
7600a814fa
Enable the analyzer for Julia tests
2017-05-25 01:28:47 +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
4612c7681c
Validate metadata JSON too
2017-05-24 12:24:00 +01:00
Alex Beregszaszi
804e99c633
Split out metadata test into its own file
2017-05-24 12:24:00 +01:00
Alex Beregszaszi
fb46268982
Add tests
2017-05-23 10:24:19 +01:00
chriseth
74d2e7311a
Merge pull request #2265 from roadriverrail/inline_asm_unused_warning
...
Analyze InlineAssembly for variable use
2017-05-22 16:34:29 +02:00
chriseth
8eead553af
Merge pull request #1810 from ethereum/compactJson
...
Compact format for AST-Json.
2017-05-22 14:33:46 +02:00
Rhett Aultman
621c3fa22f
Analyze InlineAssembly for variable use
...
The unused variable checker in StaticAnalyzer did not conssider
InlineAssembly objects. This commit introduces that missing feature.
2017-05-21 15:23:05 -07:00
chriseth
e2b21e1c96
Refactor to abstract assembly to JULIA.
2017-05-19 19:20:28 +02:00
chriseth
41ee2cefbb
Merge pull request #2282 from ethereum/fuzzer
...
Display the source on which the 'fuzzer' failed
2017-05-19 18:32:50 +02:00
chriseth
6d1252f807
Put filename in quotes.
2017-05-19 17:58:07 +02:00
chriseth
56424bb202
Merge pull request #2262 from ethereum/interface-cleanup
...
Cleanup the external interfaces (ABI and Natspec)
2017-05-19 17:55:33 +02:00