Commit Graph

6431 Commits

Author SHA1 Message Date
chriseth
2f9a91a034 Merge pull request #1463 from ethereum/duplicate-assignment
codegen: this commit removes one of duplicate assignments
2016-12-01 15:11:35 +01:00
chriseth
9db14ce673 Merge pull request #1458 from federicobond/r-literals
Use more R string literals in tests
2016-12-01 15:03:27 +01:00
Alex Beregszaszi
e7760417e8 docs: rename overflow to variable cleanup 2016-12-01 12:14:21 +00:00
Alex Beregszaszi
0cd6394735 Merge pull request #1455 from ethereum/doc-number-literal-format
docs: describe the form of number literals
2016-12-01 11:53:30 +00:00
chriseth
83a0ad73ce Merge pull request #1313 from ethereum/lll-strict-parser
LLL: stricter parser
2016-12-01 12:41:43 +01:00
chriseth
5d1d81d270 Merge pull request #1454 from ethereum/end-of-comment
parser: recognize an end of comment of the form `**/`
2016-12-01 12:40:52 +01:00
Yoichi Hirai
422140f603
test: more precise expectation about the error for assigning into storage in inline assembly 2016-12-01 12:27:27 +01:00
Yoichi Hirai
1e791f30aa
codegen: this commit removes one of duplicate assignments 2016-12-01 12:03:25 +01:00
Yoichi Hirai
e29047b24d
codegen: assertion did not assert non-nullness
This commit strengthens an assertion so that it makes sure that a pointer is not null.
Moreover, `isLocalVariable(variable)` is now positively asserted, following the error message.
2016-12-01 11:58:34 +01:00
Yoichi Hirai
dd0bd57d67
test: change retrieveFunctionBySignature to take a constant reference rather than a pointer
The function `retrieveFunctionBySignature` expected the argument to be a non-null pointer.
This commit makes this assumption more explicit.
2016-12-01 11:53:06 +01:00
Yoichi Hirai
77bad18648
libevmasm: remove an unused variable total 2016-12-01 11:31:58 +01:00
Yoichi Hirai
3e8a017d42
docs: describe the form of number literals
This is a part of #1390
2016-12-01 10:59:42 +01:00
Alex Beregszaszi
67f274f66c Merge pull request #1459 from federicobond/fix-typo
Fix typos (existant -> existent)
2016-12-01 09:43:45 +00:00
Federico Bond
29e304d3bc Fix typos (existant -> existent) 2016-12-01 01:29:30 -03:00
Federico Bond
6ce41b566d Use more R string literals in tests 2016-12-01 00:50:15 -03:00
Alex Beregszaszi
610027cd26 Test that contracts separated by comments are compiled 2016-11-30 23:54:02 +00:00
Alex Beregszaszi
868a8a8fa0
docs: update overflow cleanup wording 2016-11-30 17:42:45 +01:00
Yoichi Hirai
d77c8f730c
codegen: clean not only booleans but all types before storing them into memory 2016-11-30 17:42:21 +01:00
Yoichi Hirai
5d7a1fda39
docs: remove the word overflow when we are talking about invalid values 2016-11-30 17:42:16 +01:00
Yoichi Hirai
547deec4be
codegen: clean any data from the input 2016-11-30 17:42:03 +01:00
Yoichi Hirai
7959ee49be
docs: describe when and how overflown values are cleaned 2016-11-30 17:41:58 +01:00
Yoichi Hirai
fb9babce54
codegen: truncate booleans before they enter storage 2016-11-30 17:41:51 +01:00
Yoichi Hirai
0123e74a2e
codegen: cleanup booleans before storing them into memory 2016-11-30 17:41:46 +01:00
Yoichi Hirai
03ccc6df70
codegen: truncate a boolean calldata down to one bit 2016-11-30 17:41:38 +01:00
Yoichi Hirai
b16cdbb57e
test: add a test that witnesses #1318 2016-11-30 17:40:34 +01:00
Yoichi Hirai
eaab712944
parser: recognize an end of comment of the form **/ at the end of a multi-line doc comment
This fixes #1433
2016-11-30 17:28:07 +01:00
Alex Beregszaszi
4cecedcb49 LLL: update tests with the strict parser 2016-11-30 16:17:58 +00:00
Alex Beregszaszi
b1add657b7 LLL: throw exceptions on invalid symbols 2016-11-30 16:17:50 +00:00
Alex Beregszaszi
99b803cbcb LLL: () requires at least one parameter 2016-11-30 16:17:50 +00:00
Alex Beregszaszi
a8696c6d8e LLL: do not accept '0x' as 0 2016-11-30 16:17:50 +00:00
Alex Beregszaszi
ac357d1225 Merge pull request #1442 from ethereum/lll-testing
LLL: introduce testing framework
2016-11-30 15:46:20 +00:00
Alex Beregszaszi
53d4433484 LLL: simplify error handling in parseLLL 2016-11-30 15:06:13 +00:00
chriseth
6ae6c70cde Merge pull request #1449 from ethereum/doc-grammar
Include the grammar verbatim in the documentation
2016-11-30 16:01:37 +01:00
chriseth
e43a8ebc28 Merge pull request #1345 from ethereum/optimiser-rules
More optimiser rules
2016-11-30 14:26:01 +01:00
Alex Beregszaszi
2962426d53 Include the grammar verbatim in the documentation 2016-11-30 12:20:13 +00:00
Alex Beregszaszi
9a6a5f219b Fix sub-0 optimiser test 2016-11-30 11:51:00 +00:00
Yoichi Hirai
df4b405f9c Add more optimization rules 2016-11-30 11:16:43 +00:00
chriseth
4ff89dda1d Update SolidityOptimizer.cpp 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
8d0b80f944 Add test for SUB with 0 optimisation 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
3fdef92911 Replace XOR with self with 0 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
b8bba66220 Replace XOR/ISZERO with EQ 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
25160bfc26 Add optimiser rule for SUB with 0 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
d82eac3fed LLL: parseLLL to be less greedy catching exceptions 2016-11-29 22:04:51 +00:00
Alex Beregszaszi
25c5dd48de Rename testSolidityAgainstCpp* to testContractAgainstCpp* 2016-11-29 21:54:28 +00:00
Alex Beregszaszi
0f1d0304ee LLLExecutionFramework doesn't support contractName/libraryAddresses 2016-11-29 21:54:28 +00:00
Alex Beregszaszi
94cae63390 Add callFallback to ExectionFramework 2016-11-29 21:54:28 +00:00
Alex Beregszaszi
85ebe4e5c4 LLL: check for return value in LLL smoke test 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
e26466b729 LLL: add end-to-end tests 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
d83dd59178 Move ExecutionFramework to the dev::test namespace 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
a226db7338 Split out Solidity-specific part of ExecutionFramework 2016-11-29 21:54:27 +00:00