Alexander Arlt
67e9776418
Extract 45 tests from SolidityEndToEndTest.cpp
2020-03-26 17:39:12 +01:00
chriseth
1897138916
Merge pull request #8522 from a3d4/fix-8427-ast-types-compiler-error
...
Promoted typeError to fatalTypeError in ReferencesResolver
2020-03-25 11:23:00 +01:00
a3d4
339f3ca32c
Fix #8427 : Promoted typeError to fatalTypeError in ReferencesResolver::endVisit(UserDefinedTypeName).
2020-03-25 02:51:34 +01:00
Daniel Kirchner
e255c15227
Tests.
2020-03-24 16:45:31 +01:00
Daniel Kirchner
04d8ad2ae1
Legacy codegeneration for immutable state variables.
2020-03-24 16:45:25 +01:00
Leonardo Alt
42b143098e
Add natspec test with too many return tags
2020-03-24 13:04:07 +01:00
Daniel Kirchner
fe659ceb41
Anything outside storage is always a pointer.
2020-03-23 15:34:10 +01:00
Leonardo Alt
0fcb1427c9
Fix Yul codegen when dynamic array is used as rhs of assignment
2020-03-20 17:52:51 +01:00
chriseth
d55bbd4aa5
Merge pull request #8508 from a3d4/again-refactor-testcase-classes
...
More refactoring of TestCase classes
2020-03-19 23:05:32 +01:00
chriseth
f25157a5f8
Sort tests.
2020-03-19 14:42:25 +01:00
chriseth
8834b1acaf
Merge pull request #8464 from aarlt/end-to-end-verified
...
[test] Extraction of 292 tests from SolidityEndToEndTest.cpp
2020-03-19 14:42:04 +01:00
a3d4
f4d9f6772f
Unified use of settings. Removed a couple of unused functions.
2020-03-19 14:02:39 +01:00
Alexander Arlt
23d00b5ca3
Extracted 292 tests from SolidityEndToEndTest.cpp
2020-03-18 11:56:43 -05:00
a3d4
bb38ce1759
Decoupled error checking and report printing in CommonSyntaxTest.
2020-03-16 23:22:56 +01:00
a3d4
66783c30ce
Introduced TestCaseReader.
2020-03-16 23:14:33 +01:00
chriseth
4e4a3da920
Merge pull request #8481 from aarlt/add-show-metadata
...
Add --show-metadata to enable metadata output.
2020-03-16 14:25:42 +01:00
Djordje Mijovic
96d278b101
[Sol->Yul] Adding slicing for call data arrays
2020-03-13 13:40:38 +01:00
Alexander Arlt
9d67edb163
Add --show-metadata to enable metadata output.
2020-03-12 13:39:29 -05:00
chriseth
fa148f2483
Parsing of immutable state variable.
2020-03-12 17:11:24 +01:00
a3d4
a86c511713
Replaced "assert" with "if" (incorrect contract code is not supposed to trigger asserts).
2020-03-12 14:03:27 +01:00
Daniel Kirchner
bdd8045db5
Merge pull request #8183 from ethereum/functionOptionsYulIR
...
[YulIR] Function call options for Yul IR
2020-03-12 10:49:51 +01:00
Leonardo Alt
89ce2dbfe9
The identifier var
should be fine in Yul
2020-03-11 18:45:08 +01:00
Leonardo Alt
07368c2e1e
Add support to internal function calls
2020-03-11 16:29:07 +01:00
chriseth
5dd30777d2
Test.
2020-03-10 22:44:06 +01:00
Leonardo Alt
bcefda747c
Do not run smtCheckerTestsJSON if no solver available
2020-03-10 15:41:49 +01:00
Christian Parpart
bb29a7e497
Merge pull request #8460 from ethereum/yulutil-convert-array
...
YulUtilFunctions: convertionFunction() to also handle array string/memory casts
2020-03-10 14:00:34 +01:00
Christian Parpart
5d7a370248
YulUtilFunctions: convertionFunction() to also handle array string/memory casts.
2020-03-10 11:21:12 +01:00
chriseth
8d2a9bf773
Merge pull request #8458 from a3d4/partfix-8244-introduced-testcase-shouldrun
...
Partial Fix #8244 : Introduced TestCase::shouldRun().
2020-03-09 18:35:12 +01:00
Daniel Kirchner
809e3503ba
Control flow analysis for inline assembly.
2020-03-09 16:23:10 +01:00
a3d4
29b770c434
Introduced TestCase::shouldRun().
2020-03-09 15:52:20 +01:00
chriseth
b7c001eb7f
Merge pull request #8416 from ethereum/reuseYulCalldataTailAccess
...
Fix yul calldata tail access functions and reuse them for old codegen.
2020-03-09 15:10:48 +01:00
chriseth
37e01a19c0
Fix scoping following try/catch.
2020-03-09 13:14:13 +01:00
Christian Parpart
988bd6780b
Merge pull request #8414 from ethereum/sol2yul-func-type-conversion
...
[Sol2Yul] Implements function-to-function cast.
2020-03-09 11:31:44 +01:00
Christian Parpart
e210026e74
[Sol2Yul] Implements function-to-function cast.
2020-03-09 10:40:57 +01:00
chriseth
a328e940b5
Merge pull request #8429 from ethereum/astJsonImportYulBlock
...
Fix yul ast import for blocks, switches and string literals.
2020-03-08 17:06:05 +01:00
Daniel Kirchner
e58a1de57f
Merge pull request #8431 from mijovic/sol2YulSelectorAddress
...
Adding sol->yul for f.selector and f.address
2020-03-06 22:48:38 +01:00
Djordje Mijovic
092827b7ad
Adding sol->yul for f.selector and f.address
2020-03-06 21:43:14 +01:00
Daniel Kirchner
2df5ca0774
Merge pull request #8385 from ethereum/immutable
...
Immutable state variables (1)
2020-03-06 14:20:13 +01:00
Daniel Kirchner
7f38cbb91d
Fix calling unimplemented base function.
2020-03-06 10:51:16 +01:00
Daniel Kirchner
420f57aec3
Fix yul ast import for blocks, switches and string literals.
2020-03-05 14:09:13 +01:00
Daniel Kirchner
b10f12a395
Merge pull request #8413 from mijovic/depratateValueCalls
...
Deprecated warning for .value() and .gas() on function and constructr…
2020-03-04 14:43:06 +01:00
Daniel Kirchner
919888ddbc
Use yul function for calldata tail access, fix checks and add additional revert reason.
2020-03-04 14:39:36 +01:00
Christian Parpart
a3bc752e53
Merge pull request #8415 from ethereum/tests-ExecutionFramework-reset
...
[test] Fixes ExecutionFramework providing different contract addresse…
2020-03-04 14:17:11 +01:00
Djordje Mijovic
58c6b90705
Deprecated warning for .value() and .gas() on function and constructror calls
2020-03-04 12:51:49 +01:00
Christian Parpart
495abee769
[test] Fixes ExecutionFramework providing different contract addresses when running test cases for both, old and new yul codegen.
2020-03-03 16:36:12 +01:00
Leonardo
32ca1a5e26
Merge pull request #8311 from ethereum/smt_split_2
...
[SMTChecker] Change CHC encoding from explicit CFG to function forests
2020-03-03 13:16:14 +01:00
Leonardo Alt
3bee348525
Change CHC encoding to functions forest instead of explicit CFG
2020-03-03 12:12:26 +01:00
Leonardo Alt
96a230af50
[SMTChecker] Fix ICEs with tuples
2020-03-03 11:35:58 +01:00
chriseth
f10c6500b2
Immutable is not reserved anymore.
2020-03-02 14:20:17 +01:00
Erik Kundt
d1b6a4a649
Fixes raw bytes warning in semantic test framework.
2020-02-26 21:37:52 +01:00
Leonardo
6930e0c2e0
Merge pull request #8384 from ethereum/fixRePrintingValue
...
Fix re-printing value expectations.
2020-02-26 09:57:30 +01:00
chriseth
40cae442d5
Fix re-printing value expectations.
2020-02-25 22:10:35 +01:00
chriseth
45041e5d3a
Allow access to `_slot
` for local storage pointer variables.
2020-02-25 14:28:04 +01:00
Djordje Mijovic
dd9009eba6
TestFileParser: Adding new keyword wei for expressing function value
2020-02-21 11:39:37 +01:00
chriseth
c2e22d4cab
Merge pull request #8221 from ethereum/structured-docs-error-locations
...
[parser] Source locations for structured documentation errors
2020-02-18 14:57:28 +01:00
Djordje Mijovic
18dea6b69c
Assembly: Added missing source field to legacy assembly json output to complete the source reference
2020-02-18 10:22:34 +01:00
chriseth
c50631d4e2
Update tests.
2020-02-17 12:58:06 +01:00
chriseth
29e5cd89be
Remove stack counting from Asm Analysis.
2020-02-17 12:58:05 +01:00
Erik Kundt
017d33cfbe
Fix typos in filenames within docstring syntax tests.
2020-02-14 15:53:39 +01:00
Erik Kundt
85fc0b597b
Adjusts tests to source locations for structured documentation errors.
2020-02-14 15:53:39 +01:00
chriseth
99f88742d6
Merge pull request #8263 from ethereum/functionSelectorPure
...
Mark function selectors accessed via declaration as pure.
2020-02-14 12:34:39 +01:00
Daniel Kirchner
9f094d59b9
Mark function selector accesses as pure for pure expressions and mark function accesses via contract name as pure.
2020-02-14 12:33:33 +01:00
Christian Parpart
c92fe69a60
Finishes external call implementation.
2020-02-14 11:59:04 +01:00
Leonardo Alt
3800391a1a
[Yul] Support conditionals
2020-02-13 17:02:15 -04:00
Mathias L. Baumann
c635377450
Merge pull request #8313 from ethereum/checkFunctionsExistInIsoltest
...
Make type error fatal to prevent assert failure at later point
2020-02-13 16:08:13 +01:00
Mathias Baumann
8911b58a6d
Make type error fatal to prevent assert failure at later point
2020-02-13 15:16:28 +01:00
Daniel Kirchner
7af581df1f
Merge pull request #8309 from ethereum/checkFunctionsExistInIsoltest
...
Check that functions exist in isoltest.
2020-02-13 14:29:58 +01:00
chriseth
9aed40ab19
Check that functions exist in isoltest.
2020-02-13 13:22:53 +01:00
chriseth
1ea66fd1f8
Merge pull request #8301 from ethereum/fixPostTypeChecker
...
PostTypeChecker: ConstStateVarCircularReferenceChecker on function type state variables.
2020-02-12 18:40:19 +01:00
Daniel Kirchner
45f80e9895
Move assertion in PostTypeChecker's ConstStateVarCircularReferenceChecker to account for function type variables
2020-02-12 17:42:27 +01:00
Alexander Arlt
d0eeca8014
Fix CompilerStack::loadMissingSources()
...
- FatalError Exception was not caught
- fixes #8102
2020-02-12 11:22:11 -05:00
Daniel Kirchner
df0873d138
Implement calldata arrays for Yul IR
2020-02-12 14:00:29 +01:00
Daniel Kirchner
3c9f18b749
Use IRVariable's in IR code generation and implement tuples.
2020-02-12 12:36:14 +01:00
Daniel Kirchner
9c3151748e
Move mapping key checks to ReferencesResolver and make them fatal.
2020-02-11 13:35:23 +01:00
Leonardo Alt
36928c7a35
Add reason string for internal reverts
2020-02-10 11:57:20 -03:00
Daniel Kirchner
e07274a96f
Disallow libraries as mapping keys.
2020-02-06 09:09:43 +01:00
chriseth
5de3379d82
Merge pull request #8238 from ethereum/yul-syntax-tests
...
Implement yul syntax tests
2020-02-05 15:15:41 +01:00
Mathias Baumann
fc10e701fc
Implement yul syntax tests
2020-02-05 14:58:34 +01:00
chriseth
0b9c842656
Fix abstract without contract.
2020-02-05 12:14:14 +01:00
Daniel Kirchner
d882b6fa83
Allow tests to be marked ABIEncoderV1Only.
2020-02-04 17:22:03 +01:00
Daniel Kirchner
af9fc8b634
Mapping getters for Yul IR.
2020-02-04 17:22:03 +01:00
Daniel Kirchner
d3cbfb0c5c
Allow user-defined types as mapping keys in parser and restrict to contracts during type checking.
2020-02-04 17:22:03 +01:00
Erik Kundt
4a179056ed
Adds JSON import / export for structured documentation.
2020-01-30 18:26:01 +01:00
Erik Kundt
ec27c2e507
Introduce AST node for structured documentation.
2020-01-30 18:25:56 +01:00
chriseth
457cdecf6f
Merge pull request #8135 from ethereum/fix-get-options-7112
...
TestFramework: Merge Options.h into Common.h
2020-01-29 16:05:55 +01:00
Mathias L. Baumann
5130a2b0ae
Merge pull request #8063 from ethereum/yulvisit-7656
...
Use yul::AstWalker for assembly reference resolving
2020-01-29 14:56:19 +01:00
Mathias Baumann
00e4d13975
TestFramework: Merge Options.h into Common.h
2020-01-29 12:27:05 +01:00
chriseth
35820398c2
Merge pull request #8179 from pinkiebell/codegen
...
libsolidity/codegen: Use calldatacopy to cheaply zero memory..
2020-01-28 18:07:30 +01:00
Mathias Baumann
b8e2baf5f4
Use yul::AstWalker to resolve assembly symbols
2020-01-28 17:57:48 +01:00
Mathias Baumann
2f1f8e25c1
TestFramework: Remove headers from Options.h
2020-01-28 17:29:22 +01:00
Mathias Baumann
1027f6f78f
Extract some semantic tests
2020-01-28 11:59:44 +01:00
chriseth
790c6d2cae
Tests for salted create.
2020-01-23 21:20:01 +01:00
chriseth
2fa586beac
Test that uses function call options on overloaded function.
2020-01-23 21:20:01 +01:00
Mathias Baumann
a3f23d3158
Implement new with CREATE2 and function call options.
2020-01-23 21:20:01 +01:00
pinkiebell
bb6fb675e0
libsolidity/codegen: Use calldatacopy to cheaply zero memory instead of
...
codecopy.
Motiviation:
Zero'ing memory is commonplace in contracts, but with the upcoming
Layer-2 EVM translation layers and other on-chain verification
mechanisms, using `codecopy` becomes a `costly` operation in those
sandboxes. Using `calldatacopy` achieves the same thing, gas costs
are also the same as codecopy, and is significantly cheaper in the `sandbox` situation.
2020-01-22 17:56:56 +01:00
Jason Cobb
595f569e97
Update tests for interface inheritance
2020-01-22 09:40:40 -05:00
Jason Cobb
573a054d5d
Prohibit interfaces inheriting from non-interfaces
2020-01-22 09:40:40 -05:00
chriseth
1b19524036
Merge pull request #8150 from ethereum/isoltest-alignment-output
...
[isoltest] Proper output of alignment in obtained test results
2020-01-20 12:38:12 +01:00
Alex Beregszaszi
004f01a388
Add test case for gas metering of exp(n, 0)
2020-01-17 14:24:55 +01:00
Daniel Kirchner
ee5ff4df4e
Clean up visibility via contract name and fix ICE on calling unimplemented base function.
2020-01-16 19:13:04 +01:00
Erik Kundt
ae67cbde7d
Fixes missing alignment output in isoltest.
2020-01-15 18:18:16 +01:00
chriseth
ed87b08911
Merge pull request #8066 from ethereum/removeAsmFlavour
...
Remove asm flavour
2020-01-15 14:21:54 +01:00
Nicolás Venturo
9649c92e12
Fix error message suggestion for receive
2020-01-14 23:24:27 +01:00
chriseth
0f014144c8
Test for true/false in inline assembly.
2020-01-14 17:16:09 +01:00
chriseth
123ea0a250
Remove asm flavour.
2020-01-14 17:16:09 +01:00
djudjuu
e8556fa1b2
Ast-Import from standard-json
2020-01-14 17:15:53 +01:00
Mathias Baumann
adc4774d4a
ASTJSON: Export evm version
2020-01-14 12:51:21 +01:00
Daniel Kirchner
9535c0f520
Introduce FunctionKind::Declaration and allow accessing function signatures via contract name.
2020-01-09 15:40:41 +01:00
chriseth
5ca3abd7cb
Merge pull request #8106 from random-internet-cat/move-contract-kind
...
Move ContractKind from ContractDefinition to file-scope
2020-01-08 13:06:26 +01:00
chriseth
40c0602b5c
Do not rematerialize in loops.
2020-01-08 09:56:08 +01:00
chriseth
d1a7ff0fbc
Merge pull request #8008 from ethereum/large-code
...
Issue warning if codesize exceeds EIP-170 limits
2020-01-08 09:48:59 +01:00
Christian Parpart
345f9928ab
Library libdevcore renamed to libsolutil.
2020-01-07 15:51:50 +01:00
Christian Parpart
ed45b000d1
Adapt tests directory to C++ namespace changes.
2020-01-07 15:51:50 +01:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
Jason Cobb
529405deb6
Move ContractKind from ContractDefinition to file-scope
2020-01-07 09:11:29 -05:00
Leonardo Alt
d972a10b4f
Review 1
2020-01-02 12:43:56 +01:00
Alex Beregszaszi
4d791b2679
Issue warning if codesize exceeds EIP-170 limits
2019-12-25 19:51:35 +01:00
chriseth
4b026fa633
Update gas costs.
2019-12-18 01:41:32 +01:00
chriseth
bdd338a8de
Merge pull request #7921 from ghallak/func-selector-ast-json
...
Add function selector to FunctionDefinition AST JSON
2019-12-16 14:07:35 +01:00
Gaith Hallak
0396bc7beb
Modify the tests to include the function selector
2019-12-16 15:16:54 +03:00
chriseth
670b719773
Updates to control structures (2).
...
Co-Authored-By: Bhargava Shastry <bhargava.shastry@ethereum.org>
2019-12-12 17:01:57 +01:00
chriseth
276c777af3
Merge pull request #7976 from ethereum/solc-api
...
Test solidity_free in tests too
2019-12-12 12:48:28 +01:00
Alex Beregszaszi
6e6bc9904f
libsolc: change return type of compile to non-const
2019-12-12 11:26:16 +00:00
chriseth
c175a468ab
Do not call ABIEncoderV2 experimental.
2019-12-12 10:59:07 +01:00
Alex Beregszaszi
2ccf3ea4ab
Test solidity_free in tests too
2019-12-11 18:43:13 +00:00
chriseth
f22bd769ff
Merge pull request #7939 from ethereum/more_tests_override_stuff
...
Ambiguous override for public state variables
2019-12-11 17:16:59 +01:00
Alex Beregszaszi
5998f31543
Use BOOST_REQUIRE instead of BOOST_CHECK in LibSolc tests where appropriate
2019-12-11 15:17:50 +00:00
Alex Beregszaszi
b7d6e44af7
Fix callback memory allocation in tests
2019-12-11 15:17:39 +00:00
Christian Parpart
8682af2216
libsolc: Overhauls memory management.
2019-12-11 15:17:39 +00:00
Leonardo Alt
1fb62b91d2
Add more override tests with public state variables
2019-12-11 15:15:51 +01:00
chriseth
07d271e770
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-10 10:07:30 +01:00
Alex Beregszaszi
c9360421fc
Move snark test from SolidityEndToEnd
2019-12-09 18:33:07 +00:00
chriseth
a5f7661075
Ambigous overrides for modifiers.
2019-12-09 18:43:59 +01:00
chriseth
152f42c6b2
Make ambigous override checker generic.
2019-12-09 18:41:39 +01:00
chriseth
6d2e59cc80
More tests.
2019-12-09 18:41:39 +01:00
chriseth
e1d6ce2b66
Override checks for modifiers.
2019-12-09 18:41:39 +01:00
chriseth
f6916a637e
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-09 17:16:58 +01:00
Leonardo
2579a12bb8
Merge pull request #7894 from ethereum/smt_isoltest_choice
...
[SMTChecker] Create SMTSolver option in isoltest
2019-12-09 16:41:20 +01:00
chriseth
06e8e216b3
Some more tests.
2019-12-09 16:04:45 +01:00
Daniel Kirchner
4c7f9f9751
Do not require overriding for functions in common base with unique implementation.
2019-12-09 16:04:45 +01:00
chriseth
9c3503834d
Fix semver matcher differently.
2019-12-09 15:45:01 +01:00
Leonardo Alt
beed0f6a27
Set tests that CVC4 can't handle to Z3 only
2019-12-09 15:32:08 +01:00
Leonardo Alt
8d5f5a5cbe
Remove deprecated code
2019-12-09 15:32:08 +01:00
Leonardo Alt
77b9416d3e
Extract SMTChecker mod test
2019-12-09 15:32:08 +01:00
Leonardo Alt
02343208ad
Extract SMTChecker compound assignment division tests
2019-12-09 15:32:08 +01:00
Leonardo Alt
ae6cdc3442
Extract more SMTChecker division tests
2019-12-09 15:32:08 +01:00
Leonardo Alt
b870e4ea31
Extract SMTChecker division tests
2019-12-09 15:32:08 +01:00
Leonardo Alt
225041738e
Add SMTCheckerTest for isoltest
2019-12-09 15:32:08 +01:00
Leonardo Alt
3e8584bd21
Pull SyntaxTest::run content into separate functions
2019-12-09 15:32:08 +01:00
Mathias Baumann
e999409c89
Sync & update AST exporting according to AST changes
2019-12-09 10:42:24 +00:00