Commit Graph
100 Commits
Author SHA1 Message Date
Yoichi Hirai 362813f0d6 libevmasm: add a break 2017-04-25 16:47:43 +02:00
Yoichi Hirai f6f271df8a test: change RPC settings to see if they have effects during testing 2017-04-25 16:47:43 +02:00
Yoichi Hirai a1da03328a Changelog: add a point about fee schedule update 2017-04-25 16:47:43 +02:00
Yoichi Hirai 56e4b82696 libevmasm: reflect EIP 160 gas schedule change 2017-04-25 16:14:58 +02:00
Yoichi Hirai 4e24639e39 libevmasm: EIP150.c gas change 2017-04-25 16:14:58 +02:00
Yoichi Hirai e54a3ead16 libevmasm: EIP150.a changes on SLOAD, CALL, CALLCODE, DELEGATECALL and SUICIDE 2017-04-25 16:14:58 +02:00
Yoichi Hirai f2775f82d0 libevmadm: EIP150.a changes on EXTCODE, EXTCODESIZE and BALANCE 2017-04-25 16:14:58 +02:00
Yoichi Hirai 7da9ba68e9 test: add a test case about the gas cost of EXTCODESIZE 2017-04-25 16:14:58 +02:00
Yoichi Hirai 259c551c61 test: add a failing test case about the gas cost of SUICIDE opcode 2017-04-25 16:14:58 +02:00
Yoichi Hirai 00b15d53b9 Add a failing test about the gas cost of BALANCE 2017-04-25 16:14:58 +02:00
Yoichi Hirai 8387d0df83 test: add a test about gas costs of EXP 2017-04-25 16:14:58 +02:00
Yoichi Hirai 3cacea74c9 Merge pull request #2117 from ethereum/implementAsmOut
Implement missing assembly output functions and do not use PushString for assembly.
2017-04-18 18:11:25 +02:00
Yoichi Hirai 1927148604 Merge pull request #2128 from ethereum/bytecodeNoPull
Run bytecode upload only if encrypted variables are available.
2017-04-18 14:53:41 +02:00
Yoichi Hirai d134fda0c0 Merge pull request #1729 from ethereum/constantvariables
Only allow pure expressions for constant state variables.
2017-03-15 10:03:35 +01:00
Yoichi Hirai 64e00e5371 Merge pull request #1767 from ethereum/longlibnames
Do not crash on long linker commandline argument.
2017-03-14 18:31:45 +01:00
Yoichi Hirai 409eb9e3e4 Merge pull request #1765 from ethereum/requireAssert
Require and Assert.
2017-03-14 15:22:01 +01:00
Yoichi Hirai 9aab3b8639 Merge pull request #1768 from ethereum/abortiffileexists
Do not overwrite files unless forced.
2017-03-13 16:37:55 +01:00
Yoichi Hirai ef8b56a058 Merge pull request #1751 from ethereum/warnLiteralExpBase
Warn if base of exponentiation operation is a literal.
2017-03-10 19:25:47 +01:00
Yoichi Hirai e364909e06 Merge pull request #1747 from ethereum/fixICEInternalConstructor
Move privateness of constructor into AST itself.
2017-03-08 17:49:14 +01:00
Yoichi Hirai 78f7dd2344 Merge pull request #1750 from ethereum/asmoctal
Disallow octal numbers in parser.
2017-03-08 12:24:22 +01:00
Yoichi Hirai 85411f4f67 Merge pull request #1736 from ethereum/boundoptimizer
Add upper bound for computing constants.
2017-03-08 12:11:16 +01:00
Yoichi Hirai a1e350a4ae Merge pull request #1699 from ethereum/asmlabels
Assembly labels with stack information
2017-03-08 11:56:44 +01:00
Yoichi Hirai cfbbd89daf Merge pull request #1702 from ethereum/assertError
Change effect of assert to invalid opcode.
2017-03-03 18:25:50 +01:00
Yoichi Hirai 11195360f6 Merge pull request #1727 from ethereum/fixtuples
Do now allow declaring variables with inferred empty tuple type.
2017-03-02 16:27:39 +01:00
Yoichi Hirai 4189ff5b68 Merge pull request #1620 from ethereum/refactorEntry
Refactor NameAndTypeResolver and SyntaxChecker to allow other entry points.
2017-02-14 15:35:22 +01:00
Yoichi Hirai 4e1fd68b38 analysis: disallow overloading functions with events 2017-01-23 15:25:13 +01:00
Yoichi Hirai 3d8b56c2a4 test: add tests about functions and events of the same name 2017-01-23 15:25:13 +01:00
Yoichi Hirai 399b7b695a analysis: fix format 2017-01-23 15:25:13 +01:00
Yoichi Hirai 8dc306d62b test: add a test case about inheriting multiple events of the same name 2017-01-23 15:25:13 +01:00
Yoichi Hirai 1f2bf7e004 Changelog: move an item upwards 2017-01-23 15:25:13 +01:00
Yoichi Hirai 567139486f test: somehow log counting system has changed 2017-01-23 15:25:13 +01:00
Yoichi Hirai 846f7dc3ea analysis: Resolve event overloading 2017-01-23 15:25:13 +01:00
Yoichi Hirai 4c09e81c3e test: check the results of function calls in the test for multiple events of the same name 2017-01-23 15:25:13 +01:00
Yoichi Hirai 133d1c05e1 test: fixing inconsistent usage of end-to-end test framework 2017-01-23 15:25:13 +01:00
Yoichi Hirai 4fd3641ce5 Changelog: add a point about allowing multiple events that share the same name
See #1215
2017-01-23 15:25:13 +01:00
Yoichi Hirai 0e85e35a7f test: Add an end-to-end test about multiple events of the same name
See #1215
2017-01-23 15:25:13 +01:00
Yoichi Hirai 08015590f2 analysis: Allow multiple events of the same name
Fixes #1215
2017-01-23 15:25:13 +01:00
Yoichi Hirai 5a56496db9 test: Add a test for #1215
using the original example from @pipermerriam
2017-01-23 15:25:13 +01:00
Yoichi Hirai 9c278448c8 Merge pull request #1591 from ethereum/stackTooDeepLocation
Report source location on "stack too deep" errors.
2017-01-23 15:02:22 +01:00
Yoichi Hirai c382ce1f6b Merge pull request #1593 from ethereum/identifierRegex
Correct identifier regex
2017-01-23 14:27:53 +01:00
Yoichi Hirai 38bdc7a7dc Merge pull request #1592 from ethereum/internalConstructors
Disallow creation of contracts with internal constructors.
2017-01-23 14:27:01 +01:00
Yoichi Hirai 12b002b3b8 Merge pull request #1576 from ethereum/typeIdentifiers
Type identifiers.
2017-01-20 16:18:57 +01:00
Yoichi Hirai 09403dd5ed Merge pull request #1587 from ethereum/fixFunctionVisibility
Fix default function type name visibility.
2017-01-19 16:24:25 +01:00
Yoichi Hirai 821997a1d3 libevmasm: remove duplicate Tier from Tier::xTiers
Synchronize with cpp-ethereum
2017-01-18 17:24:39 +01:00
Yoichi Hirai 20c62a132d Make enum Tier into an enum class 2017-01-13 13:19:14 +01:00
Yoichi Hirai abc24420a7 ast: events have FunctionType too 2017-01-11 20:06:59 +01:00
Yoichi Hirai 7fea4b7360 analysis: use Declaration::functionType() in another location 2017-01-11 19:55:55 +01:00
Yoichi Hirai eda147f47b ast: add Declaration::functionType() 2017-01-11 19:55:50 +01:00
Yoichi Hirai e254a59bd2 Changelog: add a line about #1479 2017-01-11 18:28:11 +01:00
Yoichi Hirai bd6e65a89c docs: document the resriction about a function and an event of the same name, and so on 2017-01-11 18:28:11 +01:00
Yoichi Hirai 9602318eab test: allow multiple errors in modifier-function overriding 2017-01-11 18:28:11 +01:00
Yoichi Hirai 0216f34010 analysis: avoid emscripten build failure 2017-01-11 18:28:11 +01:00
Yoichi Hirai 91d4e8e0ba analysis: changes necessary to compile std/StandardToken.sol 2017-01-11 18:28:11 +01:00
Yoichi Hirai 42b6726173 analysis: allow some shadowings explicitly 2017-01-11 18:28:11 +01:00
Yoichi Hirai bff76c1ca0 analysis: report errors when inheritance causes collision 2017-01-11 18:28:11 +01:00
Yoichi Hirai fa157883f5 Merge pull request #1555 from ethereum/chriseth-patch-1
Changelog entry about assembly output
2017-01-11 18:00:19 +01:00
Yoichi Hirai 779a01faa9 Changelog: document #1537 2017-01-06 16:21:16 +01:00
Yoichi Hirai 07f34e0023 test: add a test importing a file name starting with a period 2017-01-03 18:18:27 +01:00
Yoichi Hirai 41fe412389 interface: change absolutePath() so that ".dir" is considered as an absolute path
fixes #1534
2017-01-03 18:18:22 +01:00
Yoichi Hirai 9128e73b03 docs: clarify what are considered as absolute paths 2017-01-03 18:18:16 +01:00
Yoichi Hirai 6a312233fc ast, codegen: enable accessing events through contract names.
Fixes #1286
2017-01-02 17:59:20 +01:00
Yoichi Hirai 96ca706353 test: add a test case for #1286 2017-01-02 17:58:33 +01:00
Yoichi Hirai c014448397 doc: rephrase the case when two remapping keys are applicable
Fixes #1536
2017-01-02 16:55:29 +01:00
Yoichi Hirai 2d60990238 libevmasm: OpPop() optimization keeps the source location
fixes #1521
2016-12-30 13:52:38 +01:00
Yoichi Hirai eafd852a76 Merge pull request #1522 from federicobond/patch-2
Fix some grammar.txt inconsistencies
2016-12-27 10:59:28 +01:00
Yoichi Hirai 8573b00eae Merge pull request #1519 from federicobond/patch-1
Fix mapping syntax in docs
2016-12-22 15:46:07 +01:00
Yoichi Hirai ff40338a34 Changelog: add entries for #1497 and #1503 2016-12-14 18:12:13 +01:00
Yoichi Hirai f8fe6e4f7c Merge pull request #1503 from federicobond/json-visibility
Include visibility level for functions in AST
2016-12-14 17:23:14 +01:00
Yoichi Hirai 18f8f29c0a Merge pull request #1487 from ethereum/shift-ops
Shift operators
2016-12-14 16:31:27 +01:00
Yoichi Hirai e53d125571 Merge pull request #1507 from ethereum/memcopystyle
Renamed padToWordBoundaries -> padToWords
2016-12-14 14:20:27 +01:00
Yoichi Hirai 932e7887bd test: add tests that tries different types on <<= 2016-12-13 16:35:42 +01:00
Yoichi Hirai 1c3605362d Merge pull request #1468 from ethereum/memcpy-assembly
Implement memcpy without the identity precompile
2016-12-12 22:39:47 +01:00
Yoichi Hirai e62b98646f Merge pull request #1494 from ethereum/showtxhash
Display tx hash for debugging.
2016-12-12 19:51:49 +01:00
Yoichi Hirai 94536ccec8 test: check error messages in parser tests 2016-12-06 17:28:49 +01:00
Yoichi Hirai 1f345e527d test: either fix tests to raise just one error, or mark them as raising multiple errors 2016-12-05 15:41:37 +01:00
Yoichi Hirai 01215694f6 test: disallow more than one errors in name and type tests 2016-12-05 15:41:37 +01:00
Yoichi Hirai d94fd636b7 grammar.txt: define inline assembly 2016-12-02 12:20:06 +01:00
Yoichi Hirai 43b56a61aa parsing: default and null are reserved keywords 2016-12-02 11:52:11 +01:00
Yoichi Hirai 50bcc60e6e grammar.txt: remove a space from payable keyword 2016-12-02 11:52:11 +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
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
Yoichi Hirai df4b405f9c Add more optimization rules 2016-11-30 11:16:43 +00:00
Yoichi Hirai 0be5859503 codegen: cleanup values to fit in storage bytes 2016-11-25 15:50:46 +01:00
Yoichi Hirai 548b7ce42d codegen: storing of non-value types; add some assertions 2016-11-25 15:45:18 +01:00
Yoichi Hirai fa486f5b44 codegen: shorten the bit truncation 2016-11-25 15:45:18 +01:00
Yoichi Hirai 9d25b5601e codegen: merge type conversion and cleaning up 2016-11-25 15:45:18 +01:00
Yoichi Hirai 3fb9625127 codegen: document _chopSignBits parameter of convertType function 2016-11-25 15:45:17 +01:00