Bhargava Shastry
0397266351
Implement multi source semantic tests
...
Co-authored-by: chriseth <chris@ethereum.org>
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-23 17:29:16 +02:00
chriseth
f97b376f7e
Merge pull request #9040 from ethereum/yulproto-remove-pc
...
ossfuzz: Remove PC from yul proto specification
2020-06-04 10:19:26 +02:00
Djordje Mijovic
4b6c322279
Fixing various signedness warnings
2020-06-03 10:37:18 +02:00
Djordje Mijovic
1ee6c49028
Adding fixes for signedness warnings in test/tools/yulInterpreter
2020-06-02 16:35:41 +02:00
Bhargava Shastry
61431d2c59
ossfuzz: Remove PC from yul proto specification
2020-05-28 10:09:38 +02:00
Bhargava Shastry
596ac018f5
Fuzzer: Add test harness for solidity inheritance protobuf fuzzer
...
Co-Authored-By: Leonardo <leo@ethereum.org>
2020-05-11 23:56:27 +02:00
Bhargava Shastry
00946f3ea0
ossfuzz: Add sol proto fuzzer skeleton
...
Co-Authored-By: Leonardo <leo@ethereum.org>
2020-05-11 23:56:27 +02:00
Kamil Śliwak
156bfadad3
yulopti: Fix conflict between 'l' in yulopti and OptimiserSuite and make future conflicts less likely
...
- OptimizerSuite uses letters so switching to punctuation marks in yulopti should help.
2020-05-07 17:27:24 +02:00
Kamil Śliwak
d3d1520870
yulopti: Add an error message to assetion triggered when an optimizer step abbreviation conflicts with yulopti controls
2020-05-07 17:21:39 +02:00
Kamil Śliwak
3e9fa7e388
yulopti: Print errors to stderr rather than stdout
2020-05-07 17:16:50 +02:00
Daniel Kirchner
7b48c120b5
Always enforce via yul for isoltest runs.
2020-05-05 14:08:59 +02:00
Djordje Mijovic
8b7f87eed5
[isoltest] Enforcing compileViaYul to be set if test can pass via yul
2020-05-05 00:38:13 +02:00
Bhargava Shastry
5113af1df0
Update test/tools/ossfuzz/protoToYul.h
...
Co-Authored-By: Leonardo <leo@ethereum.org>
2020-04-27 14:01:11 +02:00
Bhargava Shastry
62e5ccec90
Minor code factoring to clarify for init scope extension
2020-04-27 14:01:11 +02:00
Bhargava Shastry
7280ed716a
Yul proto spec: Add multiple variable declaration statement
2020-04-27 14:01:11 +02:00
Bhargava Shastry
f78414b333
Disallow statements containing empty blocks e.g., empty if, for, function definition
2020-04-23 10:07:36 +02:00
Bhargava Shastry
ea5b64ca9e
Fuzzer: Permit linking of libraries in compilation framework
2020-04-20 14:28:38 +02:00
Alexander Arlt
aac7a1e434
Apply modernize-pass-by-value.
2020-04-14 10:32:13 -05:00
Alexander Arlt
90bb1d8a7c
Apply modernize-use-emplace.
2020-04-02 17:35:48 -05:00
Bhargava Shastry
9544df34d7
solc fuzzers: Use compiler stack for fuzzing
2020-03-20 10:50:26 +01:00
a3d4
f4d9f6772f
Unified use of settings. Removed a couple of unused functions.
2020-03-19 14:02:39 +01:00
a3d4
66783c30ce
Introduced TestCaseReader.
2020-03-16 23:14:33 +01:00
chriseth
8d2a9bf773
Merge pull request #8458 from a3d4/partfix-8244-introduced-testcase-shouldrun
...
Partial Fix #8244 : Introduced TestCase::shouldRun().
2020-03-09 18:35:12 +01:00
Leonardo
3896aa75cc
Merge pull request #8426 from ethereum/fix-7948
...
ossfuzz: Update README.md with steps to build fuzzers via docker
2020-03-09 16:41:10 +01:00
a3d4
29b770c434
Introduced TestCase::shouldRun().
2020-03-09 15:52:20 +01:00
Bhargava Shastry
2153a1ef1d
Update test/tools/ossfuzz/README.md
...
Address review comments
2020-03-09 10:38:19 +01:00
Bhargava Shastry
7483c6f13e
ossfuzz: Update README.md with steps to build fuzzers via docker
2020-03-05 10:43:31 +01:00
Bhargava Shastry
ed02aae1d9
Update solidity fuzzing dictionary with >0.6.0 keywords
2020-02-28 15:46:21 +01:00
Bhargava Shastry
79f1917422
yul proto fuzzer: Refactor dataoffset/size specification
2020-02-11 13:58:36 +05:30
Bhargava Shastry
59e7206c8f
yul proto fuzzer: Support boolean literal generation
2020-02-10 20:48:29 +05:30
chriseth
5de3379d82
Merge pull request #8238 from ethereum/yul-syntax-tests
...
Implement yul syntax tests
2020-02-05 15:15:41 +01:00
Mathias Baumann
fc10e701fc
Implement yul syntax tests
2020-02-05 14:58:34 +01:00
chriseth
48933df18d
Add some missing wasm functions.
2020-02-04 22:44:08 +01:00
chriseth
a7624ffc45
Implement i32 builtins for the interpreter.
2020-02-04 22:44:08 +01:00
cameel
5fbc4d4afa
[yulopti] Automate printing of the usage banner
...
- This now displays internal step names rather than human-readable ones but the internal ones are readable enough and it's not something worth creating another map.
- Options in the banner are now aligned in columns and thus easier to read.
2020-02-03 12:22:47 +01:00
cameel
4129c27495
[yulopti] Replace hard-coded step list with OptimiserSuite's maps
2020-02-03 12:22:47 +01:00
chriseth
2afcfec77b
Merge pull request #8220 from ethereum/remove-var-name-cleaner-from-optimiser-suite-step-list
...
Remove var name cleaner from optimiser suite step list
2020-01-30 17:58:43 +01:00
cameel
ed5210490d
[yulopti] Run disambiguator after VarNameCleaner
...
- This is a trivial change and it makes it safe to use in combination with other step.
2020-01-30 17:35:27 +01:00
chriseth
fbe5bb0cce
Parse default dialect and omit when printing.
2020-01-29 17:25:25 +01:00
chriseth
457cdecf6f
Merge pull request #8135 from ethereum/fix-get-options-7112
...
TestFramework: Merge Options.h into Common.h
2020-01-29 16:05:55 +01:00
Mathias Baumann
00e4d13975
TestFramework: Merge Options.h into Common.h
2020-01-29 12:27:05 +01:00
Bhargava Shastry
8cbe1d4b1d
yul proto fuzzer: Make function call generation optional
2020-01-24 12:31:43 +05:30
Bhargava Shastry
a335fed189
yul proto fuzzer: Add EVM version field
2020-01-24 12:31:20 +05:30
Bhargava Shastry
9befb4bdf0
yul proto fuzzer: Do not generate infinite for loops and limit total
...
number of for loops per test program to two
2020-01-20 16:27:01 +05:30
cameel
bf5e62931d
fixup! [yulopti] Fix typo: (f)flatten -> (f)latten
2020-01-17 12:38:45 +01:00
cameel
49ca1f8534
[yulopti] Add missing ConditionalUnsimplifier to the list of available optimizations
2020-01-17 08:01:39 +01:00
cameel
4262eebdc4
[yulopti] Fix typo: (f)flatten -> (f)latten
2020-01-17 08:01:31 +01:00
Alex Beregszaszi
3c88d295b3
Remove FixedHash(unsigned) constructor
2020-01-16 16:18:08 +00:00
chriseth
9d9a7ebe25
Merge pull request #7765 from ethereum/fix-7626
...
yul proto fuzzer: permit variable declarations inside for-init block
2020-01-15 11:21:23 +01:00
Christian Parpart
abb9f1eed7
CMake: Renaming devcore static library to solutil (to match source code paths)
2020-01-13 15:52:46 +01:00
Bhargava Shastry
49a05b5935
Permit variable declarations inside for init block
2020-01-13 16:17:33 +05:30
Daniel Kirchner
61652366ab
Fix indentation
2020-01-08 10:42:19 +01:00
Daniel Kirchner
be0775da49
Merge pull request #8075 from ethereum/refactor-namespaces
...
Refactor namespaces
2020-01-07 16:52:20 +01:00
Mathias L. Baumann
a2141d3be2
Merge pull request #7869 from fulldecent/fix-kill
...
Reduce usage of word kill
2020-01-07 16:01:04 +01:00
Christian Parpart
345f9928ab
Library libdevcore renamed to libsolutil.
2020-01-07 15:51:50 +01:00
Christian Parpart
ed45b000d1
Adapt tests directory to C++ namespace changes.
2020-01-07 15:51:50 +01:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
William Entriken
6d068b6331
Reduce usage of the word "kill"
2020-01-07 11:18:10 +01:00
Bhargava Shastry
49aec64caf
abiv2 proto converter: Do not resize dynamic storage arrays by writing to the length field as it is now read only
2020-01-06 17:44:42 +01:00
Alex Beregszaszi
9c27e98b83
Rename EWasmBuiltinInterpreter to EwasmBuiltinInterpreter
2019-12-19 11:36:08 +00:00
Alex Beregszaszi
47a8e5fbd1
Fix getExternalCodeSize in the Yul Ewasm interpreter
2019-12-18 22:54:34 +00:00
rodiazet
d867f5339b
[WASM] add i64.clz and i64.store8 to Wasm dialect and EWasm interpreter.
...
dsads
2019-12-18 19:51:27 +01:00
Alex Beregszaszi
7effc94f24
Rename EVMToEWasmTranslator to EVMToEwasmTranslator
2019-12-18 16:57:45 +00:00
Alex Beregszaszi
b3caf35e88
Change writeU256/writeU128/writeAddress not to return anything in Yul Ewasm interpreter
2019-12-18 14:58:28 +00:00
Alex Beregszaszi
9f1e8086bb
Fix returning code size in Yul Ewasm interpreter
2019-12-18 14:58:28 +00:00
Alex Beregszaszi
7d60cc1729
Fix tracing LOG instruction in the Yul Ewasm interpreter
2019-12-18 13:35:05 +00:00
Alex Beregszaszi
2a808e4f32
Add trace for unreachable in Yul Ewasm translation tests
2019-12-15 13:28:38 +00:00
Bhargava Shastry
f5bd483dfa
yul proto fuzzer: Target default evm version
2019-12-11 16:52:00 +01:00
Christian Parpart
8682af2216
libsolc: Overhauls memory management.
2019-12-11 15:17:39 +00:00
chriseth
f6916a637e
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-09 17:16:58 +01:00
Leonardo Alt
225041738e
Add SMTCheckerTest for isoltest
2019-12-09 15:32:08 +01:00
chriseth
f7fc42d8c3
Merge pull request #7826 from ethereum/develop
...
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
chriseth
301215f186
Merge pull request #7461 from sifmelcara/licm
...
[YulOpt] Implement loop-invariant code motion
2019-11-28 12:00:19 +01:00
mingchuan
db60d123d0
[YulOpt] Implement loop-invariant code motion
2019-11-28 11:59:29 +01:00
chriseth
1ebcc757e1
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-27 19:14:08 +01:00
Paweł Bylica
38a20190f4
test: Use evmc::VM directly
...
The evmc::VM works as a RAII wrapper similarly to unique_ptr, so there is no point in using additional unique_ptr.
2019-11-27 18:53:02 +01:00
Bhargava Shastry
ea9e849ee4
Use pointer to string for efficiency
2019-11-26 17:12:56 +01:00
Bhargava Shastry
41bdc9b673
yul proto fuzzer: Generalize variable references
2019-11-26 17:12:56 +01:00
chriseth
b0db64ff5b
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-26 16:19:35 +01:00
chriseth
d4d0df021d
EWasm translation tests.
2019-11-26 15:46:33 +01:00
chriseth
6625f634fc
Wasm Interpreter
2019-11-26 15:46:33 +01:00
Alex Beregszaszi
eedfafbbc4
Introduce callback context in libsolc
2019-11-22 11:42:39 +00:00
chriseth
a00f824479
Merge pull request #7773 from ethereum/develop
...
Merge develop into develop_060
2019-11-21 21:49:22 +01:00
chriseth
a26dd5a428
Remove trailing spaces in output.
2019-11-21 20:09:03 +01:00
Leonardo Alt
389da5228e
Merge remote-tracking branch 'origin/develop' into merge_develop_060
2019-11-20 12:27:40 +01:00
chriseth
5deaac0849
Merge pull request #7740 from ethereum/istanbul
...
Enable support for Istanbul
2019-11-20 10:49:27 +01:00
chriseth
32f321e416
Merge pull request #7751 from ethereum/replace_boost_variant_std
...
Replace boost::variant by std::variant in libyul
2019-11-19 19:40:39 +01:00
Leonardo Alt
be849b3c47
Replace boost::variant by std::variant in libyul
2019-11-19 17:23:18 +01:00
Alex Beregszaszi
71a310a2ea
Run fuzzer for istanbul
2019-11-19 17:09:18 +01:00
Erik K
94272d44aa
Merge pull request #7745 from ethereum/develop
...
Merge develop into develop_060
2019-11-19 15:30:31 +01:00
Alex Beregszaszi
1432f0ad28
Adapt EVMHost for EVMC7
2019-11-19 12:21:03 +01:00
Bhargava Shastry
62ae015552
docker: Add versioning and edit naming scheme
2019-11-18 15:16:53 +01:00
Bhargava Shastry
a8a50c4e0e
Upgrade evmone to v0.2.0 and adapt fuzzer build
2019-11-18 15:16:53 +01:00
Bhargava Shastry
505b5deaf9
Add chainid and selfbalance opcodes to yul proto converter and enable it
...
in the yul proto differential fuzzer.
2019-11-18 09:26:00 +01:00
chriseth
2e5a42836c
Merge pull request #7681 from ethereum/develop
...
Merge develop into develop_060
2019-11-11 16:42:03 +01:00
Christian Parpart
f15d47f165
Yul: Remove obsoleted FunctionalInstruction.
2019-11-11 16:04:39 +01:00
Bhargava Shastry
9772cc44a0
abiv2 proto fuzzer: Fuzz return data coding
2019-11-06 23:42:10 +01:00
chriseth
46ac16d25c
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-04 19:09:11 +01:00
Bhargava Shastry
6a55949c04
yul proto fuzzer: Increase step limit upper bound for optimized code
2019-11-04 18:38:56 +01:00
Bhargava Shastry
04becb9458
Minor refactoring
2019-11-04 15:47:04 +01:00