Commit Graph

2316 Commits

Author SHA1 Message Date
chriseth
4076875927
Merge pull request #5271 from ethereum/fullSuite
[Yul] Full suite tests.
2018-10-25 12:44:10 +02:00
chriseth
d335539891
Merge pull request #5296 from ethereum/setPragmaToArbitrary
Set pragma to arbitrary
2018-10-25 12:42:15 +02:00
Leonardo Alt
d8cbf321da Grouping of symbolic variables in the same file and support to FixedBytes 2018-10-25 09:30:48 +02:00
chriseth
60f1d52f59 Full suite tests. 2018-10-24 18:02:08 +02:00
chriseth
f92623063d Add redundant assign and ssa. 2018-10-24 17:54:35 +02:00
chriseth
57843f790c Interactive optimizer tool. 2018-10-24 17:52:28 +02:00
chriseth
1424beda79 Remove pragma changer. 2018-10-24 14:52:55 +02:00
chriseth
9e6356a763 Set pragma to arbitrary. 2018-10-24 14:52:55 +02:00
chriseth
eded236e67 Only run zeppelin as external tests. 2018-10-24 14:52:55 +02:00
chriseth
01566c2e1a
Merge pull request #5272 from ethereum/smt_special_vars
[SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash
2018-10-24 14:34:17 +02:00
chriseth
a9a414bd0f Added some tests. 2018-10-24 14:29:33 +02:00
chriseth
b3911798b3 Redundant assign eliminator. 2018-10-24 13:24:25 +02:00
Leonardo Alt
e2cf5f6ed9 Add gasleft constraint and use full member access name 2018-10-22 18:19:11 +02:00
Christian Parpart
f112377dd4
Refactor solidity::Token into an enum class with TokenTraits helper namespace 2018-10-22 17:00:51 +02:00
Leonardo Alt
b46b827c30 [SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash 2018-10-19 15:52:16 +02:00
chriseth
c13b5280c1
Merge pull request #5256 from ethereum/lvalueCleanup
Lvalue cleanup
2018-10-19 11:20:12 +02:00
chriseth
c676b009e1
Merge pull request #5267 from ethereum/ssatransform
SSA transform - first step.
2018-10-19 11:10:08 +02:00
chriseth
5c274a9251
Merge pull request #5260 from ethereum/flattenMore
Flatten more.
2018-10-19 11:08:46 +02:00
chriseth
0ebe572f7d
Merge pull request #5258 from ethereum/coverage2
Add some simplification tests for operations.
2018-10-19 11:04:56 +02:00
chriseth
4987c12ac3
Merge pull request #5213 from Mordax/issue-5103
Tests for flipping signs on signed type edge case
2018-10-18 19:02:35 +02:00
chriseth
7dffb0f3ee
Merge pull request #5270 from ethereum/inlineFlexible
Make full inliner more flexible.
2018-10-18 19:02:04 +02:00
chriseth
465845b7a7 SSA transform - first step. 2018-10-18 18:56:22 +02:00
chriseth
b2725aa913 Make full inliner more flexible. 2018-10-18 14:57:09 +02:00
chriseth
48749146da Fix a bug in CSE where a variable that was already out of scope was used. 2018-10-18 14:55:51 +02:00
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
Erik Kundt
d821cbdff5 Moves length check to reference resolver. 2018-09-22 00:25:52 +02:00
Erik Kundt
ff5be17990 Disallows fixed-size multidim. arrays with zero-length. 2018-09-21 18:44:56 +02:00
Alex Beregszaszi
5dd3ee2d96
Merge pull request #5050 from ethereum/standard-json-crashes
Add proper error reporting when invalid settings are provided in StandardJSON
2018-09-21 15:48:05 +01:00
Alex Beregszaszi
a515173900 Add proper error reporting when invalid settings are provided in StandardJSON 2018-09-21 14:53:24 +01:00
herrBez
faa0caae08 Add syntax tests to augment the test coverage of
libsolidity/parsing/Scanner.cpp and libsolidity/parsing/Scanner.h
Fix #4627 and PR #5003.

- Add multiline comment test
- Add upper case hex literal test
- Add test for unicode escapes
- Add test for strings with escaped newlines
- Add test for string escapes
- Add test for strings that do not terminate before end of file
- Add test for unterminated blocks
2018-09-20 23:02:44 +02:00
chriseth
dc9853bb6e
Merge pull request #5030 from ethereum/payableConversion
Make non-payable default for conversion to address.
2018-09-20 21:20:46 +02:00
chriseth
d0461c49fe Make non-payable default for conversion to address. 2018-09-20 14:31:04 +02:00
hydai
b409faa675
Disallow uppercase X in hex number literals 2018-09-19 22:01:15 +08:00
chriseth
47b8d998d1
Merge pull request #4999 from liangdzou/fix_typo
fix some code format problems
2018-09-17 17:47:35 +02:00
chriseth
da90bc0224
Merge pull request #4984 from elopio/add-missing-inliner-test
Add a missing tests for yul inliner optimization
2018-09-17 16:32:30 +02:00
liangdzou
808c3f3df5 fix some format typos 2018-09-17 22:13:21 +08:00
Leo Arias
aae385031f Add a missing tests for yul inliner optimization
When the statement has two return values, the function is not inlinable.

When the function has one statement but it is not an assignment to the
return variable, the function is not inlinable.

l
2018-09-16 06:38:08 +00:00
liangdzou
f3cbdadec7 Do not set to ref for explicit conversion and add assertion for array
type conversion. Also, add some test cases for #4901 and #4948.
2018-09-14 08:42:40 +02:00
chriseth
5cf570e100
Merge pull request #4968 from ethereum/alethUpdateCompatible
Fix tests for newer versions of aleth.
2018-09-13 23:38:46 +02:00
Daniel Kirchner
e7daed68c1
Merge pull request #4911 from ethereum/addressPayable
Payable and non-payable address type.
2018-09-13 17:30:54 +02:00
Daniel Kirchner
3e55aa3fa2 Disable blockhash test for constantinople due to changes between aleth versions. 2018-09-13 17:18:42 +02:00
Daniel Kirchner
583b87bb3d Use "pending", not "latest" during `eth_call in sendMessage`. 2018-09-13 16:48:51 +02:00
Daniel Kirchner
ae35a58124 Add `stateMutability field to JSON AST for address` types. 2018-09-13 15:15:49 +02:00
Daniel Kirchner
12aaca1645 Add payable and non-payable state mutability to AddressType. 2018-09-13 15:15:49 +02:00
liangdzou
558a4ac49c give more information (at most 35 chars before and after) for too long lines
add tests for giving more informations for too long lines

add edge tests for giving more informations for too long lines

avoid printing out tailing white space

update test case after avoiding printing out trailing whitespace

update test case for removing the pre-release warning from reference

refactor the code to if-else flavor

rename folder to cmdlineErrorReports under test

rename folder to cmdlineErrorReports under test

ignore whitespace for reference files

avoiding to modify the file stderr_path by call sed without -i option

print ' ...' instead of ' ... ' at the end of a line
2018-09-13 09:55:54 +08:00
Daniel Kirchner
879251a78b Update test suite to use address payable. 2018-09-12 16:21:43 +02:00
Daniel Kirchner
1ce3581a52 Accept `address payable` during parsing. 2018-09-11 14:52:23 +02:00
Daniel Kirchner
a434896458 Restore `isConstructor` in the legacy AST. 2018-09-11 14:47:25 +02:00
Daniel Kirchner
b6636e2570 Add new test cases. 2018-09-11 14:47:25 +02:00
Daniel Kirchner
395ab9a872 Replace `isConstructor field in the JSON AST by a kind` field. 2018-09-11 14:47:25 +02:00
chriseth
9f6a12eeb5 Update bug description, add regex and tests. 2018-09-10 12:58:40 +02:00
chriseth
7118f53974 Tests. 2018-09-10 12:47:46 +02:00
chriseth
255eda2ea6
Merge pull request #4912 from ethereum/fixNewline
Fix bugs in comments.
2018-09-10 12:25:07 +02:00
Leonardo Alt
9927964d21 Buglist check script supports json paths 2018-09-06 18:42:21 +02:00
chriseth
6a40048aa4 Tests. 2018-09-06 16:42:59 +02:00
chriseth
0b7b8162ca This fixes several bugs with regards to line breaks and comments:
- any unicode line break (line feed, vertical tab, form feed, carriage
   return, NEL, LS and PS) is considered to terminate a single-line
   comment. The line break itself is considered to be the next token
   after the comment, leading to a parser error if it is not an
   ascii character (i.e. for NEL, LS and PS).
 - unterminated multiline comments are considered illegal tokens
 - '/** /' is considered an unterminated multiline comment
   (previously, whitespace was allowed before the last '/'
2018-09-06 16:42:59 +02:00
chriseth
522174890f
Merge pull request #4872 from bakaoh/issue4716
Crash when array index value is too large
2018-09-05 21:47:42 +02:00
Daniel Kirchner
87804b6419 Split IntegerType into IntegerType and AddressType. 2018-09-05 12:19:14 +02:00
chriseth
a996ea266c
Merge pull request #4590 from ethereum/msgValueModifier
Warn if modifier uses msg.value in non-payable function
2018-09-05 10:32:10 +02:00
bakaoh
a7ffff6a29 Fix #4716: Crash when array index value is too large 2018-09-05 10:54:38 +07:00
chriseth
e6aa15bae1
Merge pull request #4895 from ethereum/abidecodesingle
Fix abi.decode returning single value.
2018-09-04 23:47:56 +02:00
chriseth
85debe77d9
Merge pull request #4866 from bakaoh/issue4743
Fix#4743: Incorrect source location for nameless parameters
2018-09-04 20:21:03 +02:00
chriseth
3c804fd576
Merge pull request #4880 from ethereum/fix_cmdlineTest_tmpdir
Rename TMPDIR to SOLTMPDIR in cmdlineTests
2018-09-04 20:08:25 +02:00
chriseth
624dbbe142 Fix abi.decode returning single value. 2018-09-04 18:19:00 +02:00
chriseth
9daac90cf7
Merge pull request #4888 from ethereum/disallow_single_statement_vardecl_if_while_for
Disallow single statement var decl in if/while/for without blocks
2018-09-04 17:24:06 +02:00
Daniel Kirchner
e3097b30da Add another end-to-end test. 2018-09-04 15:34:21 +02:00
Daniel Kirchner
0011f8aef9 Update compilation tests. 2018-09-04 13:31:10 +02:00
Daniel Kirchner
82f512a7d4 Add return data to bare calls. 2018-09-04 13:31:10 +02:00
Leonardo Alt
17176871ab Changed error message and added tests 2018-09-04 11:48:58 +02:00
Daniel Kirchner
a102f3b783 Remove trailing whitespace for all files in the repository. 2018-09-04 11:30:30 +02:00
Leonardo Alt
b7c6e53d3d Fix endToEnd test 2018-09-03 18:35:57 +02:00
chriseth
431c2fbcf3 Turn warning into error. 2018-09-03 18:35:57 +02:00
Erik Kundt
75a92b0ffd Warns if modifier uses msg.value in non-payable function. 2018-09-03 18:35:57 +02:00
Leonardo Alt
f167baed83 mktemp might use variable TMPDIR. Renaming it in our script to avoid conflicts. 2018-09-03 12:54:29 +02:00
bakaoh
3d7b0d691f Update test to correct source location for nameless parameters 2018-08-31 09:54:11 +07:00
Leonardo Alt
583e7156ba Dynamic type as mapping key returns error instead of assertion fail 2018-08-16 11:59:41 +02:00
chriseth
cc6fa6d61f
Merge pull request #4822 from ethereum/addressStaticCall
Add ``staticcall`` to ``address``.
2018-08-16 00:13:21 +02:00
Leonardo Alt
faed71c6b1 Review suggestions 2018-08-15 17:11:18 +02:00
Leonardo Alt
c3d3ae80fa Add end to end tests 2018-08-15 17:11:18 +02:00
Leonardo Alt
b6c839e817 Disallow indexed reference types in events when using ABIEncoderV2 2018-08-15 17:11:18 +02:00
Daniel Kirchner
a34735016c Add syntax test for `address.staticcall.value`. 2018-08-15 16:06:48 +02:00
Daniel Kirchner
ed5265598b Add view pure checker tests for `address.staticcall(...)`. 2018-08-15 16:06:48 +02:00
Daniel Kirchner
7ca0aaaf6f Add `staticcall to address`. 2018-08-15 16:06:48 +02:00
chriseth
6c0261e6ab
Merge pull request #4390 from ethereum/abidecode
Add abi.decode
2018-08-15 12:31:26 +02:00
chriseth
c7d2af2637
Merge pull request #4583 from ethereum/nested_array_library_changelog
Bugfix Changelog entry regarding nested arrays returned by library functions
2018-08-15 12:30:54 +02:00
chriseth
9328ea4c3c Add abi.decode(bytes data, (...)) 2018-08-15 10:45:16 +02:00
bakaoh
3fa8829845 Fixes #4718: High CPU usage when using large variable names 2018-08-15 10:23:08 +02:00
chriseth
cc54f6c425
Merge pull request #4738 from ethereum/dataloc_merged
Enforce data location.
2018-08-14 21:38:07 +02:00
chriseth
8f27fb1f4a
Merge pull request #4542 from aarlt/constructor_natspec
Fix: natspec annotations on constructors
2018-08-14 19:13:25 +02:00
chriseth
b30da8859a Update external tests. 2018-08-14 18:53:06 +02:00
chriseth
13905a2094 Update tests. 2018-08-14 18:53:06 +02:00
mingchuan
16de7a0493 New test cases. 2018-08-14 18:53:06 +02:00
Chase McDermott
b000a022f2 Update tests 2018-08-14 18:53:06 +02:00
chriseth
3f42118d19
Merge pull request #4765 from ethereum/fixes-issue-4673
[WIP] Fixes issue where computing storage size for a number would take too long (or even cause a crash).
2018-08-14 17:34:04 +02:00
Jesse Busman
c059119145 Add implicit convertibility to function pointer with higher state mutability 2018-08-14 17:13:10 +02:00
chriseth
414559bd07
Merge pull request #4788 from ethereum/noWarnDoc
Test that documentation does not contain any warnings.
2018-08-14 16:33:39 +02:00
chriseth
ec7ccbdf86
Merge pull request #4782 from ethereum/encodePackedArrayOfStructs
Encode packed array of structs
2018-08-14 16:32:57 +02:00
Leonardo Alt
55e67e41f9 Update bug list and add regular expression to bug list and add test. 2018-08-14 15:57:38 +02:00
chriseth
6a5a187d83 Also extract tests that do not start with a pragma. 2018-08-14 15:50:46 +02:00
chriseth
f873389c62 Test that documentation does not contain any warnings. 2018-08-14 15:50:46 +02:00
Christian Parpart
43bda53410
Fixes issue where computing storage size for a number would take too long.
Fixes #4673.
2018-08-14 15:38:10 +02:00
Christian Parpart
81faafe7f2
Adds support for structs in interfaces.
Closes #4733.
2018-08-14 15:36:03 +02:00
Leonardo Alt
17cac588d0 Replace safety stop by invalid 2018-08-14 12:32:47 +02:00
chriseth
d01ffd1ad9
Merge pull request #4799 from ethereum/semanticsTestsGasEtAl
Semantics tests for ``gasleft()``, ``blockhash()`` ``tx.gasprice`` and ``block.gaslimit``
2018-08-14 12:14:53 +02:00
Daniel Kirchner
b325a70d59 Fix tests for constantinople (expect zero for the time being). 2018-08-14 11:42:34 +02:00
Daniel Kirchner
06b7edfdcf Add missing tests for `gasleft(), blockhash() tx.gasprice and block.gaslimit`. 2018-08-14 11:42:34 +02:00
chriseth
6ca3973944
Merge pull request #4777 from ethereum/typeConversionMemory
Defaul data location for type conversions is memory.
2018-08-14 11:36:19 +02:00
chriseth
3dd31b704a
Merge pull request #4798 from ethereum/mappingArgumentsAndReturns
Mapping arguments and returns
2018-08-13 17:27:29 +02:00
chriseth
ae8218543b
Merge pull request #4696 from ethereum/byteLiteralConversion
Disallow ambiguous implicit and explicit conversions from number literals to bytesXX
2018-08-13 17:25:30 +02:00
Daniel Kirchner
dfcfc4c35b Add tests for mappings in function types. 2018-08-13 16:33:37 +02:00
Daniel Kirchner
341128962f Allow mappings of arrays as arguments and return values of internal functions. 2018-08-13 16:33:37 +02:00
Daniel Kirchner
4ae59acc09 Consider mappings return values in control flow analysis. 2018-08-13 16:33:37 +02:00
Daniel Kirchner
a9f31da411 Allow mapping arguments and return values in all internal functions. 2018-08-13 15:50:22 +02:00
chriseth
bd567a22c9 Defaul data location for type conversions is memory. 2018-08-13 14:38:12 +02:00
Daniel Kirchner
57ada1d69e Allow mapping arguments and return values in internal library functions. 2018-08-13 14:31:10 +02:00
Daniel Kirchner
7d7abeb149 Disallow ambiguous conversions between number literals and bytesXX types. 2018-08-13 14:27:01 +02:00
Daniel Kirchner
954d7433bd Disallow remappings with empty prefix. 2018-08-10 19:26:48 +02:00
chriseth
a38352569b Tests. 2018-08-09 21:16:51 +02:00
chriseth
63d071d6e0
Merge pull request #4783 from elopio/test/function-call-syntactical-equality
tests: add yul simplifier not applied with function calls
2018-08-09 12:08:55 +02:00
Christian Parpart
79ba5b61b3 Fixes compilation under MSVC. 2018-08-09 10:14:47 +02:00
Leo Arias
1395bef7ae tests: add yul simplifier not applied with function calls 2018-08-09 03:46:22 +00:00
Alex Beregszaszi
ed52f422b7 Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in libevmasm) 2018-08-08 22:37:40 +01:00
Alex Beregszaszi
478012a000
Merge pull request #4772 from ethereum/asm-json
Add tests for the assembler object (and avoid misusing string{} for u256)
2018-08-08 21:59:07 +01:00
Alexander Arlt
f76d4d5919 Fix: natspec annotations on constructors
- natspec annotations on constructore where ignored.
2018-08-08 21:53:35 +02:00
Alex Beregszaszi
0eeb06b6ea Test for legacyAssembly in StandardCompiler 2018-08-08 20:52:18 +01:00
Alex Beregszaszi
a16461249f Add tests for the assembler object 2018-08-08 20:52:18 +01:00
chriseth
d634d20b5b
Merge pull request #4684 from ethereum/underscores_in_numeric_literals
[BREAKING] Underscores in numeric literals
2018-08-08 21:36:57 +02:00
Alex Beregszaszi
bb071f3075
Merge pull request #4769 from ethereum/inlineasm-overloading-resolution
Provide nicer error message when referencing overloaded references
2018-08-08 17:55:10 +01:00
Alex Beregszaszi
9062704054
Merge pull request #4753 from mattaereal/boost-to-string-patch
Replace boost:lexical_cast<std::string> for std::to_string.
2018-08-08 16:07:25 +01:00
Alex Beregszaszi
3c791d637d Provide nicer error message when referencing overloaded references 2018-08-08 15:59:24 +01:00
Matías Aereal Aeón
e902ce1aa0 Removing std:: from std::to_string and include for boost/lexical_cast 2018-08-08 11:26:30 -03:00
Alex Beregszaszi
1bfb841771 Remove experimental 0.5.0 pragma 2018-08-08 14:05:36 +01:00
chriseth
de8e9114fd
Merge pull request #4740 from ethereum/enforceNumberOfReturnValues
Disallow empty return in function with return arguments.
2018-08-08 14:59:09 +02:00
Alex Beregszaszi
fbc8443174
Merge pull request #4589 from sifmelcara/fix/dynamic-link-boost-test
Fix shared boost test library build by customizing main
2018-08-08 13:53:00 +01:00
Christian Parpart
b9222808f6
Cleanup & polish numbers-with-underscores parsing, also improving tests. 2018-08-08 13:38:46 +02:00
chriseth
154a7706ba
Merge pull request #4737 from ethereum/isoltestEarlyExit
Return from main if quit was requested during a sub-testsuite.
2018-08-08 12:55:01 +02:00
chriseth
3b2bd2c1df
Merge pull request #4749 from elopio/test/yul-simplifier-not-applied
tests: add yul simplifier not applied
2018-08-08 12:49:14 +02:00
Daniel Kirchner
99d3e8e45a Add back lost test case to a more reasonable location. 2018-08-08 12:48:59 +02:00
Daniel Kirchner
576ba91970 Adjust return expressions in compilation tests. 2018-08-08 12:48:59 +02:00
Alex Beregszaszi
64e3c9913f
Merge pull request #4736 from ethereum/removeFillRight
Remove remaining instances of ``fillRight``.
2018-08-08 11:27:37 +01:00
Balajiganapathi S
09a36cba02 Add stricter hex underscore rules 2018-08-08 12:05:51 +02:00
Balajiganapathi S
0000bfc604 Allow underscores in numbers. 2018-08-08 12:05:51 +02:00
Leo Arias
cf3bf57cb2 tests: add yul simplifier not applied 2018-08-07 21:58:24 +00:00
chriseth
8e93b729a4
Merge pull request #4703 from ethereum/solc-fix-double-quoting-path-names
solc: Fixes double-quoting path names on stderr.
2018-08-07 21:46:00 +02:00
Daniel Kirchner
967bb6d999 Initialize `TestTool::m_formatted`. 2018-08-07 21:23:01 +02:00
Daniel Kirchner
bb518b59aa Update and extend tests for return expressions. 2018-08-07 20:49:52 +02:00
Daniel Kirchner
a6df7b1fb8 Always count all test cases in isoltest and exit early on user request. 2018-08-07 19:28:21 +02:00
Daniel Kirchner
b11e39e25e Remove remaining instances of `fillRight` left over from tuple wildcards assignments. 2018-08-07 18:51:53 +02:00
chriseth
d7756322c0
Merge pull request #4731 from ethereum/interface-enum
Allow enums in interfaces
2018-08-07 17:20:05 +02:00
Alex Beregszaszi
a765b5b31c
Merge pull request #4720 from ethereum/abi-rational-type-identifier
Fix type identifiers for RationalNumberType (on negative numbers)
2018-08-07 14:25:11 +01:00
Alex Beregszaszi
4158a310bd
Merge pull request #4729 from ethereum/slot-on-non-storage
Properly handle invalid references used together with _slot and _offset.
2018-08-07 14:16:43 +01:00