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 |
|
Leonardo Alt
|
4117e859eb
|
[SMTChecker] Declaring all state vars before any function is visited
|
2018-05-15 14:28:08 +02:00 |
|
Leonardo Alt
|
2dbb35d4a8
|
[SMTChecker] Support to integer and Bool storage vars
|
2018-05-15 14:22:50 +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 |
|
mingchuan
|
dbd0a7ed60
|
Fix link error when using boost shared library
|
2018-05-11 11:20:19 +08:00 |
|
Alex Beregszaszi
|
e96bbe70d4
|
Assert that mandatory fields in the AST are present in AsmAnalysis
|
2018-05-10 10:48:48 +02:00 |
|
Alex Beregszaszi
|
c03a29dea8
|
Fix revert with reason coming from a string variable
|
2018-05-09 17:53:17 +02:00 |
|
Alex Beregszaszi
|
868d449c38
|
Merge pull request #4047 from ethereum/refactorToMulti
Refactor to allow implementing multi variable declarations.
|
2018-05-09 15:37:19 +01:00 |
|
chriseth
|
fe8f38a7a4
|
Assert integrity of empty IndexAccessPath structure.
|
2018-05-09 14:55:36 +02:00 |
|
Daniel Kirchner
|
02380113d4
|
Use the entire token as source location for parser errors.
|
2018-05-09 14:08:22 +02:00 |
|
chriseth
|
be54f48197
|
Further refactor.
|
2018-05-09 11:48:21 +02:00 |
|
chriseth
|
86b7adc18f
|
Refactor expression parser.
|
2018-05-09 11:48:21 +02:00 |
|
chriseth
|
54aa10ce36
|
Merge pull request #4054 from ethereum/token-names
Improve parser error messages
|
2018-05-09 11:06:23 +02:00 |
|
chriseth
|
fe12f05c08
|
Deprecate wildcard assignments.
|
2018-05-08 15:13:32 +01:00 |
|
njwest
|
51b4dc3752
|
fixed grammar in error in CompilerUtils.cpp line 399, 'less variables.' should be 'fewer variables.'
|
2018-05-06 18:52:12 -04: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
|
cc10839073
|
Have more uniform parser errors
|
2018-05-04 13:27:05 +01:00 |
|
Alex Beregszaszi
|
c7ee649d80
|
More user friendly output in case of Identifier and Token keywords
|
2018-05-04 13:27:05 +01:00 |
|
Alex Beregszaszi
|
882248ce75
|
Remove code duplication in expectToken
|
2018-05-04 13:27:05 +01:00 |
|
Alex Beregszaszi
|
252bde8542
|
Introduce Token::friendlyName() helper
|
2018-05-04 13:11:23 +01:00 |
|
Alex Beregszaszi
|
e3279d8af8
|
Display nicer error messages in the parser (display tokens and not internal names)
|
2018-05-04 12:39:37 +01:00 |
|
chriseth
|
81d61ca086
|
Merge pull request #4059 from ethereum/parser-simplify
Simplify the parser expectations
|
2018-05-04 12:50:12 +02:00 |
|
Alex Beregszaszi
|
ffe7f224a6
|
Show proper error when trying to emit a non-event
|
2018-05-04 12:47:01 +02:00 |
|
daniel
|
aa1542a9e1
|
Change bytes to unsigned in FixedBytesType
|
2018-05-03 23:11:34 +01:00 |
|
Alex Beregszaszi
|
ed9f80690b
|
Simplify expectIdentifierToken by using expectToken
|
2018-05-03 22:10:51 +01:00 |
|
Alex Beregszaszi
|
73c99d15cd
|
Remove useless helper expectAssignmentOperator in parser
|
2018-05-03 21:35:38 +01:00 |
|
Alex Beregszaszi
|
b34428249a
|
Change numBits to unsigned IntegerType
|
2018-05-02 23:22:25 -07:00 |
|
Alex Beregszaszi
|
2c00ebbee1
|
Change totalBits and fractionalDigits to unsigned in FixedPointType
|
2018-05-02 23:22:25 -07:00 |
|
chriseth
|
a856135bbf
|
Merge pull request #3797 from ethereum/shift-constantinople
Use native shift instructions on Constantinople
|
2018-05-02 16:50:15 +02:00 |
|
chriseth
|
8debded743
|
Revert "BREAKING: Bool variables should not allow arithmetic comparison"
|
2018-05-02 15:56:59 +02:00 |
|
chriseth
|
42289b642f
|
Merge pull request #4003 from ethereum/bool_vars_comparison
BREAKING: Bool variables should not allow arithmetic comparison
|
2018-05-02 15:56:06 +02:00 |
|
Alexander Arlt
|
f94b793472
|
Add virtual destructors on base classes.
|
2018-05-02 13:29:16 +02:00 |
|
Alex Beregszaszi
|
059e232e69
|
Support shifts in gas estimator
|
2018-04-30 21:22:59 +01:00 |
|
chriseth
|
2968639406
|
Removed signed shift right from the utilities.
|
2018-04-30 20:34:43 +01:00 |
|
Alex Beregszaszi
|
52c9441879
|
Do not use SAR instead of SDIV in shifts because it rounds differently
|
2018-04-30 20:34:43 +01:00 |
|
Alex Beregszaszi
|
c3608eaf90
|
Use native shift instructions in ABIFunctions on Constantinople
|
2018-04-30 20:34:43 +01:00 |
|
Alex Beregszaszi
|
22bfd3da41
|
Use native shift instructions on Constantinople
|
2018-04-30 20:34:43 +01:00 |
|
chriseth
|
d26b6b64c0
|
Merge pull request #3996 from ethereum/refactorParser
Refactor parser.
|
2018-04-30 19:15:11 +02:00 |
|
chriseth
|
15024154ab
|
Merge pull request #4018 from ethereum/disable-bytes0
Disable FixedBytesType(0) aka bytes0
|
2018-04-30 18:19:07 +02:00 |
|
chriseth
|
9e61b25dc4
|
Merge pull request #3958 from meowingtwurtle/fixedPointTypes
Types class changes for fixed points
|
2018-04-30 15:56:55 +02:00 |
|
Alex Beregszaszi
|
548bf2ff28
|
Remove unused function smallestTypeForLiteral
|
2018-04-30 14:35:26 +01:00 |
|
Alex Beregszaszi
|
e0b178e1c5
|
Disable FixedBytesType(0) aka bytes0
|
2018-04-30 12:23:30 +01:00 |
|
Leonardo Alt
|
ab251c7e7d
|
Bool variables should not allow arithmetic comparison
|
2018-04-27 11:35:58 +02:00 |
|
chriseth
|
d44fb03322
|
Refactor parser.
|
2018-04-26 10:59:02 +02:00 |
|
Alexander Arlt
|
3ec667f59b
|
Add virtual destructor in LValue class.
|
2018-04-24 23:39:25 +02:00 |
|
chriseth
|
d1e1293fbd
|
Merge pull request #3981 from ethereum/years-suffix
The "year" denomination is deprecated
|
2018-04-24 12:12:03 +02:00 |
|
Alex Beregszaszi
|
258ae8927e
|
Merge pull request #3970 from elopio/test/docstring-tag-end
docstring: add missing space
|
2018-04-24 02:16:27 +01:00 |
|
Leo Arias
|
b74566e4ea
|
docstring: add missing space
|
2018-04-23 21:47:53 +00: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
|
5423974e87
|
Remove category check in FixedPointType:binaryOperatorResult as commonType handles the same
|
2018-04-20 17:54:34 +01:00 |
|
Jason Cobb
|
57003c534a
|
Types changes for fixed points
|
2018-04-20 17:53:42 +01: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
|
676732776e
|
Merge pull request #3943 from ethereum/smt_remove_branch_warning
[SMTChecker] Remove 'information is erase' message for if-else
|
2018-04-20 09:01:59 +02:00 |
|
chriseth
|
2546a274ca
|
Merge pull request #3941 from ethereum/bytes-contract
Disallow explicit conversion of bytesXX to contract
|
2018-04-19 16:10:15 +02:00 |
|
Alex Beregszaszi
|
754d79edfa
|
Disallow explicit conversion of bytesXX to contract
|
2018-04-19 15:58:14 +02:00 |
|
Leonardo Alt
|
ba3d16fc58
|
[SMTChecker] Remove 'information is erase' message for if-else
|
2018-04-19 09:28:44 +02:00 |
|
chriseth
|
a94945dfe4
|
Improve error message for failed member lookup.
|
2018-04-18 22:56:45 +01:00 |
|
Alex Beregszaszi
|
39b7b44a8d
|
Merge pull request #3923 from ethereum/warnConstructor
Warn about functions named "constructor".
|
2018-04-18 22:22:58 +01:00 |
|
Alex Beregszaszi
|
377254d5a8
|
Merge pull request #3922 from ethereum/smt_sol_unimplementedassert
[SMTChecker] Using solUnimplementedAssert instead of solAssert
|
2018-04-18 20:28:47 +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 |
|
Leonardo Alt
|
78ba34608f
|
[SMTChecker] Using solUnimplementedAssert instead of solAssert when applicable
|
2018-04-18 13:17:59 +02:00 |
|
Leonardo Alt
|
ae3350ae03
|
[SMTChecker] Integration with CVC4
|
2018-04-17 12:26:58 +01:00 |
|
chriseth
|
3d04d83297
|
Merge pull request #3868 from ethereum/bytescleanup
Properly force-clean for shortening bytesXX conversions.
|
2018-04-16 15:23:36 +02:00 |
|
chriseth
|
533d08517f
|
Merge pull request #3793 from ethereum/rationalNumberLimit
Rational number limit
|
2018-04-16 13:10:50 +02:00 |
|
Alex Beregszaszi
|
0201492bbf
|
Remove redundant cleanup for abi.encode.
|
2018-04-16 12:47:38 +02:00 |
|
chriseth
|
4c1d39b7a2
|
Properly force-clean for shortening bytesXX conversions.
|
2018-04-16 12:47:38 +02:00 |
|
Erik Kundt
|
33fbf88707
|
Limits rational numbers to 4096 bits.
|
2018-04-16 11:45:55 +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 |
|
Erik Kundt
|
8935c0dd2f
|
Uses short string representation of TypePointer
|
2018-04-12 21:14:50 +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 |
|
Daniel Kirchner
|
6862f22943
|
Fix internal compiler error when parsing `var ` declaration without identifier.
|
2018-04-12 14:57:14 +02:00 |
|
chriseth
|
4faa839813
|
Use error signature for revert data.
|
2018-04-12 13:09:38 +02:00 |
|
chriseth
|
fcb7a27216
|
Only forward returndata if EVM version supports it.
|
2018-04-12 13:09:38 +02:00 |
|
chriseth
|
7a9ee69e98
|
Bubble up error messages.
|
2018-04-12 13:09:38 +02:00 |
|
chriseth
|
ae1d040285
|
Allow error string for `require `.
|
2018-04-12 13:09:37 +02:00 |
|
chriseth
|
012ab37fe3
|
Code generator for revert with reason string.
|
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
|
17fc0f54b5
|
Use FunctionTypePointer (adds `const `).
|
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
|
b5a696ad48
|
Properly cope with constructor headers.
|
2018-04-11 22:00:21 +02:00 |
|
chriseth
|
2ad1acaf72
|
Warn if modifiers are applied to functions without implementation.
|
2018-04-11 22:00:21 +02:00 |
|
chriseth
|
6d289783b4
|
Fix state variable parsing.
|
2018-04-11 22:00:04 +02:00 |
|
chriseth
|
ae3fca6db2
|
Merge pull request #3863 from ethereum/fixGasEstimation
Correctly ignore costs of fallback for other functions.
|
2018-04-11 21:53:41 +02:00 |
|
Daniel Kirchner
|
daa69df447
|
Error on invalid arithmetic with constant expressions.
|
2018-04-11 21:17:10 +02:00 |
|
chriseth
|
928ce08845
|
Correctly ignore costs of fallback for other functions.
|
2018-04-11 19:42:34 +01: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 |
|
Jason Cobb
|
3b7b962b66
|
Fix bug in typechecking when comparing rational literals
|
2018-04-11 12:03:08 +02:00 |
|
Daniel Kirchner
|
3eedbc6a9c
|
Error when using no parentheses in modifier-style constructor calls.
|
2018-04-10 12:09:34 +02:00 |
|
chriseth
|
b52614116e
|
Merge pull request #3821 from ethereum/warn-constructor-override
Warn constructor override
|
2018-04-10 11:39:31 +02:00 |
|
hydai
|
aaa8edc36d
|
Fixed typos
|
2018-04-10 13:41:35 +08: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
|
43d2954de8
|
Do not abort excessive warnings, just ignore them.
|
2018-04-06 14:44:03 +02:00 |
|
Alex Beregszaszi
|
0812d1189a
|
Ignore warnings when limited errors to 256
|
2018-04-06 13:52:19 +02:00 |
|
Alex Beregszaszi
|
3730f68d4b
|
reindent
|
2018-04-06 13:52:19 +02:00 |
|
Alex Beregszaszi
|
e8be0e61b3
|
Catch FatalError in CompilerStack::analysis to cover all the analysis tests
|
2018-04-06 13:52:19 +02:00 |
|
Alex Beregszaszi
|
d5f40c141b
|
Limit the number of errors output in a single run to 256
|
2018-04-06 13:52:19 +02:00 |
|
chriseth
|
543e1e19c7
|
Merge pull request #3831 from ethereum/memory-suffix
Allow ``memory`` suffix for internal elementary type parsing.
|
2018-04-05 17:02:43 +02:00 |
|
chriseth
|
4c50ed39d7
|
Merge pull request #3829 from ethereum/smt_remove_uf
[SMTChecker] Remove usage of UFs to access SSA vars
|
2018-04-05 16:07:07 +02:00 |
|
chriseth
|
5b1c0506fa
|
Allow `memory ` suffix for internal elementary type parsing.
|
2018-04-05 16:06:04 +02:00 |
|
Daniel Kirchner
|
037eba20fc
|
Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesis
Error when using empty parentheses for base class constructors that r…
|
2018-04-05 14:43:28 +02:00 |
|
Leonardo Alt
|
8d087d1889
|
[SMTChecker] Removing usage of UFs to access SSA indices
|
2018-04-05 12:48:58 +02:00 |
|
Alex Beregszaszi
|
36d6c27e68
|
Merge pull request #3745 from ethereum/fixRecursion
Fix invalid recursion errors for structs
|
2018-04-05 12:04:54 +02:00 |
|
Daniel Kirchner
|
96eff0ff6a
|
Error when using empty parenthesis for base class constructors that require arguments.
|
2018-04-05 11:52:22 +02:00 |
|
chriseth
|
65f18a18de
|
More specific push implementation.
|
2018-04-04 16:50:45 +02:00 |
|
chriseth
|
0cbe55005d
|
Create empty dynamic memory arrays more efficiently.
|
2018-04-04 12:37:04 +02:00 |
|
Daniel Kirchner
|
8f66390f56
|
Set isConstructor to false unconditionally and update to true later for constructors.
|
2018-04-03 18:21:55 +02:00 |
|
Daniel Kirchner
|
e2dac9ed39
|
Set header.isConstructor for old style constructors in parseFunctionHeader as well.
|
2018-04-03 18:21:55 +02:00 |
|
Daniel Kirchner
|
d664a599e6
|
Constructors are defined using the `constructor ` keyword.
|
2018-04-03 18:21:55 +02:00 |
|
Alex Beregszaszi
|
0edce4b570
|
Merge pull request #3693 from ethereum/optimizeMLOAD
Optimize across MLOAD if MSIZE is not used.
|
2018-04-03 15:58:11 +01:00 |
|
chriseth
|
eb5b18e814
|
Generalize cycle detection.
|
2018-04-03 16:29:18 +02:00 |
|
chriseth
|
5bdadff0d8
|
Fix detection of recursive structs.
|
2018-04-03 16:27:28 +02:00 |
|
Alex Beregszaszi
|
7753249f64
|
Merge pull request #3699 from ethereum/interfaceExternalVisibility
Defaults to external visibility for interfaces.
|
2018-04-03 15:15:36 +01:00 |
|
chriseth
|
a54fdc495f
|
Fix: Treat empty base constructor argument list as not provided.
|
2018-04-03 14:53:48 +02:00 |
|
chriseth
|
6777f7a57f
|
Optimize across MLOAD if MSIZE is not used.
|
2018-04-03 14:34:32 +02:00 |
|
Erik Kundt
|
f9efa41749
|
Makes visibility warning more concise.
|
2018-04-03 11:16:50 +02:00 |
|
bitshift
|
8fe1cfb12e
|
Defaults to external visibility for interfaces.
|
2018-04-03 11:16:44 +02:00 |
|
Jason Cobb
|
e37b619593
|
Set default fixed point decimal places to 18
|
2018-03-31 00:56:36 +01:00 |
|
chriseth
|
326d656a55
|
Merge pull request #3790 from ethereum/empty-structs
Disallow empty structs
|
2018-03-30 13:58:35 +02:00 |
|
chriseth
|
5c8a6aac69
|
Prevent encoding of weird types and support packed encoding of external function types.
|
2018-03-29 09:57:11 +01:00 |
|
chriseth
|
3bb54e8bd5
|
Merge pull request #3775 from federicobond/improve-error-fractional-shift
Improve error message when attempting to shift by fractional number
|
2018-03-28 11:16:44 +02:00 |
|
Alex Beregszaszi
|
ebb12756ad
|
Still allow empty structs for non-0.5.0 mode
|
2018-03-27 15:49:41 +01:00 |
|
Alex Beregszaszi
|
b540ba527a
|
Disallow empty structs
|
2018-03-27 15:49:41 +01:00 |
|
chriseth
|
62559cf127
|
Merge pull request #3681 from ethereum/interface-external
Allow overriding external functions in interfaces with public in a child
|
2018-03-27 15:47:59 +02:00 |
|
chriseth
|
59538e9a04
|
Merge pull request #3686 from ethereum/doNotIncludeItnernal
Do not include internal functions only used by constructor
|
2018-03-27 15:28:08 +02:00 |
|
Alex Beregszaszi
|
fab527c414
|
Add runtimeOnly option to pushCombinedFunctionEntryLabel
|
2018-03-27 04:00:12 +01:00 |
|
chriseth
|
0a67d616db
|
Use shortcut for internal function calls to avoid runtime reference.
|
2018-03-27 04:00:12 +01:00 |
|
bitshift
|
2c56e53046
|
Changes deprecation and adjusts tests.
|
2018-03-27 03:30:03 +01:00 |
|
bitshift
|
ed632025fe
|
Moves blockhash function to global level.
|
2018-03-27 03:30:03 +01:00 |
|
Alex Beregszaszi
|
8bae2dba7c
|
Introduce inContractKind helper on FunctionDefinition
|
2018-03-26 11:37:38 +01:00 |
|
Alex Beregszaszi
|
ef3595b000
|
Allow overriding external functions in interfaces with public in an implementing contract
|
2018-03-26 11:35:17 +01:00 |
|
Federico Bond
|
b79531bebf
|
Improve error message when trying to shift by fractional number
|
2018-03-22 10:05:49 -03:00 |
|
chriseth
|
c2709a2d8e
|
Decode dynamic data.
|
2018-03-21 14:53:29 +00:00 |
|
chriseth
|
cc2f71e4ac
|
Move dynamic type removal out of the type system.
|
2018-03-21 14:53:29 +00:00 |
|
chriseth
|
32c94f5059
|
Simple size check for old ABI decoder.
|
2018-03-21 14:53:25 +00:00 |
|
chriseth
|
2cdf44f65c
|
Move the old ABI decoder code.
|
2018-03-20 15:20:43 +00:00 |
|
chriseth
|
78abe81f08
|
Merge branch 'develop' into externalFunctionsInLibraries
|
2018-03-14 18:07:55 +01:00 |
|
chriseth
|
abc7a45230
|
Merge pull request #3725 from ethereum/blockhashNoCall
Allow ``block.blockhash`` without it being called.
|
2018-03-14 18:04:40 +01:00 |
|
Alex Beregszaszi
|
59658afa30
|
Merge pull request #3722 from ethereum/fixMods
Fix modifier lookup in libraries.
|
2018-03-14 17:20:51 +01:00 |
|
Daniel Kirchner
|
0d0c9b8688
|
DocStringParser: Fix error message for empty parameter description.
|
2018-03-14 10:14:35 +01:00 |
|
chriseth
|
834d63de2c
|
Allow `block.blockhash ` without being called.
|
2018-03-13 17:34:21 +01:00 |
|
chriseth
|
eecc26deec
|
Make external library functions accessible.
|
2018-03-13 17:18:46 +01:00 |
|
chriseth
|
069b150e42
|
Bugfix in virtual lookup for modifiers in libraries.
|
2018-03-13 16:55:41 +01:00 |
|
Leonardo Alt
|
9b64dc501d
|
[SMTChecker_Bool] Fix PR review comments: method renaming and solAssert
|
2018-03-12 20:16:47 +01:00 |
|
Leonardo Alt
|
c2d26eb6a2
|
[SMTChecker_Bool] Fix PR comments; Add support to gt, ge, lt, le. and tests.
|
2018-03-12 20:16:47 +01:00 |
|
Leonardo Alt
|
6a940f0a99
|
[SMTChecker] Support to Bool variables
|
2018-03-12 20:16:47 +01:00 |
|
Alex Beregszaszi
|
a59d6d2e53
|
Support constantinople in evm-version
|
2018-03-12 18:13:19 +01:00 |
|
chriseth
|
0649f900ca
|
Properly skip cleanup if only enlarging storage array.
|
2018-03-09 14:06:54 +01:00 |
|
Alex Beregszaszi
|
ba8819542f
|
Merge pull request #3611 from ethereum/warn-using-address-overload
Warn if using address overloads on contracts
|
2018-03-06 19:13:55 +01:00 |
|
chriseth
|
baa1526539
|
Merge pull request #3664 from ethereum/literalsHexUnitSmallFix
Use double quotes for suggestion about hex literals and denominations.
|
2018-03-06 19:01:25 +01:00 |
|
Alex Beregszaszi
|
250a6bad8c
|
Merge pull request #3527 from ethereum/warnLooseAsm
Warn about using loose assembly.
|
2018-03-06 18:59:23 +01:00 |
|
Daniel Kirchner
|
b4d38c5491
|
Use double quotes for suggestion about hex literals and denominations.
|
2018-03-06 18:09:54 +01:00 |
|
chriseth
|
95ca829750
|
Merge pull request #3663 from ethereum/gasleftEmscripten
Add gasleft to FunctionType::richIdentifier().
|
2018-03-06 18:06:30 +01:00 |
|
chriseth
|
fd1662d1c4
|
Warn about using loose inline assembly features as experimental 0.5.0 feature.
|
2018-03-06 17:45:34 +01:00 |
|
Daniel Kirchner
|
fb4d01e2cd
|
Add gasleft to FunctionType::richIdentifier().
|
2018-03-06 17:29:04 +01:00 |
|
Alex Beregszaszi
|
14b12ae745
|
Merge pull request #2966 from ethereum/useStaticCall
Use STATICCALL for pure function calls.
|
2018-03-06 17:07:03 +01:00 |
|
Alex Beregszaszi
|
83dacbf669
|
Merge pull request #3549 from ethereum/fixmultidim
Properly detect which array and struct types are unsupported by the old ABI encoder.
|
2018-03-06 15:51:17 +01:00 |
|
chriseth
|
b467116ea8
|
Use STATICCALL for pure function calls if EVM version supports it and 0.5.0 is activated.
|
2018-03-06 15:30:18 +01:00 |
|
chriseth
|
f6c0daec14
|
Merge pull request #3652 from ethereum/gasleft_v2
Use StaticAnalyzer to deprecate msg.gas instead of conditionally remo…
|
2018-03-06 09:26:14 +01:00 |
|
Daniel Kirchner
|
91b13b734d
|
Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it in MagicType.
|
2018-03-05 23:16:26 +01:00 |
|
chriseth
|
9d67e9b4fc
|
Merge pull request #3640 from AnthonyBroadCrawford/spanning-multiline-message-fix
moved spanning multi lines message to appear on some lane vs new line…
|
2018-03-05 22:51:53 +01:00 |
|
Anthony Broad-Crawford
|
174c46d5af
|
Improved messaging when an error spans multiple lines and updated change log file.
|
2018-03-05 14:14:14 -06:00 |
|
chriseth
|
be797cb796
|
Merge pull request #3599 from ethereum/sendAllGasOnByzantium
Send all gas on byzantium
|
2018-03-05 20:13:52 +01:00 |
|
chriseth
|
3793aa405b
|
Merge pull request #3643 from ethereum/gasleft
Move msg.gas to global function gasleft(). Closes #2971.
|
2018-03-05 20:11:37 +01:00 |
|
chriseth
|
83fcf007bf
|
Do not retain any gas in external calls (except if EVM version is set to homestead).
|
2018-03-05 19:32:12 +01:00 |
|
chriseth
|
f190b27431
|
Merge pull request #3600 from ethereum/version050IsAnalysisOnly
Do not warn about 0.5.0 experimental pragma.
|
2018-03-05 19:28:41 +01:00 |
|
Daniel Kirchner
|
3340053fd9
|
Style improvements.
|
2018-03-05 17:00:37 +01:00 |
|
chriseth
|
1ceb0b04c1
|
Assert that address members are not present on contract types in 0.5.0.
|
2018-03-05 15:55:02 +01:00 |
|
Alex Beregszaszi
|
fd60c1cf86
|
Warn if using address overloads on contracts
|
2018-03-05 15:50:27 +01:00 |
|
chriseth
|
477571e190
|
Do not warn about 0.5.0 experimental pragma.
|
2018-03-05 12:14:44 +01:00 |
|
chriseth
|
cd6ffbdf79
|
Merge pull request #3642 from leonardoalt/fix_z3-46
Add z3 performance option
|
2018-03-05 12:13:39 +01:00 |
|
chriseth
|
6dc137317f
|
Merge pull request #3569 from ethereum/evmVersion
EVM version
|
2018-03-05 12:10:49 +01:00 |
|
chriseth
|
6ec4517929
|
Use EVM version in gas meter and optimizer.
|
2018-03-05 11:36:33 +01:00 |
|
Daniel Kirchner
|
c633c0eacb
|
Move msg.gas to global function gasleft(). Closes #2971.
|
2018-03-05 11:18:04 +01:00 |
|
Leonardo Alt
|
5d74b862a3
|
This z3 option is necessary for good solving performance
|
2018-03-04 14:42:36 +01:00 |
|
chriseth
|
f78d6a9a1e
|
Merge pull request #3628 from ethereum/literalsHexUnit
Deprecate using unit denominations in combination with hex numbers.
|
2018-03-02 11:11:16 +01:00 |
|
Daniel Kirchner
|
454b470cee
|
Suggest expressions of the form '0x1234 * 1 day' instead of hex numbers with unit denominations.
|
2018-03-02 10:22:58 +01:00 |
|
Alex Beregszaszi
|
5a54cd5c70
|
Only warn for shift instructions if not using constantinople
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
4ce0e7775d
|
Add constantinople.
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
982476f99d
|
Add TangerineWhistle.
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
dc317a44e0
|
Provide EVM version to assembly analysis.
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
a53d6b499d
|
Use EVM version in type checker.
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
f75a411325
|
Provide target EVM version in CompilerContext.
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
85785710e6
|
Store EVM version in settings.
|
2018-03-01 17:19:34 +01:00 |
|
chriseth
|
5ab4a1ae78
|
Add ability to set the target EVM version.
|
2018-03-01 17:19:34 +01:00 |
|
Daniel Kirchner
|
bd4c2b9bde
|
Deprecate using unit denominations in combination with hex numbers. Closes #3574.
|
2018-03-01 16:58:55 +01:00 |
|
chriseth
|
08b6a72d37
|
Fix multi-dimensional arrays in the ABI.
|
2018-03-01 14:28:27 +01:00 |
|
Alex Beregszaszi
|
2c82f748bb
|
Merge pull request #3624 from ethereum/jsonio-libraries-hex
Ensure that library addresses supplied are of correct length and hex prefixed
|
2018-03-01 12:37:14 +01:00 |
|
Alex Beregszaszi
|
b6dfd9ef54
|
Ensure that library addresses supplied are of correct length and hex prefixed in JSONIO
|
2018-03-01 12:03:56 +01:00 |
|
Leonardo Alt
|
8b1b4b78c0
|
Fix PR comments
|
2018-02-28 18:31:11 +01:00 |
|
Leonardo Alt
|
cff0836c03
|
Fix PR comments
|
2018-02-28 18:05:20 +01:00 |
|
Leonardo Alt
|
21c6b80fc9
|
Supported types listed in SSAVariable
|
2018-02-28 18:05:20 +01:00 |
|
Leonardo Alt
|
3b2851ee41
|
Integer min and max values placed under SymbolicIntVar instead of SMTChecker
|
2018-02-28 18:05:20 +01:00 |
|
Leonardo Alt
|
f41591b3dd
|
[SMTChecker] A little refactoring on SSA vars
|
2018-02-28 18:05:20 +01:00 |
|
chriseth
|
7938339572
|
Merge pull request #3617 from ethereum/jsonio-libraries
Add more comprehensive tests and checks for libraries in JSONIO
|
2018-02-28 17:40:29 +01:00 |
|
chriseth
|
22d26e059c
|
Merge pull request #3613 from ethereum/require-visibility
Issue error if no visibility is specified (on 0.5.0)
|
2018-02-28 16:33:39 +01:00 |
|
Alex Beregszaszi
|
7897301b71
|
Properly validate invalid hex characters in JSONIO libraries
|
2018-02-28 10:44:48 +01:00 |
|
Alex Beregszaszi
|
83fec0232d
|
Add more comprehensive tests and checks for libraries in JSONIO
|
2018-02-28 10:36:07 +01:00 |
|
chriseth
|
908b46e9a7
|
Merge pull request #3476 from ethereum/scoping
C99/C++ scoping rules
|
2018-02-27 17:06:10 +01:00 |
|
Alex Beregszaszi
|
a566825589
|
Issue error if no visibility is specified (on 0.5.0)
|
2018-02-27 16:31:53 +01:00 |
|
Alex Beregszaszi
|
afa4a48e37
|
Remove ROL/ROR as they are not part of EIP145 anymore
|
2018-02-27 13:42:41 +01:00 |
|
Alex Beregszaszi
|
468d0f6199
|
Warn on using shift instructions
|
2018-02-27 13:42:31 +01:00 |
|
chriseth
|
88a5c66f4a
|
Only active variables at the point of their declaration.
|
2018-02-27 12:17:25 +01:00 |
|
chriseth
|
6b9dda06f3
|
Enable C99-scoping with the 0.5.0-experimental pragma.
|
2018-02-27 12:17:25 +01:00 |
|
chriseth
|
e6d48bb72a
|
Blocks and for loops can be scopes.
|
2018-02-27 12:17:25 +01:00 |
|
chriseth
|
5f20129e65
|
Scopes do not have to be declarations.
|
2018-02-27 12:17:25 +01:00 |
|
chriseth
|
53289e15a2
|
Make all lookups recursive by default.
|
2018-02-27 12:17:25 +01:00 |
|
Alex Beregszaszi
|
5c0d82059f
|
Turn throw into a syntax error for 0.5.0
|
2018-02-27 02:10:24 +01:00 |
|
Alex Beregszaszi
|
b62d43912b
|
Merge pull request #3589 from ethereum/identifiers
Clean up type identifiers
|
2018-02-26 20:27:26 +01:00 |
|
Alex Beregszaszi
|
b471983e3c
|
Use new escaping helpers for type identifiers
|
2018-02-26 19:09:43 +01:00 |
|
Alex Beregszaszi
|
2e7067fbe4
|
Rename Types::identifier to Types::richIdentifier
|
2018-02-26 19:09:43 +01:00 |
|
Alex Beregszaszi
|
751705978e
|
Add helpers escapeIdentifier to Types
|
2018-02-26 19:09:39 +01:00 |
|
chriseth
|
4da20bdf01
|
Fix: Function types for getters should not have storage pointers.
|
2018-02-26 11:17:40 +01:00 |
|
chriseth
|
917dd28eef
|
Simplify FunctionType constructors.
|
2018-02-26 10:45:41 +01:00 |
|
chriseth
|
8c1a8ecc2e
|
Warn about using events without emit.
|
2018-02-22 15:17:42 +01:00 |
|
chriseth
|
388718b59f
|
Introduce emit statement.
|
2018-02-22 15:17:30 +01:00 |
|
chriseth
|
c182284d28
|
Do not warn about analysis-only experimental features.
|
2018-02-22 14:50:20 +01:00 |
|
Alex Beregszaszi
|
42856e0f53
|
Add assertion for boolean literals in Julia-mode
|
2018-02-22 01:02:23 +01:00 |
|
Alex Beregszaszi
|
ae02bb5aad
|
Raise error on oversized number literals in assembly
|
2018-02-22 01:02:19 +01:00 |
|
chriseth
|
3076a434ba
|
Merge pull request #3554 from ethereum/reuseScannerOrNot
Expect end of string at end of top-level block for assembly parser.
|
2018-02-21 00:41:57 +01:00 |
|
chriseth
|
e2bf5de8a2
|
Expect end of string at end of top-level block for assembly parser.
|
2018-02-21 00:41:39 +01:00 |
|
Alexander Arlt
|
0f29ac4e56
|
Add new JSON API for better abstraction and for supporting strict JSON parsing
|
2018-02-20 21:58:26 +01:00 |
|
chriseth
|
4272d16f30
|
Fix shadowing for imports with aliases.
|
2018-02-20 13:06:28 +01:00 |
|
chriseth
|
930485cd24
|
Properly warn about the use of constants in inline assembly in connection with `_offset and _slot `.
|
2018-02-19 19:22:39 +01:00 |
|
chriseth
|
abc23ac608
|
Merge pull request #3135 from federicobond/formatter-instance
Convert static SourceReferenceFormatter functions to member ones
|
2018-02-19 17:34:07 +01:00 |
|
Emilio Almansi
|
ca6957da37
|
Added property _documentation_ to Function, Event, and Modifier definition classes.
|
2018-02-19 16:45:38 +01:00 |
|
chriseth
|
305d5f70c2
|
Fix scannerFromSourceName use-after-free.
|
2018-02-19 15:13:49 +01:00 |
|
Federico Bond
|
d7532f7b9c
|
Convert static SourceReferenceFormatter functions to member ones
|
2018-02-19 15:04:22 +01:00 |
|
Alexander Arlt
|
1d4547ab03
|
Minor improvement: check sources
- returns error, if "sources" is an array, an empty object or not defined
- Added new test-cases in test/libsolidity/StandardCompiler.cpp
|
2018-02-16 18:44:46 +01:00 |
|
chriseth
|
2b5a5a8669
|
Make addmod and mulmod revert if the last argument is zero.
|
2018-02-15 13:52:17 +01:00 |
|
chriseth
|
e08a206070
|
Disallow uninitialized storage pointers as experimental 0.5.0 feature.
|
2018-02-15 11:58:50 +01:00 |
|
chriseth
|
23484ba6a4
|
Merge pull request #3498 from ethereum/allowthisfselector
Allow `this.f.selector` to be pure.
|
2018-02-13 17:08:35 +01:00 |
|
chriseth
|
1dcd7c5e0b
|
Fix: remove reference.
|
2018-02-13 15:04:10 +00:00 |
|
chriseth
|
dc0a25f1cd
|
Minor changes.
|
2018-02-13 15:04:03 +00:00 |
|
Balajiganapathi S
|
8a491c77ba
|
Restructure code for alternative identifier suggestions
|
2018-02-13 15:00:15 +00:00 |
|
Balajiganapathi S
|
b1417b318f
|
Move string distance function to utils and format error message
|
2018-02-13 14:59:33 +00:00 |
|
Balajiganapathi S
|
2859834e58
|
Suggest alternatives when identifier not found.
|
2018-02-13 14:54:36 +00:00 |
|
Alex Beregszaszi
|
8f8ad3840e
|
Merge pull request #3349 from federicobond/number-improv
Avoid output messages size blow-up using huge bignums literals
|
2018-02-13 12:36:05 +00:00 |
|
chriseth
|
560fbd0df1
|
Always use shortened literal number representation.
|
2018-02-13 11:43:47 +01:00 |
|
chriseth
|
5916cf1e0a
|
Allow this.f.selector to be pure.
|
2018-02-13 11:00:59 +01:00 |
|
Federico Bond
|
a320ffeafd
|
Avoid output messages size blow-up using huge bignums literals
|
2018-02-12 22:53:33 +00:00 |
|
Jimmy Vogel
|
dc5ad899d0
|
Deprecate the var keyword (and mark it an error as experimental 0.5.0 feature)
|
2018-02-12 22:37:26 +00:00 |
|
Federico Bond
|
75a3a707a2
|
Fix segfault with undeclared array types
|
2018-02-11 21:40:41 -03:00 |
|
Alex Beregszaszi
|
32300ea3ff
|
Merge pull request #3360 from federicobond/nonfatal-reference-errors
Replace some fatal errors when resolving references with normal ones
|
2018-02-04 13:07:55 +00:00 |
|
Federico Bond
|
600e66e605
|
Replace some fatal errors when resolving references with normal ones
|
2018-02-02 14:09:32 -03:00 |
|
Alex Beregszaszi
|
b545987ec7
|
Issue warning for using public visibility for interface functions
|
2018-02-01 10:28:00 +00:00 |
|
chriseth
|
6807010dc7
|
Prevent libraries from being called.
|
2018-01-19 16:27:44 +01:00 |
|
Alex Beregszaszi
|
8b20a7cd53
|
Disallow non-functional instructions in parseExpression early
|
2018-01-10 14:16:46 +01:00 |
|
Alex Beregszaszi
|
42f8875770
|
Show restricted instruction warning before argument mismatch issue
|
2018-01-08 00:39:22 +00:00 |
|
Alex Beregszaszi
|
c269a12c5e
|
Support strict assembly mode in AssemblyStack
|
2018-01-06 01:23:38 +00:00 |
|
chriseth
|
124190336b
|
Split inline assembly into loose and strict flavours.
|
2018-01-06 01:23:38 +00:00 |
|
Alex Beregszaszi
|
fcbdaa32b9
|
Simplify parseElementaryOperation in regards to special instructions
|
2018-01-06 00:39:06 +00:00 |
|
chriseth
|
bca01f8f68
|
Merge pull request #3382 from ethereum/julia-identifier-parser
Support some restricted tokens (return, byte, address) as identifier in Julia
|
2018-01-06 00:02:21 +01:00 |
|
Alex Beregszaszi
|
a91393f4d7
|
Support some restricted tokens (return, byte, address) as identifiers in Julia
|
2018-01-05 15:53:49 +00:00 |
|
Alex Beregszaszi
|
9e7e312fdf
|
Properly support library file names containing a colon (such as URLs).
|
2018-01-05 13:24:07 +00:00 |
|
Leonardo Alt
|
d0abc5359b
|
[SMTChecker] Variables are merged after branches (ite variables)
|
2018-01-04 18:20:12 +01:00 |
|
chriseth
|
00692a4ff6
|
Reset source location after using inline assembly.
|
2018-01-04 14:29:03 +01:00 |
|
Alex Beregszaszi
|
2cdd789b5d
|
Merge pull request #3297 from ethereum/separate_expression_and_statement
Separate expression and statement
|
2018-01-04 12:04:19 +00:00 |
|
Alex Beregszaszi
|
8901b38959
|
Merge pull request #3369 from ethereum/jsonio-colon
Properly handle colons in file names within jsonio
|
2018-01-04 11:58:29 +00:00 |
|
Federico Bond
|
a0771691ff
|
Improve error message for wrong struct initialization (#3359)
|
2018-01-04 11:24:39 +01:00 |
|
Alex Beregszaszi
|
ff9fdfac57
|
Properly handle colons in file names within jsonio
|
2018-01-03 15:44:03 +00:00 |
|
Leonardo Alt
|
b588134840
|
[SMTChecker] Fix typo in the code (satisifable->satisfiable)
|
2017-12-18 17:31:27 +01:00 |
|
Alex Beregszaszi
|
55752db956
|
Merge pull request #3342 from ethereum/jsonio-sourcelocation
Populate the sourceLocation field properly in standard JSON on errors
|
2017-12-18 14:32:23 +00:00 |
|
chriseth
|
2e2f819fd6
|
Merge pull request #3304 from leonardoalt/smt_checker
[SMTChecker] Keep track of current path conditions
|
2017-12-18 15:10:28 +01:00 |
|
Alex Beregszaszi
|
add4cde68c
|
Populate the sourceLocation field properly in standard JSON on errors
|
2017-12-18 12:17:51 +00:00 |
|
chriseth
|
e2828cfa61
|
Favour if over switch in ABI coder.
|
2017-12-15 09:47:34 +01:00 |
|
chriseth
|
3d1830f3f2
|
Merge pull request #3232 from ethereum/simplifyConstant
Simplify ConstantEvaluator.
|
2017-12-14 16:14:46 +01:00 |
|
Leonardo Alt
|
a1e296e392
|
[SMTChecker] Helper functions to add an expression to the solver conjoined with or implied by the current path conditions
|
2017-12-13 17:59:36 +01:00 |
|
Leonardo Alt
|
2af4d7c7dd
|
[SMTChecker] Keep track of current path conditions
|
2017-12-13 17:39:10 +01:00 |
|
chriseth
|
54b6739962
|
Separate expression and statement.
|
2017-12-13 12:28:15 +01:00 |
|
Yoichi Hirai
|
55e9af2f20
|
Merge pull request #3310 from ethereum/limitDecl
Limit number of secondary source locations.
|
2017-12-12 11:14:06 +01:00 |
|
Yoichi Hirai
|
14707b27e2
|
Merge pull request #3183 from federicobond/fix-event-parsing
Fix event parsing. Refs #3175
|
2017-12-12 11:12:18 +01:00 |
|
chriseth
|
e7ed9d878e
|
Re-use commonType
|
2017-12-12 10:45:40 +01:00 |
|
chriseth
|
48c7ba72f3
|
Simplify ConstantEvaluator.
|
2017-12-12 09:44:18 +00:00 |
|
Alex Beregszaszi
|
7ff9a85592
|
Reduce the types of errors outputted by ConstantEvaluator
|
2017-12-12 09:40:29 +00:00 |
|
Alex Beregszaszi
|
5226d54ed1
|
Improve error message for constant evaluator
|
2017-12-12 09:39:26 +00:00 |
|
chriseth
|
2d171c25e5
|
Limit number of secondary source locations.
|
2017-12-12 10:27:28 +01:00 |
|
chriseth
|
9e36c189e5
|
Fix struct encoding warning for libraries.
|
2017-12-11 02:34:42 +00:00 |
|
Alex Beregszaszi
|
e9d256ddf4
|
Suggest the experimental ABI encoder if using structs as function parameters
|
2017-12-11 02:34:42 +00:00 |
|
Alex Beregszaszi
|
793537e089
|
Suggest the "if" statement too instead of jumps
|
2017-12-05 19:27:12 +00:00 |
|
Alex Beregszaszi
|
bc875f6b9c
|
Warn for assembly labels too
|
2017-12-05 19:27:12 +00:00 |
|
Alex Beregszaszi
|
745eefa36f
|
Split Instruction and FunctionalInstruction in Julia
|
2017-12-05 14:52:11 +00:00 |
|
chriseth
|
b47e023df1
|
Merge pull request #3032 from ethereum/division
Division and unary operators for SMT checker
|
2017-12-05 13:59:01 +01:00 |
|
chriseth
|
240c79e614
|
Merge pull request #3265 from ethereum/rename_args_to_params
Rename arguments to parameters.
|
2017-12-04 06:49:44 -05:00 |
|
chriseth
|
43bb915454
|
Rename arguments to paramaters and returns to returnVariables.
|
2017-12-01 16:18:01 +01:00 |
|
chriseth
|
a256983320
|
Fix expression creation problems.
|
2017-11-30 01:20:21 +01:00 |
|
chriseth
|
d160ec8595
|
Fix signed division.
|
2017-11-30 01:20:21 +01:00 |
|
chriseth
|
19e067465a
|
Unary operators and division.
|
2017-11-30 01:20:21 +01:00 |
|
Alex Beregszaszi
|
9f756e3797
|
Include missing forward declarations in AsmDataForward
|
2017-11-29 21:43:44 +00:00 |
|
Alex Beregszaszi
|
3576ccf5b3
|
Simplify target selection code
|
2017-11-29 20:10:18 +00:00 |
|
Alex Beregszaszi
|
b2023196a2
|
Rename target selection to use the word artifact
|
2017-11-29 20:10:18 +00:00 |
|
Alex Beregszaszi
|
bbcec95bac
|
Add workaround for bytecode/deployedBytecode selection
|
2017-11-29 20:10:18 +00:00 |
|
Alex Beregszaszi
|
8da245cca3
|
Limit output according to the selected targets in StandardCompiler
|
2017-11-29 20:10:18 +00:00 |
|
Alex Beregszaszi
|
d37e6ba1c7
|
Add target selection helpers to StandardCompiler
|
2017-11-29 20:10:04 +00:00 |
|
chriseth
|
5a3dbb0269
|
Cleanup and overflow checks for data pointers.
|
2017-11-29 17:08:44 +01:00 |
|
chriseth
|
bdc1ff8ec7
|
ABI decoder.
|
2017-11-29 17:08:44 +01:00 |
|
chriseth
|
a1f59cbb17
|
Merge pull request #3220 from ethereum/IuliaIf
If statement for Iulia / Inline Assembly
|
2017-11-27 09:02:46 -05:00 |
|
chriseth
|
0e2a9658d2
|
Explain IntIntFun and merge assertion.
|
2017-11-23 19:02:47 +01:00 |
|
Federico Bond
|
14fd647b85
|
Fix event parsing. Refs #3175
|
2017-11-22 23:08:12 -03:00 |
|
chriseth
|
6ed4e0632f
|
Use if statement in abi functions.
|
2017-11-22 16:25:24 +01:00 |
|
chriseth
|
6dbc34e16e
|
If statement for Iulia / inline assembly.
|
2017-11-22 16:25:24 +01:00 |
|
chriseth
|
762d591a47
|
Introduce sorts for smt expressions.
|
2017-11-22 15:20:26 +01:00 |
|
chriseth
|
8538a25f8d
|
Fix problem with non-value-typed variables.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
19d5c42429
|
For loop.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
95a65dc04c
|
Fix boolean constants.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
22c689d516
|
Check for conditions being constant.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
e5de4a66ed
|
Tests.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
b37377641d
|
Track usage of variables.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
f62caf587e
|
Handle branches.
|
2017-11-22 02:35:34 +00:00 |
|
Alex Beregszaszi
|
455e51a608
|
Improve cyclic constant error message
|
2017-11-22 02:11:22 +00:00 |
|
Balajiganapathi S
|
d102deaec9
|
Detect cyclic constant definitions
|
2017-11-22 02:07:56 +00:00 |
|
Balajiganapathi S
|
165857b1d4
|
Allow constant integer variables as array lengths.
|
2017-11-22 01:41:46 +00:00 |
|
Alex Beregszaszi
|
8d26894841
|
Show checksummed address always (prepend with 0)
|
2017-11-17 00:46:45 +00:00 |
|
Alex Beregszaszi
|
1d5dd909b4
|
Do not try to display checksummed address for too-short/long address literals
|
2017-11-17 00:46:45 +00:00 |
|
wadeAlexC
|
8a6692b2cf
|
Improves address literal checksum error message
|
2017-11-17 00:46:44 +00:00 |
|
chriseth
|
0c1fc594ef
|
Merge pull request #3209 from ethereum/unimplemented-msgs
Add explanation to unimplemented assertions
|
2017-11-16 04:32:51 -05:00 |
|
Alex Beregszaszi
|
f2e9dea5e7
|
Merge pull request #3194 from kseo/print-using-for
Print using for directive in ASTPrinter
|
2017-11-15 17:20:49 +00:00 |
|
Alex Beregszaszi
|
c1e202618c
|
Add explanation to unimplemented assertions
|
2017-11-15 17:19:29 +00:00 |
|
Kwang Yul Seo
|
02db1ad584
|
Print using for directive in ASTPrinter
|
2017-11-16 01:36:57 +09:00 |
|
Alex Beregszaszi
|
08fec146ba
|
Merge pull request #3206 from kseo/outdated-comment
Update outdated comments
|
2017-11-15 16:35:53 +00:00 |
|
Alex Beregszaszi
|
ed3ce43d6d
|
Merge pull request #3189 from kseo/unused
Remove unused method
|
2017-11-15 16:31:22 +00:00 |
|
Kwang Yul Seo
|
33664c04a8
|
Update outdated comments
_errors -> _errorReporter.
|
2017-11-16 00:28:41 +09:00 |
|
Kwang Yul Seo
|
f364529713
|
Fix a typo
A semicolon was mistakenly inserted where a string concatenation
operator was meant.
|
2017-11-14 21:50:09 +09:00 |
|
Kwang Yul Seo
|
d70ff5f8c3
|
Remove a redundant check
m_type can't be FunctionType::Kind::DelegateCall.
|
2017-11-13 09:54:55 +09:00 |
|
Kwang Yul Seo
|
486647fd38
|
Remove unused method
The body of Function::functionIdentifier is missing and is not used.
|
2017-11-12 22:27:05 +09:00 |
|
chriseth
|
dc6b1f02bc
|
Merge pull request #3092 from rivenhk/b_2885
added formatting when source snippets is too long
|
2017-10-23 10:54:52 +02:00 |
|
chriseth
|
7d0e46bf59
|
Merge pull request #3030 from ethereum/smt-variable-types
SMT enforce variable types
|
2017-10-20 16:55:09 +02:00 |
|
Alex Beregszaszi
|
3a8324266f
|
More detailed errors for invalid array lengths (such as division by zero).
|
2017-10-20 11:59:18 +01:00 |
|
rivenhk
|
950f5ae7d7
|
updated formatting when source snippets is too long
|
2017-10-19 20:20:07 +08:00 |
|
chriseth
|
4e7d1440ab
|
Merge pull request #3101 from ethereum/compilerstack-header
Remove the reliance on empty contract name equals "last contract" in CompilerStack
|
2017-10-19 13:43:17 +02:00 |
|
chriseth
|
0ae4aad8f3
|
Merge pull request #3108 from ethereum/remove-callcode
Turn usage of callcode into an error as experimental 0.5.0 feature
|
2017-10-19 11:10:10 +02:00 |
|
Alex Beregszaszi
|
10677125ae
|
Turn usage of callcode into an error as experimental 0.5.0 feature
|
2017-10-19 02:20:30 +01:00 |
|
Alex Beregszaszi
|
8d3cfa8cff
|
Simplify contract lookup in CompileStack
|
2017-10-18 23:54:32 +01:00 |
|
Alex Beregszaszi
|
2ce35b77be
|
Implement CompilerStack.lastContractName()
|
2017-10-18 23:54:32 +01:00 |
|
Alex Beregszaszi
|
039cc25b1f
|
Always require a contract/sourceName in CompilerStack
|
2017-10-18 23:32:33 +01:00 |
|
Alex Beregszaszi
|
7a4c165518
|
Remove unused variable in Z3
|
2017-10-18 23:18:11 +01:00 |
|