Commit Graph

2356 Commits

Author SHA1 Message Date
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