aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Collapse)AuthorAgeFilesLines
* Fix time constantsHEADv0.5.3releasedevelopHsuan Lee2019-04-131-6/+8
|
* Add opcode RAND supportWei-Ning Huang2019-04-133-2/+9
| | | | | | DEXON has a built-in on chain random oracle that allow one to retrieve a random variable. Add `rand` solidity variable is introduced to load the random variable onto the stack.
* Merge pull request #5832 from ethereum/introduceEncodingOptionschriseth2019-01-222-49/+87
|\ | | | | [REF] Provide ABI encoding options as single struct parameter.
| * Provide ABI encoding options as single struct parameter.chriseth2019-01-212-49/+87
| |
* | [SMTChecker] Clear state knowledge after external function callsLeonardo Alt2019-01-212-11/+28
|/
* Merge pull request #5717 from ethereum/smt_typecastchriseth2019-01-212-1/+45
|\ | | | | [SMTChecker] Support basic typecast without truncation
| * [SMTChecker] Support basic typecastLeonardo Alt2019-01-162-1/+45
| |
* | Disallow calldata structs.Daniel Kirchner2019-01-211-0/+10
| |
* | Merge pull request #5817 from ethereum/refactoringAlex Beregszaszi2019-01-184-20/+28
|\ \ | | | | | | Refactoring in TypeChecker and ContractDefinition
| * | Refactor TypeChecker::visit(FunctionDefinition const&).Daniel Kirchner2019-01-181-12/+20
| | |
| * | Add ContractDefinition::isInterface.Daniel Kirchner2019-01-184-8/+8
| |/
* | Merge pull request #5775 from ethereum/codeAccesschriseth2019-01-1822-66/+316
|\ \ | | | | | | Provide access to code of contract types.
| * | Do not create a copy of the assembly.chriseth2019-01-186-14/+22
| | |
| * | Add helper to show if contract can be deployed.chriseth2019-01-184-6/+11
| | |
| * | Warn if type(..).runtimeCode is used with assembly in the constructor.chriseth2019-01-182-1/+70
| | |
| * | Add code access dependency.chriseth2019-01-181-3/+14
| | |
| * | Code generation for access to contract code.chriseth2019-01-1813-44/+99
| | |
| * | Syntax for meta type information.chriseth2019-01-188-11/+113
| |/
* | Change error message and add testsLeonardo Alt2019-01-171-1/+1
| |
* | Return TypeError is fixed point encoding is attempted.Leonardo Alt2019-01-171-1/+10
|/
* Warn about unreachable code.Daniel Kirchner2019-01-105-11/+74
|
* Make the dialect available everywhere.chriseth2019-01-071-1/+1
|
* Merge pull request #5681 from ethereum/limitOutputchriseth2018-12-202-20/+100
|\ | | | | Do not compile unless requested.
| * Do not include empty JSON objects in output.chriseth2018-12-191-6/+10
| |
| * Only fully compile if binaries requested.chriseth2018-12-191-9/+40
| |
| * Some more compiler state tests.chriseth2018-12-191-5/+50
| |
* | make use of C++ `= default` constructor declarations as well as more ↵Christian Parpart2018-12-196-8/+11
| | | | | | | | non-static member initialization syntax.
* | liblangutil: SourceLocation to default initialize data members (w/o the use ↵Christian Parpart2018-12-191-1/+1
|/ | | | | | of ctor) See: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c45-dont-define-a-default-constructor-that-only-initializes-data-members-use-in-class-member-initializers-instead
* Merge pull request #5686 from ethereum/someStylechriseth2018-12-191-4/+6
|\ | | | | Formatting.
| * Formatting.chriseth2018-12-191-4/+6
| |
* | Merge pull request #5637 from ethereum/better-json-error-reportingchriseth2018-12-191-13/+77
|\ \ | |/ |/| Json: Provide better error message when 'settings' is not an object
| * Json: Provide better error messages for wrong typesMathias Baumann2018-12-191-13/+77
| |
* | Merge pull request #5679 from ethereum/hashCachechriseth2018-12-192-8/+25
|\ \ | | | | | | Cache hash computations.
| * | Cache hash computations.chriseth2018-12-182-8/+25
| |/
* | Merge pull request #5664 from ethereum/cmakeUpdateschriseth2018-12-191-4/+2
|\ \ | | | | | | Use imported CMake targets.
| * | Use imported CMake targets.Daniel Kirchner2018-12-171-4/+2
| | |
* | | Add version pragma parsing to ParserAlex Beregszaszi2018-12-183-1/+27
| |/ |/|
* | Merge pull request #5625 from ethereum/single-checkchriseth2018-12-181-10/+41
|\ \ | | | | | | Do check for callvalue only once if no payable functions
| * | Only generate sort/search code when interface functions existMathias Baumann2018-12-181-10/+41
| | |
* | | Merge pull request #5671 from ethereum/sort_includes_interfacechriseth2018-12-1814-45/+49
|\ \ \ | | | | | | | | Sort includes in libsolidity/interface
| * | | Sort includes in libsolidity/interfaceLeonardo Alt2018-12-1814-45/+49
| | | |
* | | | Sort includes in libsolidity/parsingLeonardo Alt2018-12-183-6/+23
|/ / /
* / / Sort includes in libsolidity/formalLeonardo Alt2018-12-1814-36/+11
|/ /
* | Merge pull request #5665 from ethereum/cmakeHeaderschriseth2018-12-181-2/+56
|\ \ | | | | | | Add headers to targets in CMakeLists.txt.
| * | Add headers to targets in CMakeLists.txt.Daniel Kirchner2018-12-171-2/+56
| |/
* | Merge pull request #5667 from ethereum/sort_includes_codegenchriseth2018-12-1816-54/+52
|\ \ | | | | | | Sort includes in libsolidity/codegen
| * | Sort includes in libsolidity/codegenLeonardo Alt2018-12-1816-54/+52
| | |
* | | Sort includes in libsolidity/astLeonardo Alt2018-12-1711-31/+29
|/ /
* | Merge pull request #5388 from ethereum/smt_mappingchriseth2018-12-177-16/+178
|\ \ | | | | | | [SMTChecker] Support for mapping
| * | Clear all mapping knowledge after array variable assignmentLeonardo Alt2018-12-142-4/+38
| | |
| * | [SMTChecker] Support to mappingLeonardo Alt2018-12-147-15/+143
| |/
* / Sort includes in libsolidity/analysisLeonardo Alt2018-12-1722-41/+44
|/
* Merge pull request #5624 from ethereum/standard_json_unknown_keyschriseth2018-12-131-0/+68
|\ | | | | Disallow unknown JSON keys in standard-json
| * Disallow unknown JSON keys in standard-jsonLeonardo Alt2018-12-131-0/+68
| |
* | Merge pull request #5638 from ethereum/header-guardchriseth2018-12-131-0/+2
|\ \ | |/ |/| Add missing header guards
| * Add missing header guardsAlex Beregszaszi2018-12-121-0/+2
| |
* | Merge pull request #5630 from ethereum/warn_functions_empty_bodychriseth2018-12-132-14/+15
|\ \ | |/ |/| Supress unused var and state mut warnings for functions with empty body
| * Disable state mutability warning for functions with empty bodyLeonardo Alt2018-12-121-0/+1
| |
| * Disable unused var warning for functions with empty bodyLeonardo Alt2018-12-121-14/+14
| |
* | Refactoring of the ControlFlowGraph and use for detecting all uninitialized ↵Daniel Kirchner2018-12-126-326/+348
|/ | | | storage accesses.
* Codegen for object access.chriseth2018-12-127-11/+39
|
* Provide Dialect to EVMCodeTransform.chriseth2018-12-122-3/+3
|
* Merge pull request #5454 from ethereum/smt_math_functionschriseth2018-12-124-85/+133
|\ | | | | [SMTChecker] Abstract math functions
| * [SMTChecker] Use SymbolicFunctionVariable for uninterpreted functionsLeonardo Alt2018-12-114-85/+133
| |
* | Merge pull request #4779 from ethereum/optimise-string-literalschriseth2018-12-121-1/+1
|\ \ | |/ |/| Decide better in storing string literals as data
| * Set codecopy limit for data to 32 bytes.chriseth2018-12-111-1/+1
| |
* | Merge pull request #5619 from ethereum/cleanup-abcchriseth2018-12-117-56/+49
|\ \ | | | | | | Some code cleanup
| * | Replace push_back with emplace_back where it makes senseMathias Baumann2018-12-117-56/+49
| |/
* / Add tests for implcit conversions from literals to fixed-point numbers.Yi Huang2018-12-112-54/+68
|/
* Merge pull request #5008 from liangdzou/yul_stack_reusechriseth2018-12-104-6/+11
|\ | | | | Reuse stack slots in Yul codegen
| * Reuse stack slots in Yul to EVM code generation.liangdzou2018-12-104-6/+11
| |
* | [SMTChecker] Introduce SymbolicFunctionVariableLeonardo Alt2018-12-102-1/+56
|/
* Adds more detailed type errors and tests.Erik Kundt2018-12-071-4/+4
|
* Adds an additional message to failing type conversions.Erik Kundt2018-12-072-9/+8
|
* Merge pull request #4936 from ethereum/binSelectchriseth2018-12-073-6/+81
|\ | | | | Binary search for dispatch.
| * Binary search for dispatch.chriseth2018-12-063-6/+81
| |
* | Merge pull request #5587 from ethereum/yulCodeBuiltinschriseth2018-12-061-1/+1
|\ \ | | | | | | Builtin functions to access Yul objects.
| * | Provide Yul Object builtins.chriseth2018-12-041-1/+1
| | |
* | | Analyze and compile sub-objects.chriseth2018-12-062-7/+34
| | |
* | | Extend abstract assembly to be able to handle sub-objects.chriseth2018-12-062-0/+42
| | |
* | | Expose EthAssemblyAdapter.chriseth2018-12-062-91/+128
| | |
* | | Merge pull request #5554 from ethereum/cp-SourceReferenceFormatter-refactorchriseth2018-12-062-17/+8
|\ \ \ | |_|/ |/| | [2/3] Refactor SourceReferenceFormatter (split-out data extraction & make use of new SourceLocation knowledge)
| * | liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and ↵Christian Parpart2018-12-062-17/+8
| | | | | | | | | | | | making use of new SourceLocation's CharStream knowledge
* | | Merge pull request #5514 from corollari/developchriseth2018-12-061-4/+3
|\ \ \ | | | | | | | | Remove unary + from the type system
| * | | Fix #5470Albert2018-12-061-4/+3
| | | | | | | | | | | | | | | | Remove unary + from the type system
* | | | Restrict toHex to `bytes`.chriseth2018-12-062-2/+2
|/ / /
* | | add a 'readable' format for large hex valuesKevin Kelley2018-12-061-3/+5
| | |
* | | Merge pull request #5591 from ethereum/smt_simplify_sortchriseth2018-12-062-29/+19
|\ \ \ | | | | | | | | [SMTChecker] Simplify symbolic variables
| * | | [SMTChecker] Simplify symbolic variablesLeonardo Alt2018-12-052-29/+19
| |/ /
* | | Simplifies Result<T> and prevents undefined behaviour.Erik Kundt2018-12-051-3/+3
| | |
* | | Introduces Result<T> for operator and implicit conversion type checks.Erik Kundt2018-12-053-102/+105
|/ /
* | Merge pull request #5390 from ethereum/smt_one_loopchriseth2018-12-051-10/+40
|\ \ | | | | | | [SMTChecker] Unroll loops once
| * | [SMTChecker] Loops are unrolled onceLeonardo Alt2018-12-041-10/+40
| | |
* | | Switch namespaces.chriseth2018-12-044-8/+12
| | |
* | | Remove some includes.chriseth2018-12-041-9/+0
| | |
* | | Adjust include paths.chriseth2018-12-045-10/+7
| | |
* | | Move AsmCodeGen.chriseth2018-12-043-0/+218
| |/ |/|
* | Introduce the concept of builtin functions.chriseth2018-12-044-11/+18
|/
* Fix internal compiler error for unimplemented base contract function.Anurag Dashputre2018-12-031-1/+2
|
* Merge pull request #5341 from ethereum/optimizeAssemblyCommandlinechriseth2018-12-032-0/+12
|\ | | | | Apply the optimize commandline parameter to assembly mode.
| * Apply the optimize commandline parameter to assembly mode.chriseth2018-12-012-0/+12
| |
* | Merge pull request #5568 from ethereum/smt_remove_unary_pluschriseth2018-12-031-3/+0
|\ \ | | | | | | [SMTChecker] Remove unary plus operator
| * | [SMTChecker] Remove unary plus operatorLeonardo Alt2018-12-031-3/+0
| | |
* | | Merge pull request #5557 from ↵chriseth2018-12-031-21/+32
|\ \ \ | |/ / |/| | | | | | | | ethereum/fixInterfaceImplementedByPublicStateVariable Public state variables are implementing external functions.
| * | Public state variables are implementing external functions.chriseth2018-12-031-21/+32
| |/
* | Merge pull request #5537 from ethereum/cp-SourceLocation-related-refactoringchriseth2018-12-017-17/+17
|\ \ | |/ |/| [1/3] SourceLocation related refactoring.
| * liblangutil: Scanner: remove superfluous sourceName field (it's in ↵Christian Parpart2018-12-013-4/+4
| | | | | | | | | | | | | | CharStream already) Also, ParserBase::sourceName() was dead code. Eliminating it should increase test coverage (how sneaky) :-)
| * liblangutil: SourceLocation: adds (shared) pointer to underlying CharStream ↵Christian Parpart2018-12-015-13/+13
| | | | | | | | | | | | source, eliminating sourceName Also, adapted affecting code to those changes.
| * liblangutil: extends CharStream to know about the respective (file-)name ↵Christian Parpart2018-11-293-4/+4
| | | | | | | | (and adapt codebase to it)
* | Merge pull request #5528 from ethereum/smt_sorts_virtualchriseth2018-11-301-6/+16
|\ \ | | | | | | [SMTChecker] Make smt::Sort::operator== virtual
| * | [SMTChecker] Make smt::Sort::operator== virtualLeonardo Alt2018-11-301-6/+16
| | |
* | | Move library related checks.chriseth2018-11-304-16/+16
| | |
* | | Move hash collisions checks.chriseth2018-11-303-13/+18
| | |
* | | Move external type clash check.chriseth2018-11-304-40/+40
| | |
* | | Move fallback function checks.chriseth2018-11-303-20/+25
| | |
* | | Move constructor checks.chriseth2018-11-303-16/+21
| | |
* | | Rename functions.chriseth2018-11-302-15/+15
| | |
* | | No need to visit structs early.chriseth2018-11-301-7/+1
| | |
* | | Move base constructor argument checks.chriseth2018-11-304-93/+97
| | |
* | | Move abstract function check.chriseth2018-11-304-46/+46
| | |
* | | Move override checks.chriseth2018-11-304-87/+88
| | |
* | | Move duplication checks.chriseth2018-11-304-92/+93
| | |
* | | Add skeleton for contract level checker.chriseth2018-11-304-2/+113
|/ /
* | Merge pull request #5548 from ethereum/fixMemberAccesschriseth2018-11-301-3/+3
|\ \ | | | | | | Fix bug related to state variables of function type accessed via base contract.
| * | Fix bug related to state variables of function type accessed via base contract.chriseth2018-11-301-3/+3
| | |
* | | Disallow inline arrays of mapping type.chriseth2018-11-301-0/+3
|/ /
* | Merge pull request #5543 from ethereum/fixSortMOvechriseth2018-11-291-1/+2
|\ \ | | | | | | Fix move bug.
| * | Fix move bug.chriseth2018-11-291-1/+2
| | |
* | | Report deprecation error on functions sha3 and suicide also without call.Leonardo Alt2018-11-291-20/+17
|/ /
* | Merge pull request #5538 from hydai/static_uint256chriseth2018-11-296-22/+24
|\ \ | | | | | | Replace IntegerType(256) with static function IntegerType::uint256()
| * | Replace IntegerType(256) with static function IntegerType::uint256()hydai2018-11-296-22/+24
| | |
* | | Fix ICE when function type struct parameter has field of non-existent typeLeonardo Alt2018-11-291-1/+7
|/ /
* | Merge pull request #5526 from ethereum/fixGetterNewCoderchriseth2018-11-291-10/+31
|\ \ | |/ |/| Fix: Disallow structs in getters for old encoder.
| * Properly check getter types to be old-abi-coder-compatible.chriseth2018-11-281-10/+31
| |
* | Merge pull request #5525 from ethereum/obsoleteCommentchriseth2018-11-281-6/+1
|\ \ | |/ |/| Remove obsolete comment.
| * Remove obsolete comment.chriseth2018-11-281-6/+1
| |
* | Use yul parser in assembly stack.chriseth2018-11-272-18/+17
| |
* | Yul objects.chriseth2018-11-272-18/+6
|/
* Merge pull request #5382 from ethereum/libraryMappingPublicchriseth2018-11-272-13/+17
|\ | | | | Allow mapping arguments for public and external library functions.
| * Allow mapping arguments for public and external library functions.Daniel Kirchner2018-11-262-13/+17
| |
* | Properly disallow different return types for interface overloads with ↵chriseth2018-11-261-3/+3
| | | | | | | | different visibilities.
* | Merge pull request #5445 from ethereum/publicExternalOverwritechriseth2018-11-261-8/+10
|\ \ | |/ |/| Allow overwriting external functions (with ``calldata`` arguments) with public functions (with ``memory`` arguments)
| * Use asCallableFunction for definition clashes in the same contract.chriseth2018-11-261-1/+3
| |
| * Use asCallableFunction for external interface clash check.chriseth2018-11-261-2/+2
| |
| * Use callable types for override check.chriseth2018-11-261-4/+4
| |
| * Use asCallableFunction in override check (part 1).chriseth2018-11-261-1/+1
| |
* | Merge pull request #5504 from ethereum/smt_fix_emscriptenchriseth2018-11-261-0/+4
|\ \ | | | | | | [SMTChecker] Fix crash when SMTLib2Interface reports unknow for constant checks
| * | [SMTChecker] Unknown answer for constant condition check should not do anythingLeonardo Alt2018-11-261-0/+4
| | |
* | | Merge pull request #5404 from ethereum/jumpFixeschriseth2018-11-262-2/+8
|\ \ \ | | | | | | | | Annotate jump from calldata decode to function as "jump in".
| * | | Use "in" tag for jumps from unpacker to function.chriseth2018-11-262-2/+8
| | | |
* | | | Fix merge problem in CMake files.chriseth2018-11-261-1/+0
| | | |
* | | | Merge pull request #5493 from ethereum/cmake-no-globbingchriseth2018-11-261-5/+52
|\ \ \ \ | |_|_|/ |/| | | [WIP] CMake: Explicitly state which files to compile instead of relying on globbing
| * | | CMake: Explicitly state which files to compile instead of relying on globbing.Christian Parpart2018-11-261-5/+52
| |/ / | | | | | | | | | | | | Also remove header file lists, as there is no need to add them to add_library() or add_executable(), which should lower maintenance of the cmake files.
* | | Merge pull request #5486 from ethereum/allowExternalPublicOverridechriseth2018-11-261-9/+6
|\ \ \ | | | | | | | | Allow external public override
| * | | Allow visibility change from external to public.chriseth2018-11-261-9/+6
| | | |
* | | | Merge pull request #5494 from ethereum/scanner-error-handlingchriseth2018-11-261-2/+2
|\ \ \ \ | |_|_|/ |/| | | Improved Scanner error diagnostics.
| * | | Change scanner error diagnostics to be non-intrusive to the token API.Christian Parpart2018-11-241-26/+2
| | | | | | | | | | | | | | | | | | | | This also implicitly eliminates the magic-token Token::IllegalHex, and streamlines error diagnostics over a custom enum class.
| * | | adapt to latest code changesLazaridis2018-11-241-0/+24
| | |/ | |/|
* | | Merge pull request #5497 from ethereum/langutil-SourceReferenceFormatterchriseth2018-11-264-221/+2
|\ \ \ | |_|/ |/| | Moving SourceReferenceFormatter into langutil namespace.
| * | Moving SourceReferenceFormatter into langutil namespace.Christian Parpart2018-11-244-221/+2
| |/
* | Merge pull request #5485 from ethereum/refactorCallableFunctionchriseth2018-11-264-33/+33
|\ \ | |/ |/| Refactor callable function
| * Correct style.chriseth2018-11-231-16/+16
| |
| * Use callable function for virtual resolution.chriseth2018-11-221-1/+1
| |
| * Make asCallableFunction to never fail and assert abount parameter size if ↵chriseth2018-11-222-8/+8
| | | | | | | | bound instead.
| * Rename 'asMemberFunction' to widen its purpose.chriseth2018-11-222-9/+9
| |
* | Merge pull request #5491 from ethereum/libyul-as-librarychriseth2018-11-2430-2839/+113
|\ \ | | | | | | Libyul as static library (version 3 ;( )
| * | Isolating libyul library API into its own namespace `yul`.Christian Parpart2018-11-2312-75/+76
| | |
| * | CMake: Isolate libyul into its own static libraryChristian Parpart2018-11-231-3/+3
| | |
| * | Reorder some include files and group <libyul/>'s together (as much as possible)Christian Parpart2018-11-237-16/+15
| | |
| * | Rewrite header paths to adapt to recent `git mv` of libsolidity/inlineasm to ↵Christian Parpart2018-11-238-21/+21
| | | | | | | | | | | | libyul
| * | Moving files from libsolidity/inlineasm/*.{cpp,h} to libyul/.Christian Parpart2018-11-2316-2726/+0
| | |
* | | Testing with smtlib2 interface always thereLeonardo Alt2018-11-231-6/+1
| | |
* | | Error message stays in the SMTCheckerLeonardo Alt2018-11-232-8/+9
| | |
* | | Display better error message in SMTLib2Leonardo Alt2018-11-233-8/+10
| | |
* | | Renaming json fields smtlib2queries and smtlib2responsesLeonardo Alt2018-11-231-2/+2
| | |
* | | Rename function and warn if responses are supplied for Z3.chriseth2018-11-233-7/+13
| | |
* | | Inject SMTLIB2 queries and responses via standard-json-io.chriseth2018-11-2310-20/+77
|/ /
* | Stylechriseth2018-11-231-7/+9
| |
* | Merge pull request #5451 from ethereum/bound_function_testschriseth2018-11-231-0/+3
|\ \ | | | | | | Add assert and tests for bound functions
| * | Add assert and tests for bound functionsLeonardo Alt2018-11-221-0/+3
| | |
* | | [SMTChecker] Refactor setZeroValue and setUnknownValueLeonardo Alt2018-11-226-44/+58
|/ /
* | [SMTChecker] Add ArraySort and array operationsLeonardo Alt2018-11-225-2/+76
| |
* | [SMTChecker] Add FunctionSort and refactors the solver interface to create ↵Leonardo Alt2018-11-2214-128/+134
|/ | | | variables
* Introduce namespace `langutil` in liblangutil directory.Christian Parpart2018-11-2258-160/+314
| | | | | | | Also: - Use {}-style list initialisation for SourceLocation construction - Introduce new system includes - Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
* Ensure liblangutil is compiled and linked as its own static library.Christian Parpart2018-11-221-3/+3
|
* Isolating files shared between Yul- and Solidity language frontend.Christian Parpart2018-11-2264-2720/+68
|
* Merge pull request #5466 from ethereum/smt_refactor_sort_patch1Alex Beregszaszi2018-11-2113-100/+102
|\ | | | | [SMTChecker] Refactor smt::Sort and its usage
| * [SMTChecker] Refactor smt::Sort and its usageLeonardo Alt2018-11-2113-100/+102
| |
* | Removing redundant virtual from override function declarationmordax2018-11-2117-565/+565
|/ | | | | | Remove trailing whitespace Remove changelog change
* [SMTChecker] Support bound function callsLeonardo Alt2018-11-191-0/+12
|
* [SMTChecker] Implement uninterpreted functions and use it for blockhash()Leonardo Alt2018-11-1515-25/+102
|
* Do not perform cleanup on unsigned integers when loading from calldata.chriseth2018-11-151-1/+8
|
* Add CompilerStack state assertions in internal methodsAlex Beregszaszi2018-11-141-6/+12
|
* Move lastContractName closer to contractNamesAlex Beregszaszi2018-11-141-13/+13
|
* Do not crash on filesystemFriendlyName if no contracts were compiledAlex Beregszaszi2018-11-141-0/+3
|
* Add Scanner function that prints source based on SourceLocationLeonardo Alt2018-11-134-3/+15
|
* Merge pull request #5406 from ethereum/uninitializedStorageUnimplementedchriseth2018-11-131-2/+5
|\ | | | | Ignore unimplemented functions for detecting uninitialized storage returns.
| * Ignore unimplemented functions for storage returns.Daniel Kirchner2018-11-131-2/+5
| |
* | Deterministic YulStringRepository using string hashes.Daniel Kirchner2018-11-131-1/+0
|/
* Fix for style.chriseth2018-11-121-3/+3
|
* Remove trailing whitespace.chriseth2018-11-121-1/+1
|
* Refactor of bool TypeChecker::visit(FunctionCall const& _functionCall).Kristofer Peterson2018-11-102-277/+521
| | | | | | Visit method now cleanly determines if node represents a function call, struct construction or type conversion. Type checking, validation and error message logic is moved to separate methods.
* Reset yul string repository.chriseth2018-11-091-0/+3
|
* Merge pull request #5265 from ethereum/cleanupsha3chriseth2018-11-095-5/+5
|\ | | | | Simplify sha3.
| * Renamed SHA3.{h,cpp} files.chriseth2018-10-185-5/+5
| |
* | Merge pull request #5365 from ethereum/improveNameDispenserchriseth2018-11-081-1/+0
|\ \ | | | | | | [Yul] Use single counter for name dispenser for performance reasons.
| * | Use single counter for name dispenser for performance reasons.chriseth2018-11-081-1/+1
| | |
* | | Merge pull request #5370 from ethereum/fixWindowsDaniel Kirchner2018-11-081-0/+1
|\ \ \ | | | | | | | | Fix windows build.
| * | | Fix windows build.chriseth2018-11-081-0/+1
| |/ /
* | | Merge pull request #5351 from ethereum/functionTypeConversionchriseth2018-11-081-2/+16
|\ \ \ | | | | | | | | Relax type equality requirement of function types during conversion in code generation.
| * | | Function type conversion test cases.Daniel Kirchner2018-11-081-4/+16
| | | |
| * | | Relax identity requirement of function type conversions during code generation.Daniel Kirchner2018-11-061-0/+2
| | | |
* | | | Merge pull request #5348 from ethereum/boostRationalNegativeDenominatorFixchriseth2018-11-082-2/+11
|\ \ \ \ | |_|/ / |/| | | Fix negative denominator in ``boost::rational`` during exponentiation.
| * | | Fix negative denominator in ``boost::rational`` during exponentiation.Daniel Kirchner2018-11-062-2/+11
| |/ /
* | | Performance: Replace string by special single-copy YulString class.chriseth2018-11-0811-64/+76
| | |
* | | Eliminate `byte`-typedef and use `uint8_t` in all their places instead.Christian Parpart2018-11-071-3/+3
|/ / | | | | | | | | | | | | | | | | | | | | This change is made to (easily) be forward compatible with future C++ standards, in order to allow compiling the code with newer standards at some point in the future. * Removed the `using byte = uint8_t;` line from Common.h * Mechanically change all uses of `byte` to `uint8_t`. Tested with GCC 7.3 in C++11/14/17 modes :-)
* | Fixes crash while encoding too large arrays.Erik Kundt2018-10-301-0/+3
| |
* | Merge pull request #5316 from lazaridiscom/4891-memory-store-assertschriseth2018-10-291-21/+37
|\ \ | | | | | | refine memory-store assertions, closes #4891
| * | refine memory-store assertions, closes #4891Lazaridis2018-10-271-21/+37
| | |
* | | Remove unused AST utils.chriseth2018-10-252-102/+0
| | |
* | | Merge pull request #5283 from ethereum/smt_fixed_byteschriseth2018-10-2512-280/+144
|\ \ \ | | | | | | | | [SMTChecker] Support FixedBytes
| * | | Grouping of symbolic variables in the same file and support to FixedBytesLeonardo Alt2018-10-2512-280/+144
| | | |
* | | | Merge pull request #5242 from ethereum/someCheckschriseth2018-10-252-4/+24
|\ \ \ \ | |/ / / |/| | | Some well-formedness checks for the Yul AST.
| * | | Some well-formedness checks for the Yul AST.chriseth2018-10-222-4/+24
| | | |
* | | | Merge pull request #5272 from ethereum/smt_special_varschriseth2018-10-2413-61/+144
|\ \ \ \ | | | | | | | | | | [SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash
| * | | | Add gasleft constraint and use full member access nameLeonardo Alt2018-10-235-16/+31
| | | | |
| * | | | [SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhashLeonardo Alt2018-10-1911-51/+119
| |/ / /
* / / / Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper ↵Christian Parpart2018-10-2221-359/+352
|/ / / | | | | | | | | | namespace
* | | Merge pull request #5256 from ethereum/lvalueCleanupchriseth2018-10-191-42/+7
|\ \ \ | | | | | | | | Lvalue cleanup
| * | | Removed unreachable cases in LValue.cpp.chriseth2018-10-181-42/+7
| | | |
* | | | Merge pull request #5257 from ethereum/assertAboutRemovedchriseth2018-10-191-10/+9
|\ \ \ \ | |_|_|/ |/| | | Assert about some removed language concepts in the code generator.
| * | | Assert about some removed language concepts in the code generator.chriseth2018-10-181-10/+9
| |/ /
* | | Fix possibly effectless map emplaceLeonardo Alt2018-10-181-7/+10
| | |
* | | [SMTChecker] Refactor expressions such that they also use SymbolicVariableLeonardo Alt2018-10-184-77/+57
|/ /
* | Merge pull request #5235 from ethereum/smt_refactor_typesLeonardo2018-10-1814-218/+378
|\ \ | | | | | | [SMTChecker] Refactoring types
| * | Refactor SymbolicAddressVariable and SymbolicVariable allocationLeonardo Alt2018-10-178-51/+159
| | |
| * | Consistent renaming of 'counters' and 'sequence' to 'index'Leonardo Alt2018-10-1710-71/+71
| | |
| * | [SMTChecker] Refactoring typesLeonardo Alt2018-10-1712-150/+202
| | |
* | | Merge pull request #5224 from bshastry/compilerwarn-fixchriseth2018-10-171-2/+2
|\ \ \ | | | | | | | | Fix compiler warning
| * | | Retained move/copy semantics; removed const qualifier from Expression's ↵Bhargava Shastry2018-10-171-2/+4
| | | | | | | | | | | | | | | | members name (of type std::string) and arguments (of type std::vector<Expression>)
| * | | Fix compiler warning: clang-8 warns of explicitly-defined op implicitly ↵Bhargava Shastry2018-10-171-2/+0
| |/ / | | | | | | | | | deleted for Expression object's copy and move constructors
* / / Prevent externally used functions from being removed.chriseth2018-10-175-10/+29
|/ /
* | Merge pull request #5209 from ethereum/smt_ssa_refactorchriseth2018-10-159-37/+48
|\ \ | | | | | | [SMTChecker] Refactor SSAVariable such that it only uses Type and not Declaration
| * | Refactor SSAVariable such that it only uses Type and not DeclarationLeonardo Alt2018-10-159-37/+48
| | |
* | | [SMTChecker] Inline calls to internal functionsLeonardo Alt2018-10-152-68/+243
|/ /
* | Merge pull request #5208 from mestorlx/bug4156chriseth2018-10-151-4/+4
|\ \ | | | | | | [WIP] Bad identifier suggestion in certain cases
| * | Updated MAXIMUM_STRING_DISTANCE to non static maximumStringDistance taking ↵mestorlx2018-10-131-4/+4
| |/ | | | | | | into account length of the identifier
* | Renaming namespace dev::julia to dev::yul.Christian Parpart2018-10-159-27/+27
| |
* | Renaming libjulia to libyulChristian Parpart2018-10-154-8/+8
| |
* | Fixes invalid function calls to literals inside tuple assignment's LHS.Christian Parpart2018-10-151-2/+6
|/