Alex Beregszaszi
83934254ea
[SMTChecker] Support type(I).interfaceId
2020-09-14 20:34:52 +01:00
chriseth
efe829b4b2
Merge pull request #9805 from ethereum/develop
...
Merge develop into breaking.
2020-09-14 20:48:03 +02:00
chriseth
552a5f0913
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
...
Handle "leaf functions" first in full inliner.
2020-09-14 20:22:48 +02:00
chriseth
de51531366
Merge pull request #9791 from a3d4/refactor-collision-warnings
...
Refactor collision warnings
2020-09-14 20:19:53 +02:00
Leonardo Alt
fd6c665548
Update SMTChecker tests with z3 4.8.9
2020-09-14 19:04:13 +02:00
a3d4
d8520b0af0
Move collision warnings to StaticAnalyzer
2020-09-14 02:52:00 +02:00
a3d4
e7a6534d4f
Unify collision warnings
2020-09-14 02:17:53 +02:00
Leonardo
31b5102aa0
Merge pull request #9731 from ethereum/smt_import
...
[SMTChecker] Fix CHC encoding
2020-09-12 00:56:04 +02:00
Alex Beregszaszi
961a199cf5
[SMTChecker] Support type(T).min and type(T).max
2020-09-11 21:37:51 +01:00
Leonardo Alt
3fea11e1a9
Remove problematic test
2020-09-11 22:02:18 +02:00
Leonardo Alt
23ee011c56
[SMTChecker] Fix imports
2020-09-11 13:34:46 +02:00
Leonardo
72f8a753a9
Merge pull request #9586 from ethereum/scoper
...
Assign scopes as a separate step.
2020-09-11 10:45:54 +02:00
Leonardo Alt
84c707cd2a
Adjust problematic SMTChecker tests
2020-09-10 19:32:17 +02:00
chriseth
f102feaf09
Handle "leaf functions" first in full inliner.
2020-09-10 17:01:19 +02:00
Leonardo Alt
40197df104
[SMTChecker] Support shifts
2020-09-09 19:47:52 +02:00
chriseth
c966971fd3
Merge pull request #9770 from ethereum/smt_dot
...
[SMTChecker] Change warning message
2020-09-09 17:17:04 +02:00
chriseth
6508986077
Merge pull request #9768 from ethereum/move-event-syntax-tests-from-name-and-type-resolution
...
Group event-related syntax tests together
2020-09-09 16:57:30 +02:00
Leonardo Alt
00f6b303b1
[SMTChecker] Change warning message
2020-09-09 16:14:21 +02:00
Kamil Śliwak
6f41e83b48
Move most event-related syntax tests from nameAndTypeResolution/ to events/
2020-09-09 14:53:46 +02:00
Kamil Śliwak
5e9dd67a0a
FunctionType::canTakeArguments(): Use the correct index when comparing named parameter types
2020-09-09 14:45:58 +02:00
Alexander Arlt
23d9b1567e
Add support for ewasm evmc vm.
2020-09-08 12:41:42 -05:00
chriseth
202332405f
Merge pull request #9760 from ethereum/sol2YulStorageArrayIndexAccessFix
...
[Sol->Yul] Fixing storage array index access
2020-09-08 16:33:54 +02:00
Djordje Mijovic
ec6d21cde2
[Sol->Yul] Fixing storage array index access
2020-09-08 16:02:56 +02:00
Mathias Baumann
b72fb1333b
Adjust docs example to work with v0.8.0
2020-09-08 13:36:16 +02:00
Kamil Śliwak
41bcb97e36
Don't consider contracts implicitly convertible to the type of super
...
- `super` for all intents and purposes behaves like a type and should be a TypeType rather than ContractType. We have an issue to fix it but it's a breaking change. Until then let's at least not treat other contracts as convertible to the ContractType that `super` represents.
2020-09-08 00:29:44 +02:00
Alexander Arlt
df8bbeeb22
ViewPureChecker::reportMutability: don't check visibility on constructors.
2020-09-07 11:35:33 -05:00
Harikrishnan Mulackal
acec8f271d
Type Checker: Disallow `virtual
` for modifiers in libraries.
2020-09-07 11:17:38 +02:00
Leonardo Alt
69a7808838
Add new tests
2020-09-03 15:19:33 +02:00
Leonardo Alt
afcd44e77c
Update current tests
2020-09-03 15:19:03 +02:00
Harikrishnan Mulackal
974e35d09c
Tests and changelog
2020-09-03 13:15:38 +02:00
chriseth
2934a1f037
Assign scopes as a separate step.
2020-09-02 20:45:33 +02:00
chriseth
3a48be546d
Merge pull request #9602 from ethereum/structMemToStorageSol2Yul
...
[Sol->Yul] Implementing various copying of structs
2020-09-02 13:50:46 +02:00
chriseth
23514c1749
Merge pull request #9724 from ethereum/superForYul
...
Implement ``super``.
2020-09-02 12:48:39 +02:00
Djordje Mijovic
a740cb619b
Adding tests for copying structs with function pointers between storage and memory
2020-09-02 12:28:53 +02:00
Djordje Mijovic
23f6369a46
Implementing struct copying from calldata to storage
2020-09-02 12:28:53 +02:00
Djordje Mijovic
762e3f3cee
[Sol->Yul] Implementing struct copying from calldata to storage
2020-09-02 12:28:53 +02:00
Djordje Mijovic
381784dd89
[Sol->Yul] Implementing struct copying from storage to memory
2020-09-02 12:28:53 +02:00
Djordje Mijovic
b89c863e11
[Sol->Yul] Implementing struct copying from memory to storage
2020-09-02 12:28:53 +02:00
chriseth
8f34ac472f
Implement `super
`.
2020-09-02 11:00:42 +02:00
Djordje Mijovic
e7a05324af
Adding simple array copying tests
2020-09-02 09:39:28 +02:00
Leonardo
0d83977d5a
Merge pull request #9648 from ethereum/smt_refactor_predicates
...
[SMTChecker] Refactor CHC predicates
2020-09-01 20:38:47 +02:00
Leonardo Alt
49d3804de4
[SMTChecker] Fix rational number short circuit
2020-09-01 17:21:13 +02:00
Leonardo Alt
e23d96464b
Adjust test
2020-09-01 16:10:12 +02:00
Leonardo Alt
016b9b83a8
Refactor predicates
2020-09-01 16:09:56 +02:00
Leonardo Alt
238b8a929e
[SMTChecker] Fix ICE on tuples of one element that actually have tuple type
2020-09-01 08:31:57 +02:00
Leonardo Alt
5cafbeebec
[SMTChecker] Fix ICE on tuple assignment
2020-09-01 08:29:01 +02:00
Leonardo Alt
50e0ada77d
[SMTChecker] Fix unary operator on lvalue tuple
2020-09-01 08:25:06 +02:00
chriseth
34543e5eab
Merge pull request #9692 from ethereum/smt_fix_pop
...
[SMTChecker] Fix soundness of array pop
2020-08-31 20:07:58 +02:00
chriseth
b3b1df6556
Merge pull request #9681 from ethereum/small-astjsontest-refactor
...
Refactor ASTJSONTest to reduce redundancy
2020-08-31 19:50:06 +02:00
chriseth
0203eea20e
Merge pull request #9649 from a3d4/improve-error-coverage-erorrecovery
...
Complete test coverage for errors related to parser error recovery
2020-08-31 18:33:19 +02:00
chriseth
8c8eca3ec2
Merge pull request #9701 from a3d4/fix-8885-update-test-expectations
...
Fix test expectation update
2020-08-31 13:39:11 +02:00
a3d4
6336aa5aba
Fix test expectation update
2020-08-31 12:50:18 +02:00
Leonardo Alt
8c05db88c0
[SMTChecker] Fix soundness of array pop
2020-08-31 12:11:33 +02:00
Alex Beregszaszi
7ef9591e64
Expose hex literal to the Yul parser
...
This allows nicer error messages.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
26a76c18d4
Add Yul syntax test for every Solidity keyword
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
caa329066e
Do not emit Solidity-only tokens in the Scanner for Yul
...
And simplfiy AsmParser greatly.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
a80e2c1462
Update tests for immutable variables
2020-08-28 19:06:34 +01:00
chriseth
20efba6b55
Merge pull request #9568 from ethereum/fixImmutables
...
Fix reads checks for complex assignment and increment/decrement for immutable variables.
2020-08-28 16:14:18 +02:00
Christian Parpart
cd3836f467
Fixes compilation on MSVC wrt. narrowing conversion from cstr-ptr to bool.
2020-08-28 15:54:47 +02:00
chriseth
8b564a7be7
Fix reads checks for immutable variables.
2020-08-28 15:24:40 +02:00
chriseth
ec3f3c41dd
Merge pull request #9690 from ethereum/immutable-rhs-vardecl
...
Disallow assigning more than once to immutables during the variable declaration
2020-08-28 14:39:23 +02:00
Leonardo
df79a4f162
Merge pull request #9691 from ethereum/oversized-function-array
...
Changed canonicalName() to toString() because of internal functions
2020-08-28 13:57:47 +02:00
Harikrishnan Mulackal
7ff809dc78
Disallow assigning more than once to immutables during the vardecl
2020-08-28 13:42:54 +02:00
Harikrishnan Mulackal
672f391660
Changed canonicalName() to toString() because of internal functions
2020-08-27 21:09:35 +02:00
Alex Beregszaszi
e872b1b51e
Merge pull request #9689 from ethereum/using-for-interface
...
Disallow ``using for`` directive for interfaces.
2020-08-27 19:09:19 +01:00
chriseth
0798167f3d
Merge pull request #9612 from ethereum/yul-rightarrow
...
Introduce RightArrow (->) token
2020-08-27 16:21:18 +02:00
Harikrishnan Mulackal
c7dc42a794
Disallow `using for
` directive for interfaces.
2020-08-27 15:57:51 +02:00
Mathias Baumann
c4962df262
Refactor ASTJSONTest to reduce redundancy
2020-08-27 15:56:41 +02:00
Harikrishnan Mulackal
7826564226
Fix infinite loop for structs in library function parameter
2020-08-27 14:18:07 +02:00
Harikrishnan Mulackal
1c066b1059
Allow type(Contract).name
for abstract contracts and interfaces
2020-08-27 13:37:08 +02:00
Alex Beregszaszi
4e5b403c37
Introduce RightArrow (->) token in the scanner
2020-08-27 12:28:27 +01:00
chriseth
161ed4c948
Merge pull request #9683 from ethereum/fix-exp-neg-literal
...
Disallow the exponent to be a signed integer literal
2020-08-27 13:26:15 +02:00
Harikrishnan Mulackal
6f22899153
Disallow the exponent to be a signed integer literal
2020-08-27 12:08:45 +02:00
Harikrishnan Mulackal
79b2e41252
Fix inheritdoc tags trying to resolve 'empty' elements
2020-08-26 21:28:00 +02:00
Leonardo
fdc4142b2c
Merge pull request #9661 from ethereum/smtBitwiseOr
...
[SMTChecker] Support bitwise or, xor and not operator
2020-08-26 18:20:15 +02:00
chriseth
dbe0518cd2
Merge pull request #9652 from ethereum/iceInlineAssemblyOffset
...
[Sol->Yul] Enabling storage pointers to local vars in inline assembly.
2020-08-26 17:12:54 +02:00
chriseth
bc4e07d309
Merge pull request #9672 from ethereum/fixRecompilation
...
Fix inlining order to correspond to source order.
2020-08-26 16:39:03 +02:00
Djordje Mijovic
11a7763f49
[SMTChecker] Support bitwise or, xor and not.
2020-08-26 11:06:56 +02:00
Djordje Mijovic
d99b81ef02
[Sol->Yul] Enabling storage pointers to local vars in inline assembly.
2020-08-26 10:25:42 +02:00
chriseth
e72afcba47
Fix inlining order to correspond to source order.
2020-08-26 10:20:18 +02:00
chriseth
221524b153
Merge pull request #9606 from ethereum/newGrammar
...
Rewrite of the antlr grammar.
2020-08-26 09:57:13 +02:00
chriseth
21489d8193
Merge pull request #9638 from ethereum/fixNullValuesAST
...
Remove null values from AST also in standard-json mode.
2020-08-24 15:57:33 +02:00
Djordje Mijovic
00e765f478
Fix tests for conditional operator on latest develop.
2020-08-22 07:52:55 +02:00
Đorđe Mijović
4dd25f7302
Merge pull request #9639 from ethereum/smtConditionalSupport
...
[SMTChecker] Supporting conditional operator
2020-08-21 14:25:47 +02:00
Djordje Mijovic
3f97a1012a
[SMTChecker] Supporting conditional operator
2020-08-20 21:39:35 +02:00
a3d4
0ee4a85a84
Complete test coverage for errors related to parser error recovery
2020-08-20 16:14:39 +02:00
chriseth
4a720a6511
Merge pull request #9646 from a3d4/improve-error-coverage-syntaxchecker
...
Improve error coverage of syntax checker
2020-08-20 13:18:35 +02:00
chriseth
4dc63875f9
Merge pull request #9113 from ethereum/smt_chc_overflow
...
[SMTChecker] Add underflow/overflow target to CHC
2020-08-20 13:17:00 +02:00
a3d4
ad311fae19
Improve error coverage of syntax checker
2020-08-20 03:23:21 +02:00
Daniel Kirchner
bd21535dd1
Rewrite of the antlr grammar.
2020-08-19 17:55:31 +02:00
chriseth
7b8cc0c49b
Remove null values from AST also in standard-json mode.
2020-08-19 11:06:14 +02:00
chriseth
a795e4db9b
Merge pull request #9640 from a3d4/improve-error-coverage-parser
...
Improve error coverage of parser
2020-08-19 11:03:50 +02:00
a3d4
0f5d0b6455
Improve error coverage of parser
2020-08-19 01:37:11 +02:00
chriseth
17edf4f207
Merge pull request #9479 from ethereum/exp
...
Implement checked exponentiation.
2020-08-18 13:57:25 +02:00
chriseth
c34e349572
Implement checked exponentiation.
2020-08-18 12:42:53 +02:00
chriseth
2ff954ec2d
Use kind in json AST for free function.
2020-08-18 11:46:59 +02:00
chriseth
e9f91edc4b
Update existing tests.
2020-08-18 11:46:59 +02:00
chriseth
9324fb4f20
Free functions.
2020-08-18 11:46:59 +02:00
Leonardo Alt
5afd1219f5
Add test with unused error id
2020-08-14 12:58:27 +02:00
Leonardo Alt
0a160b1ba0
Update remaining tests
2020-08-14 12:58:27 +02:00
Leonardo Alt
80ab56dbc6
Update overflow tests
2020-08-14 12:58:27 +02:00
Leonardo Alt
8a06041bbe
[SMTChecker] Add underflow/overflow target to CHC
2020-08-14 12:58:27 +02:00
Alex Beregszaszi
babb175d86
Add more syntax tests for Yul
2020-08-13 14:20:52 +01:00
Daniel Kirchner
5d670aaa18
Merge pull request #9614 from ethereum/yul-hex
...
Update tests/documentation to show that hex literals are not supported in Yul
2020-08-13 03:11:45 +02:00
Alex Beregszaszi
b752551ebd
Add test case for string literals in switch statements in Yul
2020-08-13 00:27:41 +01:00
Alex Beregszaszi
acb1e8c280
Add tests showing hex literals are not allowed in Yul
2020-08-13 00:27:19 +01:00
Alex Beregszaszi
bb29307b02
Add/Update tests for Yul function definition
2020-08-12 23:53:08 +01:00
Djordje Mijovic
d685bee2ec
[Sol->Yul] Implementing struct copying from calldata to memory.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-08-11 16:18:06 +02:00
Leonardo Alt
ec31d971e6
[SMTChecker] Fix tuple name for arrays
2020-08-07 12:28:10 +02:00
Daniel Kirchner
143b37af56
Only conditionally run old code generation in CompilerStack, StandardCompiler and semantic tests.
2020-08-06 15:05:17 +02:00
chriseth
3a409c39e4
Merge pull request #9518 from ethereum/smt_fix_bmc_function_inlining
...
[SMTChecker] Fix ICE in BMC function inlining
2020-08-06 00:50:04 +02:00
chriseth
ebd512cef6
Merge pull request #9576 from ethereum/test-cleanup
...
Rename libsolidity/SolidityScanner to liblangutil/Scanner in tests
2020-08-06 00:49:33 +02:00
chriseth
98faf82d3f
Merge pull request #9563 from ethereum/constrInLib
...
Fix member lookup for constructor in library.
2020-08-05 19:07:28 +02:00
Alex Beregszaszi
99d96870ae
Rename libsolidity/SolidityScanner to liblangutil/Scanner in tests
2020-08-05 13:39:18 +01:00
Alex Beregszaszi
dec0f86b83
Merge pull request #9542 from ethereum/smt_add_test
...
[SMTChecker] Add test from Aon blog post
2020-08-05 13:24:16 +01:00
Leonardo Alt
8df8c6e14f
[SMTChecker] Fix ICE in BMC function inlining
2020-08-05 11:47:25 +02:00
chriseth
0ea5aae9aa
Require inheritdoc tag to be non-empty.
2020-08-04 12:13:23 +02:00
chriseth
c96e997a3c
Fix member lookup for constructor in library.
2020-08-04 10:51:40 +02:00
Leonardo Alt
55624d6416
Add test from Aon blog post
2020-08-04 09:31:48 +02:00
chriseth
cd2ce28317
Merge pull request #9547 from ethereum/useCBOR
...
Use cbor metadata in gas cost tests.
2020-07-28 23:59:14 +02:00
chriseth
b8b78a6982
Use cbor metadata in gas cost tests.
2020-07-28 23:42:22 +02:00
chriseth
9e5a56a649
Merge pull request #9526 from ethereum/scanner-split
...
Add ScannerKind and replace supportPeriodInIdentifier
2020-07-28 23:25:28 +02:00
chriseth
aea75d0f5b
Merge pull request #9513 from ethereum/smt_fix_fixed_bytes_access
...
[SMTChecker] Fix ICE on fixed bytes access
2020-07-28 23:24:04 +02:00
chriseth
73506e2858
Merge pull request #9530 from a3d4/improve-error-coverage-referenceresolver
...
Complete error coverage of ReferenceResolver
2020-07-28 21:12:54 +02:00
a3d4
ffdb0e37ff
Complete error coverage of ReferenceResolver
2020-07-28 18:56:57 +02:00
a3d4
dbeacbafa5
Cover "Override changes modifier to public state variable." error
2020-07-28 18:55:12 +02:00
Leonardo Alt
ad1798b000
[SMTChecker] Fix ICE on fixed bytes access
2020-07-28 17:59:42 +02:00
Alex Beregszaszi
d9cb8c8c5e
Add ScannerKind and replace supportPeriodInIdentifier
2020-07-28 12:31:08 +01:00
chriseth
655113e922
Merge pull request #9532 from ethereum/smt_fix_tests
...
Fix SMTChecker tests
2020-07-28 12:14:46 +02:00
Alex Beregszaszi
291c00c3de
Remove errenous error duplication and move some tests around
2020-07-28 10:45:27 +01:00
chriseth
53d497fc31
Merge pull request #9412 from ethereum/unicode-string
...
[BREAKING] Support unicode string literal type
2020-07-28 11:42:23 +02:00
Leonardo Alt
a6df232fa3
Fix SMT tests
2020-07-28 11:24:25 +02:00
Alex Beregszaszi
0102d30b0a
Add more tests to the scanner regarding dots in identifiers
2020-07-27 18:38:18 +01:00
chriseth
ee9a03ffe1
Merge pull request #9501 from ethereum/calldataToMemoryCopy
...
[Sol->Yul] Implementing bytes copying from calldata to memory.
2020-07-27 19:23:30 +02:00
chriseth
81cdc39f51
Merge pull request #9514 from ethereum/fixInterCon
...
Fix internal error for invalid data location in constructor.
2020-07-27 19:21:55 +02:00
Alex Beregszaszi
f5f86779b8
Update tests for unicode literals
2020-07-27 18:21:17 +01:00
Alex Beregszaszi
5bfcc1ffcc
Update tests for string literals
2020-07-27 18:21:17 +01:00
chriseth
9605b85c21
Merge pull request #9352 from ethereum/smt_cex
...
[SMTChecker] CHC counterexamples
2020-07-27 19:21:04 +02:00
Leonardo Alt
b207222af7
Fix extra parens
2020-07-27 17:14:59 +02:00
Djordje Mijovic
96258c7e75
[Sol->Yul] Implementing bytes copying from calldata to memory.
2020-07-27 15:14:26 +02:00
chriseth
f24097c38d
Fix internal error for invalid data location in constructor.
2020-07-27 15:00:17 +02:00
Leonardo Alt
de4ae301c4
[SMTChecker] Fix ICE when tuples have extra effectless parens
2020-07-27 13:03:27 +02:00
chriseth
5812cd8213
Merge pull request #9511 from ethereum/ast-hex-string
...
[BREAKING] Distinguish between stringLiteral and hexStringLiteral in the JSON AST
2020-07-27 12:34:40 +02:00
Alex Beregszaszi
5ecc84e92e
Distinguish between stringLiteral and hexStringLiteral in the JSON AST
2020-07-27 10:19:24 +01:00
chriseth
2c574af45b
Fix conversion bug for exp operation.
2020-07-27 10:44:42 +02:00
chriseth
1a1960ede0
Merge pull request #9466 from ethereum/fixTokens
...
Properly sort token list.
2020-07-27 10:42:31 +02:00
chriseth
7ff3d10fee
Merge pull request #9492 from ethereum/someValueTests
...
Some more tests for value.
2020-07-23 19:09:28 +02:00
Leonardo Alt
95484d9969
Fix tests after rebase
2020-07-23 18:49:03 +02:00
Leonardo Alt
d70ebbb62d
Remove problematic test
2020-07-23 18:49:03 +02:00
Leonardo Alt
5bb4e73693
Review 1
2020-07-23 18:49:03 +02:00