aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Collapse)AuthorAgeFilesLines
* Removing std:: from std::to_string and include for boost/lexical_castMatías Aereal Aeón2018-08-086-21/+21
|
* Replace boost:lexical_cast<std::string> for std::to_string.Matías Aereal Aeón2018-08-083-10/+10
|
* Merge pull request #4327 from ethereum/document-internalschriseth2018-08-023-2/+19
|\ | | | | Properly explain all the analsys steps in CompilerStack
| * Properly explain all the analsys steps in CompilerStackAlex Beregszaszi2018-07-313-2/+19
| |
* | Merge pull request #4522 from ethereum/fullEncodingTypechriseth2018-08-025-42/+37
|\ \ | | | | | | Isolate determining the encoding type into its own function.
| * | Isolate determining the encoding type into its own function.chriseth2018-08-015-42/+37
| | |
* | | Merge pull request #4603 from ethereum/smtlib2Alex Beregszaszi2018-08-024-18/+44
|\ \ \ | | | | | | | | [SMTLib2] Fix repeated declarations
| * | | Remove repeated declarations in Z3 and CVC4 as wellLeonardo Alt2018-08-012-7/+15
| | | |
| * | | [SMTLib2] Fix repeated declarationsLeonardo Alt2018-07-282-11/+29
| | | |
* | | | SMT model variables are sorted and printed as secondary source locationLeonardo Alt2018-08-021-3/+11
| | | |
* | | | Replace "value" by "<result>" in the SMT modelLeonardo Alt2018-08-021-3/+3
| | | |
* | | | Extend code comment about signatures.Daniel Kirchner2018-08-011-1/+2
| | | |
* | | | Do not exclude public state variables when looking for conflicting declarations.Daniel Kirchner2018-08-011-8/+1
| | | |
* | | | Merge pull request #4378 from ethereum/noBaseWithoutArgumentsAlex Beregszaszi2018-08-011-17/+7
|\ \ \ \ | | | | | | | | | | [BREAKING] Disallow calling base constructors without arguments.
| * | | | Correctly determine whether base constructor is called without parentheses.chriseth2018-08-011-11/+11
| | | | |
| * | | | Disallow calling base constructors without arguments.chriseth2018-08-011-14/+4
| | |/ / | |/| |
* / | | Guard CycleDetector against recursion exhaustion.Christian Parpart2018-08-013-3/+9
|/ / / | | | | | | | | | fixes #3935.
* | | Disallow conversion between unrelated contract types.chriseth2018-08-012-8/+7
| | |
* | | Merge pull request #4507 from ethereum/v050-var-keyword-trace-removalsAlex Beregszaszi2018-08-011-2/+19
|\ \ \ | | | | | | | | Ensures an empty use of var keyword is caught with the proper non-fatal error message
| * | | Ensures an empty use of var keyword is caught with the proper error message.Christian Parpart2018-08-011-2/+19
| | | |
* | | | Fix crash when FunctionType has undeclared type as parameterLeonardo Alt2018-07-311-1/+1
| |_|/ |/| |
* | | Import dev::solidity namespace in SMTPortfolioAlex Beregszaszi2018-07-281-0/+1
| |/ |/|
* | Fix unterminated parentheses typo in SMTLib2Alex Beregszaszi2018-07-281-1/+1
| | | | | | | | Found by @leonardoalt
* | [SMTChecker] Add CheckResult::CONFLICTINGLeonardo Alt2018-07-273-4/+10
| |
* | [SMTChecker] SMTPortfolio: use all SMT solvers availableLeonardo Alt2018-07-2711-58/+262
| |
* | Setting timeout to Z3 and CVC4Leonardo Alt2018-07-273-1/+8
| |
* | Only ask for a model if it's SATLeonardo Alt2018-07-273-3/+3
| |
* | Merge pull request #4565 from ethereum/smt-stringutils-crashAlex Beregszaszi2018-07-251-1/+9
|\ \ | | | | | | Add assert for both branches in mergeVariables in SMTChecker
| * | Add better warning on binary operation on non-integer types in SMT CheckerAlex Beregszaszi2018-07-251-1/+8
| | |
| * | Add assert for both branches in mergeVariables in SMTCheckerAlex Beregszaszi2018-07-251-0/+1
| | |
* | | More consistent catch statementsAlex Beregszaszi2018-07-252-3/+3
|/ / | | | | | | Also take const& in all cases.
* | Fix abiDecode commentLeonardo Alt2018-07-241-3/+3
| |
* | Merge pull request #4527 from ethereum/mappingEnforceStorageAlex Beregszaszi2018-07-241-1/+8
|\ \ | | | | | | Enforces explicit data location for mappings
| * | Enforces data location of local mappings to storage.Erik Kundt2018-07-241-1/+8
| | |
* | | Disallow functions without implementation to use modifiers. This was already ↵Christian Parpart2018-07-241-8/+2
| |/ |/| | | | | the case in the experimental 0.5.0 mode.
* | Do not handle `balance` member of contract types specially.chriseth2018-07-201-2/+1
| |
* | Merge pull request #4439 from ethereum/address_memberschriseth2018-07-194-108/+55
|\ \ | | | | | | [BREAKING] Enforce address members not accessible by contract instance
| * | Changes in ExpressionCompilerLeonardo Alt2018-07-192-52/+42
| | |
| * | Add suggestion to error messageLeonardo Alt2018-07-171-18/+15
| | |
| * | Address members not accessible by contract instanceLeonardo Alt2018-07-172-40/+0
| | |
* | | Adds warning if function is shadowing a contract.Erik Kundt2018-07-181-9/+1
| | |
* | | Disallows old constructor syntax.Erik Kundt2018-07-186-48/+34
| |/ |/|
* | Suggests external for fallback and interface functions.chriseth2018-07-182-1/+15
| |
* | Enforces visibility specifier and updates docs.Erik Kundt2018-07-172-11/+1
|/
* Add missing period in the end of error messagesLeonardo Alt2018-07-161-3/+3
|
* Deprecate the throw statementAlex Beregszaszi2018-07-161-12/+4
|
* enforce interface-functions to be external-declaredChristian Parpart2018-07-161-12/+4
| | | | | | | | - libsolidity: Enforce interface-functions must be external-declared. - Changelog adapted to reflect changes wrt. functions in interfaces. - test: Adjustments according to prior interface-function changes. - tests: Adapting SolidityEndToEndTest to interface-function change. - docs: Adapted documentation to interface-function change.
* Merge pull request #4501 from ethereum/recursiveStructsWithFixedArrayschriseth2018-07-131-13/+16
|\ | | | | Consider fixed-size arrays when checking for recursive structs.
| * Use CycleDetector and account for multi-dimensional arrays.Daniel Kirchner2018-07-131-19/+16
| |
| * Consider fixed size array members when checking for recursive structs.Daniel Kirchner2018-07-131-0/+6
| |
* | Disallow multi variable declarations with mismatching number of values.Daniel Kirchner2018-07-136-98/+25
|/
* Merge pull request #4437 from ethereum/report-empty-var-declschriseth2018-07-132-0/+15
|\ | | | | [BREAKING] Report empty var tuple decls
| * Generates a syntax error when declaring a variable declaration's LHS has no ↵Christian Parpart2018-07-122-0/+15
| | | | | | | | named components
* | Merge pull request #4447 from hosho/developchriseth2018-07-131-0/+7
|\ \ | | | | | | Fix NatSpec json output for "@notice" and "@dev" tags on contract definitions
| * | Fix NatSpec json output for "@notice" and "@dev" tags on contract definitions.Matt Little2018-07-121-0/+7
| |/
* | Merge pull request #4478 from ethereum/requireStorageLocationchriseth2018-07-131-13/+4
|\ \ | | | | | | Turn missing storage locations into an error.
| * | Require storage location.Daniel Kirchner2018-07-121-13/+4
| | |
* | | Merge pull request #4479 from ethereum/fixFixedPointCrashAlex Beregszaszi2018-07-121-3/+7
|\ \ \ | |_|/ |/| | Fix handling of fixed point types in arithmetics.
| * | Fix handling of fixed point types in arithmetics.chriseth2018-07-111-3/+7
| | |
* | | Merge pull request #4428 from ethereum/enforce_staticcall_viewchriseth2018-07-121-5/+1
|\ \ \ | | | | | | | | [BREAKING] Enforce STATICCALL for view and pure
| * | | Use STATICCALL for view and pureLeonardo Alt2018-07-111-5/+1
| | | |
* | | | Merge pull request #4083 from ethereum/variable_stack_slotchriseth2018-07-126-42/+129
|\ \ \ \ | |_|_|/ |/| | | [BREAKING] Allocate local variables according to their scope
| * | | Added assertion and tests suggestionsLeonardo Alt2018-07-113-3/+17
| | | |
| * | | Add more tests and assertionsLeonardo Alt2018-07-113-0/+4
| | | |
| * | | Added tests and review suggestionsLeonardo Alt2018-07-114-22/+22
| | | |
| * | | [050] Reserving and popping local vars in their scopeLeonardo Alt2018-07-114-41/+110
| | | |
* | | | Merge pull request #4443 from ethereum/double_var_decl_fixchriseth2018-07-123-1/+15
|\ \ \ \ | | | | | | | | | | Fix crash when declaring the same var twice in the same scope
| * | | | Add comment explaining new codeLeonardo Alt2018-07-111-0/+5
| | | | |
| * | | | Fix crash for double variable declaration in the same scope.Leonardo Alt2018-07-113-1/+10
| |/ / /
* | | | Merge pull request #4472 from ethereum/complexCalldataArraysNotYetImplementedchriseth2018-07-121-1/+2
|\ \ \ \ | | | | | | | | | | Throw unimplemented exception for complex calldata arrays.
| * | | | Throw unimplemented exception for complex calldata arrays.chriseth2018-07-111-1/+2
| | | | |
* | | | | Merge pull request #4480 from ethereum/fixZeroWithExponentchriseth2018-07-121-8/+11
|\ \ \ \ \ | | | | | | | | | | | | Fix literals with exponents with mantissa of zero.
| * | | | | Fix literals with exponents with mantissa of zero.Daniel Kirchner2018-07-111-8/+11
| | |_|_|/ | |/| | |
* | | | | Merge pull request #4404 from ethereum/v050-var-keyword-suggestChristian Parpart2018-07-113-19/+63
|\ \ \ \ \ | |/ / / / |/| | | | [WIP] v0.5.0 var keyword type suggestion
| * | | | Coding style.chriseth2018-07-111-23/+18
| | | | |
| * | | | semantics: Suggest auto-deduced type when user declares variable with `var` ↵Christian Parpart2018-07-113-19/+68
| | | | | | | | | | | | | | | | | | | | keyword.
* | | | | Merge pull request #4454 from ethereum/constructorArgCountchriseth2018-07-111-24/+9
|\ \ \ \ \ | |_|_|_|/ |/| | | | [BREAKING] Wrong argument count in constructor call
| * | | | Improves error with suggestion to remove parantheses.Erik Kundt2018-07-111-1/+1
| | | | |
| * | | | 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 #4388 from ethereum/noPackedLiteralschriseth2018-07-112-17/+13
|\ \ \ \ | | | | | | | | | | Disallow packed encoding of literals.
| * | | | Disallow packed encoding of literals.chriseth2018-07-032-17/+13
| | | | |
* | | | | Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-1114-18/+18
| |/ / / |/| | | | | | | | | | | Refs: #4442
* | | | 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
|/