aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Collapse)AuthorAgeFilesLines
* Updates Changelog, syntax test and simplifies type checker.Erik Kundt2018-07-111-3/+1
|
* Turns wrong argument count in base constructor call into en error.Erik Kundt2018-07-111-22/+9
|
* Merge pull request #4376 from ethereum/fallbackExternalchriseth2018-07-111-4/+1
|\ | | | | Fallback functions have to be external
| * Fallback function has to be external.chriseth2018-07-041-4/+1
| |
* | Merge pull request #4464 from ↵chriseth2018-07-112-2/+2
|\ \ | | | | | | | | | | | | cryptomental/bugfix/fix-typos-in-AsmParser-and-TypeChecker AsmParser,TypeChecker: Fix typos.
| * | AsmParser,TypeChecker: Fix typos.Cryptomental2018-07-102-2/+2
| | | | | | | | | | | | | | | | | | | | | Fix typos. The change requested as a separate PR during codespell PR. Adapt tests as well. Refs: #4442
* | | Merge pull request #4466 from ethereum/tupleNotEmptychriseth2018-07-111-11/+2
|\ \ \ | | | | | | | | Disallow empty tuple components.
| * | | Remove special ``(x,)`` case from type assignment.chriseth2018-07-101-4/+0
| | | |
| * | | Disallow empty tuple components.Daniel Kirchner2018-07-101-7/+2
| | | |
* | | | Merge pull request #4468 from ethereum/variableDeclarationClenaupchriseth2018-07-101-7/+9
|\ \ \ \ | | | | | | | | | | Remove mentions of ``var`` in VariableDeclarationStatement comment.
| * | | | Remove mentions of ``var`` in VariableDeclarationStatement comment.chriseth2018-07-101-7/+9
| | |/ / | |/| |
* | | | defaulting to v0.5.0 behaviour of unary + operator (disallow); also adapting ↵Christian Parpart2018-07-101-8/+2
| | | | | | | | | | | | | | | | all tests to it
* | | | Merge pull request #4415 from ethereum/uninitializedStoragePointerchriseth2018-07-101-4/+1
|\ \ \ \ | |_|/ / |/| | | [BREAKING] Turn uninitialized storage variables into error.
| * | | Turn uninitialized storage variables into an error.Daniel Kirchner2018-07-101-4/+1
| |/ /
* / / Check for matching number of components in ↵Daniel Kirchner2018-07-102-35/+5
|/ / | | | | | | TupleType::isImplicitlyConvertibleTo instead of the TypeChecker.
* | Enforce error on hex number combined with unit denominationLeonardo Alt2018-07-091-17/+6
| |
* | Merge pull request #4418 from ethereum/initialConstantschriseth2018-07-051-13/+4
|\ \ | | | | | | Only allow compile-time constants for constant state variables.
| * | Only allow compile-time constants for constant state variables.chriseth2018-07-041-13/+4
| |/
* | Fix allocation of byte arrays.chriseth2018-07-051-1/+1
| |
* | Merge pull request #4409 from ethereum/viewPureCheckerchriseth2018-07-042-26/+13
|\ \ | | | | | | Enforce state mutability in view pure checker.
| * | Remove v050 check for enforcing "view" in ViewPureChecker.Daniel Kirchner2018-07-042-26/+13
| |/
* / Enforcing error on msg.gas and block.blockhash()Leonardo Alt2018-07-041-27/+9
|/
* Merge pull request #4379 from ethereum/constructorArgsTwicechriseth2018-07-041-14/+5
|\ | | | | Disallow constructor arguments given multiple times.
| * Disallow constructor arguments given multiple times.chriseth2018-06-291-14/+5
| |
* | Remove constant keyword from parser.Daniel Kirchner2018-07-031-2/+9
| |
* | libsolidity: turns the var-keyword use from deprecation-warning to an error ↵Christian Parpart2018-07-031-6/+1
| | | | | | | | and include explicit type suggestion
* | Remove trailing whitespace in missing visibility warning.Daniel Kirchner2018-07-021-2/+2
| |
* | Merge pull request #4224 from ethereum/revert_wrong_calldatachriseth2018-07-023-48/+34
|\ \ | |/ |/| [BREAKING] Revert if calldata has wrong size
| * Revert if calldata is too short or points out of boundsLeonardo Alt2018-06-263-48/+34
| |
* | Merge pull request #4352 from D-Nice/developchriseth2018-06-291-1/+1
|\ \ | | | | | | Fixes storage ref var typo error from 'prefix' to 'suffix'
| * | Fixes storage ref var typo error from 'prefix' to 'suffix'D-Nice2018-06-251-1/+1
| | |
* | | Merge pull request #4097 from ethereum/noPackedExceptForPackedchriseth2018-06-285-85/+98
|\ \ \ | | | | | | | | [BREAKING] call only takes a single argument and does not pad
| * | | Also mention regular abi.encode in error message.chriseth2018-06-271-2/+8
| | | |
| * | | Fix: Call functions do not take variable arguments.chriseth2018-06-251-3/+3
| | | |
| * | | Provide better suggestions in error messages with respect to call and hash ↵chriseth2018-06-251-4/+34
| | | | | | | | | | | | | | | | functions.
| * | | Save double encode call for sha3.chriseth2018-06-251-8/+16
| | | |
| * | | Bare functions take single bytes argument.chriseth2018-06-255-94/+44
| | | |
| * | | Single bytes argument.chriseth2018-06-252-13/+32
| | | | | | | | | | | | | | | | | | | | In 0.5.0 mode, only accept a single bytes argument for ``.call``, ``keccak256`` and others and do not pad when encoding.
* | | | Remove non-0.5.0 warning for emit keyword (make it mandatory)Alex Beregszaszi2018-06-271-6/+1
| | | |
* | | | Merge pull request #4342 from rnaby/l/a/Typeschriseth2018-06-261-15/+19
|\ \ \ \ | | | | | | | | | | RationalNumberType::isImplicitlyConvertibleTo Refactor
| * | | | RationalNumberType::isImplicitlyConvertibleTo RefactorKhan M Rashedun-Naby2018-06-241-15/+19
| | |/ / | |/| |
* | | | Document the internal API of CompilerStackAlex Beregszaszi2018-06-261-6/+30
| |_|/ |/| |
* | | Pull out createCBORMetadata helperAlex Beregszaszi2018-06-262-21/+31
| |/ |/|
* | Keep the 'if it not used as an address' helper message for all cases of ↵Alex Beregszaszi2018-06-251-7/+12
| | | | | | | | address related warnings
* | Better wording for invalid address literal errorAlex Beregszaszi2018-06-251-2/+4
| |
* | Change invalid (not exactly 160 bits long) address literal to errorJason Cobb2018-06-251-4/+11
| |
* | Disallow implicit conversion from rational (literal) to addressJason Cobb2018-06-251-2/+4
|/
* Disallow the years unit denomination properlyAlex Beregszaszi2018-06-221-12/+4
|
* Merge pull request #4301 from rnaby/TypeCheckerchriseth2018-06-221-5/+3
|\ | | | | Simplification of typeSupportedByOldABIEncoder
| * Simplification of typeSupportedByOldABIEncoderKhan M Rashedun-Naby2018-06-211-5/+3
| |
* | Merge pull request #4326 from ethereum/compilerstack-cleanupchriseth2018-06-211-9/+10
|\ \ | | | | | | Properly catch optimizer/assembly exception in CompilerStack
| * | Properly catch optimizer/assembly exception in CompilerStackAlex Beregszaszi2018-06-211-9/+10
| | |
* | | Merge pull request #4306 from ethereum/remove_050_workaround_scopingchriseth2018-06-214-36/+23
|\ \ \ | | | | | | | | [BREAKING] C99 scoping rules by default (remove 050 workaround)
| * | | C99 scoping rules by defaultLeonardo Alt2018-06-204-36/+23
| | | |
* | | | Merge pull request #4219 from ethereum/functionTypeNamedArgumentsAlex Beregszaszi2018-06-211-1/+1
|\ \ \ \ | |_|/ / |/| | | Turn named return parameters in function types into an error.
| * | | Return parameters in function types may not be named.Daniel Kirchner2018-06-181-1/+1
| | |/ | |/|
* | | CompilerStack absolutePath/sanitizePath can be made staticAlex Beregszaszi2018-06-202-3/+3
| | |
* | | Reorder some of the flow in CompilerStack::compileContract for readabilityAlex Beregszaszi2018-06-201-3/+9
| |/ |/|
* | Disallow raw callcode (was deprecated in 0.4.12)Alex Beregszaszi2018-06-201-12/+4
|/
* Change commentsAlex Beregszaszi2018-06-144-6/+6
|
* JuliaType -> YulTypeAlex Beregszaszi2018-06-143-11/+11
|
* Rename internal variableAlex Beregszaszi2018-06-142-7/+7
|
* Rename JULIA/IULIA to Yul in assembly interfaceAlex Beregszaszi2018-06-145-22/+22
|
* Enforce disallowing empty structsChristian Parpart2018-06-141-8/+2
| | | | | | | | 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.
* Merge pull request #4272 from ethereum/assert-break-continuechriseth2018-06-131-4/+4
|\ | | | | Fail if break/continue statements are used outside for/while loops in ContractCompiler
| * Fail if break/continue statements are used outside for/while loops in ↵Alex Beregszaszi2018-06-121-4/+4
| | | | | | | | ContractCompiler
* | Properly pad data from calldata.chriseth2018-06-131-6/+11
| |
* | Disallow sha3/suicide aliasesAlex Beregszaszi2018-06-131-10/+2
| |
* | Merge pull request #3627 from ethereum/additional-keywordsAlex Beregszaszi2018-06-121-1/+20
|\ \ | | | | | | [BREAKING] Add new reserved keywords.
| * | Add new reserved keywords.Daniel Kirchner2018-06-121-1/+20
| | |
* | | Merge pull request #4277 from ethereum/signedRightShiftDaniel Kirchner2018-06-121-2/+7
|\ \ \ | | | | | | | | Signed Right Shift: Additional test and more explanation.
| * | | Additional test and more explanation.Daniel Kirchner2018-06-121-2/+7
| |/ /
* | | Merge pull request #4229 from ethereum/smt_storage_vars_refactorchriseth2018-06-124-68/+65
|\ \ \ | |/ / |/| | Refactoring how storage and local variables are managed.
| * | Refactoring Declaration -> VariableDeclaration (more precise)Leonardo Alt2018-06-124-43/+42
| | |
| * | Review commentsLeonardo Alt2018-06-122-10/+8
| | |
| * | Refactoring how storage and local variables are managed.Leonardo Alt2018-06-122-29/+29
| |/
* | Extend explanatory remark and argue using bitwise operations instead of ↵Daniel Kirchner2018-06-121-6/+14
| | | | | | | | rounding.
* | Use proper SAR for signed right shifts and emulate on pre-constantinople.Daniel Kirchner2018-06-122-6/+30
|/
* Introduces emit token and removes identifier workaround.Erik Kundt2018-06-122-3/+7
|
* Use boost::multiprecision::pow explicitlyAlex Beregszaszi2018-06-121-10/+7
|
* Show named argument name in errorAlex Beregszaszi2018-06-061-1/+1
|
* Merge pull request #4208 from ethereum/extract-name-and-type-testschriseth2018-06-051-2/+2
|\ | | | | Extract name and type tests
| * Fix view/pure error ordering problem.chriseth2018-06-041-2/+2
| |
* | Merge pull request #4213 from ethereum/fixpopchriseth2018-06-041-0/+2
|\ \ | | | | | | Fix bug related to byte array pop.
| * | Fix bug related to byte array pop.chriseth2018-05-311-0/+2
| |/
* / Remove suicide and sha3 assembly instructionsJason Cobb2018-06-041-5/+0
|/
* Merge pull request #4172 from ethereum/trailing_dotchriseth2018-05-311-1/+7
|\ | | | | [BREAKING] Disallow trailing dot not followed by number
| * Disallow trailing dots that are not followed by a numberLeonardo Alt2018-05-301-1/+7
| |
* | Merge pull request #3743 from ethereum/popStorageArraychriseth2018-05-315-3/+112
|\ \ | |/ |/| pop() for storage arrays
| * Fixes assembly bug and adds tests to cover it.Erik Kundt2018-05-301-5/+4
| |
| * Adds syntax tests, documentation and changelog entry.Erik Kundt2018-05-302-2/+2
| | | | | | | | Refines comment for array utility function.
| * Improves assembly and adds more tests.Erik Kundt2018-05-304-34/+15
| |
| * Implements pop() for byte arrays.Erik Kundt2018-05-291-10/+65
| |
| * Implements pop() for value type arrays.bitshift2018-05-295-1/+75
| |
* | Allow using `calldata` keyword to specify data locationmingchuan2018-05-307-19/+65
|/
* Merge pull request #4173 from sifmelcara/add/allow-storage-calldata-suffixchriseth2018-05-292-15/+30
|\ | | | | Allow data location suffix for internal elementary type parsing
| * Allow data location suffix for internal elementary type parsingmingchuan2018-05-222-15/+30
| |
* | Merge pull request #4067 from ethereum/050chriseth2018-05-244-26/+28
|\ \ | |/ |/| [BREAKING] Version 0.5.0
| * Update control flow graph.Daniel Kirchner2018-05-171-5/+4
| |
| * Fix continue inside do-while.Daniel Kirchner2018-05-171-12/+16
| |
| * Disallow conversions between bytesX and uintY of different size.Daniel Kirchner2018-05-171-3/+6
| |
| * Bool variables should not allow arithmetic comparisonLeonardo Alt2018-05-172-6/+2
| |
* | Fix assert message about function visibilitymingchuan2018-05-201-2/+2
| |
* | Avoid "unneccesary parentheses in declaration of" warning with keeping a ↵Julius Huelsmann2018-05-171-1/+3
| | | | | | | | temporary variable.
* | Do not catch exceptions by value in StandardCompilerJulius Huelsmann2018-05-171-2/+2
|/
* Split warning for multi arguments for hash functionsAlex Beregszaszi2018-05-161-10/+12
|
* Warn/enforce single bytes argument for certain builtins (hashing functions).chriseth2018-05-162-0/+43
| | | | | In 0.5.0 mode, only accept a single bytes argument for ``.call``, ``keccak256`` and others and do not pad when encoding.
* Add assert about source location.chriseth2018-05-161-0/+1
|
* Parse multi variable declaration statement.chriseth2018-05-161-8/+75
|
* Merge pull request #4139 from ethereum/abiEncodeIsPurechriseth2018-05-153-3/+10
|\ | | | | ABI encoding functions are pure and should be usable in constants.
| * ABI encoding functions are pure and should be usable in constants.chriseth2018-05-153-3/+10
| |
* | Merge pull request #3947 from ethereum/smt_storagechriseth2018-05-153-5/+44
|\ \ | |/ |/| [SMTChecker] Support to integer and Bool storage vars
| * [SMTChecker] Declaring all state vars before any function is visitedLeonardo Alt2018-05-152-2/+15
| |
| * [SMTChecker] Support to integer and Bool storage varsLeonardo Alt2018-05-153-5/+31
| |
* | Merge pull request #4062 from ethereum/revert-variablechriseth2018-05-152-1/+4
|\ \ | |/ |/| Fix revert with reason coming from a string variable
| * Fix revert with reason coming from a string variableAlex Beregszaszi2018-05-092-1/+4
| |
* | Add control flow analyzer and test for uninitialized storage returns.Daniel Kirchner2018-05-153-0/+217
| |
* | Add control flow graph.Daniel Kirchner2018-05-155-0/+806
| |
* | Fix link error when using boost shared librarymingchuan2018-05-111-1/+1
| |
* | Assert that mandatory fields in the AST are present in AsmAnalysisAlex Beregszaszi2018-05-101-0/+10
|/
* Merge pull request #4047 from ethereum/refactorToMultiAlex Beregszaszi2018-05-092-38/+74
|\ | | | | Refactor to allow implementing multi variable declarations.
| * Assert integrity of empty IndexAccessPath structure.chriseth2018-05-092-1/+11
| |
| * Further refactor.chriseth2018-05-092-17/+43
| |
| * Refactor expression parser.chriseth2018-05-092-21/+21
| |
* | Use the entire token as source location for parser errors.Daniel Kirchner2018-05-091-2/+2
|/
* Merge pull request #4054 from ethereum/token-nameschriseth2018-05-094-33/+33
|\ | | | | Improve parser error messages
| * Have more uniform parser errorsAlex Beregszaszi2018-05-042-5/+5
| |
| * More user friendly output in case of Identifier and Token keywordsAlex Beregszaszi2018-05-041-16/+17
| |
| * Remove code duplication in expectTokenAlex Beregszaszi2018-05-041-23/+11
| |
| * Introduce Token::friendlyName() helperAlex Beregszaszi2018-05-042-5/+16
| |
| * Display nicer error messages in the parser (display tokens and not internal ↵Alex Beregszaszi2018-05-041-11/+11
| | | | | | | | names)
* | Deprecate wildcard assignments.chriseth2018-05-081-8/+49
| |
* | fixed grammar in error in CompilerUtils.cpp line 399, 'less variables.' ↵njwest2018-05-071-3/+3
| | | | | | | | should be 'fewer variables.'
* | Merge pull request #4063 from ethereum/emit-non-eventchriseth2018-05-041-0/+1
|\ \ | |/ |/| Show proper error when trying to emit a non-event
| * Show proper error when trying to emit a non-eventAlex Beregszaszi2018-05-041-0/+1
| |
* | Merge pull request #4059 from ethereum/parser-simplifychriseth2018-05-044-38/+8
|\ \ | | | | | | Simplify the parser expectations
| * | Simplify expectIdentifierToken by using expectTokenAlex Beregszaszi2018-05-044-23/+6
| | |
| * | Remove useless helper expectAssignmentOperator in parserAlex Beregszaszi2018-05-042-15/+2
| |/
* | Change bytes to unsigned in FixedBytesTypedaniel2018-05-043-8/+7
| |
* | Change numBits to unsigned IntegerTypeAlex Beregszaszi2018-05-033-9/+10
| |
* | Change totalBits and fractionalDigits to unsigned in FixedPointTypeAlex Beregszaszi2018-05-032-8/+8
|/
* Merge pull request #3797 from ethereum/shift-constantinoplechriseth2018-05-028-52/+123
|\ | | | | Use native shift instructions on Constantinople
| * Support shifts in gas estimatorAlex Beregszaszi2018-05-011-5/+14
| |
| * Removed signed shift right from the utilities.chriseth2018-05-016-24/+24
| |
| * Do not use SAR instead of SDIV in shifts because it rounds differentlyAlex Beregszaszi2018-05-013-7/+10
| |
| * Use native shift instructions in ABIFunctions on ConstantinopleAlex Beregszaszi2018-05-013-26/+70
| |
| * Use native shift instructions on ConstantinopleAlex Beregszaszi2018-05-012-4/+19
| |
* | Revert "BREAKING: Bool variables should not allow arithmetic comparison"chriseth2018-05-022-2/+6
| |
* | Merge pull request #4003 from ethereum/bool_vars_comparisonchriseth2018-05-022-6/+2
|\ \ | | | | | | BREAKING: Bool variables should not allow arithmetic comparison
| * | Bool variables should not allow arithmetic comparisonLeonardo Alt2018-04-272-6/+2
| | |
* | | Add virtual destructors on base classes.Alexander Arlt2018-05-025-0/+9
| |/ |/|
* | Merge pull request #3996 from ethereum/refactorParserchriseth2018-05-012-66/+73
|\ \ | | | | | | Refactor parser.
| * | Refactor parser.chriseth2018-04-262-66/+73
| |/
* | Merge pull request #4018 from ethereum/disable-bytes0chriseth2018-05-012-13/+4
|\ \ | | | | | | Disable FixedBytesType(0) aka bytes0
| * | Remove unused function smallestTypeForLiteralAlex Beregszaszi2018-04-302-11/+0
| | |
| * | Disable FixedBytesType(0) aka bytes0Alex Beregszaszi2018-04-301-2/+4
| |/
* | Merge pull request #3958 from meowingtwurtle/fixedPointTypeschriseth2018-04-302-19/+12
|\ \ | |/ |/| Types class changes for fixed points
| * Remove category check in FixedPointType:binaryOperatorResult as commonType ↵Alex Beregszaszi2018-04-211-11/+0
| | | | | | | | handles the same
| * Types changes for fixed pointsJason Cobb2018-04-212-13/+17
| |
* | Add virtual destructor in LValue class.Alexander Arlt2018-04-251-0/+1
| |
* | Merge pull request #3981 from ethereum/years-suffixchriseth2018-04-241-0/+16
|\ \ | | | | | | The "year" denomination is deprecated
| * | The "year" denomination is deprecatedAlex Beregszaszi2018-04-231-0/+16
| | |
* | | Merge pull request #3970 from elopio/test/docstring-tag-endAlex Beregszaszi2018-04-241-1/+1
|\ \ \ | | | | | | | | docstring: add missing space
| * | | docstring: add missing spaceLeo Arias2018-04-241-1/+1
| | |/ | |/|
* | | Merge pull request #3976 from ethereum/emptyTupleComponentchriseth2018-04-231-0/+13
|\ \ \ | |_|/ |/| | Empty tuple components should not be possible
| * | Treats inline array as an error.Erik Kundt2018-04-231-0/+2
| | |
| * | Turns it into warning (error for 0.5.0) and adds Changelog entry.Erik Kundt2018-04-231-1/+8
| | |
| * | Prevents null type from being used in tuple.Erik Kundt2018-04-221-0/+4
| |/
* / Turn deprecated warnings for sha3/suicide into errors (experimental 0.5.0)Alex Beregszaszi2018-04-211-2/+10
|/
* Make literals an error for tight packing (experimental 0.5.0)Alex Beregszaszi2018-04-201-8/+18
|
* Merge pull request #3943 from ethereum/smt_remove_branch_warningchriseth2018-04-202-10/+10
|\ | | | | [SMTChecker] Remove 'information is erase' message for if-else
| * [SMTChecker] Remove 'information is erase' message for if-elseLeonardo Alt2018-04-192-10/+10
| |
* | Merge pull request #3941 from ethereum/bytes-contractchriseth2018-04-191-1/+0
|\ \ | | | | | | Disallow explicit conversion of bytesXX to contract
| * | Disallow explicit conversion of bytesXX to contractAlex Beregszaszi2018-04-191-1/+0
| |/
* / Improve error message for failed member lookup.chriseth2018-04-191-11/+16
|/
* Merge pull request #3923 from ethereum/warnConstructorAlex Beregszaszi2018-04-191-1/+6
|\ | | | | Warn about functions named "constructor".
| * Warn about functions named "constructor".chriseth2018-04-191-1/+6
| |
* | Merge pull request #3922 from ethereum/smt_sol_unimplementedassertAlex Beregszaszi2018-04-191-2/+2
|\ \ | |/ |/| [SMTChecker] Using solUnimplementedAssert instead of solAssert
| * [SMTChecker] Using solUnimplementedAssert instead of solAssert when applicableLeonardo Alt2018-04-181-2/+2
| |
* | Fix name clashes between constructor and fallback function.chriseth2018-04-181-47/+45
|/
* [SMTChecker] Integration with CVC4Leonardo Alt2018-04-177-22/+310
|
* Merge pull request #3868 from ethereum/bytescleanupchriseth2018-04-162-12/+10
|\ | | | | Properly force-clean for shortening bytesXX conversions.
| * Remove redundant cleanup for abi.encode.Alex Beregszaszi2018-04-161-2/+1
| |
| * Properly force-clean for shortening bytesXX conversions.chriseth2018-04-161-10/+9
| |
* | Merge pull request #3793 from ethereum/rationalNumberLimitchriseth2018-04-161-20/+160
|\ \ | |/ |/| Rational number limit
| * Limits rational numbers to 4096 bits.Erik Kundt2018-04-161-20/+160
| |
* | Merge pull request #3880 from ethereum/addressMemberDocAndWarnchriseth2018-04-161-1/+2
|\ \ | | | | | | Improve documentation and warning about accessing contract members in…
| * | Improve documentation and warning about accessing contract members inherited ↵Daniel Kirchner2018-04-141-1/+2
| |/ | | | | | | from address.
* | Merge pull request #3875 from ethereum/constructorSelfRefchriseth2018-04-141-4/+26
|\ \ | |/ |/| Stricter check for "this" in constructor.
| * Stricter check for member access to "this" in constructor.Daniel Kirchner2018-04-131-4/+26
| |
* | Uses short string representation of TypePointerErik Kundt2018-04-132-9/+9
| |
* | Merge pull request #3364 from ethereum/revertWithReasonchriseth2018-04-1312-27/+107
|\ \ | | | | | | Revert with reason
| * | Use error signature for revert data.chriseth2018-04-123-20/+24
| | |
| * | Only forward returndata if EVM version supports it.chriseth2018-04-122-1/+3
| | |
| * | Bubble up error messages.chriseth2018-04-125-11/+26
| | |
| * | Allow error string for ``require``.chriseth2018-04-122-0/+27
| | |
| * | Code generator for revert with reason string.chriseth2018-04-121-1/+18
| | |
| * | Register overload for ``revert()`` that can receive a reason string.chriseth2018-04-122-1/+4
| | |
| * | Allow function overloads involving MagicVariableDeclarations.chriseth2018-04-124-7/+18
| | |
| * | Use FunctionTypePointer (adds ``const``).chriseth2018-04-122-7/+8
| |/
* | Merge pull request #2980 from ethereum/abi-apichriseth2018-04-136-14/+195
|\ \ | | | | | | Add abi.encode and abi.encodePacked
| * | Allow struct encoding with new encoder.chriseth2018-04-121-7/+18
| | |
| * | Check partial function parameters if rest is arbitrary.chriseth2018-04-121-3/+14
| | |
| * | Add abi.encode, abi.encodePacked, abi.encodeWithSelector and ↵Alex Beregszaszi2018-04-125-4/+163
| | | | | | | | | | | | abi.encodeWithSignature.
* | | Fix internal compiler error when parsing ``var`` declaration without identifier.Daniel Kirchner2018-04-121-2/+4
| |/ |/|
* | Merge pull request #3848 from ethereum/constantDivisionByZerochriseth2018-04-123-0/+47
|\ \ | |/ |/| Error on invalid arithmetic with constant expressions.
| * Error on invalid arithmetic with constant expressions.Daniel Kirchner2018-04-123-0/+47
| |
* | Properly cope with constructor headers.chriseth2018-04-121-3/+6
| |
* | Warn if modifiers are applied to functions without implementation.chriseth2018-04-122-4/+11
| |
* | Fix state variable parsing.chriseth2018-04-121-0/+8
| |
* | Merge pull request #3863 from ethereum/fixGasEstimationchriseth2018-04-121-1/+8
|\ \ | |/ |/| Correctly ignore costs of fallback for other functions.
| * Correctly ignore costs of fallback for other functions.chriseth2018-04-121-1/+8
| |
* | Fix ConstantEvaluator to correctly handle single element tuples.Daniel Kirchner2018-04-122-0/+7
|/
* Merge pull request #3309 from ethereum/limit-errorschriseth2018-04-114-78/+123
|\ | | | | Limit the number of errors output in a single run to 256
| * Do not abort excessive warnings, just ignore them.Alex Beregszaszi2018-04-062-15/+38
| |
| * Ignore warnings when limited errors to 256Alex Beregszaszi2018-04-061-3/+10
| |
| * reindentAlex Beregszaszi2018-04-061-70/+69
| |
| * Catch FatalError in CompilerStack::analysis to cover all the analysis testsAlex Beregszaszi2018-04-062-11/+11
| |
| * Limit the number of errors output in a single run to 256Alex Beregszaszi2018-04-062-0/+16
| |
* | Fix bug in typechecking when comparing rational literalsJason Cobb2018-04-111-3/+3
| |
* | Error when using no parentheses in modifier-style constructor calls.Daniel Kirchner2018-04-106-18/+45
| |
* | Merge pull request #3821 from ethereum/warn-constructor-overridechriseth2018-04-105-50/+91
|\ \ | | | | | | Warn constructor override
| * | Use the most derived contract as main location in case of diamond inheritance.Daniel Kirchner2018-04-091-3/+18
| | |
| * | Move constructor argument override check to TypeChecker and reuse ↵Daniel Kirchner2018-04-097-93/+76
| | | | | | | | | | | | annotations in ContractCompiler.
| * | Allow duplicated constructor calls, if no arguments; support for multiple ↵Daniel Kirchner2018-04-091-20/+30
| | | | | | | | | | | | | | | | | | inheritance; backwards compatibility. # tmp
| * | Error on duplicated super constructor callsFederico Bond2018-04-092-0/+33
| | |
* | | Fixed typoshydai2018-04-101-6/+6
|/ /
* / Static Analyzer: Fix non-deterministic order of unused variable warnings.Daniel Kirchner2018-04-072-8/+10
|/
* Merge pull request #3831 from ethereum/memory-suffixchriseth2018-04-053-3/+15
|\ | | | | Allow ``memory`` suffix for internal elementary type parsing.
| * Allow ``memory`` suffix for internal elementary type parsing.chriseth2018-04-053-3/+15
| |
* | Merge pull request #3829 from ethereum/smt_remove_ufchriseth2018-04-056-10/+20
|\ \ | |/ |/| [SMTChecker] Remove usage of UFs to access SSA vars
| * [SMTChecker] Removing usage of UFs to access SSA indicesLeonardo Alt2018-04-056-10/+20
| |
* | Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesisDaniel Kirchner2018-04-056-35/+56
|\ \ | |/ |/| Error when using empty parentheses for base class constructors that r…
| * Error when using empty parenthesis for base class constructors that require ↵Daniel Kirchner2018-04-056-35/+56
| | | | | | | | arguments.
* | Merge pull request #3745 from ethereum/fixRecursionAlex Beregszaszi2018-04-053-30/+28
|\ \ | | | | | | Fix invalid recursion errors for structs
| * | Generalize cycle detection.chriseth2018-04-033-35/+28
| | |
| * | Fix detection of recursive structs.chriseth2018-04-031-0/+5
| | |
* | | More specific push implementation.chriseth2018-04-043-13/+71
| | |
* | | Create empty dynamic memory arrays more efficiently.chriseth2018-04-042-8/+29
| |/ |/|
* | Set isConstructor to false unconditionally and update to true later for ↵Daniel Kirchner2018-04-041-6/+4
| | | | | | | | constructors.
* | Set header.isConstructor for old style constructors in parseFunctionHeader ↵Daniel Kirchner2018-04-042-6/+16
| | | | | | | | as well.
* | Constructors are defined using the ``constructor`` keyword.Daniel Kirchner2018-04-044-8/+39
| |
* | Merge pull request #3693 from ethereum/optimizeMLOADAlex Beregszaszi2018-04-033-25/+45
|\ \ | |/ |/| Optimize across MLOAD if MSIZE is not used.
| * Optimize across MLOAD if MSIZE is not used.chriseth2018-04-033-25/+45
| |
* | Merge pull request #3699 from ethereum/interfaceExternalVisibilityAlex Beregszaszi2018-04-032-12/+13
|\ \ | | | | | | Defaults to external visibility for interfaces.
| * | Makes visibility warning more concise.Erik Kundt2018-04-031-2/+4
| | |
| * | Defaults to external visibility for interfaces.bitshift2018-04-032-12/+11
| | |
* | | Fix: Treat empty base constructor argument list as not provided.chriseth2018-04-031-3/+5
| |/ |/|
* | Set default fixed point decimal places to 18Jason Cobb2018-03-311-2/+2
| |
* | Merge pull request #3790 from ethereum/empty-structschriseth2018-03-302-0/+16
|\ \ | | | | | | Disallow empty structs