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 |
|