chriseth
|
2ec997e697
|
Merge pull request #5775 from ethereum/codeAccess
Provide access to code of contract types.
|
2019-01-18 00:16:06 +01:00 |
|
chriseth
|
0711873a2f
|
Merge pull request #5794 from ethereum/ssaReverser
[Yul] Add SSAReverser to optimiser.
|
2019-01-17 23:50:51 +01:00 |
|
Daniel Kirchner
|
29f66b2674
|
Stabilize SSAReverser.
|
2019-01-17 21:05:32 +01:00 |
|
Daniel Kirchner
|
fd16585724
|
Undo second SSA transformation and add more tests.
|
2019-01-17 20:37:43 +01:00 |
|
Daniel Kirchner
|
6de2d92f20
|
Add SSAReverser to the yul optimiser.
|
2019-01-17 20:37:43 +01:00 |
|
chriseth
|
2a0d4f358c
|
Add test for content of creationCode and runtimeCode.
|
2019-01-17 20:36:48 +01:00 |
|
chriseth
|
fed56f33d5
|
Type is not reserved anymore.
|
2019-01-17 20:36:48 +01:00 |
|
chriseth
|
4669b06ab4
|
Warn if type(..).runtimeCode is used with assembly in the constructor.
|
2019-01-17 20:36:48 +01:00 |
|
chriseth
|
e6fee257e6
|
Code generation for access to contract code.
|
2019-01-17 20:36:48 +01:00 |
|
chriseth
|
2fcfb216b5
|
Syntax for meta type information.
|
2019-01-17 20:36:48 +01:00 |
|
chriseth
|
44237211d1
|
Tests.
|
2019-01-17 20:36:48 +01:00 |
|
Leonardo Alt
|
83e7233bb8
|
Change error message and add tests
|
2019-01-17 14:28:03 +01:00 |
|
Leonardo Alt
|
a10db051de
|
[SMTChecker] Support basic typecast
|
2019-01-16 13:00:54 +01:00 |
|
Daniel Kirchner
|
81f24f24e6
|
Add equivalent function combiner as Yul optimizer step.
|
2019-01-15 17:21:03 +01:00 |
|
Daniel Kirchner
|
4c8f8e9491
|
Disallow mismatching types in switch cases and detect duplicates by value for number literals.
|
2019-01-15 16:32:21 +01:00 |
|
chriseth
|
950e193642
|
Merge pull request #5765 from ethereum/unreachableCode
Warn about unreachable code.
|
2019-01-10 11:31:54 +01:00 |
|
Daniel Kirchner
|
0dfd4a726e
|
Warn about unreachable code.
|
2019-01-10 10:36:50 +01:00 |
|
chriseth
|
b7ef850955
|
Update tests.
|
2019-01-09 16:57:33 +01:00 |
|
chriseth
|
edda79eec5
|
Variables are free with regards to code size.
|
2019-01-09 16:57:33 +01:00 |
|
chriseth
|
9244b8ea5a
|
More code for optimizer tuning.
|
2019-01-08 18:07:14 +01:00 |
|
chriseth
|
5b8b016fae
|
Use the block flattener.
|
2019-01-08 16:02:14 +01:00 |
|
chriseth
|
884d51c1f2
|
Merge pull request #5759 from ethereum/anotherBigTest
Another ABI test case for the optimizer.
|
2019-01-08 16:01:41 +01:00 |
|
chriseth
|
2d19903d1a
|
Another ABI test case for the optimizer.
|
2019-01-08 15:14:45 +01:00 |
|
chriseth
|
f5b24a38b8
|
Make function grouper idempotent.
|
2019-01-08 15:05:09 +01:00 |
|
chriseth
|
6414d63906
|
Merge pull request #5716 from ethereum/fixDataSizeOffset
Fix data size offset and properly provide builtins.
|
2019-01-08 00:07:42 +01:00 |
|
chriseth
|
40e1283d72
|
Merge pull request #5713 from ethereum/addAztek
[Yul] Add AZTEK code as test.
|
2019-01-07 17:25:41 +01:00 |
|
chriseth
|
ace601b8f6
|
Tests.
|
2019-01-07 17:23:38 +01:00 |
|
chriseth
|
5b73c2ae3b
|
Take special functions that require literals into account.
|
2019-01-07 17:23:38 +01:00 |
|
chriseth
|
9f5d34af7d
|
Merge pull request #5752 from ethereum/addDialect
[Yul] Refactor: Make the dialect available everywhere.
|
2019-01-07 17:23:05 +01:00 |
|
chriseth
|
9222eff08f
|
Make the dialect available everywhere.
|
2019-01-07 16:41:03 +01:00 |
|
chriseth
|
b604b87272
|
Add AZTEK code as test.
|
2019-01-07 16:23:35 +01:00 |
|
androlo
|
d2105be57d
|
Move actual test files.
|
2019-01-07 15:05:54 +01:00 |
|
chriseth
|
6e626ad955
|
Unify json and non-json commandline tests.
|
2019-01-07 14:50:49 +01:00 |
|
androlo
|
b18c8a60ff
|
Use directories for tests.
|
2019-01-07 14:50:49 +01:00 |
|
chriseth
|
633228f1a7
|
Merge pull request #5710 from ethereum/moveTests
[REF][cmdlinetests] Move functions to the top
|
2019-01-07 14:47:53 +01:00 |
|
chriseth
|
b06e84501b
|
Merge pull request #5711 from ethereum/printCommandOnError
[cmdline tests] Print command on error.
|
2019-01-07 14:37:32 +01:00 |
|
chriseth
|
ff7bc85478
|
Merge pull request #5741 from ethereum/fix-5730-SourceLocation
Fixes SourceLocation extraction on multiline locations with a too long first line
|
2019-01-07 14:37:07 +01:00 |
|
chriseth
|
2e9c70add0
|
Use rematerializer if variable is unreferenced or value is "cheap".
|
2019-01-07 14:03:32 +01:00 |
|
Christian Parpart
|
9e61dbad07
|
Adds new test for SourceReferenceExtractor to extract multiline location with a too long first line.
|
2019-01-07 11:56:43 +01:00 |
|
androlo
|
88c7975ca5
|
Move functions to the top.
|
2018-12-21 00:46:31 +01:00 |
|
chriseth
|
09feb9cf52
|
Print command.
|
2018-12-20 12:56:18 +01:00 |
|
androlo
|
4487567629
|
Only select directories to skip the README.
|
2018-12-20 12:19:14 +01:00 |
|
chriseth
|
8690898ac1
|
Formatting.
|
2018-12-20 12:19:14 +01:00 |
|
chriseth
|
ae08d7c375
|
Merge pull request #5681 from ethereum/limitOutput
Do not compile unless requested.
|
2018-12-19 17:02:28 +01:00 |
|
chriseth
|
4c7151e57f
|
Do not include empty JSON objects in output.
|
2018-12-19 14:59:29 +01:00 |
|
chriseth
|
1bf396af78
|
Tests.
|
2018-12-19 12:58:17 +01:00 |
|
Christian Parpart
|
62fe57479e
|
make use of C++ = default constructor declarations as well as more non-static member initialization syntax.
|
2018-12-19 11:26:42 +01:00 |
|
Christian Parpart
|
d10bae245e
|
liblangutil: SourceLocation to default initialize data members (w/o the use of ctor)
See: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c45-dont-define-a-default-constructor-that-only-initializes-data-members-use-in-class-member-initializers-instead
|
2018-12-19 11:21:45 +01:00 |
|
chriseth
|
20189c3f3b
|
Merge pull request #5637 from ethereum/better-json-error-reporting
Json: Provide better error message when 'settings' is not an object
|
2018-12-18 19:39:46 +01:00 |
|
Mathias Baumann
|
c43d96f2bf
|
Json: Provide better error messages for wrong types
|
2018-12-18 18:36:50 +01:00 |
|
Alex Beregszaszi
|
bd2f2ecbbd
|
Move unsatisfied_version test from SolidityNameAndTypeResolution to SolidityParser
|
2018-12-18 15:02:59 +00:00 |
|
Alex Beregszaszi
|
ba15bc0a23
|
Fail if parsing failed in AnalysisFramework
Otherwise Compilerstack::analyze will throw an exception.
|
2018-12-18 15:02:37 +00:00 |
|
Alex Beregszaszi
|
c2ec6d71b4
|
Add version pragma parsing to Parser
|
2018-12-18 15:02:35 +00:00 |
|
Mathias Baumann
|
1b8570f829
|
Only generate sort/search code when interface functions exist
|
2018-12-17 21:24:37 +01:00 |
|
chriseth
|
332f914e4e
|
Merge pull request #5388 from ethereum/smt_mapping
[SMTChecker] Support for mapping
|
2018-12-17 14:09:52 +01:00 |
|
chriseth
|
bf7d71d6b3
|
Merge pull request #5613 from ethereum/yulStringLiterals
[Yul] Use C++ user-defined literals for creating YulString constants.
|
2018-12-17 14:07:24 +01:00 |
|
chriseth
|
2f11a677de
|
Add gnosis safe as external test.
|
2018-12-14 23:48:04 +01:00 |
|
Leonardo Alt
|
9199718ec0
|
Clear all mapping knowledge after array variable assignment
|
2018-12-14 12:21:53 +01:00 |
|
Leonardo Alt
|
6a2809a582
|
[SMTChecker] Support to mapping
|
2018-12-14 12:21:53 +01:00 |
|
chriseth
|
bc22a25a60
|
Remove VarDeclPropagator.
|
2018-12-13 16:51:10 +01:00 |
|
chriseth
|
6c6a53a439
|
Do not create unassigned variables.
|
2018-12-13 16:51:10 +01:00 |
|
chriseth
|
11209ec48a
|
Add variable declaration initializer.
|
2018-12-13 16:49:04 +01:00 |
|
chriseth
|
b11d413720
|
Consider return variables to be zero initially.
|
2018-12-13 16:02:30 +01:00 |
|
chriseth
|
1d274a8924
|
Merge pull request #5644 from ethereum/noInlineIntoLarge
[Yul] Do not inline into already big functions.
|
2018-12-13 15:57:49 +01:00 |
|
chriseth
|
ef95a1ab53
|
Merge pull request #5651 from ethereum/cmdlineJsonTests
Remove pre-release warning from standard json cmdline tests.
|
2018-12-13 15:28:40 +01:00 |
|
Daniel Kirchner
|
d5a50d8aee
|
Remove pre-release warning from standard json cmdline tests.
|
2018-12-13 14:42:29 +01:00 |
|
chriseth
|
60a368244a
|
Do not inline into already big functions.
|
2018-12-13 12:12:54 +01:00 |
|
chriseth
|
642c69f935
|
Merge pull request #5641 from ethereum/supportUnassigned
[Yul] Support unassigned variables in the SSA value tracker and the data flow analyzer.
|
2018-12-13 11:33:45 +01:00 |
|
chriseth
|
6e205cc4e3
|
Merge pull request #5624 from ethereum/standard_json_unknown_keys
Disallow unknown JSON keys in standard-json
|
2018-12-13 09:58:34 +01:00 |
|
Daniel Kirchner
|
5ac7620045
|
Use C++ user-defined literals for creating YulString constants.
|
2018-12-12 18:45:43 +01:00 |
|
chriseth
|
17bf164afe
|
Merge pull request #4951 from ethereum/alethUpdates
Use current aleth release for testing.
|
2018-12-12 18:41:35 +01:00 |
|
chriseth
|
9557dd7e74
|
Support unassigned variables in the SSA value tracker and the data flow analyzer.
|
2018-12-12 18:06:28 +01:00 |
|
Leonardo Alt
|
8cd2ac8462
|
Disallow unknown JSON keys in standard-json
|
2018-12-12 17:32:42 +01:00 |
|
Daniel Kirchner
|
123d33ad41
|
Add tolerance to gas meter tests.
|
2018-12-12 17:24:56 +01:00 |
|
chriseth
|
87237281bf
|
Merge pull request #5630 from ethereum/warn_functions_empty_body
Supress unused var and state mut warnings for functions with empty body
|
2018-12-12 17:00:50 +01:00 |
|
Leonardo Alt
|
508aae8a67
|
Disable state mutability warning for functions with empty body
|
2018-12-12 14:43:44 +01:00 |
|
Leonardo Alt
|
53537864a2
|
Disable unused var warning for functions with empty body
|
2018-12-12 14:43:44 +01:00 |
|
Daniel Kirchner
|
788612d2ef
|
Refactoring of the ControlFlowGraph and use for detecting all uninitialized storage accesses.
|
2018-12-12 04:20:53 +01:00 |
|
chriseth
|
fb3a0ac1c7
|
Codegen for object access.
|
2018-12-11 19:24:44 +01:00 |
|
chriseth
|
9f86ede32d
|
Merge pull request #5454 from ethereum/smt_math_functions
[SMTChecker] Abstract math functions
|
2018-12-11 18:35:10 +01:00 |
|
chriseth
|
b5deca0383
|
Merge pull request #4779 from ethereum/optimise-string-literals
Decide better in storing string literals as data
|
2018-12-11 17:50:14 +01:00 |
|
Leonardo Alt
|
08737e43dc
|
[SMTChecker] Use SymbolicFunctionVariable for uninterpreted functions
|
2018-12-11 11:28:25 +01:00 |
|
Daniel Kirchner
|
6d82ad1338
|
Test updates for recent versions of aleth.
|
2018-12-11 04:47:05 +01:00 |
|
chriseth
|
d80d324de7
|
Tests for gas costs.
|
2018-12-10 18:06:07 +01:00 |
|
Yi Huang
|
81f703427e
|
Add tests for implcit conversions from literals to fixed-point numbers.
|
2018-12-10 17:31:20 +01:00 |
|
Mathias Baumann
|
55d7d327c4
|
Have only one source where testsuits are defined
|
2018-12-10 16:49:33 +01:00 |
|
chriseth
|
b05d33d771
|
Tests for stack reusing code generator.
|
2018-12-10 14:28:56 +01:00 |
|
Erik Kundt
|
e2395a3dcf
|
Adds more detailed type errors and tests.
|
2018-12-07 12:35:35 +01:00 |
|
Erik Kundt
|
b2afb8cdda
|
Adds an additional message to failing type conversions.
|
2018-12-07 11:55:53 +01:00 |
|
chriseth
|
6a9e8a6fe3
|
Merge pull request #4936 from ethereum/binSelect
Binary search for dispatch.
|
2018-12-07 00:55:09 +01:00 |
|
Daniel Kirchner
|
1eb60cbb39
|
Add structural simplifier as optimization step for Yul.
|
2018-12-06 18:37:35 +01:00 |
|
chriseth
|
b7cfa499b0
|
Add tests.
|
2018-12-06 14:43:14 +01:00 |
|
chriseth
|
0e8841005c
|
Merge pull request #5554 from ethereum/cp-SourceReferenceFormatter-refactor
[2/3] Refactor SourceReferenceFormatter (split-out data extraction & make use of new SourceLocation knowledge)
|
2018-12-06 14:01:39 +01:00 |
|
Christian Parpart
|
073b03d90c
|
liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge
|
2018-12-06 14:01:01 +01:00 |
|
chriseth
|
6124176374
|
Gas tests for the binary search dispatch routine.
|
2018-12-06 13:07:14 +01:00 |
|
chriseth
|
d67b232343
|
Extend capabilities of the generic commandline test.
|
2018-12-06 12:38:24 +01:00 |
|
chriseth
|
5fde279d2a
|
Merge pull request #5514 from corollari/develop
Remove unary + from the type system
|
2018-12-06 10:27:09 +01:00 |
|
Albert
|
eee2f2b069
|
Update test
|
2018-12-06 01:54:04 +01:00 |
|
Albert
|
df08d79623
|
Fix #5470
Remove unary + from the type system
|
2018-12-06 01:54:04 +01:00 |
|
chriseth
|
bc6ddbdd09
|
Remove w parameter for toHex.
|
2018-12-05 22:51:49 +01:00 |
|
Kevin Kelley
|
fb6fd1b3c2
|
add a 'readable' format for large hex values
|
2018-12-05 22:15:02 +01:00 |
|
Mathias Baumann
|
f4e9c70ecc
|
Tests for SSAValueTracker ignoring function call on rhs
|
2018-12-05 18:01:41 +01:00 |
|
chriseth
|
32c9da9419
|
Merge pull request #5593 from ethereum/issue-5384
Fix expression simplifier asserting on default values
|
2018-12-05 17:58:23 +01:00 |
|
chriseth
|
dd6327594f
|
Merge pull request #5592 from ethereum/fix-issue-5446
Relax assertion about jumps in loose mode
|
2018-12-05 11:43:31 +01:00 |
|
Mathias Baumann
|
5d31ad2daf
|
Test for unhandled default values in expression simplifier
|
2018-12-05 11:43:02 +01:00 |
|
Mathias Baumann
|
6e5160efa0
|
Relax assertion about jumps in loose mode
|
2018-12-05 10:25:59 +01:00 |
|
chriseth
|
6efe2a5266
|
Merge pull request #5390 from ethereum/smt_one_loop
[SMTChecker] Unroll loops once
|
2018-12-05 09:23:19 +01:00 |
|
chriseth
|
852297fa2f
|
Builtin functions for yul analysis.
|
2018-12-04 14:50:00 +01:00 |
|
chriseth
|
c3fc2da763
|
Tests for parser for builtins.
|
2018-12-04 14:49:16 +01:00 |
|
chriseth
|
961026347d
|
Use dialect option in yul parser tests.
|
2018-12-04 14:49:16 +01:00 |
|
chriseth
|
8654f8f6d4
|
Merge pull request #5573 from ethereum/builtins
[Yul] Introduce the concept of builtin functions.
|
2018-12-04 14:11:49 +01:00 |
|
Daniel Kirchner
|
1b8a013d4a
|
Properly recurse in ForLoopInitRewriter
|
2018-12-04 13:36:25 +01:00 |
|
Leonardo Alt
|
8069bb61da
|
[SMTChecker] Loops are unrolled once
|
2018-12-04 12:35:19 +01:00 |
|
chriseth
|
99db4e3ff4
|
Introduce the concept of builtin functions.
|
2018-12-04 12:06:33 +01:00 |
|
chriseth
|
7698b0b63f
|
Do not stop if there is more than one error.
|
2018-12-04 11:37:03 +01:00 |
|
chriseth
|
d829794737
|
Improve yul error messages around number of arguments and variables.
|
2018-12-04 11:37:03 +01:00 |
|
Anurag Dashputre
|
82f5763e7a
|
Fix internal compiler error for unimplemented base contract function.
|
2018-12-03 12:25:31 +01:00 |
|
chriseth
|
4b98946e5a
|
Merge pull request #5341 from ethereum/optimizeAssemblyCommandline
Apply the optimize commandline parameter to assembly mode.
|
2018-12-03 11:52:48 +01:00 |
|
chriseth
|
3f613a44ec
|
Merge pull request #5557 from ethereum/fixInterfaceImplementedByPublicStateVariable
Public state variables are implementing external functions.
|
2018-12-03 10:46:44 +01:00 |
|
chriseth
|
0668a9ecfb
|
Public state variables are implementing external functions.
|
2018-12-03 10:46:03 +01:00 |
|
chriseth
|
aaeb74f592
|
Merge pull request #5537 from ethereum/cp-SourceLocation-related-refactoring
[1/3] SourceLocation related refactoring.
|
2018-11-30 23:45:31 +01:00 |
|
Erik Kundt
|
1cdcdcee65
|
Improves assembly output commandline tests.
|
2018-11-30 23:39:05 +01:00 |
|
Erik Kundt
|
0d1b9c3b1b
|
Adds tests for --optimize in assembly mode.
|
2018-11-30 23:39:05 +01:00 |
|
Christian Parpart
|
757623e381
|
liblangutil: SourceLocation: Retricts == and != operator
|
2018-11-30 17:34:54 +01:00 |
|
Christian Parpart
|
435f7b3b72
|
liblangutil: Scanner: remove superfluous sourceName field (it's in CharStream already)
Also, ParserBase::sourceName() was dead code. Eliminating it should
increase test coverage (how sneaky) :-)
|
2018-11-30 17:07:17 +01:00 |
|
Christian Parpart
|
c48a5264be
|
liblangutil: SourceLocation: adds (shared) pointer to underlying CharStream source, eliminating sourceName
Also, adapted affecting code to those changes.
|
2018-11-30 17:07:12 +01:00 |
|
chriseth
|
621ce3df20
|
Test.
|
2018-11-30 16:30:19 +01:00 |
|
chriseth
|
6aa9ce2d43
|
Merge pull request #5550 from ethereum/moveSomeTests
Move inline array tests.
|
2018-11-30 09:26:31 +01:00 |
|
chriseth
|
d6d41b2bc7
|
Merge pull request #5548 from ethereum/fixMemberAccess
Fix bug related to state variables of function type accessed via base contract.
|
2018-11-30 09:26:08 +01:00 |
|
chriseth
|
f46dd91c20
|
Move inline array tests.
|
2018-11-29 19:49:38 +01:00 |
|
chriseth
|
c445e7dfa4
|
Disallow inline arrays of mapping type.
|
2018-11-29 19:45:06 +01:00 |
|
chriseth
|
73a64da041
|
Fix bug related to state variables of function type accessed via base contract.
|
2018-11-29 19:30:27 +01:00 |
|
Leonardo Alt
|
67bbcefe6c
|
Report deprecation error on functions sha3 and suicide also without call.
|
2018-11-29 14:29:13 +01:00 |
|
Christian Parpart
|
22eff22492
|
liblangutil: extends CharStream to know about the respective (file-)name (and adapt codebase to it)
|
2018-11-29 12:45:27 +01:00 |
|
Leonardo Alt
|
1d47919c0c
|
Fix ICE when function type struct parameter has field of non-existent type
|
2018-11-29 10:38:47 +01:00 |
|
chriseth
|
b4086ac870
|
Merge pull request #5526 from ethereum/fixGetterNewCoder
Fix: Disallow structs in getters for old encoder.
|
2018-11-28 17:05:52 +01:00 |
|
Leonardo Alt
|
c51e6a545a
|
Remove boost test checks from SMTCheckerJSONTest
|
2018-11-28 14:16:43 +01:00 |
|
chriseth
|
c54814b47b
|
Tests.
|
2018-11-28 14:11:51 +01:00 |
|
chriseth
|
105898b81b
|
Tests.
|
2018-11-27 15:59:57 +01:00 |
|
chriseth
|
728119bb11
|
Use yul parser in assembly stack.
|
2018-11-27 15:59:57 +01:00 |
|
chriseth
|
240ad0e34e
|
Merge pull request #5382 from ethereum/libraryMappingPublic
Allow mapping arguments for public and external library functions.
|
2018-11-26 19:47:32 +01:00 |
|
chriseth
|
1e7a23a205
|
Changelog entry and tests.
|
2018-11-26 16:51:45 +01:00 |
|
Daniel Kirchner
|
30e6f8d3fb
|
Allow mapping arguments for public and external library functions.
|
2018-11-26 16:31:46 +01:00 |
|
Daniel Kirchner
|
597174119a
|
Tests.
|
2018-11-26 14:30:32 +01:00 |
|
chriseth
|
7921e5f0b9
|
Merge pull request #5486 from ethereum/allowExternalPublicOverride
Allow external public override
|
2018-11-26 14:26:55 +01:00 |
|
chriseth
|
9ac7c748f8
|
Merge pull request #5494 from ethereum/scanner-error-handling
Improved Scanner error diagnostics.
|
2018-11-26 14:17:08 +01:00 |
|
chriseth
|
0b474d5299
|
Merge pull request #5497 from ethereum/langutil-SourceReferenceFormatter
Moving SourceReferenceFormatter into langutil namespace.
|
2018-11-26 12:44:25 +01:00 |
|
chriseth
|
ac5803bf3e
|
Changelog entry and tests.
|
2018-11-26 12:41:26 +01:00 |
|
Lazaridis
|
56d5dd4668
|
decouple TestCase class from test/libsolidity
|
2018-11-25 02:34:59 +02:00 |
|
Christian Parpart
|
0ad56bca79
|
Adapting tests to Scanner's lexical error diagnostics change.
|
2018-11-24 12:59:37 +01:00 |
|