1738 Commits
Author SHA1 Message Date
Leonardo Alt 7f8ceaadab [SMTChecker] Clear state knowledge after external function calls 2019-01-21 12:58:40 +01:00
chriseth f8e9aed839 Merge pull request #5717 from ethereum/smt_typecast
[SMTChecker] Support basic typecast without truncation
2019-01-21 12:35:07 +01:00
Daniel Kirchner 610ef9f199 Disallow calldata structs. 2019-01-21 10:30:57 +01:00
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 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 4c8f8e9491 Disallow mismatching types in switch cases and detect duplicates by value for number literals. 2019-01-15 16:32:21 +01:00
Daniel Kirchner 0dfd4a726e Warn about unreachable code. 2019-01-10 10:36:50 +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
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
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
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 17bf164afe Merge pull request #4951 from ethereum/alethUpdates
Use current aleth release for testing.
2018-12-12 18:41:35 +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 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
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 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 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
Leonardo Alt 8069bb61da [SMTChecker] Loops are unrolled once 2018-12-04 12:35:19 +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 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