chriseth
2d42da3b7d
Merge pull request #7817 from ethereum/bail-on-shadowing-state-vars
...
Report error on shadowing state variables
2019-12-03 21:22:39 +01:00
Christian Parpart
7bbdfe070f
Make shadowing of inherited state variables an error.
2019-12-03 21:20:03 +01:00
chriseth
2f11ac3590
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-03 21:17:15 +01:00
chriseth
19a6f09cc8
Merge commit '4d2f20570' into develop_060
2019-12-03 21:01:31 +01:00
chriseth
96d777d7f1
Merge commit 'a7d481fb9' into develop_060
2019-12-03 20:47:30 +01:00
Leonardo Alt
5337f58767
Update to Z3 4.8.7
2019-12-03 20:19:20 +01:00
Alex Beregszaszi
c644f43cde
Update test expection in use_stack_optimization with YulException
2019-12-03 19:06:48 +01:00
Alex Beregszaszi
7156c908be
Drop non-strict version of jsonParse* and always use jsonParseStrict
2019-12-03 16:20:23 +01:00
Leonardo Alt
b1577f5e46
[SMTChecker] Fix ICE in array of structs type
2019-12-03 01:12:30 +01:00
Paweł Bylica
635e2fc9d3
EVMHost: Reuse tx_context from MockedHost
2019-12-02 23:04:02 +01:00
Daniel Kirchner
05baa23e8a
Require unimplemented functions to be virtual.
2019-12-02 21:59:00 +01:00
Alex Beregszaszi
fca0f6e2c1
Disable EndToEnd/snark test on <Byzantium (given the precompiles were introduced after)
2019-12-02 19:37:09 +01:00
Daniel Kirchner
77a9e91443
Enable yul optimizer by default.
2019-12-02 19:30:14 +01:00
Leonardo
a7d481fb94
Merge pull request #7851 from ethereum/smt_fix_function_type
...
[SMTChecker] Fix ICE for arrays and mappings of functions.
2019-11-30 13:15:08 +01:00
Leonardo
767ce4417f
Merge pull request #7850 from ethereum/smt_fix_typetype
...
[SMTChecker] Fix visit to IndexAccess that has type Type
2019-11-29 18:18:26 +01:00
Leonardo Alt
5adc2a40b9
[SMTChecker] Fix ICE for arrays and mappings of functions.
2019-11-29 18:06:44 +01:00
Leonardo Alt
9eda95caf9
[SMTChecker] Fix visit to IndexAccess that has type Type
2019-11-29 17:20:50 +01:00
Leonardo Alt
c09da092d2
[SMTChecker] Fix constructors with local vars
2019-11-29 16:59:15 +01:00
Leonardo Alt
84f806e75d
Reenable push tests via Yul
2019-11-29 16:52:13 +01:00
Daniel Kirchner
7d1b0c6023
Fix Yul IR push
2019-11-28 18:11:38 +01:00
Leonardo Alt
a352abe00d
[SMTChecker] Add support to constructors
2019-11-28 14:43:23 +01:00
chriseth
f7fc42d8c3
Merge pull request #7826 from ethereum/develop
...
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
Leonardo Alt
240ff30878
[SMTChecker] Do not visit the name of a modifier invocation
2019-11-27 22:34:33 +01:00
chriseth
1ebcc757e1
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-27 19:14:08 +01:00
Mathias Baumann
7bc6645218
Disallow use of virtual and private together
2019-11-27 18:52:41 +01:00
chriseth
0bb88dabb7
Restrict usage of plain "new".
2019-11-27 17:55:11 +01:00
chriseth
400667fddf
Update tests after merge from develop.
2019-11-26 16:27:07 +01:00
chriseth
b0db64ff5b
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-26 16:19:35 +01:00
chriseth
41177bc75c
Merge pull request #7770 from ethereum/yul_string_format
...
[Yul] Format string literals back to quoted string literals
2019-11-26 15:51:54 +01:00
chriseth
0973ae751a
Do not warn about enabled ABIEncoderV2 anymore.
2019-11-26 15:49:42 +01:00
Leonardo Alt
ce83bfb088
[Yul] Format string literals back to quoted string literals
2019-11-26 15:28:39 +01:00
Gaith Hallak
4a1e85436b
Allow splitting string literals into multiple parts
2019-11-26 14:41:30 +03:00
Alex Beregszaszi
eedfafbbc4
Introduce callback context in libsolc
2019-11-22 11:42:39 +00:00
Leonardo Alt
ddc478e3e4
Add CallbackKind and use it for the SMT solver
2019-11-21 22:10:21 +00:00
chriseth
0201ff5a02
Merge pull request #7769 from ethereum/libsolc-doc
...
Document and clarify libsolc's interface
2019-11-21 22:57:32 +01:00
chriseth
a00f824479
Merge pull request #7773 from ethereum/develop
...
Merge develop into develop_060
2019-11-21 21:49:22 +01:00
Alex Beregszaszi
44c1f4a3bf
Change the error message of empty callback/error in libsolc
2019-11-21 19:53:16 +00:00
chriseth
d5e9271592
Merge pull request #7350 from ethereum/array-length-rvalue
...
Make `length` member read-only
2019-11-21 19:22:42 +01:00
chriseth
8f2595957b
Merge pull request #7719 from ethereum/librarySignatuŕes
...
Add selector member to public and external library functions.
2019-11-20 18:43:14 +01:00
Leonardo Alt
72eff30778
Fix develop 060 merge
2019-11-20 13:49:40 +01:00
Leonardo Alt
389da5228e
Merge remote-tracking branch 'origin/develop' into merge_develop_060
2019-11-20 12:27:40 +01:00
Erik Kundt
01705efb70
Adds and updates Yul tests for push() and pop().
2019-11-20 12:04:47 +01:00
Daniel Kirchner
372df6b9e1
Implement array push and pop for yul and replace assignments in via yul tests.
2019-11-20 12:04:42 +01:00
chriseth
5deaac0849
Merge pull request #7740 from ethereum/istanbul
...
Enable support for Istanbul
2019-11-20 10:49:27 +01:00
Erik Kundt
c184fe8e5b
Adjusts end-to-end tests to read-only array length.
2019-11-19 21:11:14 +01:00
Erik Kundt
7d6c0a50c2
Adjusts semantic tests to read-only array length.
2019-11-19 21:11:14 +01:00
Erik Kundt
d05afb34d6
Adjusts syntax tests to read-only array length.
2019-11-19 21:11:09 +01:00
chriseth
d696b3c92b
Merge pull request #7743 from ethereum/fixice-7558
...
Disallow conversion from ``super``
2019-11-19 18:52:33 +01:00
Mathias Baumann
23cad71c88
Disallow conversion from `super
`
2019-11-19 17:14:11 +01:00
Alex Beregszaszi
17ed0f0898
Set costs to 0 for unreachable cases in GasCosts tests
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
17f6a5a060
Update test expectations in GasCosts for ABIEncoderV2
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
da50285ae3
Update test expectations in GasCostsTests
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
cbb08ae3db
Add semantic test for SELFBALANCE in inline assembly
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
fc2af72a3d
Add semantic test for CHAINID in inline assembly
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
840aba8929
Add new gas price for deployed bytecode (EIP2028)
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
chriseth
6797879128
Merge pull request #7647 from ethereum/virtual-5424
...
Implement virtual keyword
2019-11-19 13:21:27 +01:00
Erik Kundt
8faa6ffeaf
Adjusts syntax and semantic tests to 0.6.0
2019-11-19 12:10:07 +01:00
Leonardo Alt
e500a262ea
Fix SMTChecker tests for 060
2019-11-19 10:58:59 +01:00
Leonardo Alt
d818746e0c
[SMTChecker] Fix ICE in abi.decode
2019-11-18 13:15:10 +01:00
Daniel Kirchner
a0ae36ba70
Add selector member to public and external library functions.
2019-11-15 16:12:29 +01:00
chriseth
216e1749f4
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-14 13:42:46 +01:00
chriseth
766309b6e4
Merge pull request #7713 from ethereum/no-lib-instance-7625
...
Disallow variables of library types
2019-11-14 13:39:56 +01:00
Mathias Baumann
0891b9451b
Disallow variables of library types
2019-11-14 13:20:31 +01:00
chriseth
a667384517
Merge pull request #7712 from ethereum/fixIstanbulAsmParsing
...
Fix assembly parsing by passing evm version.
2019-11-14 13:20:15 +01:00
chriseth
b099374d8c
Fix assembly parsing by passing evm version.
2019-11-14 13:06:36 +01:00
Mathias Baumann
caa127e2a8
Make `abstract
` keyword instead of reserved
2019-11-14 11:49:39 +01:00
Mathias Baumann
5b8ff78176
Implement virtual keyword
2019-11-14 11:49:39 +01:00
Leonardo Alt
8efacfb545
[SMTChecker] Fix ICE in string literal to fixed bytes implicit conversion
2019-11-13 22:25:18 +01:00
Leonardo Alt
e3652627fd
[SMTChecker] Fix ICE in CHC when function used as argument
2019-11-13 15:11:30 +01:00
Mathias Baumann
7d4e4b6088
Parse "virtual" keyword
2019-11-13 13:28:01 +01:00
chriseth
c0cf96cbc1
Merge pull request #7699 from ethereum/test-require-str
...
Test `require` with string literals
2019-11-13 12:20:23 +01:00
djudjuu
e437443645
Inline assembly to AST json export
2019-11-13 12:13:22 +01:00
Mathias Baumann
c74b1daef2
Test require
with string literals
...
fixes #6651
2019-11-13 12:01:25 +01:00
Daniel Kirchner
ce7268272d
Allow obtaining the address of a library by conversion to `address
`.
2019-11-12 17:09:13 +01:00
chriseth
a7e133b95c
Merge pull request #7696 from ethereum/semanticsTestsLibraryDeployment
...
Add support for external libraries to extracted semantics tests.
2019-11-12 15:50:36 +01:00
Leonardo
684ccea6f0
Merge pull request #7697 from ethereum/develop
...
Merge develop into develop_060
2019-11-12 15:30:34 +01:00
Daniel Kirchner
c7e3318dba
Add support for external libraries to extracted semantics tests.
2019-11-12 15:19:04 +01:00
Leonardo Alt
dc2dff839c
[SMTChecker] Remove flaky tests until we fix the SMTChecker tests
2019-11-12 12:58:42 +01:00
Daniel Kirchner
8148619d5b
Merge branch 'develop' into develop_060
2019-11-12 10:32:41 +01:00
Leonardo Alt
b323134ef0
[SMTChecker] Update test expectations for z3 4.8.6
2019-11-11 18:43:59 +01:00
chriseth
2e5a42836c
Merge pull request #7681 from ethereum/develop
...
Merge develop into develop_060
2019-11-11 16:42:03 +01:00
Leonardo Alt
5dacaf57bc
Fix ICE in FixedBytes IndexAccess
2019-11-08 17:29:40 +01:00
chriseth
138ee647f1
Provide different options for reason strings.
2019-11-07 14:13:53 +01:00
Daniel Kirchner
108992c335
Merge pull request #7640 from ethereum/smt_fix_060
...
[SMTChecker] Fix override tests
2019-11-07 14:10:10 +01:00
chriseth
c0b27d0bc1
Merge pull request #7648 from ethereum/inlineAssemblyShadowing
...
Error on shadowing and invalid names in inline assembly
2019-11-07 13:31:09 +01:00
Daniel Kirchner
0556f64722
Analyze inline assembly variable declarations for invalid or shadowing names.
2019-11-07 13:04:37 +01:00
Leonardo Alt
fc945880d1
[SMTChecker] Fix override tests
2019-11-07 11:49:32 +01:00
chriseth
21e65076b3
Merge pull request #7650 from ethereum/develop
...
Merge develop into develop_060
2019-11-06 21:56:55 +01:00
cd10012
a94d22e5fe
Add documentation for extractReturnParameterDocs
2019-11-06 21:45:01 +01:00
cd10012
16fe59b7b4
Implement @erak review notes by creating function and adding constructor test
...
Update 060 doc with natspec change
Add two more tests with mixed usage
Fix solc-js
fix changelog
2019-11-06 21:44:59 +01:00
cd10012
f598b1515f
Give unamed parameters unique keys and update tests to new spec
...
Fix whitespace
2019-11-06 21:44:34 +01:00
cd10012
18fe693fdd
Add unamed return param test and check size in conditional
2019-11-06 21:44:09 +01:00
cd10012
b3ae601e88
Refactor to have multiple return params
2019-11-06 21:44:09 +01:00
Leonardo Alt
10e70b8603
[SMTChecker] Support inheritance and resolve overrides
2019-11-06 11:00:06 +01:00
chriseth
4d99bf68f4
Merge pull request #7638 from ethereum/develop
...
Merge develop into develop_060
2019-11-05 17:33:54 +01:00
chriseth
5388c919f0
Some changes to "abstract".
2019-11-05 13:55:31 +01:00
chriseth
cac2e843e6
Merge pull request #7618 from ethereum/addMoreAbstractKeywordsInTests
...
Add some more abstract keywords in test to make sure the correct property is tested.
2019-11-05 13:38:21 +01:00
Leonardo Alt
c5e081dc8c
[SMTChecker] Refactor CHC loops and add if blocks
2019-11-05 09:28:59 +01:00
chriseth
46ac16d25c
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-04 19:09:11 +01:00
Leonardo
1eac3d1d83
Merge pull request #7582 from ethereum/smt_multid_array_assignment
...
[SMTChecker] Support assignments to m-d arrays and mappings
2019-11-04 17:37:33 +01:00
chriseth
7c258873bd
Add some more abstract keywords in test to make sure the correct property is tested.
2019-11-04 17:26:38 +01:00
Daniel Kirchner
3321fc56ea
Split fallback function and introduce "fallback()" and "receive()" syntax.
2019-11-04 17:17:58 +01:00
chriseth
5392532d70
Fix override error message.
2019-11-04 13:37:23 +01:00
Alexander Arlt
c908c16acd
Remove InternalCompilerError on abstract contract instantiation.
2019-11-01 14:54:47 -05:00
Alexander Arlt
cd3ad73b5a
Update tests.
2019-11-01 14:54:47 -05:00
Alexander Arlt
e87924a96e
Update soltest related tests.
2019-11-01 14:54:47 -05:00
Alexander Arlt
54c5e604e5
Add new tests.
2019-11-01 14:54:47 -05:00
Mathias Baumann
6c6a9054b2
Implement override checking
2019-10-30 17:31:33 +01:00
Mathias Baumann
20e227afb5
Ensure list of overrides consists of contracts
2019-10-30 17:31:33 +01:00
Mathias Baumann
b76106fc4a
Parse override keyword for modifier definitions
2019-10-30 17:31:33 +01:00
chriseth
499fe57d33
Tests
2019-10-29 14:32:16 +01:00
Leonardo Alt
8a42e3f87a
[SMTChecker] Support assignments to m-d arrays and mappings
2019-10-28 17:27:39 +01:00
chriseth
edf1e83fda
Merge remote-tracking branch 'origin/develop' into develop_060
2019-10-28 15:21:49 +01:00
chriseth
607bf24afe
Merge pull request #7386 from ethereum/060-strict-inline-assembly
...
Defaulting to strict inline assembly (instead of loose)
2019-10-28 12:48:58 +01:00
chriseth
9719f099aa
Merge pull request #7551 from ethereum/060-cxx17-std-optional
...
Use `std::optional<>` rather than `boost::optional<>`
2019-10-28 12:17:31 +01:00
chriseth
07c67b98f6
Merge remote-tracking branch 'origin/develop' into HEAD
2019-10-28 12:12:52 +01:00
Christian Parpart
df729b3084
Make use of C++17 std::optional<> instead of boost::optional<>.
2019-10-28 11:39:30 +01:00
Christian Parpart
30a99e0df4
test: Adapts InlineAssembly test case for jump instruction (which doesn't "exist" in strict assembly).
2019-10-28 10:03:16 +01:00
Henry Lee
24cbb4dd17
Treat magic variables as unknown identifiers in inline assembly
...
This fixes #4575 . For keywords such as 'super' and 'this', will be
treated as unknown identifiers.
2019-10-28 14:59:50 +11:00
Christian Parpart
f05718ef5d
Syntax tests: Adapted to changes.
2019-10-25 15:01:27 +02:00
Christian Parpart
e40c498260
Adapting the tests to strict inline assembly.
2019-10-25 15:01:25 +02:00
chriseth
15e39f7d65
Merge pull request #7556 from ethereum/ice-7550
...
Check for use of modifiers in invalid contexts
2019-10-24 10:32:49 +02:00
Mathias Baumann
c3e8023ad5
Fix wrong assert in overflow check
2019-10-23 14:59:34 +02:00
Mathias Baumann
8c5d1da5a5
Check for use of modifiers in invalid contexts
2019-10-23 12:36:20 +02:00
Mathias Baumann
ad7cf42aad
Add missing dots in deprecation warning
2019-10-23 12:23:21 +02:00
Mathias Baumann
6ac12afd06
Disallow call of same-class-ctor as modifier
2019-10-23 10:29:41 +02:00
Mathias L. Baumann
7e01696030
Merge pull request #7554 from ethereum/develop
...
Merge develop into develop_060
2019-10-21 17:05:12 +02:00
chriseth
e626437d77
Merge pull request #7538 from ghallak/7198-remove-padded-zeros
...
Remove trailing zeros from the output of BytesUtils::formatBytes
2019-10-16 15:55:02 +02:00
chriseth
ebfe7391ff
Use selfbalance for `address(this).balance
`.
2019-10-16 14:25:56 +02:00
Gaith Hallak
8a8f553e4d
Remove trailing zeros from the output of BytesUtils::formatBytes
2019-10-16 14:42:12 +03:00
Gaith Hallak
02ae43aad4
Fix the documentation for TestFunctionCall::format
2019-10-16 14:42:12 +03:00
chriseth
cea6d6df8b
Merge remote-tracking branch 'origin/develop' into develop_060
2019-10-05 13:08:44 +02:00
Gaith Hallak
51ae296cac
Modify the expectation files in ASTJSON tests.
2019-10-02 22:31:12 +02:00
Gaith Hallak
6c7e849431
Modify the expectation files in ASTJSON tests
...
The following changes to expecation files are required for the ASTJSON
tests to pass:
* remove trailing spaces in ASTJSON tests
* replace indention tabs with 2 spaces in ASTJSON tests
* remove the space between the key and the colon in ASTJSON tests
2019-10-02 19:14:41 +03:00
chriseth
f884373142
Merge branch 'origin/develop' into develop_060
2019-10-02 16:29:36 +02:00
Daniel Kirchner
7202ebb5b2
Fix internal compiler error for arrays of recursive structs.
2019-10-01 16:51:14 +02:00
Christian Parpart
00d7dac15f
Fixes source location in warning for shadowing import delcarations.
2019-09-30 11:45:46 +02:00
Leonardo Alt
b40895c100
Fix try catch test
2019-09-26 18:27:09 +02:00
Leonardo
ca714a2d3d
Merge pull request #7485 from ethereum/develop
...
Merge develop into develop_060
2019-09-26 15:43:12 +02:00
Christian Parpart
f85f6ba7e0
Fixes doxygen style multiline comment parsing for files with CRLF as line terminators.
2019-09-25 12:59:46 +02:00
chriseth
cda23d63e9
Merge pull request #7458 from ethereum/fixErrorMessage
...
Fix error message about accessing storage pointers.
2019-09-24 15:11:03 +02:00
Leonardo
9c23f35bec
Merge pull request #7462 from ethereum/version-060
...
Build version 0.6.0
2019-09-24 12:48:00 +02:00
Erik Kundt
e3a29ffcd3
Updates tests to version 0.6.0.
2019-09-24 12:01:14 +02:00
chriseth
973e4ca90a
Merge pull request #7453 from ethereum/smt_lib_const_array
...
[SMTChecker] Add "as const: function to SMTLib2Interface
2019-09-24 11:02:34 +02:00
chriseth
ca21659749
Fix error message about accessing storage pointers.
2019-09-24 10:52:02 +02:00
chriseth
f3c4f466f6
Merge remote-tracking branch 'origin/develop' into develop_060
...
Had to adjust gas costs during merge.
2019-09-24 10:28:22 +02:00
chriseth
b5d6d5fcf9
Create.
2019-09-23 17:22:56 +02:00
chriseth
b5bc52f2a7
Control flow for try statements.
2019-09-23 17:22:56 +02:00
chriseth
644a402166
Tests.
2019-09-23 17:22:56 +02:00