Christian Parpart
04079bff6f
Eliminates dead code around GasEstimator
...
- structuralEstimation()
- breakToStatementLevel()
2020-10-07 13:31:40 +02:00
chriseth
431397eddf
Merge pull request #9943 from ethereum/array-cleanup
...
Array cleanup
2020-10-07 11:53:06 +02:00
Kamil Śliwak
33ff79bf82
Add missing checks for parameter compatibilty with ABIEncoderV1 in calls
2020-10-06 21:28:46 +02:00
chriseth
25d408058b
Merge pull request #9954 from ethereum/issue-9948
...
Remove unneeded assert
2020-10-06 16:50:14 +02:00
Harikrishnan Mulackal
1bdbc10110
Properly cleanup after copying dynamic-array to storage for packed types
2020-10-06 16:06:02 +02:00
chriseth
046cc42121
Merge pull request #9965 from ethereum/var_is_reserved
...
Var is reserved keyword.
2020-10-06 15:49:53 +02:00
chriseth
3102b98e82
Var is reserved keyword.
2020-10-06 15:08:57 +02:00
Djordje Mijovic
818afcbec2
[Sol->Yul] Implementing push for nested storage arrays and storage arrays of structs.
2020-10-06 13:06:40 +02:00
Mathias Baumann
6af16469e7
Remove unneeded assert
...
An error will trigger later in the name resolve phase
2020-10-05 13:01:11 +02:00
Harikrishnan Mulackal
756e21a888
Merge pull request #9946 from ethereum/viewpure-tests
...
Add more tests to ViewPureChecker
2020-10-02 14:36:28 +02:00
Alex Beregszaszi
32cb5207b3
Add more tests to ViewPureChecker
2020-10-02 11:57:35 +01:00
Alex Beregszaszi
fedbea46cd
[SMTChecker] Support type conversions
2020-10-02 10:26:02 +02:00
Leonardo
87e1934bee
Merge pull request #9885 from ethereum/smt_array_slices
...
[SMTChecker] Support array slices
2020-10-01 18:12:57 +02:00
chriseth
e5771efdf8
Merge pull request #9905 from ethereum/deleteArrayPackedSol2Yul
...
[Sol->Yul] Implementing deleting of storage array of types that are packed in storage
2020-10-01 16:50:57 +02:00
Leonardo Alt
c8cc73c80c
Support array slices
2020-10-01 11:52:02 +02:00
Djordje Mijovic
03eeb49a66
Adding test for deleting packed storage array.
2020-10-01 10:25:04 +02:00
chriseth
3af21c92d2
Merge pull request #9702 from a3d4/fix-7410-arrays-of-mappings
...
Fix ICE caused by an array of mappings
2020-09-30 20:24:09 +02:00
chriseth
fda8bde2d7
Stop after parsing.
2020-09-30 16:57:49 +02:00
Mathias Baumann
4c02cd2310
Add name for split-test to prevent failure in other places
2020-09-30 16:56:53 +02:00
Harikrishnan Mulackal
fd02ccc68c
Implemented events with indexed function as parameter in Yul
2020-09-30 12:11:39 +02:00
Harikrishnan Mulackal
3970412422
Implemented events with function type as one of its indexed parameters
2020-09-30 12:11:38 +02:00
chriseth
7a86a61b08
Merge pull request #9895 from ethereum/exp-negative-one
...
Optimize exp when base is -1
2020-09-30 11:54:22 +02:00
a3d4
a244daaacb
Exclude tests with overly deep nesting from antlr grammar checks
2020-09-29 20:20:20 +02:00
a3d4
3c876fcb60
Fix ICE caused by an array of mappings
2020-09-29 18:17:46 +02:00
Harikrishnan Mulackal
2b9f040c48
Optimize exp when base is -1
2020-09-29 17:44:09 +02:00
a3d4
3698cd54a5
Complete error coverage of Parser and SyntaxChecker
2020-09-29 16:07:02 +02:00
chriseth
4b67829328
Merge pull request #9917 from ethereum/leb-encoding
...
Add LEB128 encoding functions & tests.
2020-09-29 14:55:25 +02:00
Leonardo Alt
352cce5fc8
[SMTChecker] Support addmod and mulmod.
2020-09-29 12:45:19 +02:00
Alexander Arlt
b6e1415509
Add LEB128 encoding functions & tests.
2020-09-28 16:06:19 -05:00
Leonardo Alt
fa7c9a0dc6
Simplify internal function calls
2020-09-28 15:31:15 +02:00
chriseth
9115100f2a
Merge pull request #9909 from ethereum/fix-9890
...
Fix missing annotation settings because of early return
2020-09-28 12:27:43 +02:00
Mathias Baumann
76bb2cafe9
Fix missing annotation settings because of early return
2020-09-28 12:12:44 +02:00
chriseth
bab2d6d644
Merge pull request #9852 from ethereum/fix-9851
...
Typechecker: Disallow free function redefinition
2020-09-28 11:15:47 +02:00
a3d4
9721bda36e
Complete error coverage of ParserBase
2020-09-28 01:56:25 +02:00
Leonardo Alt
e6bd18525b
[SMTChecker] Add engine prefix to verification target error messages
2020-09-25 19:09:06 +02:00
Leonardo Alt
0223571987
[SMTChecker] Do not report error when rlimit
2020-09-25 18:43:10 +02:00
Bhargava Shastry
e2a2276272
Contract level checker: Disallow free function redefinition and alias
...
shadowing another free function
Co-authored-by: chriseth <chris@ethereum.org>
2020-09-25 17:09:58 +02:00
Alex Beregszaszi
9f3d5d3e2f
[SMTChecker] Implement support for memory allocation
2020-09-25 15:56:24 +01:00
Alex Beregszaszi
9c1b041dcb
[SMTChecker] Keep constraints of string literals after assignment
2020-09-25 11:32:48 +01:00
Alex Beregszaszi
5090353a1a
[SMTChecker] Keep knowledge about string literals
2020-09-25 11:32:23 +01:00
Leonardo
57e1b2cb92
Merge pull request #9881 from ethereum/smt_fixed_bytes_index_access
...
[SMTChecker] Support fixed bytes index access
2020-09-25 11:32:56 +02:00
Leonardo Alt
df8c6d94e3
[SMTChecker] Support fixed bytes index access
2020-09-25 09:59:38 +02:00
chriseth
5711d664aa
Merge pull request #9887 from ethereum/evmhost
...
EVMHost: keep precompile balance/settings across resets
2020-09-24 21:15:06 +02:00
Alex Beregszaszi
e93992257e
Add more semantic tests for balance/extcodehash
2020-09-24 19:04:27 +01:00
Alex Beregszaszi
6479138dd4
EVMHost: keep precompile balance/settings across resets
...
Also set proper codehash for precompiles.
2020-09-24 18:51:39 +01:00
chriseth
d52b3839e2
Merge pull request #9882 from ethereum/invalidOnErrorYul
...
[SolYul] Use invalid opcode for internal errors
2020-09-24 19:37:44 +02:00
chriseth
b5c340cd66
Update tests
2020-09-24 17:07:43 +02:00
Leonardo
d180d6cdaf
Merge pull request #9880 from ethereum/smt-abi-type
...
[SMTChecker] Do not warn on "abi" as an identifer
2020-09-24 17:02:17 +02:00
Harikrishnan Mulackal
ec25e960f9
Merge pull request #9863 from ethereum/signed-exp-tests
...
Signed exp tests
2020-09-24 15:59:01 +02:00
Alex Beregszaszi
6edfdff187
[SMTChecker] Do not warn on "abi" as an identifer
...
There is an approprate warning for the function call.
2020-09-24 13:57:42 +01:00
chriseth
a9f9b4db27
Merge pull request #9872 from ethereum/smt_remove_tests
...
Extract boost smt and remove unused tests
2020-09-24 13:20:19 +02:00
chriseth
0a3b836f5a
Merge pull request #9867 from ethereum/string-literals
...
More clear error messages with converting (hex) string literals
2020-09-24 12:49:46 +02:00
Leonardo
35a7d5d3e4
Merge pull request #9873 from ethereum/smt_dec_rlimit
...
[SMTChecker] Decrease rlimit
2020-09-23 23:11:59 +02:00
Leonardo Alt
ebb6f61506
[SMTChecker] Decrease rlimit
2020-09-23 19:28:47 +02:00
Alex Beregszaszi
e54110ff17
Return UTF-8 error in BoolResult and remove it from string type
2020-09-23 17:35:05 +01:00
Alex Beregszaszi
a154594de6
Display string literal as hex in error messages if it is not printable ASCII
2020-09-23 17:33:39 +01:00
Alex Beregszaszi
0e5abbd4a9
Display location of invalid UTF-8 sequence in unicode literals in SyntaxChecker
2020-09-23 17:01:02 +01:00
Leonardo Alt
8eba66daf9
Extract boost smt and remove unused tests
2020-09-23 17:55:55 +02:00
Alex Beregszaszi
ca743191b7
Report why assigning oversized hex strings to bytes fail
2020-09-23 16:46:47 +01:00
Alex Beregszaszi
af8d78010e
Display BoolResult from implicit/explicit conversions for more clarity in error messages
2020-09-23 16:04:07 +01:00
Harikrishnan Mulackal
c314ca3cf2
Tests for signed exponentiation
2020-09-23 16:27:33 +02:00
Đorđe Mijović
858b4507e2
Merge pull request #9854 from ethereum/bitwiseSmt
...
[SMTChecker] Support compound shifts and bitwise and, or, and xor
2020-09-23 12:35:48 +02:00
chriseth
91f7c6644f
Only expect more failure data params if they are there.
2020-09-23 12:22:11 +02:00
chriseth
9c5e14e309
Merge pull request #9839 from ethereum/annotations-optional
...
Make annotations ``SetOnce`` or ``optional`` where feasible
2020-09-23 11:44:21 +02:00
Djordje Mijovic
96bafb9ba3
[SMTChecker] Updating old and adding new tests for compound shift operators.
2020-09-23 11:31:37 +02:00
Djordje Mijovic
0193952106
[SMTChecker] Updating old and adding new tests for compound bitwise xor operator.
2020-09-23 11:31:37 +02:00
Djordje Mijovic
e2e0b33ee7
[SMTChecker] Updating old and adding new tests for compound bitwise or operator.
2020-09-23 11:31:41 +02:00
Djordje Mijovic
69df163dcb
[SMTChecker] Updating old and adding new tests for compound bitwise and operator.
2020-09-23 11:31:37 +02:00
Leonardo Alt
f4ee4cd479
Update tests
2020-09-22 20:51:28 +02:00
Alex Beregszaszi
709d25bd3d
[SMTChecker] Support address type conversion with literals
2020-09-22 18:49:11 +01:00
Mathias Baumann
dd81d05559
Make annotations `SetOnce
or
optional
` where feasible
2020-09-22 17:38:21 +02:00
chriseth
700cc4c9d3
Merge pull request #9836 from ethereum/fix-missing-check-for-nested-dynamic-arrays-with-abi-encode-decode-v1
...
Add missing check for nested dynamic arrays in abi.encode()/decode() functions in ABIEncoderV1
2020-09-22 15:49:17 +02:00
chriseth
83aa8c1e23
Merge pull request #9818 from a3d4/introduce-compositetype
...
Introduce CompositeType
2020-09-21 22:33:04 +02:00
Daniel Kirchner
7fa9a9d312
Merge pull request #9162 from ethereum/memoryEscalator
...
Memory Escalator
2020-09-21 20:03:38 +02:00
chriseth
8e77bb5bfc
Merge pull request #9838 from ethereum/fix-wrong-name-reported-for-invalid-named-argument
...
Fix wrong name reported for invalid named argument
2020-09-21 17:17:14 +02:00
a3d4
6b77a20134
Introduce CompositeType
2020-09-21 16:18:04 +02:00
chriseth
306fef334b
Merge pull request #9546 from ethereum/expToShift
...
Optimization rule: Replace exp by shl.
2020-09-21 12:21:47 +02:00
Daniel Kirchner
48f620fb50
Reverse the order of the memory offsets assigned to variables.
2020-09-17 22:13:27 +02:00
Daniel Kirchner
f4b42d1c72
Add stack limit evader.
2020-09-17 22:13:27 +02:00
Kamil Śliwak
aae640dd3a
Fix wrong name used in error message when reporting invalid named argument
2020-09-17 18:59:18 +02:00
Kamil Śliwak
4045f41c8d
Make the test for invalid named arguments more robust
...
- Add more parameters and use different types.
- Now it's clear that the name used in the error message is wrong.
2020-09-17 17:29:28 +02:00
Kamil Śliwak
dc62d763eb
Move syntax tests for named arguments from namedAndTypeResolution/ to functionCalls/
2020-09-17 17:29:28 +02:00
Kamil Śliwak
1a4cc4e64d
Fix type check for nested arrays in abi.encode/decode functions in ABIEncoderV1
...
- Without this fix, nested arrays are not detected as unsupported and compiler fails on an UnimplementedError.
- Now it's consistent with how structs are handled in ABIEncoderV1.
2020-09-17 17:29:16 +02:00
Kamil Śliwak
89e696ca1b
Allow using zero in patterns passed to isoltest --test
2020-09-17 17:28:49 +02:00
chriseth
684fff34a9
Replace exp by shl.
2020-09-17 16:06:52 +02:00
chriseth
6e4205e445
Do not run reasoning test if no SMT Solver is available.
2020-09-17 13:43:35 +02:00
Harikrishnan Mulackal
64ddf2c699
Verify simplification rule exp(2, X) to shl(X, 1)
2020-09-16 17:36:39 +02:00
chriseth
5000785ff8
Merge pull request #9822 from ethereum/fix-ice-on-returning-string-literal-in-calldata
...
Mark string literals as not implicitly convertible to calldata arrays
2020-09-16 14:23:47 +02:00
Alex Beregszaszi
a187a1c4c4
Merge pull request #9798 from ethereum/smt-log
...
[SMTChecker] Support events and low-level logs
2020-09-16 12:26:27 +01:00
Kamil Śliwak
3ba3bde65e
Mark string literals as not implicitly convertible to calldata arrays
2020-09-16 12:44:57 +02:00
Alex Beregszaszi
c8c17b693b
[SMTChecker] Support events and low-level logs
2020-09-16 11:50:39 +02:00
Kamil Śliwak
2916ae5bda
Fix static arrays with dynamic elements not being treated as dynamic in FunctionType::returnParameterTypesWithoutDynamicTypes()
2020-09-16 11:15:52 +02:00
chriseth
b08b76ffca
Merge pull request #9776 from ethereum/reportUnimplemented
...
Sol->Yul: Report source locations related to unimplemented features.
2020-09-15 18:46:45 +02:00
chriseth
9bcc2f1713
Make ReasoningBasedSimplifier available as step.
2020-09-15 15:57:59 +02:00
chriseth
2d7e28769a
Skip smt optimizer tests if smt is disabled.
2020-09-15 15:57:59 +02:00
chriseth
f73fb726af
Reasoning based optimizer.
2020-09-15 15:57:58 +02:00
chriseth
2f41245e43
Commandline test for unimplemented IR.
2020-09-15 14:42:04 +02:00
chriseth
8c8c83a104
Adjust testing framework.
2020-09-15 14:41:46 +02:00
Alex Beregszaszi
5355e85639
Merge pull request #9782 from ethereum/smt-revert
...
[SMTChecker] Support revert()
2020-09-15 13:26:19 +01:00
chriseth
ff93d8ac6c
Merge pull request #9804 from ethereum/extractYulSyntaxTests
...
Extract (some) yul syntax tests.
2020-09-15 13:50:45 +02:00
chriseth
9eda69f637
Merge pull request #9793 from ethereum/same-syntax-test
...
[Trivial] Use same multi-source-syntax for test files
2020-09-15 13:49:34 +02:00
chriseth
74efd5ba46
Merge pull request #9703 from a3d4/fix-4558-shadowed-declaration-warning
...
Corrected warning for homonymous, but not shadowing declarations
2020-09-15 13:48:55 +02:00
Alex Beregszaszi
783d66c1a4
[SMTChecker] Support revert()
2020-09-15 11:46:33 +01:00
Alex Beregszaszi
8f36408ef9
Add test case for revert() in SMTChecker
2020-09-15 11:46:16 +01:00
Mathias Baumann
a1eb0f7225
Use same multi-source-syntax for test files
2020-09-15 12:44:02 +02:00
chriseth
768e0e96e4
Extract yul syntax tests.
2020-09-15 12:13:30 +02:00
chriseth
eac175c08b
Merge pull request #9053 from ethereum/generatedSources
...
Export generated sources
2020-09-15 12:08:47 +02:00
chriseth
33cdefc40e
New test.
2020-09-15 11:22:43 +02:00
chriseth
7f0a86ce56
Remove version from combined-json.
2020-09-15 11:22:43 +02:00
chriseth
3f9f63b829
Test updates.
2020-09-15 11:22:16 +02:00
Daniel Kirchner
e93d74398b
Merge pull request #9807 from ethereum/smt_readd_tests
...
Readd SMTChecker tests
2020-09-15 02:57:42 +02:00
a3d4
4ca7655b74
Correct the warning for homonymous, but not shadowing declarations
2020-09-15 02:39:21 +02:00
Leonardo Alt
28c8e01149
Readd SMTChecker tests
2020-09-14 23:44:13 +02:00
Alex Beregszaszi
83934254ea
[SMTChecker] Support type(I).interfaceId
2020-09-14 20:34:52 +01: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
c6281f29d5
Merge pull request #9577 from ethereum/removeflag
...
Remove "removesNonConstant" flag.
2020-09-14 20:20:46 +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
Harikrishnan Mulackal
b7944477a1
Update UnusedFunctionParameterPruner tests to avoid getting inlined
2020-09-14 17:59:50 +02:00
chriseth
8e39110a30
Remove flag.
2020-09-14 17:35:04 +02:00
Kamil Śliwak
ea1c249822
[yul-phaser] Chromosome: Use more samples and higher tolerance in tests checking the distribution
...
- This makes them run a second longer (which might seem small but it's a 3x increase).
- Hopefully they will break less when the random seed changes.
2020-09-14 16:17:39 +02:00
Kamil Śliwak
5637bdcaec
[yul-phaser] Replace mutation tests with hard-coded expectations with more robust ones that check the statistical distribution
...
- The old tests would easily break when adding/removing optimiser steps.
2020-09-14 16:17:39 +02:00
Kamil Śliwak
d75f0ba437
[yul-phaser] Chromosome: Make it possible to use genes that do not correspond to existing optimiser steps
2020-09-14 16:17:39 +02:00
chriseth
fb205b719e
Merge pull request #9783 from ethereum/yul-phaser-fix-slow-tests-for-classic-algorithm
...
[yul-phaser] Fix slow tests for classic genetic algorithm
2020-09-14 16:16:59 +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
Kamil Śliwak
e024032a67
Revert "[yul-phaser] Temporarily disable very slow tests for the classic algorithm"
...
This reverts commit b23f7d8790
.
2020-09-11 22:05:56 +02:00
Kamil Śliwak
952a9c6115
[yul-phaser] Chromosome: store step abbreviations instead of full names
2020-09-11 22:05:56 +02:00
Kamil Śliwak
2a707e7685
[yul-phaser] Chromosome: Add stepsToGenes() and genesToSteps()
2020-09-11 22:05:56 +02: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
42c26e0bf5
Inline tiny functions first.
2020-09-10 17:01:20 +02:00
chriseth
f102feaf09
Handle "leaf functions" first in full inliner.
2020-09-10 17:01:19 +02:00
chriseth
6101bdf7e2
Name simplifier.
2020-09-10 16:23:29 +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
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
Harikrishnan Mulackal
e2fd41f097
Implemented UnusedFunctionArgumentPruner
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
6b38c64c84
Merge pull request #9709 from ethereum/smt_fix_tuple_3
...
[SMTChecker] Fix ICE on tuples of one element of tuple type
2020-09-01 10:47:36 +02:00
Leonardo
20b359e5c5
Merge pull request #9716 from ethereum/smt_fix_tuple_2
...
[SMTChecker] Fix ICE on tuple assignment
2020-09-01 10:44:34 +02:00
Leonardo
c9ca1d1814
Merge pull request #9706 from ethereum/smt_fix_tuple_lvalue
...
[SMTChecker] Fix unary operator on lvalue tuple
2020-09-01 10:37:24 +02:00
chriseth
f628fd3f03
Merge pull request #9655 from a3d4/fix-msvc-adl
...
Fix MSVC ADL
2020-09-01 10:35:11 +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
a3d4
8faa5243b5
Fix MSVC ADL
2020-09-01 00:42:42 +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
chriseth
7346165b6c
Merge pull request #9688 from ethereum/fix-9675
...
ossfuzz: Generate antlr4 runtime deps
2020-08-31 13:07:03 +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
4366ede889
Introduce Leave as a keyword for Yul
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
bd7283ad22
Add scanner test for specially handled keywords in Yul
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
a80e2c1462
Update tests for immutable variables
2020-08-28 19:06:34 +01:00
Alex Beregszaszi
56624af209
Merge pull request #9695 from ethereum/scanner-test
...
Add more scanner tests for hex and unicode literals
2020-08-28 18:19:22 +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
Alex Beregszaszi
aa70758c32
Add more scanner tests for hex and unicode literals
2020-08-28 14:33:29 +01: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
Bhargava Shastry
6101590d93
ossfuzz: Generate antlr4 runtime deps
2020-08-27 17:33:29 +02: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
662f7d8fac
Rename Arrow to DoubleArrow
2020-08-27 12:28:27 +01: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
b2b8e0e4c6
Merge pull request #9312 from ethereum/rewrite-loopInvariantCodeMotion
...
Rewrite loop invariant code motion
2020-08-19 14:27:04 +02:00
Harikrishnan Mulackal
bbf15c9af3
Tests and Changelog
2020-08-19 12:41:29 +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
3c27d36ebd
Merge pull request #9283 from ethereum/refactor-sideEffects
...
Refactor SideEffects
2020-08-18 15:12:42 +02:00
Harikrishnan Mulackal
3cbe65e4f3
Refactor SideEffects struct
2020-08-18 14:53:59 +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
Harikrishnan Mulackal
58bfe0b0d2
Tests for refactor-SideEffects
2020-08-14 17:44:19 +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
9ca48987dd
Merge pull request #9520 from ethereum/interpreterLiteral
...
Fix literal arguments in interpreter.
2020-08-06 16:11:31 +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
0226d104b7
Fix literal arguments in interpreter.
2020-08-06 14:16:59 +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
488fd5a27a
Merge pull request #9575 from ethereum/yul-optim-check
...
Parse optimiser output in yulOptimiserTests
2020-08-06 00:40:45 +02:00
Alex Beregszaszi
2e8616e2e4
Run prequisite steps for VarNameCleaner in tests
2020-08-05 22:12:51 +01:00
Alex Beregszaszi
0a8bc861b2
Remove old boost tests from libyul/ObjectParser
2020-08-05 21:01:46 +01:00
Alex Beregszaszi
291c359ee9
Add more syntax tests for Yul objects
...
Also move some of them from boost tests.
2020-08-05 21:01:46 +01:00
Alex Beregszaszi
e7c99918ed
Use yul::test::parse in libyul/SynaxtTests to support objects
2020-08-05 18:10:21 +01: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
42a777e9e2
Use forward declaration in EwasmTranslationTest
2020-08-05 13:31:51 +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
Alex Beregszaszi
e77ae3f06e
Parse optimiser output in yulOptimiserTests
2020-08-05 12:57:14 +01:00
Alex Beregszaszi
a21c8e18f1
Merge pull request #9572 from ethereum/yul-optimiser-tests
...
Return object format in expectation for yulOptimizerTests
2020-08-05 12:57:01 +01:00
Alex Beregszaszi
ad6f39376f
Return object format in expectation for yulOptimizerTests
2020-08-05 11:55:13 +01:00
Alex Beregszaszi
6e381326fe
Adjust and add more tests
2020-08-05 11:37:04 +01:00
Leonardo Alt
8df8c6e14f
[SMTChecker] Fix ICE in BMC function inlining
2020-08-05 11:47:25 +02:00
chriseth
b8fd409f7f
Merge pull request #9566 from ethereum/byteAfterShrNonEight
...
Optimize byte-after-shr for shift amounts that are not multiples of 8.
2020-08-04 14:19:11 +02:00
chriseth
a3a9630d8b
Optimize byte-after-shr for shift amounts that are not multiples of 8.
2020-08-04 12:16:23 +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
Bhargava Shastry
5100effeec
yul: Set non movable flag to true in simplification rule for byte of right-shifted expression
2020-08-03 17:30:52 +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