Daniel Kirchner
d4dfd28694
Consider fixed size array members when checking for recursive structs.
2018-07-12 20:14:02 +02:00
chriseth
5d8a8f7265
Merge pull request #4437 from ethereum/report-empty-var-decls
...
[BREAKING] Report empty var tuple decls
2018-07-12 19:22:38 +02:00
chriseth
6dcafac44e
Merge pull request #4447 from hosho/develop
...
Fix NatSpec json output for "@notice" and "@dev" tags on contract definitions
2018-07-12 18:42:30 +02:00
chriseth
81271801b4
Merge pull request #4478 from ethereum/requireStorageLocation
...
Turn missing storage locations into an error.
2018-07-12 18:00:05 +02:00
Alex Beregszaszi
0dd79bc172
Merge pull request #4479 from ethereum/fixFixedPointCrash
...
Fix handling of fixed point types in arithmetics.
2018-07-12 15:04:16 +01:00
Matt Little
4efe3544f7
Fix NatSpec json output for "@notice" and "@dev" tags on contract definitions.
2018-07-12 14:39:13 +02:00
Christian Parpart
cc585138bc
Generates a syntax error when declaring a variable declaration's LHS has no named components
2018-07-12 13:26:52 +02:00
chriseth
fa8102880f
Merge pull request #4428 from ethereum/enforce_staticcall_view
...
[BREAKING] Enforce STATICCALL for view and pure
2018-07-12 13:14:02 +02:00
chriseth
576f3ef18c
Merge pull request #4083 from ethereum/variable_stack_slot
...
[BREAKING] Allocate local variables according to their scope
2018-07-12 13:01:15 +02:00
Daniel Kirchner
a1f54f4e40
Require storage location.
2018-07-12 12:48:18 +02:00
chriseth
99bee7e233
Merge pull request #4443 from ethereum/double_var_decl_fix
...
Fix crash when declaring the same var twice in the same scope
2018-07-12 00:05:32 +02:00
chriseth
2b8091526f
Merge pull request #4472 from ethereum/complexCalldataArraysNotYetImplemented
...
Throw unimplemented exception for complex calldata arrays.
2018-07-11 23:48:42 +02:00
chriseth
0c9645c978
Merge pull request #4480 from ethereum/fixZeroWithExponent
...
Fix literals with exponents with mantissa of zero.
2018-07-11 23:45:41 +02:00
Christian Parpart
08345209e6
Merge pull request #4404 from ethereum/v050-var-keyword-suggest
...
[WIP] v0.5.0 var keyword type suggestion
2018-07-11 16:33:09 +02:00
Daniel Kirchner
e8e5e12ad2
Fix literals with exponents with mantissa of zero.
2018-07-11 15:34:17 +02:00
chriseth
7355298c2f
Fix handling of fixed point types in arithmetics.
2018-07-11 14:56:53 +02:00
Leonardo Alt
38026d3114
Use STATICCALL for view and pure
2018-07-11 14:45:22 +02:00
chriseth
f3abfa81ad
Merge pull request #4454 from ethereum/constructorArgCount
...
[BREAKING] Wrong argument count in constructor call
2018-07-11 14:45:05 +02:00
chriseth
238dbe1b99
Merge pull request #4388 from ethereum/noPackedLiterals
...
Disallow packed encoding of literals.
2018-07-11 14:28:20 +02:00
Erik Kundt
7c7e154a7b
Improves error with suggestion to remove parantheses.
2018-07-11 01:58:17 +02:00
Erik Kundt
34a031609e
Updates Changelog, syntax test and simplifies type checker.
2018-07-11 01:58:17 +02:00
Erik Kundt
0b960f5a9c
Turns wrong argument count in base constructor call into en error.
2018-07-11 01:56:07 +02:00
Cryptomental
140dbfdbd8
Code, Changelog, ReleaseChecklist: Fix typos.
...
Refs: #4442
2018-07-11 00:26:23 +02:00
chriseth
458a4c8aa5
Coding style.
2018-07-10 22:29:53 +02:00
Christian Parpart
1505e28b56
semantics: Suggest auto-deduced type when user declares variable with var
keyword.
2018-07-10 22:14:19 +02:00
chriseth
d84976dc87
Merge pull request #4376 from ethereum/fallbackExternal
...
Fallback functions have to be external
2018-07-10 21:39:25 +02:00
chriseth
383b88793c
Throw unimplemented exception for complex calldata arrays.
2018-07-10 21:23:20 +02:00
chriseth
12045d2e11
Merge pull request #4464 from cryptomental/bugfix/fix-typos-in-AsmParser-and-TypeChecker
...
AsmParser,TypeChecker: Fix typos.
2018-07-10 21:07:56 +02:00
chriseth
6567cd3e51
Merge pull request #4466 from ethereum/tupleNotEmpty
...
Disallow empty tuple components.
2018-07-10 21:03:30 +02:00
Leonardo Alt
cee4775a58
Add comment explaining new code
2018-07-10 18:54:46 +02:00
Leonardo Alt
c286cdaa62
Fix crash for double variable declaration in the same scope.
2018-07-10 18:54:46 +02:00
Leonardo Alt
0c5e0e0d59
Added assertion and tests suggestions
2018-07-10 18:39:38 +02:00
Leonardo Alt
b750ca9741
Add more tests and assertions
2018-07-10 18:39:38 +02:00
Leonardo Alt
9d895e002d
Added tests and review suggestions
2018-07-10 18:39:38 +02:00
Leonardo Alt
1f77deada1
[050] Reserving and popping local vars in their scope
2018-07-10 18:39:38 +02:00
chriseth
0e9415bc31
Merge pull request #4468 from ethereum/variableDeclarationClenaup
...
Remove mentions of ``var`` in VariableDeclarationStatement comment.
2018-07-10 17:50:02 +02:00
Christian Parpart
8ca69ed8d8
defaulting to v0.5.0 behaviour of unary + operator (disallow); also adapting all tests to it
2018-07-10 16:27:57 +02:00
chriseth
64abfd3e4a
Remove special `(x,)
` case from type assignment.
2018-07-10 15:58:46 +02:00
Daniel Kirchner
a6e5a51d61
Disallow empty tuple components.
2018-07-10 15:27:46 +02:00
chriseth
7650905567
Merge pull request #4415 from ethereum/uninitializedStoragePointer
...
[BREAKING] Turn uninitialized storage variables into error.
2018-07-10 15:24:01 +02:00
chriseth
187eef36ad
Remove mentions of `var
` in VariableDeclarationStatement comment.
2018-07-10 14:55:50 +02:00
Cryptomental
a55abb550d
AsmParser,TypeChecker: Fix typos.
...
Fix typos. The change requested as a separate PR during codespell PR.
Adapt tests as well.
Refs: #4442
2018-07-10 12:33:19 +02:00
Daniel Kirchner
ece9afef8f
Check for matching number of components in TupleType::isImplicitlyConvertibleTo instead of the TypeChecker.
2018-07-10 12:17:01 +02:00
Daniel Kirchner
fe1d5da2a6
Turn uninitialized storage variables into an error.
2018-07-10 11:37:45 +02:00
Leonardo Alt
c1b67a845b
Enforce error on hex number combined with unit denomination
2018-07-09 17:19:41 +02:00
chriseth
f3e0bf1dd8
Merge pull request #4418 from ethereum/initialConstants
...
Only allow compile-time constants for constant state variables.
2018-07-05 17:07:32 +02:00
chriseth
c8ac861832
Fix allocation of byte arrays.
2018-07-05 14:18:14 +02:00
chriseth
4a332ab324
Merge pull request #4409 from ethereum/viewPureChecker
...
Enforce state mutability in view pure checker.
2018-07-04 14:09:46 +02:00
Leonardo Alt
8202d512e0
Enforcing error on msg.gas and block.blockhash()
2018-07-04 11:42:05 +02:00
Daniel Kirchner
7ea8365ab0
Remove v050 check for enforcing "view" in ViewPureChecker.
2018-07-04 10:14:58 +02:00
chriseth
8ed3da1d5f
Only allow compile-time constants for constant state variables.
2018-07-03 23:03:26 +02:00
chriseth
87241fd58c
Fallback function has to be external.
2018-07-03 22:51:36 +02:00
chriseth
533d5d4b1c
Merge pull request #4379 from ethereum/constructorArgsTwice
...
Disallow constructor arguments given multiple times.
2018-07-03 22:49:02 +02:00
Daniel Kirchner
3984beef7d
Remove constant keyword from parser.
2018-07-03 15:31:34 +02:00
Christian Parpart
1486d215b9
libsolidity: turns the var-keyword use from deprecation-warning to an error and include explicit type suggestion
2018-07-03 10:53:09 +02:00
chriseth
f7a9c4203e
Disallow packed encoding of literals.
2018-07-03 01:02:00 +02:00
Daniel Kirchner
9aefe2f118
Remove trailing whitespace in missing visibility warning.
2018-07-02 13:14:58 +02:00
chriseth
85b9d3927a
Merge pull request #4224 from ethereum/revert_wrong_calldata
...
[BREAKING] Revert if calldata has wrong size
2018-07-02 12:55:22 +02:00
chriseth
f69e24c85e
Disallow constructor arguments given multiple times.
2018-06-29 16:11:21 +02:00
chriseth
d469df45d8
Merge pull request #4352 from D-Nice/develop
...
Fixes storage ref var typo error from 'prefix' to 'suffix'
2018-06-29 12:27:29 +02:00
chriseth
4a842ecc82
Merge pull request #4097 from ethereum/noPackedExceptForPacked
...
[BREAKING] call only takes a single argument and does not pad
2018-06-27 18:29:01 +02:00
chriseth
92cb4acd8a
Also mention regular abi.encode in error message.
2018-06-27 15:00:34 +02:00
Alex Beregszaszi
80b7d36187
Remove non-0.5.0 warning for emit keyword (make it mandatory)
2018-06-26 20:00:54 +02:00
chriseth
503eb8caa5
Merge pull request #4342 from rnaby/l/a/Types
...
RationalNumberType::isImplicitlyConvertibleTo Refactor
2018-06-26 17:54:09 +02:00
Leonardo Alt
7763d21cc6
Revert if calldata is too short or points out of bounds
2018-06-26 10:27:48 +02:00
Alex Beregszaszi
5aa8c7ed1a
Document the internal API of CompilerStack
2018-06-25 23:51:40 +02:00
Alex Beregszaszi
3fc7da11db
Pull out createCBORMetadata helper
2018-06-25 22:17:33 +02:00
chriseth
033672cc48
Fix: Call functions do not take variable arguments.
2018-06-25 17:17:48 +02:00
chriseth
5cf6fa84ac
Provide better suggestions in error messages with respect to call and hash functions.
2018-06-25 17:17:48 +02:00
chriseth
a55e8c93ce
Save double encode call for sha3.
2018-06-25 17:17:18 +02:00
D-Nice
b2f0d1db43
Fixes storage ref var typo error from 'prefix' to 'suffix'
2018-06-25 11:14:19 -04:00
chriseth
23c4142005
Bare functions take single bytes argument.
2018-06-25 17:01:45 +02:00
chriseth
0e66a1ddde
Single bytes argument.
...
In 0.5.0 mode, only accept a single bytes argument for ``.call``,
``keccak256`` and others and do not pad when encoding.
2018-06-25 17:01:45 +02:00
Alex Beregszaszi
6d9a091a8e
Keep the 'if it not used as an address' helper message for all cases of address related warnings
2018-06-25 16:25:21 +02:00
Alex Beregszaszi
48b003d4d4
Better wording for invalid address literal error
2018-06-25 16:17:50 +02:00
Jason Cobb
51567c0513
Change invalid (not exactly 160 bits long) address literal to error
2018-06-25 16:17:50 +02:00
Jason Cobb
3d88eca531
Disallow implicit conversion from rational (literal) to address
2018-06-25 16:17:50 +02:00
Khan M Rashedun-Naby
097a3fabf4
RationalNumberType::isImplicitlyConvertibleTo Refactor
2018-06-24 08:15:25 +06:00
Alex Beregszaszi
72e87423db
Disallow the years unit denomination properly
2018-06-21 20:21:02 +02:00
chriseth
32f2db780c
Merge pull request #4301 from rnaby/TypeChecker
...
Simplification of typeSupportedByOldABIEncoder
2018-06-21 18:53:31 +02:00
chriseth
2c456f0e70
Merge pull request #4326 from ethereum/compilerstack-cleanup
...
Properly catch optimizer/assembly exception in CompilerStack
2018-06-21 14:14:13 +02:00
chriseth
0d1047181d
Merge pull request #4306 from ethereum/remove_050_workaround_scoping
...
[BREAKING] C99 scoping rules by default (remove 050 workaround)
2018-06-21 13:57:59 +02:00
Alex Beregszaszi
7e4bd3e346
Merge pull request #4219 from ethereum/functionTypeNamedArguments
...
Turn named return parameters in function types into an error.
2018-06-20 23:51:19 +02:00
Alex Beregszaszi
a392e0f046
Properly catch optimizer/assembly exception in CompilerStack
2018-06-20 23:19:06 +02:00
Khan M Rashedun-Naby
a5f0caa178
Simplification of typeSupportedByOldABIEncoder
2018-06-20 23:16:21 +06:00
Alex Beregszaszi
0a632011be
CompilerStack absolutePath/sanitizePath can be made static
2018-06-20 17:04:22 +02:00
Alex Beregszaszi
dcee8e11ad
Reorder some of the flow in CompilerStack::compileContract for readability
2018-06-20 17:01:17 +02:00
Leonardo Alt
8862b3092b
C99 scoping rules by default
2018-06-20 12:53:38 +02:00
Alex Beregszaszi
a17059573f
Disallow raw callcode (was deprecated in 0.4.12)
2018-06-19 19:31:07 +02:00
Daniel Kirchner
dbfee87860
Return parameters in function types may not be named.
2018-06-18 00:05:06 +02:00
Alex Beregszaszi
4cdb6c809a
Change comments
2018-06-14 09:31:28 +01:00
Alex Beregszaszi
e1d0bfe1ca
JuliaType -> YulType
2018-06-14 09:31:28 +01:00
Alex Beregszaszi
e0d95a6641
Rename internal variable
2018-06-14 09:31:28 +01:00
Alex Beregszaszi
782bc41dbd
Rename JULIA/IULIA to Yul in assembly interface
2018-06-14 09:31:28 +01:00
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