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