chriseth
|
6cb6fe35ef
|
Make Yul optimizer not fail for wasm.
|
2019-06-17 18:42:47 +02:00 |
|
chriseth
|
d7211c17e9
|
Merge pull request #6953 from ethereum/fix-comments-in-pr
[Sol->Yul] Style fixes
|
2019-06-17 17:29:05 +02:00 |
|
Mathias Baumann
|
8ca27c2bb0
|
[Sol->Yul] Style fixes
addresses the points @chriseth mentioned in #6909
|
2019-06-17 15:26:40 +02:00 |
|
rocky
|
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 |
|
Daniel Kirchner
|
4d38df6920
|
Set state mutability of function type members `gas and value ` to pure.
|
2019-06-13 18:27:53 +02:00 |
|
Leonardo
|
7a42ae2b7b
|
Merge pull request #6894 from ethereum/smt_catch_expr
[SMTChecker] Catch malformed expressions
|
2019-06-12 21:17:10 +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
|
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 |
|
Mathias Baumann
|
6a0976ed5e
|
[Sol->Yul] Refactor shift functions to be consistent
|
2019-06-11 17:44:36 +02:00 |
|
Mathias Baumann
|
89c435a167
|
[Sol->Yul] Make IRStorageItem work with dynamic offsets
|
2019-06-11 17:44:36 +02:00 |
|
Daniel Kirchner
|
226f8bb64d
|
Use imported cmake targets for boost.
|
2019-06-06 18:49:34 +02:00 |
|
Daniel Kirchner
|
2dbdddc7e5
|
Fix argument count for require with message and string literals.
|
2019-06-06 13:17:08 +02:00 |
|
Leonardo Alt
|
b7634faa3d
|
Improve error message for delegatecall.value
|
2019-06-06 12:55:12 +02:00 |
|
Leonardo Alt
|
1221eeebf1
|
[SMTChecker] Report malformed expressions more precisely
|
2019-06-06 11:54:29 +02:00 |
|
Leonardo Alt
|
f281c94b42
|
[SMTChecker] Test that non-Boolean literals are actually integers
|
2019-06-05 10:51:05 +02:00 |
|
Daniel Kirchner
|
d99c37e1ee
|
Merge pull request #6891 from ethereum/z3cmake
Build System: Try to find Z3 using CONFIG_MODE and stock cmake files before manual search.
|
2019-06-05 10:46:50 +02:00 |
|
Leonardo
|
3a3316393e
|
Merge pull request #6897 from ethereum/smt_check_pragma_earlier
[SMTChecker] Exit early if no pragma
|
2019-06-05 10:26:25 +02:00 |
|
Leonardo
|
c39ea56f93
|
Merge pull request #6896 from ethereum/smt_use_portfolio
[SMTChecker] Use SMTPortfolio directly
|
2019-06-05 10:26:05 +02:00 |
|
Leonardo
|
155af48b9d
|
Merge pull request #6895 from ethereum/smt_keep_assertions
[SMTChecker] Keep a copy of assertions that are added to the solvers
|
2019-06-05 10:25:45 +02:00 |
|
Leonardo Alt
|
4de1e20954
|
[SMTChecker] Exit early if no pragma
|
2019-06-04 17:12:15 +02:00 |
|
Leonardo Alt
|
91653526bb
|
[SMTChecker] Use SMTPortfolio directly instead of pointer to SolverInterface
|
2019-06-04 17:10:52 +02:00 |
|
Leonardo Alt
|
31ef421fff
|
[SMTChecker] Keep a copy of assertions that are added to the solvers
|
2019-06-04 17:09:04 +02:00 |
|
Daniel Kirchner
|
9f5340fa53
|
Try to find Z3 using CONFIG_MODE before manual search.
|
2019-06-04 15:58:03 +02:00 |
|
Leonardo Alt
|
d9ce9cab99
|
[SMTChecker] Use smtlib's implies instead of \!a or b
|
2019-06-04 14:23:44 +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 |
|
rocky
|
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
|
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
|
1c16124a09
|
Constant optimiser for Yul.
|
2019-05-28 11:35:07 +02:00 |
|
chriseth
|
fbf189151d
|
[SolYul] Division.
|
2019-05-27 17:53:46 +02:00 |
|
chriseth
|
5b1a984882
|
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
|
2019-05-27 17:26:37 +02:00 |
|
chriseth
|
a600126703
|
Merge pull request #6833 from sifmelcara/fix-struct-array-mapping
Fix assignment of struct containing array of mappings
|
2019-05-27 11:14:28 +02:00 |
|
mingchuan
|
bf8af89bba
|
Fix assignment of struct containing array of mappings
|
2019-05-25 01:33:49 +08:00 |
|
chriseth
|
fb40063253
|
Compound assignment.
|
2019-05-23 21:32:30 +02:00 |
|
Mathias Baumann
|
981983089c
|
[Sol -> Yul] Implement delete for function pointers
|
2019-05-23 15:51:59 +02:00 |
|
Mathias Baumann
|
81702717b0
|
[Sol -> Yul] Enable function pointer comparison
|
2019-05-23 12:52:50 +02:00 |
|
chriseth
|
0291abf10f
|
Merge pull request #6818 from ethereum/alwaysUseBuiltins
Provide builtin functions even in loose assembly mode.
|
2019-05-23 12:29:12 +02:00 |
|
chriseth
|
97fa21841d
|
Use different way to fall back to FunctionalInstruction for loose assembly.
|
2019-05-23 11:30:12 +02:00 |
|
chriseth
|
9a00729ce7
|
Provide dialect to Parser and InlineAssembly AST nodes.
|
2019-05-23 00:24:58 +02:00 |
|
chriseth
|
7506b5752a
|
Do not require payable for callvalue instruction.
|
2019-05-22 11:30:29 +02:00 |
|
chriseth
|
e324deabd6
|
Merge pull request #6740 from ethereum/unary-ops
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
|
2019-05-20 18:06:01 +02:00 |
|
Daniel Kirchner
|
b6f4d4e9bc
|
[Sol - Yul] Implement checked multiplication.
|
2019-05-20 17:36:53 +02:00 |
|
Mathias Baumann
|
86000fdcce
|
[Sol -> Yul] Implement unary - , +
|
2019-05-20 16:14:46 +02:00 |
|
chriseth
|
e08f521b7e
|
Merge pull request #6764 from ethereum/smt_fix_tuple_ice
[SMTChecker] Fix ICE in unsupported function calls with multi return values
|
2019-05-20 15:18:11 +02:00 |
|
chriseth
|
bbf45c4af1
|
Merge pull request #6758 from ethereum/smt_global_context
[SMTChecker] Move handling of global vars and functions
|
2019-05-20 15:15:54 +02:00 |
|
Mathias Baumann
|
7dbcb80523
|
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
|
2019-05-20 11:43:12 +02:00 |
|
Leonardo Alt
|
60a4f03d3d
|
[SMTChecker] Fix ice in unsupported functions with multi return values
|
2019-05-16 18:23:42 +02:00 |
|
Leonardo Alt
|
5493a41842
|
[SMTChecker] Move global variables and functions to encoding context
|
2019-05-16 18:11:31 +02:00 |
|
chriseth
|
f2ae30f620
|
Fix handling of structs of dynamic size as constructor parameters.
|
2019-05-16 17:10:54 +02:00 |
|
chriseth
|
9d291a86cc
|
Merge pull request #6742 from ethereum/smt_expr_context
[SMTChecker] Move expression handling to EncodingContext
|
2019-05-16 12:47:15 +02:00 |
|
chriseth
|
ce19e2e4bc
|
Merge pull request #6599 from ethereum/ipfsHash
Add IPFS hash of source files to metadata.
|
2019-05-15 14:21:58 +02:00 |
|
chriseth
|
b01a8c544c
|
Use IPFS url in metadata for source links.
|
2019-05-15 12:40:03 +02:00 |
|
Daniel Kirchner
|
a10501bb7d
|
Merge pull request #6725 from AndreyBronin/develop
GCC 9.1 build fix. error: redundant move in return statement
|
2019-05-15 11:37:20 +02:00 |
|
Andrey Bronin
|
4eb37fe631
|
fix warning in GCC 9.1: redundant move in return statement
|
2019-05-14 17:44:28 +03:00 |
|
Leonardo Alt
|
4e430ba0ae
|
[SMTChecker] Move expression handling to EncodingContext
|
2019-05-14 15:56:43 +02:00 |
|
chriseth
|
74fbf5402d
|
Merge pull request #6737 from ethereum/smt_vars_context
[SMTChecker] Move variable handling to EncodingContext
|
2019-05-14 13:30:35 +02:00 |
|
chriseth
|
d753fcdb36
|
Tools to compute UnixFS IPFS hash.
|
2019-05-14 11:52:11 +02:00 |
|
Mathias Baumann
|
f5980f08cc
|
Remove m_code from IRValue
Only one place to append to m_code avoids confusion and bugs
|
2019-05-14 11:15:04 +02:00 |
|
Leonardo Alt
|
ebbe03cad6
|
[SMTChecker] Move variable handling to EncodingContext
|
2019-05-13 16:59:28 +02:00 |
|
chriseth
|
01dd9ba2ae
|
Merge pull request #6717 from ethereum/smt_namespace
Move SMT specific code into smt namespace
|
2019-05-13 12:45:34 +02:00 |
|
chriseth
|
37375b4271
|
Merge pull request #6606 from ethereum/stdin-output-wildcard
Fix wildcard as output selector in standard JSON
|
2019-05-13 10:24:13 +02:00 |
|
chriseth
|
8c232e8196
|
Merge pull request #6690 from ethereum/useConditionalWhiskers
Use conditional whiskers
|
2019-05-13 10:23:30 +02:00 |
|
chriseth
|
03c8e43da5
|
Merge pull request #6605 from ethereum/natspec-colon-fix
Fix Natspec parser error
|
2019-05-13 10:19:47 +02:00 |
|
chriseth
|
e5d46767f1
|
Merge pull request #6722 from ethereum/smt_fix_variable_usage
[SMTChecker] Fix VariableUsage for IndexAccess
|
2019-05-13 10:17:26 +02:00 |
|
chriseth
|
a28b6224a4
|
Merge pull request #6714 from ethereum/finishERC20
Finish ERC20
|
2019-05-13 10:00:38 +02:00 |
|
Leonardo Alt
|
fac383a233
|
Move SMT specific code into smt namespace
|
2019-05-10 20:03:11 +02:00 |
|
Erik Kundt
|
2b021eaa30
|
Allows wildcard as output selector in standard JSON.
|
2019-05-10 18:58:51 +02:00 |
|
chriseth
|
cc40e65a4b
|
Merge pull request #6712 from ethereum/smt_unique_ptr
[SMTChecker] Use unique_ptr instead of shared_ptr where applicable
|
2019-05-10 12:53:53 +02:00 |
|
Leonardo Alt
|
3ea5c112d3
|
[SMTChecker] Fix VariableUsage for IndexAccess
|
2019-05-10 11:28:10 +02:00 |
|
Erik Kundt
|
656364d967
|
Fixes Natspec parser error when whitespace is missing.
|
2019-05-10 10:53:32 +02:00 |
|
Leonardo
|
661b08e16c
|
Merge pull request #6718 from ethereum/smt_style
[SMTChecker] Style changes
|
2019-05-10 09:20:21 +02:00 |
|
chriseth
|
4de75b24c5
|
Merge pull request #6677 from ethereum/externalCalls
[SolYul] External function calls
|
2019-05-09 19:18:10 +02:00 |
|
Leonardo Alt
|
8d65fd18fc
|
[SMTChecker] Style changes
|
2019-05-09 19:15:43 +02:00 |
|
chriseth
|
89700dbcff
|
Merge pull request #6665 from ethereum/smt_inline_external_this
[SMTChecker] Inline external function calls to `this`
|
2019-05-09 19:09:08 +02:00 |
|
chriseth
|
e047c8d4d9
|
Code generator for external function calls.
|
2019-05-09 18:55:12 +02:00 |
|
chriseth
|
63a072f122
|
[SolYul] Partially implement constructor.
|
2019-05-09 17:57:33 +02:00 |
|
chriseth
|
021b312264
|
Revert with reason.
|
2019-05-09 17:57:33 +02:00 |
|
chriseth
|
60a42f58a0
|
Fix internal function calls.
|
2019-05-09 17:57:33 +02:00 |
|
chriseth
|
45ee3fc007
|
Subtraction for unsigned integers.
|
2019-05-09 17:57:30 +02:00 |
|
Leonardo Alt
|
ef32bf185f
|
[SMTChecker] Inline external function calls to this.
|
2019-05-09 16:53:30 +02:00 |
|
Leonardo Alt
|
c8a017ccd6
|
[SMTChecker] Use unique_ptr instead of shared_ptr where applicable.
|
2019-05-09 16:34:22 +02:00 |
|
Leonardo Alt
|
6027383ae5
|
[SMTChecker] Fix call to function at state var init
|
2019-05-09 16:12:44 +02:00 |
|
chriseth
|
c3a1c168d0
|
Merge pull request #6711 from ethereum/solYulIf
[Sol -> Yul] Implement if statements
|
2019-05-09 15:33:34 +02:00 |
|
chriseth
|
b3e51bcae1
|
Some more compression.
|
2019-05-09 15:25:21 +02:00 |
|
chriseth
|
d3d205b6eb
|
Some more compression.
|
2019-05-09 15:25:21 +02:00 |
|
chriseth
|
c6b9fa96ae
|
Use conditional Whiskers.
|
2019-05-09 15:25:21 +02:00 |
|
Daniel Kirchner
|
b83f6d8d46
|
[Sol -> Yul] Implement if statements
|
2019-05-09 14:52:20 +02:00 |
|
Leonardo
|
9e09b5d33b
|
Merge pull request #6679 from ethereum/smt_fix_ssa_reset
[SMTChecker] Fix ICE in touched vars
|
2019-05-09 12:17:32 +02:00 |
|
chriseth
|
0852ccc318
|
Merge pull request #4764 from ethereum/cbor-version
Store compiler version in CBOR metadata
|
2019-05-09 10:10:50 +02:00 |
|
Mathias Baumann
|
0abe00d393
|
[Sol -> Yul] Fix ForLoops and implement WhileLoops
|
2019-05-09 09:46:19 +02:00 |
|
Leonardo Alt
|
3d52a6ca68
|
[SMTChecker] Fix ICE in branch-inline function call-modify local variable
|
2019-05-09 09:15:11 +02:00 |
|
Leonardo Alt
|
dcd6cb94bf
|
Add function that retrieves first FunctionDefinition up the scope path
|
2019-05-09 09:15:11 +02:00 |
|
Daniel Kirchner
|
a6a28ac475
|
Allow overwriting the release flag for tests and adjust test suite to CBOR metadata.
|
2019-05-08 22:21:50 +02:00 |
|
Alex Beregszaszi
|
e121c8f3c7
|
Store compiler version in CBOR metadata
|
2019-05-08 22:21:50 +02:00 |
|
Leonardo Alt
|
9893cae27a
|
[SMTChecker] Make mergeVariables deterministic
|
2019-05-08 20:46:01 +02:00 |
|