Commit Graph
1258 Commits
Author SHA1 Message Date
Christian Parpart a211b89118 Enforce disallowing empty structs
This patch enfoces an error when it encounters an empty struct,
effectively eliminating the deprecation warning.

Also adjust 419_interface_structs to explicitely test for (non-empty) structs,
as this behaviour "may" change in the future.
2018-06-14 00:24:43 +01:00
Alex Beregszaszi 9de45383d8 Disallow sha3/suicide aliases 2018-06-12 18:16:18 +01:00
Alex Beregszaszi 0f572159ec Show named argument name in error 2018-06-06 15:59:27 +01:00
chriseth 283cdef98c Fix view/pure error ordering problem. 2018-06-04 17:00:37 +02:00
mingchuan b7cafcbdf9 Allow using calldata keyword to specify data location 2018-05-30 18:05:55 +08:00
Daniel Kirchner 1cbc037a45 Update control flow graph. 2018-05-16 18:32:48 +02:00
Alex Beregszaszi 221a4d1f1f Split warning for multi arguments for hash functions 2018-05-16 11:12:25 +02:00
chriseth 894122c508 Warn/enforce single bytes argument for certain builtins (hashing functions).
In 0.5.0 mode, only accept a single bytes argument for ``.call``,
``keccak256`` and others and do not pad when encoding.
2018-05-16 09:48:03 +02:00
chriseth dac0029d16 ABI encoding functions are pure and should be usable in constants. 2018-05-15 14:45:54 +02:00
Daniel Kirchner 16e966dea0 Add control flow analyzer and test for uninitialized storage returns. 2018-05-14 20:23:40 +02:00
Daniel Kirchner 995623f0fa Add control flow graph. 2018-05-14 20:23:40 +02:00
chriseth fe12f05c08 Deprecate wildcard assignments. 2018-05-08 15:13:32 +01:00
chriseth 150d226603 Merge pull request #4063 from ethereum/emit-non-event
Show proper error when trying to emit a non-event
2018-05-04 15:02:04 +02:00
Alex Beregszaszi ffe7f224a6 Show proper error when trying to emit a non-event 2018-05-04 12:47:01 +02:00
Alex Beregszaszi b34428249a Change numBits to unsigned IntegerType 2018-05-02 23:22:25 -07:00
chriseth d1e1293fbd Merge pull request #3981 from ethereum/years-suffix
The "year" denomination is deprecated
2018-04-24 12:12:03 +02:00
chriseth e685f9f59e Merge pull request #3976 from ethereum/emptyTupleComponent
Empty tuple components should not be possible
2018-04-23 17:35:00 +02:00
Alex Beregszaszi 1ac0090f31 The "year" denomination is deprecated 2018-04-23 16:19:51 +01:00
Erik Kundt 896018c8a3 Treats inline array as an error. 2018-04-23 17:11:41 +02:00
Erik Kundt b2ff9bc88d Turns it into warning (error for 0.5.0) and adds Changelog entry. 2018-04-23 17:09:42 +02:00
Erik Kundt f2b58de92c Prevents null type from being used in tuple. 2018-04-22 16:54:33 +02:00
Alex Beregszaszi 0493e3b053 Turn deprecated warnings for sha3/suicide into errors (experimental 0.5.0) 2018-04-20 17:40:48 +01:00
Alex Beregszaszi 069ea38916 Make literals an error for tight packing (experimental 0.5.0) 2018-04-20 11:58:16 +01:00
chriseth a94945dfe4 Improve error message for failed member lookup. 2018-04-18 22:56:45 +01:00
chriseth 4895864302 Warn about functions named "constructor". 2018-04-18 21:23:09 +02:00
chriseth 29a97f1641 Fix name clashes between constructor and fallback function. 2018-04-18 14:24:35 +02:00
chriseth d8030c9b2a Merge pull request #3880 from ethereum/addressMemberDocAndWarn
Improve documentation and warning about accessing contract members in…
2018-04-16 11:05:05 +02:00
chriseth 95c49b367e Merge pull request #3875 from ethereum/constructorSelfRef
Stricter check for "this" in constructor.
2018-04-13 18:39:31 +02:00
Daniel Kirchner 05c5ab19fb Improve documentation and warning about accessing contract members inherited from address. 2018-04-13 18:26:24 +02:00
Daniel Kirchner be37e3a912 Stricter check for member access to "this" in constructor. 2018-04-13 15:57:13 +02:00
chriseth 7054defdd6 Merge pull request #3364 from ethereum/revertWithReason
Revert with reason
2018-04-12 21:01:08 +02:00
chriseth 44416d1ac6 Merge pull request #2980 from ethereum/abi-api
Add abi.encode and abi.encodePacked
2018-04-12 20:55:03 +02:00
chriseth 75b8828666 Allow struct encoding with new encoder. 2018-04-12 16:37:16 +02:00
chriseth ae1d040285 Allow error string for `require`. 2018-04-12 13:09:37 +02:00
chriseth 8ab7dc036a Register overload for `revert()` that can receive a reason string. 2018-04-12 13:09:37 +02:00
chriseth f00bb43593 Allow function overloads involving MagicVariableDeclarations. 2018-04-12 13:09:37 +02:00
chriseth c3dc67d0e0 Merge pull request #3848 from ethereum/constantDivisionByZero
Error on invalid arithmetic with constant expressions.
2018-04-12 11:49:08 +02:00
chriseth 7343c40283 Check partial function parameters if rest is arbitrary. 2018-04-12 00:10:25 +02:00
Alex Beregszaszi d56acb68ab Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature. 2018-04-11 22:32:10 +02:00
chriseth 2ad1acaf72 Warn if modifiers are applied to functions without implementation. 2018-04-11 22:00:21 +02:00
Daniel Kirchner daa69df447 Error on invalid arithmetic with constant expressions. 2018-04-11 21:17:10 +02:00
Daniel Kirchner cb548f6f53 Fix ConstantEvaluator to correctly handle single element tuples. 2018-04-11 18:30:34 +02:00
chriseth c9bdbcf470 Merge pull request #3309 from ethereum/limit-errors
Limit the number of errors output in a single run to 256
2018-04-11 16:13:41 +02:00
Daniel Kirchner 3eedbc6a9c Error when using no parentheses in modifier-style constructor calls. 2018-04-10 12:09:34 +02:00
Daniel Kirchner 549ba801fb Use the most derived contract as main location in case of diamond inheritance. 2018-04-09 16:23:18 +02:00
Daniel Kirchner b918a105a4 Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler. 2018-04-09 15:26:08 +02:00
Daniel Kirchner b8fdb666e2 Allow duplicated constructor calls, if no arguments; support for multiple inheritance; backwards compatibility.
# tmp
2018-04-09 15:26:05 +02:00
Federico Bond 4e037281ac Error on duplicated super constructor calls 2018-04-09 11:22:35 +02:00
Daniel Kirchner b2753aa053 Static Analyzer: Fix non-deterministic order of unused variable warnings. 2018-04-06 18:10:26 +02:00
Alex Beregszaszi e8be0e61b3 Catch FatalError in CompilerStack::analysis to cover all the analysis tests 2018-04-06 13:52:19 +02:00