Commit Graph
1783 Commits
Author SHA1 Message Date
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
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