Commit Graph
3023 Commits
Author SHA1 Message Date
chriseth 53f26d9719 Merge pull request #6963 from ethereum/runOptimizerOnAllDialects
[Yul] Run optimizer on all dialects.
2019-06-19 10:51:24 +02:00
chriseth cc5045a56e [Yul] Run optimizer on all dialects. 2019-06-19 10:01:16 +02:00
chriseth 56db792ad9 Merge pull request #6876 from rocky/recoveringParser1-StandardCompiler
Add parser errorRecovery (including StandardCompiler)
2019-06-18 22:40:35 +02:00
rocky 1a7e09ab7a Add errorRecovery boolean to StandardCompiler 2019-06-18 15:54:05 -04:00
chriseth 05a67c486e Use "what" in exception reports. 2019-06-18 17:34:10 +02:00
chriseth 6cb6fe35ef Make Yul optimizer not fail for wasm. 2019-06-17 18:42:47 +02:00
rockyandchriseth ca3afea1d7 Add Steve Johnson-style parser recovery rules:
SourceUnit = Error $
    Block = '{' Error '}'
    ContractDefinition = '{' Error '}'
    Statement = Error ';'

Co-Authored-By: chriseth <chris@ethereum.org>
2019-06-17 14:47:07 +02:00
chriseth 633510eb04 Merge pull request #6935 from ethereum/subMaxValueXNotXRule
Add optimization rule SUB(~0, X) -> NOT(X).
2019-06-17 14:42:49 +02:00
chriseth 452a1d6aff Merge pull request #6730 from ethereum/generic-for-loop
For loop with generalized init-cond-post
2019-06-17 10:50:50 +02:00
Daniel Kirchner 5718072e10 Fix comparison opcodes and minor errors in proof scripts. 2019-06-14 17:04:50 +02:00
Daniel Kirchner d3293cf0d0 Correctness proof for SUB(NOT(0),X)->NOT(X). 2019-06-14 14:08:21 +02:00
Daniel Kirchner 4aa0c9e079 Merge pull request #6939 from ethereum/opt_proofs
Move optimization proofs repo to Solidity repo
2019-06-14 14:06:59 +02:00
Bhargava Shastry b5cbb1a3e9 For loop with custom init and post blocks and potentially unbounded conditional expression 2019-06-14 08:46:28 +02:00
Daniel Kirchner 4d38df6920 Set state mutability of function type members `gas and value` to pure. 2019-06-13 18:27:53 +02:00
Leonardo Alt 5089d4ac28 Move optimization proofs repo to Solidity repo 2019-06-13 17:11:48 +02:00
Alex Beregszaszi 668972bb4e Merge pull request #6930 from ethereum/msvc-SolidityEnd2EndTest-BigObj
Fixes compilation on Visual Studio 2019
2019-06-13 01:17:15 +02:00
Christian Parpart 98d852c832 Fixes compilation on Visual Studio 2019 (SolidityEndToEndTest.cpp's object file is too large, so we need a special flag to get it still compiling) 2019-06-12 23:46:32 +02:00
Leonardo d2019f49ea Merge pull request #6906 from ethereum/delegatecall_value_msg
Improve error message for delegatecall.value
2019-06-12 21:14:54 +02:00
Daniel Kirchner dfbdb6c007 Fix failing command line tests. 2019-06-12 19:04:02 +02:00
Daniel Kirchner 2dc405e948 Fix command line tests script to properly report errors. 2019-06-12 19:03:45 +02:00
Daniel Kirchner 2849169bff Merge pull request #6909 from ethereum/yul-delete-operation
[Sol->Yul] Make IRStorageItem work with dynamic offsets
2019-06-12 16:46:00 +02:00
Daniel Kirchner 502d22a26e Merge pull request #6914 from ethereum/boost170
Use imported targets for boost and update emscripten boost to 1.70.
2019-06-12 15:26:24 +02:00
Mathias Baumann 9e23d6d05e [Sol->Yul] Compile some tests with yul 2019-06-11 17:44:36 +02:00
Daniel Kirchner 91200fdd2e Merge pull request #6925 from ethereum/keccakTests
Some keccak tests.
2019-06-11 15:55:09 +02:00
Daniel Kirchner 073777e836 Some keccak tests. 2019-06-11 15:09:52 +02:00
Daniel Kirchner ba8ad1a1d9 Use the TestCase settings mechanism for object compiler tests. 2019-06-11 14:11:27 +02:00
Daniel Kirchner 547173533c Unify parsing of simple test expectations and require lines to start with `//`. 2019-06-11 14:05:45 +02:00
Daniel Kirchner bd1f65d609 Merge pull request #6888 from anurag-git/anurag_semantic_test_update
New semantic tests extracted
2019-06-11 10:50:10 +02:00
Anurag Dashputre 60332c6469 Extract semantic tests for
1. Transaction Status
2. Empty Contract
3. Smoke test for Range
2019-06-09 14:46:02 +02:00
Daniel Kirchner 8e20a5e59a Allow extracted semantics tests to run both with and without Yul. 2019-06-06 20:19:16 +02:00
Daniel Kirchner 226f8bb64d Use imported cmake targets for boost. 2019-06-06 18:49:34 +02:00
Daniel Kirchner 6368cd4c82 AsmParser: disallow trailing commas in function call arguments. 2019-06-06 13:16:27 +02:00
Leonardo Alt b7634faa3d Improve error message for delegatecall.value 2019-06-06 12:55:12 +02:00
Leonardo Alt d9ce9cab99 [SMTChecker] Use smtlib's implies instead of \!a or b 2019-06-04 14:23:44 +02:00
Bhargava Shastry f57439035a Do not enclose string literal within double quotes before conversion to u256 2019-05-29 15:52:31 +02:00
chriseth c9e2d388b5 Merge pull request #6848 from ethereum/invertibleRelation
Implement references using InvertibleRelation as data structure.
2019-05-29 13:34:10 +02:00
chriseth 4ee703e6e5 Revert "Add Steve Johnson-style parser recovery rules:"
This reverts commit 97f8ee0d1b.
2019-05-28 18:09:24 +02:00
chriseth f9dca1f282 Merge pull request #6681 from rocky/recoveringParser1
Add Steve Johnson-style parser recovery rules:
2019-05-28 15:36:45 +02:00
rockyandchriseth 97f8ee0d1b Add Steve Johnson-style parser recovery rules:
SourceUnit = Error $
    Block = '{' Error '}'
    ContractDefinition = '{' Error '}'
    Statement = Error ';'

Co-Authored-By: chriseth <chris@ethereum.org>
2019-05-28 15:06:34 +02:00
chriseth a3f721bbcc Merge pull request #6583 from ethereum/reset_yulstringrepo
Reset YulStringRepository regularly
2019-05-28 14:20:53 +02:00
chriseth 2276b567b1 Merge pull request #6840 from ethereum/discoverMSize
Only remove msize-modifying instructions if msize is not used.
2019-05-28 13:16:55 +02:00
Bhargava Shastry dbae0fa939 Reset Yul string repository before each compilation. 2019-05-28 13:12:39 +02:00
chriseth df96648b1c Do not allow msize in inline assembly if the Yul optimizer is active. 2019-05-28 12:54:33 +02:00
chriseth d7b5ea6761 Allow msize optimization only if it is not present. 2019-05-28 12:54:32 +02:00
chriseth c3cdae908d Merge pull request #6767 from ethereum/constantOptimiserForYul
[Yul] Constant optimiser
2019-05-28 11:53:04 +02:00
chriseth b95eebee1c Merge pull request #6822 from ethereum/uninitializedLoadFromStorage
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
2019-05-28 11:48:56 +02:00
chriseth 01b6b680f1 Merge pull request #6829 from ethereum/solYulDivision
[SolYul] Division.
2019-05-28 11:48:20 +02:00
chriseth cee1340113 Add mini-interpreter to check representation. 2019-05-28 11:35:07 +02:00
chriseth 1c16124a09 Constant optimiser for Yul. 2019-05-28 11:35:07 +02:00
chriseth 4061ad0a7b Implement references using InvertibleRelation as data structure. 2019-05-27 22:55:59 +02:00