Commit Graph

2142 Commits

Author SHA1 Message Date
chriseth
c34fa43d5b Test case that shows a CSE bug related to scopes. 2018-10-18 14:54:23 +02:00
chriseth
e78b95d9d4 Renamed SHA3.{h,cpp} files. 2018-10-18 14:31:36 +02:00
chriseth
e8a2d57075 Flatten more. 2018-10-18 00:58:15 +02:00
chriseth
bda154440c Add some simplification tests for operations. 2018-10-18 00:10:39 +02:00
chriseth
7609e2871e
Merge pull request #5240 from ethereum/limitDispenserSize
[Yul] Limit name length created by dispenser
2018-10-17 22:54:38 +02:00
chriseth
56425bb2b1 Add a test for delete x.length 2018-10-17 22:07:05 +02:00
chriseth
c6a6e9ac5d
Merge pull request #5232 from ethereum/inlineHeuristic
[Yul] Add simple inlining heuristic
2018-10-17 17:22:46 +02:00
chriseth
732d09cef1 Limit size of generated names and add convenience constructors. 2018-10-17 17:21:55 +02:00
chriseth
16c2a775fd Handle externally supplied variables correctly in disambiguator. 2018-10-17 14:12:11 +02:00
chriseth
9fb5feed05 Use metrics in the full inliner. 2018-10-17 14:11:20 +02:00
chriseth
2ab6430303 Inline each function separately. 2018-10-16 17:32:21 +02:00
chriseth
a435a14e13 Test for crash via inlining. 2018-10-16 17:29:20 +02:00
chriseth
e2e4a9fe81 New full inliner. 2018-10-16 17:16:03 +02:00
chriseth
ffe44536fe Add a "full simplify" test that applies multiple elementary transforms. 2018-10-16 16:18:39 +02:00
chriseth
a320eec7d3 New simplifier via broken expressions. 2018-10-16 16:18:39 +02:00
chriseth
b723893ac7
Merge pull request #5225 from mestorlx/issue5007
Prevent crash in case there are no contracts
2018-10-16 14:25:58 +02:00
mordax
134f5cb798 Added test for flipping signs on signed type edge case 2018-10-15 16:08:43 -04:00
chriseth
036929aba1
Merge pull request #5226 from ethereum/chriseth-patch-3
Correct include path
2018-10-15 19:51:25 +02:00
chriseth
8677d9276a
Merge pull request #5222 from ethereum/yul-block-flattener
[WIP] Yul: Introduces a block flattening pass
2018-10-15 19:50:10 +02:00
mestorlx
9f9d6fdcc4 fix issue##5007 2018-10-15 14:26:15 -03:00
Christian Parpart
04612936c2
Yul: Introduces a block flattening pass + tests 2018-10-15 18:21:34 +02:00
chriseth
3d4e5f30e1
Correct include path 2018-10-15 18:08:41 +02:00
Bhargava Shastry
55d91d5f9c Bug fix: Add missing include in test/Options.h; otherwise compiler does not recognise the boost object that Options subclasses 2018-10-15 17:14:22 +02:00
Leonardo Alt
e4851cf59e [SMTChecker] Inline calls to internal functions 2018-10-15 15:11:21 +02:00
chriseth
6202628cfe
Merge pull request #5221 from ethereum/splitRenamingLeftovers
Some renaming leftovers.
2018-10-15 14:22:17 +02:00
chriseth
0778fb2dfc
Merge pull request #5208 from mestorlx/bug4156
[WIP] Bad identifier suggestion in certain cases
2018-10-15 13:03:49 +02:00
chriseth
0664772ece Some renaming leftovers. 2018-10-15 12:51:50 +02:00
Christian Parpart
1304361b9c
Renaming namespace dev::julia to dev::yul. 2018-10-15 11:58:51 +02:00
Christian Parpart
9a4bec7e47
Renaming libjulia to libyul 2018-10-15 11:52:35 +02:00
chriseth
656adcaeb7
Merge pull request #5149 from ethereum/fix_assertion_on_inval_tuple_call
Fixes invalid function calls to literals inside tuple assignment's LHS.
2018-10-15 11:24:47 +02:00
Christian Parpart
6d815a142f
Fixes invalid function calls to literals inside tuple assignment's LHS. 2018-10-15 10:35:11 +02:00
mestorlx
1ce9566e50 Updated MAXIMUM_STRING_DISTANCE to non static maximumStringDistance taking into account length of the identifier 2018-10-13 09:54:07 -03:00
chriseth
7940dafd0d Also substitute variables in CSE. 2018-10-12 17:11:13 +02:00
chriseth
26dc876c28
Merge pull request #5127 from ethereum/exprUnbreaker
[Yul] Expression joiner.
2018-10-12 17:10:44 +02:00
chriseth
93cf718367
Merge pull request #5206 from ethereum/splitConstantsToo
[Yul] Split constants too
2018-10-12 17:01:54 +02:00
chriseth
94526b2d92
Merge pull request #5145 from ethereum/hashLinker
Hash linker
2018-10-12 15:53:45 +02:00
chriseth
1e06422589 Also split constants. 2018-10-12 15:20:06 +02:00
chriseth
d60a2511fd Expression joiner. 2018-10-12 15:19:29 +02:00
chriseth
26c693aa92 Change library placeholder to __$<hash>$__. 2018-10-12 15:15:02 +02:00
chriseth
6daeb39ecc Use hash for library placeholders. 2018-10-12 15:15:01 +02:00
chriseth
a937a449df Move unused pruner tests. 2018-10-11 18:41:26 +02:00
chriseth
463642996a Move expression simplifier tests. 2018-10-11 18:41:26 +02:00
chriseth
6dfd0adc0b Move rematerialiser tests. 2018-10-11 18:41:26 +02:00
chriseth
49958e4720 Move main function tests. 2018-10-11 18:41:26 +02:00
chriseth
9cd577abe9 Move tests for full inliner. 2018-10-11 18:41:26 +02:00
chriseth
83ab8e7f78 Move expression inliner tests. 2018-10-11 18:41:26 +02:00
chriseth
7a34fc1291 Move function hoister tests. 2018-10-11 18:41:26 +02:00
chriseth
e021be4609 Move function grouper tests. 2018-10-11 18:41:26 +02:00
chriseth
424a77b48e Move expression splitter tests. 2018-10-11 18:41:26 +02:00
chriseth
33ac415f7f Move common subexpression eliminator tests. 2018-10-11 18:41:26 +02:00
chriseth
a53d942da5 Remove old disambiguator test. 2018-10-11 16:59:57 +02:00
chriseth
6e32a1becb Disambiguator tests. 2018-10-11 16:59:57 +02:00
chriseth
4607118d2e Add Yul optimizer test framework. 2018-10-11 16:59:57 +02:00
chriseth
9da62384ee Combine test path discovery. 2018-10-11 15:01:43 +02:00
chriseth
50247dc8d1 Extract test suite runs. 2018-10-11 15:01:43 +02:00
chriseth
9081f803c7 Extract function. 2018-10-11 15:01:43 +02:00
Erik Kundt
3e24a3d81b Adds syntax tests for array index access. 2018-10-10 23:18:32 +02:00
chriseth
2feaacba9d
Merge pull request #5195 from ethereum/unsigned-array-index
Do not crash on non-unsigned array index
2018-10-10 20:56:25 +02:00
Erik Kundt
763ae30023 Fixes crash on non-unsigned array index. 2018-10-10 19:49:25 +02:00
Martin Diz
ef25454a04 Improved error message for lookup in function types. 2018-10-10 11:53:53 -03:00
chriseth
dd4acda73a
Merge pull request #5186 from ethereum/renameBreaker
Rename ExpressionBreaker to ExpressionSplitter.
2018-10-10 16:36:55 +02:00
chriseth
f950973eb2 Rename ExpressionBreaker to ExpressionSplitter. 2018-10-10 16:23:35 +02:00
chriseth
5b5a4d0172
Merge pull request #5134 from ethereum/fuzzer-input-file
solfuzzer: adds --input-file=FILENAME command line argument (defaulting to stdin)
2018-10-10 16:00:58 +02:00
chriseth
4035c96a32
Merge pull request #5184 from ethereum/viewFunctionDocs
Library view functions
2018-10-10 15:21:40 +02:00
Erik Kundt
4beabf6686 Documents library view functions and adds unit test. 2018-10-10 12:28:24 +02:00
chriseth
06200b4b64
Merge pull request #5180 from ethereum/cpp-cleanup
Some C++ cleanup
2018-10-10 11:43:42 +02:00
Christian Parpart
212a6e146a adds --input-file=FILENAME to solfuzzer 2018-10-10 11:13:03 +02:00
Alex Beregszaszi
6c3d12d85b Do not require ctype/stdio if not needed 2018-10-09 19:06:22 +01:00
Alex Beregszaszi
9e032bff43 Use nullptr instead of NULL where appropriate 2018-10-09 18:06:39 +01:00
chriseth
f6f0cecc2f
Merge pull request #5076 from ethereum/exprBreaker
[Yul] Expression breaker.
2018-10-09 16:50:00 +02:00
chriseth
4d9184ef04 Expression breaker. 2018-10-09 15:48:27 +02:00
Christian Parpart
4d5216c2e0 Fixes large rational number literals being wrongly interpreted.
Fixes #5052.
2018-10-09 14:36:49 +02:00
chriseth
547b26d464
Merge pull request #5124 from lazaridiscom/1802-hex-error-reporting
use Token type for hex error, draft re #1802
2018-10-09 14:17:11 +02:00
chriseth
7a6e23998a Fix commandline tests for release version. 2018-10-09 13:48:25 +02:00
Lazaridis
4bcd89105c provide general hex-literal error message, fixes #1802
dummy
2018-10-09 06:51:19 +03:00
chriseth
2fcbe74db0 Fix ast json test for function kind. 2018-10-08 23:07:10 +02:00
chriseth
7ff9a27979
Merge pull request #4734 from ethereum/astUpdate
JSON AST: replace ``isConstructor`` by ``kind`` which also supports fallbacks
2018-10-08 21:47:27 +02:00
Christian Parpart
d1e05bf647
soltest: provides sane defaults for --testpath command line option 2018-10-08 10:58:52 +02:00
chriseth
d76bfcd935 Fix typos. 2018-10-04 13:28:16 +02:00
Christian Parpart
9fb835b710 Fixes #5051 (introduced in #4684), effectively allowing underscores in address literals. 2018-10-02 15:37:15 +02:00
chriseth
e9f72212ee
Merge pull request #5104 from ethereum/fuzzer
Do not use compileJSON wrapper in the fuzzer
2018-10-01 13:20:06 +02:00
chriseth
658bef5a38
Merge pull request #5115 from mestorlx/cleancircleci
removed stray (B in CI test output
2018-10-01 13:18:55 +02:00
chriseth
a17d480fc2
Merge pull request #5075 from ethereum/fixInliner
[Yul] Fix inliner
2018-10-01 13:10:54 +02:00
chriseth
d5cd02b8ed Fix for inlining inside conditions. 2018-10-01 13:10:10 +02:00
Alex Beregszaszi
24563dd3ce Do not use compileJSON wrapper in the fuzzer 2018-09-29 14:58:59 +01:00
Martin Diz
25f3565340 removed stray (B in CI test output 2018-09-28 19:27:55 -03:00
Alex Beregszaszi
c4b5101b9d
Merge pull request #4676 from jwasinger/extcodehash
Add support for EXTCODEHASH
2018-09-28 00:04:40 +01:00
Alex Beregszaszi
384a65f660 Be more strict about values in the optimizer block in StandardJSON 2018-09-26 16:51:08 +01:00
Alex Beregszaszi
f2fa513320 Add LLL tests for EXTCODEHASH 2018-09-26 16:11:02 +01:00
Alex Beregszaszi
5d985abcab Add test for extcodehash 2018-09-26 16:11:02 +01:00
chriseth
13cd7c3fed
Merge pull request #5061 from ethereum/fixedSizeArrayLength
Disallow fixed-size arrays with zero length
2018-09-26 14:55:07 +02:00
Alex Beregszaszi
8cfc6c98d6 CREATE2 is part of Constantinople now
Also add hasCreate2 to EVMVersion
2018-09-26 01:58:10 +01:00
Alex Beregszaszi
c9f468b717 Better regex for finding version pragmas and replace it with >=0.0
There is a bug which stops ^0 from working.
2018-09-25 19:03:24 +01:00
Alex Beregszaszi
321ab08102 Automatically replace version pragmas in compilation tests 2018-09-25 19:03:24 +01:00
Alex Beregszaszi
d05fdb51b0 Require 0.5.0 in contract tests 2018-09-25 19:03:24 +01:00
Alex Beregszaszi
e9b2c650ce Turn on patch to replace version pragmas for Zeppelin
An also replace every single one of them with ^0
2018-09-25 19:03:24 +01:00
chriseth
ba62831143 Tests for inlining inside condition. 2018-09-25 17:16:22 +02:00
chriseth
1b8334e58b
Merge pull request #5034 from liangdzou/fix_test_format_issue
fix format issue for test files to enable the format checker in PR #5027
2018-09-25 10:14:44 +02:00
liangdzou
839b01f77e fix format issue for test files 2018-09-24 21:12:24 +08:00
chriseth
cb3a837251
Merge pull request #5003 from herrBez/cleanUpdated
Add syntax tests to fix #4627
2018-09-24 14:43:53 +02:00