Commit Graph

7685 Commits

Author SHA1 Message Date
chriseth
e5b0ad562e Peephole optimizer for double push. 2017-06-14 20:02:45 +02:00
chriseth
f008ddf836 Merge pull request #2381 from ethereum/fixcrash
Fix a crash about a non-callable expression.
2017-06-14 18:35:38 +02:00
chriseth
fd5bf16101 Merge pull request #2384 from ethereum/parseFunctionalInstructions
Enforce function arguments when parsing functional instructions.
2017-06-14 18:35:16 +02:00
chriseth
d693822a6f Merge pull request #2394 from ethereum/lll-shifts
Support shl/shr in LLL
2017-06-14 18:04:40 +02:00
chriseth
2491721d42 Merge pull request #2149 from ethereum/eip-create
Introduce CREATE2 in the assembler
2017-06-14 17:40:39 +02:00
chriseth
29e7ad3d7b Silence compiler warning. 2017-06-14 17:39:36 +02:00
chriseth
bab470086c Merge pull request #2364 from VoR0220/abiSpec
Bring ABI Spec Into Solidity Documentation
2017-06-14 17:25:31 +02:00
Alex Beregszaszi
5609d2b4a8 Merge pull request #2395 from ethereum/json-license
Include license text in emscripten output
2017-06-14 15:57:18 +01:00
chriseth
2b3b00776e Additional test. 2017-06-14 16:06:48 +02:00
Alex Beregszaszi
a921bd0ae4 Display user friendly instruction name 2017-06-14 16:00:39 +02:00
Alex Beregszaszi
494b9dbfaa Issue warning for using CREATE2 in inline assembly 2017-06-14 16:00:39 +02:00
Alex Beregszaszi
bec30051c5 Introduce CREATE2 in the assembler 2017-06-14 16:00:39 +02:00
chriseth
98139ead42 Clarify functional style. 2017-06-14 15:46:16 +02:00
chriseth
1ae0e082b3 Merge pull request #2392 from federicobond/disallow-trailing-commas
Forbid trailing commas in named arguments
2017-06-14 15:31:40 +02:00
Alex Beregszaszi
e6a36e0121 Include trailing zero in license 2017-06-14 14:14:52 +01:00
Alex Beregszaszi
412802a6c1 Include license text in emscripten output 2017-06-14 14:14:01 +01:00
Alex Beregszaszi
600e3ad240 Support shl/shr in LLL 2017-06-14 14:08:28 +01:00
RJ Catalano
1d644bed31
try to get rid of warning
Signed-off-by: RJ Catalano <rj@monax.io>
2017-06-14 08:06:03 -05:00
chriseth
1b1f35762e Enforce function arguments when parsing functional instructions. 2017-06-14 14:51:47 +02:00
chriseth
0b99c81f85 Merge pull request #2393 from ethereum/license_char_array
Convert license to character array.
2017-06-14 14:47:09 +02:00
chriseth
21aafaa704 Merge pull request #2331 from ethereum/ASTDocumentationEntry
documentation field added to ContractDefinition-Node
2017-06-14 14:32:27 +02:00
chriseth
e232a105f0 Merge pull request #2327 from ethereum/assembler-object
Return assembler object in AssemblyStack
2017-06-14 14:28:06 +02:00
chriseth
07cc84fade Fix a crash about a non-callable expression. 2017-06-14 14:26:20 +02:00
chriseth
6441baae6b Merge pull request #2390 from travs/patch-1
Add linter-solium
2017-06-14 14:19:49 +02:00
chriseth
1ce949519d Move 0x to cmake file. 2017-06-14 14:17:53 +02:00
chriseth
43cfab70d0 Merge pull request #2389 from ethereum/moveLabelIDs
Move LabelIDs to generation phase.
2017-06-14 14:12:33 +02:00
chriseth
1d79059897 Convert license to character array. 2017-06-14 12:42:48 +02:00
Federico Bond
fd8365df08 Forbid trailing commas in named arguments 2017-06-14 00:15:27 -03:00
Travis Jacobs
9191f8af5f Add linter-solium 2017-06-13 21:03:58 -02:30
Alex Beregszaszi
c99c1c76f7 Merge pull request #2354 from benjaminion/patch-2
LLL: fix handling of "sha3" expression
2017-06-13 23:23:02 +01:00
chriseth
154002cda0 Move "active variable" to analysis phase. 2017-06-14 00:10:33 +02:00
chriseth
1bf717fd65 Remove struct constructor. 2017-06-14 00:03:08 +02:00
chriseth
c554145f4d Move stack height to generation phase. 2017-06-14 00:01:06 +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
chriseth
45d96959f8 Move LabelIDs to generation phase. 2017-06-13 22:01:15 +02:00
Yoichi Hirai
d3f4c97c53 Merge pull request #2350 from benjaminion/patch-1
Change LLL opcode generated by "panic" to INVALID
2017-06-13 19:37:48 +02:00
chriseth
d47fcbb612 Clarify statement about receiving ether
Fixes #2377
2017-06-13 19:08:13 +02:00
benjaminion
c603369a51 Change opcode generated by (panic) to INVALID
EIP-141 ethereum/EIPs#141 has preserved 0xfe as an invalid opcode for aborting EVM execution. The EVM assembler supports this via the INVALID opcode.

The LLL "panic" expression used to generate a jump to an invalid location in order to abort EVM execution.  This change brings "panic" into line with EIP-141 by generating the INVALID opcode instead.
2017-06-13 17:01:38 +01:00
chriseth
6b052249da Merge pull request #2275 from ethereum/returndata_lll
Add RETURNDATACOPY and RETURNDATASIZE to assembly (and LLL)
2017-06-13 17:41:52 +02:00
Alex Beregszaszi
40f5690f68 Merge pull request #2353 from ethereum/license_output
Include license and warranty statement with solc.
2017-06-13 16:03:24 +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
Alex Beregszaszi
05af6c9255
Warn if returndatasize/returndatacopy is used 2017-06-13 16:57:07 +02:00
Yoichi Hirai
9ff3064d03
Mention RETURNDATACOPY in GasMeter and SemanticInformation 2017-06-13 16:57:07 +02:00
Yoichi Hirai
55737213d1
Add a changelog entry 2017-06-13 16:57:07 +02:00
Yoichi Hirai
0b22154a75
libevmasm: add RETURNDATACOPY and RETURNDATASIZE 2017-06-13 16:57:02 +02:00
Alex Beregszaszi
0c8c209194 Merge pull request #2375 from ethereum/macro_with_zero_args
LLL: macro with zero args
2017-06-13 14:44:29 +01:00
Yoichi Hirai
c4f0608b68
More informative test 2017-06-13 12:28:03 +02:00