Commit Graph
3877 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
chriseth 014bbc6c97 Merge pull request #4272 from ethereum/assert-break-continue
Fail if break/continue statements are used outside for/while loops in ContractCompiler
2018-06-13 12:10:39 +02:00
chriseth 1dc28c065d Properly pad data from calldata. 2018-06-12 18:51:40 +01:00
Alex Beregszaszi 9de45383d8 Disallow sha3/suicide aliases 2018-06-12 18:16:18 +01:00
Alex Beregszaszi d1e7e9ef5e Merge pull request #3627 from ethereum/additional-keywords
[BREAKING] Add new reserved keywords.
2018-06-12 16:33:26 +01:00
Daniel Kirchner e2f4a9fcf4 Merge pull request #4277 from ethereum/signedRightShift
Signed Right Shift: Additional test and more explanation.
2018-06-12 17:19:20 +02:00
chriseth cc62d7ce6a Merge pull request #4229 from ethereum/smt_storage_vars_refactor
Refactoring how storage and local variables are managed.
2018-06-12 16:11:05 +02:00
Daniel Kirchner e4b7b2160e Add new reserved keywords. 2018-06-12 16:02:53 +02:00
Daniel Kirchner 510f227bd7 Additional test and more explanation. 2018-06-12 15:53:15 +02:00
Leonardo Alt 207d5859d1 Refactoring Declaration -> VariableDeclaration (more precise) 2018-06-12 10:58:50 +02:00
Leonardo Alt 48652c88af Review comments 2018-06-12 10:58:50 +02:00
Leonardo Alt 678a769cd7 Refactoring how storage and local variables are managed. 2018-06-12 10:58:50 +02:00
Daniel Kirchner e84b55bd6f Extend explanatory remark and argue using bitwise operations instead of rounding. 2018-06-12 09:32:19 +01:00
Daniel Kirchner f33dc92cbd Use proper SAR for signed right shifts and emulate on pre-constantinople. 2018-06-12 09:32:19 +01:00
Alex Beregszaszi 1d57d74e82 Fail if break/continue statements are used outside for/while loops in ContractCompiler 2018-06-12 00:46:23 +01:00
Erik Kundt 2e9f5d1c98 Introduces emit token and removes identifier workaround. 2018-06-11 21:21:22 +01:00
Alex Beregszaszi 8d38d4d296 Use boost::multiprecision::pow explicitly 2018-06-11 19:31:26 +01:00
Alex Beregszaszi 0f572159ec Show named argument name in error 2018-06-06 15:59:27 +01:00
chriseth 4073c02cf3 Merge pull request #4208 from ethereum/extract-name-and-type-tests
Extract name and type tests
2018-06-04 19:54:14 +02:00
chriseth 283cdef98c Fix view/pure error ordering problem. 2018-06-04 17:00:37 +02:00
chriseth c59a06bb97 Merge pull request #4213 from ethereum/fixpop
Fix bug related to byte array pop.
2018-06-04 16:10:56 +02:00
Jason Cobb 6e29775d39 Remove suicide and sha3 assembly instructions 2018-06-04 01:04:48 +01:00
chriseth 7cf36331a6 Fix bug related to byte array pop. 2018-05-31 14:53:33 +02:00
chriseth 0a1a8bfb09 Merge pull request #4172 from ethereum/trailing_dot
[BREAKING] Disallow trailing dot not followed by number
2018-05-30 18:51:52 +02:00
chriseth 5a73044fa7 Merge pull request #3743 from ethereum/popStorageArray
pop() for storage arrays
2018-05-30 18:32:08 +02:00
Erik Kundt fea0d116f7 Fixes assembly bug and adds tests to cover it. 2018-05-30 17:46:43 +02:00
Erik Kundt 98d52beba3 Adds syntax tests, documentation and changelog entry.
Refines comment for array utility function.
2018-05-30 17:43:20 +02:00
Erik Kundt 34b5eca1f8 Improves assembly and adds more tests. 2018-05-30 17:40:33 +02:00
Leonardo Alt ac68710789 Disallow trailing dots that are not followed by a number 2018-05-30 15:14:53 +01:00
mingchuan b7cafcbdf9 Allow using calldata keyword to specify data location 2018-05-30 18:05:55 +08:00
Erik Kundt 7156a01acc Implements pop() for byte arrays. 2018-05-29 12:53:02 +02:00
bitshift e9dcfb0b62 Implements pop() for value type arrays. 2018-05-29 12:53:02 +02:00
chriseth 9d5064d04d Merge pull request #4173 from sifmelcara/add/allow-storage-calldata-suffix
Allow data location suffix for internal elementary type parsing
2018-05-28 22:52:45 +02:00
chriseth 5ee2ce353e Merge pull request #4067 from ethereum/050
[BREAKING] Version 0.5.0
2018-05-23 18:11:20 +02:00
mingchuan 9865012f7b Allow data location suffix for internal elementary type parsing 2018-05-22 23:28:12 +08:00
mingchuan 3cd57866a9 Fix assert message about function visibility 2018-05-20 22:29:11 +08:00
Julius Huelsmann 1d3a37faff Avoid "unneccesary parentheses in declaration of" warning with keeping a temporary variable. 2018-05-17 14:48:15 +02:00
Julius Huelsmann 9e26f5fa0a Do not catch exceptions by value in StandardCompiler 2018-05-17 14:44:01 +02:00
Daniel Kirchner 1cbc037a45 Update control flow graph. 2018-05-16 18:32:48 +02:00
Daniel Kirchner f627dc77d0 Fix continue inside do-while. 2018-05-16 18:32:48 +02:00
Daniel Kirchner 5c59d56335 Disallow conversions between bytesX and uintY of different size. 2018-05-16 18:32:47 +02:00
Leonardo Alt 0b6eea0c55 Bool variables should not allow arithmetic comparison 2018-05-16 18:32:47 +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 3ca6738114 Add assert about source location. 2018-05-16 03:52:24 +02:00
chriseth 67d208d144 Parse multi variable declaration statement. 2018-05-16 03:22:45 +02:00
chriseth 2ba0002998 Merge pull request #4139 from ethereum/abiEncodeIsPure
ABI encoding functions are pure and should be usable in constants.
2018-05-15 16:59:48 +02:00
chriseth 63861aac4a Merge pull request #3947 from ethereum/smt_storage
[SMTChecker] Support to integer and Bool storage vars
2018-05-15 14:54:41 +02:00
chriseth dac0029d16 ABI encoding functions are pure and should be usable in constants. 2018-05-15 14:45:54 +02:00
chriseth dce6224052 Merge pull request #4062 from ethereum/revert-variable
Fix revert with reason coming from a string variable
2018-05-15 14:44:39 +02:00