Commit Graph
3039 Commits
Author SHA1 Message Date
chriseth 848959fff0 Merge pull request #6929 from ethereum/solYulBinaryOps
[Sol -> Yul] Checked signed arithmetic and modulo.
2019-06-20 13:02:30 +02:00
Daniel Kirchner fcd3410f26 Implement checked mod for sol->yul code generation. 2019-06-20 12:30:32 +02:00
Daniel Kirchner a5b9f634ef Implement signed multiplication for sol->yul code generation. 2019-06-20 12:30:30 +02:00
Daniel Kirchner 5f6af8b374 Implement signed subtraction for sol->yul code generation. 2019-06-20 12:16:56 +02:00
Daniel Kirchner 88988af561 Implement signed addition for sol->yul code generation. 2019-06-20 11:42:50 +02:00
chriseth dcb430c09f Merge pull request #6968 from ethereum/completeWordSizeTransform
[Yul] More work on word size transform
2019-06-20 11:38:57 +02:00
chriseth 5b92640ab5 Merge pull request #6972 from ethereum/restrictWhiskersTemplateParams
Restrict whiskers parameters to regular characters.
2019-06-20 11:23:02 +02:00
chriseth ecab46c707 Finish word size transform. 2019-06-20 10:42:56 +02:00
Leonardo Alt 51ba7f5f17 Add CI job for optimization proofs 2019-06-19 22:29:23 +02:00
chriseth fc64de6d90 Merge pull request #6923 from ethereum/sol-yul-storage-array
[Sol->Yul] Implement .length for storage arrays
2019-06-19 19:13:06 +02:00
chriseth d9d1c4a312 Merge pull request #6967 from ethereum/nameDisplacer
[Yul] Name displacer.
2019-06-19 18:56:54 +02:00
chriseth fc6f47e453 Restrict whiskers parameters to regular characters. 2019-06-19 18:46:16 +02:00
Mathias Baumann 910cb8d329 [Sol->Yul] Implement .length for storage arrays 2019-06-19 18:09:23 +02:00
chriseth 8edf9e4baf Merge pull request #6666 from vedant1811/issue-5405
Group function definitions
2019-06-19 18:03:40 +02:00
chriseth d7b366ff46 Name displacer. 2019-06-19 14:55:38 +02:00
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
Vedant Agarwala 5d6cbd97df [Yul] Directly jump over a series of function definitions
Implement a AbstractAssembly::setStackHeight function
Update the tests
Update Changelog
2019-06-19 12:40:11 +08: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