Commit Graph

4115 Commits

Author SHA1 Message Date
hrkrshnn
229587672f TypeChecker error when encoding functions with call options; tests 2020-04-07 21:11:46 +05:30
chriseth
236eff8416 Export immutability. 2020-04-07 17:30:54 +02:00
chriseth
823a119117
Merge pull request #8570 from aarlt/clang-tidy-apply-modernize-use-emplace
clang-tidy: Apply modernize-use-emplace.
2020-04-07 17:28:50 +02:00
Leonardo Alt
e3ec22124e [SMTChecker] Fix ICE in CHC internal calls 2020-04-07 01:09:03 +02:00
Kamil Śliwak
0efea99fa5 [yul-phaser] Phaser: Allow selecting the classic algorithm on the command line 2020-04-06 19:06:08 +02:00
Kamil Śliwak
f6783c60b2 [yul-phaser] GeneticAlgorithms: Add ClassicGeneticAlgorithm 2020-04-06 19:06:08 +02:00
Kamil Śliwak
8c86a4983d [yul-phaser] Population: Add combine() 2020-04-06 19:06:08 +02:00
Kamil Śliwak
ef8d0888af [yul-phaser] Population: Add symmetricCrossoverWithRemainder() 2020-04-06 19:06:08 +02:00
Kamil Śliwak
59011fcde6 [yul-phaser] Mutations: Add mutationSequence() 2020-04-06 19:06:08 +02:00
Kamil Śliwak
0837a62d5c [yul-phaser] Mutations: Add symmetricRandomPointCrossover() 2020-04-06 19:06:08 +02:00
Kamil Śliwak
b6f8ecf755 [yul-phaser] Selections+PairSelections: Add RandomSubset and PairsFromRandomSubset 2020-04-06 19:06:08 +02:00
Kamil Śliwak
7381068dcc [yul-phaser] Make the Population constructor that takes individuals public and use it to speed up some operations 2020-04-06 19:06:08 +02:00
Kamil Śliwak
2750bb9b90 [yul-phaser] TestHelpers: Generic operator << for printing tuples in boost tests 2020-04-06 19:06:08 +02:00
chriseth
806c835647
Merge pull request #8568 from aarlt/clang-tidy-apply-modernize-use-override
clang-tidy: Apply modernize-use-override.
2020-04-06 16:09:02 +02:00
Daniel Kirchner
84d7bac4f6 Format immutable references similarly to link references. 2020-04-06 11:21:53 +02:00
Daniel Kirchner
81652686be Debug information for immutable references. 2020-04-06 10:56:42 +02:00
Daniel Kirchner
d68c526eaa Disallow external function pointers as immutables. 2020-04-03 11:56:51 +02:00
Alexander Arlt
cae6e7769f Apply modernize-use-override. 2020-04-02 18:00:44 -05:00
Alexander Arlt
90bb1d8a7c Apply modernize-use-emplace. 2020-04-02 17:35:48 -05:00
chriseth
d7a39c86ce Accessors for immutable variables. 2020-04-02 19:09:54 +02:00
chriseth
216fca5b70
Merge pull request #8578 from ethereum/interface-function-modifier-error
Added error for interface functions that have modifiers; test case
2020-04-02 18:05:32 +02:00
hrkrshnn
ef2bef9ddc Added error for interface function with modifiers; test case 2020-04-02 20:30:43 +05:30
Leonardo Alt
39ff0deb05 Zero initialize memory arrays 2020-04-02 15:55:18 +02:00
Mathias Baumann
ac7b31e559 Validate immutable variables 2020-04-02 13:52:27 +02:00
chriseth
a2b427dc0b
Merge pull request #8567 from ethereum/storage-pointer-checker
Removed redundant storage declaration check; test coverages
2020-04-02 13:46:51 +02:00
hrkrshnn
8e6567e399 New folder localStorageVariable for new testcases; added two new tests 2020-04-02 16:34:45 +05:30
hrkrshnn
aec0ae8ec1 Extended test-coverage for storage declaration 2020-04-02 15:45:04 +05:30
chriseth
3224785381
Merge pull request #8569 from aarlt/clang-tidy-apply-modernize-use-nullptr
clang-tidy: Apply modernize-use-nullptr.
2020-04-02 10:38:54 +02:00
hrkrshnn
79387b2ada Removed redundant declaration check; changed relevant test cases 2020-04-02 12:27:38 +05:30
Daniel Kirchner
77ea896b68 Properly handle assignments of immutables at declaration. 2020-04-02 08:35:22 +02:00
Alexander Arlt
616fd8df1e Apply modernize-use-nullptr. 2020-04-01 12:46:19 -05:00
Daniel Kirchner
fe9f8d520c Restrict size for dynamic memory array creation. 2020-04-01 17:25:09 +02:00
Alexander Arlt
3e649eb8e1 Disallow access to functions from inline assembly. 2020-04-01 10:34:55 +02:00
chriseth
b83d82ab75
Merge pull request #8550 from a3d4/fix-8450-typechecker-compiler-error
Fix  a couple of internal compiler errors when assigning nested tuples
2020-03-31 22:21:58 +02:00
a3d4
c002cae691 Fix #8450. Prevented internal compiler errors when assigning nested tuples. 2020-03-31 03:25:26 +02:00
Djordje Mijovic
89d5ecdd24 [Sol2Yul] Adding support for constructor with parameters 2020-03-27 01:19:11 +01:00
chriseth
173f234860 Refactor: Replace inheritance hierarchy by most derived contract. 2020-03-26 18:27:39 +01:00
chriseth
165f7bf60f Move files. 2020-03-26 17:47:36 +01:00
Alexander Arlt
67e9776418 Extract 45 tests from SolidityEndToEndTest.cpp 2020-03-26 17:39:12 +01:00
chriseth
ff23f165f0
Merge pull request #8452 from imapp-pl/yul-phaser-more-output
[yul-phaser] More output
2020-03-25 16:43:05 +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
Kamil Śliwak
3f524ccfe5 [yul-phaser] Population: Print individuals in a more compact way 2020-03-25 10:21:18 +01:00
Kamil Śliwak
10e8d3616c [yul-phaser] AlgorithmRunner: Print total time when showing only the top chromosome 2020-03-25 10:21:18 +01:00
Kamil Śliwak
cd16a6e178 [yul-phaser] Add --show-cache-stats option 2020-03-25 10:21:18 +01:00
Kamil Śliwak
3e35decf2b [yul-phaser] ProgramCache: Add ability to gather cache stats 2020-03-25 10:21:18 +01:00
Kamil Śliwak
47c3b558f2 [yul-phaser] AlgorithmRunner: Print elapsed time after each round 2020-03-25 10:21:18 +01:00
Kamil Śliwak
c875b3d944 [yul-phaser] Add --show-only-top-chromosome and --hide-round options 2020-03-25 10:21:18 +01:00
Kamil Śliwak
ec10a3d378 [yul-phaser] Add --show-initial-population option 2020-03-25 10:21:18 +01:00
Kamil Śliwak
d6b96063f8 [yul-phaser] AlgorithmRunner: Make all tests use population from AlgorithmRunnerFixture 2020-03-25 10:21:18 +01:00
Kamil Śliwak
a97aeb0e6e [yul-phaser] AlgorithmRunner: A stronger test for run() output 2020-03-25 10:21:18 +01:00
a3d4
339f3ca32c Fix #8427: Promoted typeError to fatalTypeError in ReferencesResolver::endVisit(UserDefinedTypeName). 2020-03-25 02:51:34 +01:00
chriseth
28c0bc5929
Merge pull request #8451 from imapp-pl/yul-phaser-program-cache
[yul-phaser] Program cache
2020-03-24 23:02:53 +01:00
chriseth
0029b8bbbf
Merge pull request #8472 from ethereum/immutableCodegen
Immutable codegen
2020-03-24 22:34:13 +01:00
Kamil Śliwak
98db50ccac [yul-phaser] Add --program-cache option 2020-03-24 17:39:24 +01:00
Kamil Śliwak
3b49fbb8a5 [yul-phaser] Add ProgramCacheFactory class 2020-03-24 17:39:24 +01:00
Kamil Śliwak
e2ff9698d3 [yul-phaser] AlgorithmRunner: Add support for ProgramCache 2020-03-24 17:39:24 +01:00
Kamil Śliwak
259f738f17 [yul-phaser] ProgramBasedMetric: Add the ability to use ProgramCache 2020-03-24 17:39:24 +01:00
Kamil Śliwak
8b443627e2 [yul-phaser] Add ProgramCache class 2020-03-24 17:39:24 +01:00
chriseth
f89e154693
Merge pull request #8514 from imapp-pl/yul-phaser-prefix-option
[yul-phaser] --prefix option
2020-03-24 17:35:45 +01:00
chriseth
6b97f9a4b5
Merge pull request #8513 from imapp-pl/yul-phaser-parsing-yul-objects
[yul-phaser] Parsing Yul objects
2020-03-24 17:33:13 +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
chriseth
83cbfbb7bf
Merge pull request #8400 from ethereum/fix-8395
[solc] Standard compiler interface to permit exception leaks and use it in fuzzer
2020-03-24 16:20:41 +01:00
Leonardo Alt
42b143098e Add natspec test with too many return tags 2020-03-24 13:04:07 +01:00
Kamil Śliwak
a66ceb11c6 [yul-phaser] Add --prefix option 2020-03-23 16:31:35 +01:00
Kamil Śliwak
29186f9951 [yul-phaser] Program: Switch from using parseCode() to parseObject() 2020-03-23 16:31:19 +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
Bhargava Shastry
9544df34d7 solc fuzzers: Use compiler stack for fuzzing 2020-03-20 10:50:26 +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
b5e11e7203
Merge pull request #8449 from imapp-pl/yul-phaser-multi-program-support
[yul-phaser] Multi-program support
2020-03-19 17:07:34 +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
a3d4
3b9e926559 Moved "step" from settings to expectations. 2020-03-19 13:59:05 +01:00
chriseth
b02a42400b
Merge pull request #8502 from mijovic/testDocsPragma
[docs] Compile examples with minimal compiler version
2020-03-18 19:45:53 +01:00
Erik Kundt
50c22f0800 Adds script which compiles docs example with minimum compiler version. 2020-03-18 19:27:38 +01:00
Alexander Arlt
23d00b5ca3 Extracted 292 tests from SolidityEndToEndTest.cpp 2020-03-18 11:56:43 -05:00
Kamil Śliwak
d86652cb96 [yul-phaser] Add --metric-aggregator option 2020-03-18 16:28:16 +01:00
Kamil Śliwak
bc46323bed [yul-phaser] Phaser: Accepting multiple input programs
- Use average of metric values for individual programs as the overall metric.
2020-03-18 16:28:16 +01:00
Kamil Śliwak
01050940fd [yul-phaser] Add --relative-metric-scale option 2020-03-18 16:28:16 +01:00
Kamil Śliwak
8e64c5c6f0 [yul-phaser] Add --metric option 2020-03-18 16:28:16 +01:00
Kamil Śliwak
e4a360947b [yul-phaser] Add FitnessMetricCombination and derived classes for average, sum, min and max 2020-03-18 16:28:16 +01:00
Kamil Śliwak
0e03839e62 [yul-phaser] Add RelativeProgramSize metric 2020-03-18 16:28:15 +01:00
Kamil Śliwak
7edbbe4edd [yul-phaser] Make FitnessMetric::evaluate() non-const 2020-03-18 16:28:15 +01:00
Kamil Śliwak
0913fd1aac [yul-phaser] Extract ProgramBasedMetric base class from ProgramSize 2020-03-18 16:28:15 +01:00
Kamil Śliwak
bdc4d1ccd1 [yul-phaser] ProgramSize metric: Refactor repeating parts of test code
- Also replace test fixture constructor with direct member initialisation
2020-03-18 16:28:15 +01:00
chriseth
1c25104741
Merge pull request #8423 from imapp-pl/yul-phaser-population-and-algorithm-options
[yul-phaser] Population and algorithm options
2020-03-18 16:05:38 +01:00
chriseth
906a3bb28d
Merge pull request #8442 from a3d4/fix-8244-refactor-testcase-classes
Refactor TestCase classes
2020-03-18 15:39:09 +01:00
Kamil Śliwak
a2821db1dd [yul-phaser] Phaser: Tests for factories 2020-03-18 13:30:58 +01:00
Kamil Śliwak
18f0d6eb94 [yul-phaser] AlgorithmRunner: Duplicate chromosome randomisation 2020-03-18 13:30:58 +01:00
Kamil Śliwak
1b5960111d [yul-phaser] AlgorithmRunner: Population autosave 2020-03-18 13:30:58 +01:00
Kamil Śliwak
ff99d25bc3 [yul-phaser] Common: Add readLinesFromFile() 2020-03-18 13:30:58 +01:00
Kamil Śliwak
5e814acc3c [yul-phaser] TestHelpers: Add TemporaryDirectory class 2020-03-18 13:30:58 +01:00
a3d4
a5ae51fa6e Unified dialect selection in libyul/SyntaxTest and YulOptimizerTest. 2020-03-16 23:22:57 +01: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
Kamil Śliwak
8ca0d90aae [yul-phaser] Returning an ErrorList from Program::load() if program has errors and printing them in Phaser 2020-03-16 20:32:59 +01:00
chriseth
d45e6aa24c
Merge pull request #8421 from imapp-pl/yul-phaser-refactor-main
[yul-phaser] Refactoring in main
2020-03-16 16:31:26 +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