aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/ExpressionCompiler.cpp
Commit message (Expand)AuthorAgeFilesLines
* Allow mapping arguments for public and external library functions.Daniel Kirchner2018-11-261-0/+2
* Add assert and tests for bound functionsLeonardo Alt2018-11-221-0/+3
* Introduce namespace `langutil` in liblangutil directory.Christian Parpart2018-11-221-0/+1
* Merge pull request #5265 from ethereum/cleanupsha3chriseth2018-11-091-1/+1
|\
| * Renamed SHA3.{h,cpp} files.chriseth2018-10-181-1/+1
* | Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper nam...Christian Parpart2018-10-221-20/+20
* | Assert about some removed language concepts in the code generator.chriseth2018-10-181-10/+9
|/
* Merge pull request #4962 from anurag-git/anurag_issue_3667-1chriseth2018-10-011-2/+0
|\
| * Removed default case from "ExpressionCompiler::visit(FunctionCall...)".Anurag Dashputre2018-09-131-2/+0
* | fix typoliangdzou2018-09-201-3/+3
* | fixing rebase conflictsJordan Last2018-09-141-6/+6
* | Add payable and non-payable state mutability to AddressType.Daniel Kirchner2018-09-131-4/+13
|/
* Always perform cleanup for EXP.chriseth2018-09-101-1/+3
* Split IntegerType into IntegerType and AddressType.Daniel Kirchner2018-09-051-5/+10
* Merge pull request #4895 from ethereum/abidecodesinglechriseth2018-09-051-1/+5
|\
| * Fix abi.decode returning single value.chriseth2018-09-051-1/+5
* | Remove trailing whitespace.Daniel Kirchner2018-09-041-1/+1
|/
* Add return data to bare calls.Daniel Kirchner2018-09-041-22/+45
* Remove trailing whitespace for all files in the repository.Daniel Kirchner2018-09-041-6/+6
* Removed unused "FunctionType::Kind::CallCode" from Types.h and all its usageAnurag Dashputre2018-08-231-4/+2
* Merge pull request #4825 from ethereum/expressionCompBareCallchriseth2018-08-161-5/+5
|\
| * More safeguards for (library) function types.chriseth2018-08-151-5/+5
* | Add ``staticcall`` to ``address``.Daniel Kirchner2018-08-151-3/+8
|/
* Add abi.decode(bytes data, (...))chriseth2018-08-151-0/+21
* Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in libe...Alex Beregszaszi2018-08-091-1/+1
* Changes in ExpressionCompilerLeonardo Alt2018-07-191-50/+39
* Merge pull request #4479 from ethereum/fixFixedPointCrashAlex Beregszaszi2018-07-121-3/+7
|\
| * Fix handling of fixed point types in arithmetics.chriseth2018-07-111-3/+7
* | Use STATICCALL for view and pureLeonardo Alt2018-07-111-5/+1
|/
* Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-111-2/+2
* Merge pull request #4224 from ethereum/revert_wrong_calldatachriseth2018-07-021-1/+1
|\
| * Revert if calldata is too short or points out of boundsLeonardo Alt2018-06-261-1/+1
* | Save double encode call for sha3.chriseth2018-06-251-8/+16
* | Bare functions take single bytes argument.chriseth2018-06-251-56/+15
* | Single bytes argument.chriseth2018-06-251-11/+28
|/
* Extend explanatory remark and argue using bitwise operations instead of round...Daniel Kirchner2018-06-121-6/+14
* Use proper SAR for signed right shifts and emulate on pre-constantinople.Daniel Kirchner2018-06-121-4/+21
* Improves assembly and adds more tests.Erik Kundt2018-05-301-12/+2
* Implements pop() for value type arrays.bitshift2018-05-291-1/+26
* Fix revert with reason coming from a string variableAlex Beregszaszi2018-05-091-0/+4
* Removed signed shift right from the utilities.chriseth2018-05-011-1/+1
* Do not use SAR instead of SDIV in shifts because it rounds differentlyAlex Beregszaszi2018-05-011-2/+3
* Use native shift instructions on ConstantinopleAlex Beregszaszi2018-05-011-2/+11
* Remove redundant cleanup for abi.encode.Alex Beregszaszi2018-04-161-2/+1
* Merge pull request #3364 from ethereum/revertWithReasonchriseth2018-04-131-4/+33
|\
| * Use error signature for revert data.chriseth2018-04-121-20/+3
| * Bubble up error messages.chriseth2018-04-121-3/+6
| * Allow error string for ``require``.chriseth2018-04-121-0/+26
| * Code generator for revert with reason string.chriseth2018-04-121-1/+18
* | Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSi...Alex Beregszaszi2018-04-121-0/+102
|/
* More specific push implementation.chriseth2018-04-041-13/+16
* Optimize across MLOAD if MSIZE is not used.chriseth2018-04-031-17/+4
* Add runtimeOnly option to pushCombinedFunctionEntryLabelAlex Beregszaszi2018-03-271-3/+1
* Use shortcut for internal function calls to avoid runtime reference.chriseth2018-03-271-1/+23
* Decode dynamic data.chriseth2018-03-211-15/+42
* Move dynamic type removal out of the type system.chriseth2018-03-211-5/+12
* Allow ``block.blockhash`` without being called.chriseth2018-03-141-0/+3
* Use STATICCALL for pure function calls if EVM version supports it and 0.5.0 i...chriseth2018-03-061-0/+9
* Merge pull request #3652 from ethereum/gasleft_v2chriseth2018-03-061-5/+0
|\
| * Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it ...Daniel Kirchner2018-03-061-5/+0
* | Merge pull request #3599 from ethereum/sendAllGasOnByzantiumchriseth2018-03-061-10/+13
|\ \
| * | Do not retain any gas in external calls (except if EVM version is set to home...chriseth2018-03-061-10/+13
* | | Merge pull request #3643 from ethereum/gasleftchriseth2018-03-061-0/+8
|\ \ \ | |/ / |/| / | |/
| * Style improvements.Daniel Kirchner2018-03-061-2/+5
| * Move msg.gas to global function gasleft(). Closes #2971.Daniel Kirchner2018-03-051-1/+6
* | Use EVM version in gas meter and optimizer.chriseth2018-03-051-1/+1
|/
* Make addmod and mulmod revert if the last argument is zero.chriseth2018-02-151-1/+5
* Allow `this.f.selector` to be pure.chriseth2018-02-131-0/+24
* Allocate one byte per memory byte array element instead of 32.chriseth2017-10-171-2/+9
* Send all gas for 0.5.0.chriseth2017-10-051-0/+3
* Split encodeToMemory to packedEncode and abiEncodeAlex Beregszaszi2017-09-271-15/+11
* Make most of the parameters mandatory in encodeToMemoryAlex Beregszaszi2017-09-271-2/+2
* Ensure that address types are always declared as 160bitAlex Beregszaszi2017-09-271-3/+3
* Simplify switch statements by refactoring internal break statementsAlex Beregszaszi2017-09-251-18/+18
* Avoid switch fallthrough in ExpressionCompilerAlex Beregszaszi2017-09-251-26/+32
* Mark functions staticAlex Beregszaszi2017-09-201-1/+1
* Rename .sig to .selector on function typesAlex Beregszaszi2017-09-131-1/+1
* Add sig member on function typeAlex Beregszaszi2017-09-131-1/+8
* Swap declaration/statemutability in FunctionType constructorAlex Beregszaszi2017-08-291-1/+1
* Mark to places fall-throughAlex Beregszaszi2017-08-251-0/+1
* Mark a lot of functions const (where possible)Alex Beregszaszi2017-08-221-1/+1
* Remove constant/payable in all function typesAlex Beregszaszi2017-08-141-2/+1
* .delegatecall() should always return a boolean of execution statusAlex Beregszaszi2017-08-021-1/+1
* Provide new account gas for low-level callcode/delegatecallAlex Beregszaszi2017-08-011-1/+1
* Rename Bare to BarecallAlex Beregszaszi2017-08-011-5/+5
* Fix for invalid clearing of memory in ecrecover.chriseth2017-07-281-1/+1
* Merge pull request #2645 from ethereum/assertsAlex Beregszaszi2017-07-271-12/+11
|\
| * Use solAssert instead of boost throw where possibleAlex Beregszaszi2017-07-271-12/+11
* | Report location on stack too deep if possibleAlex Beregszaszi2017-07-271-1/+6
|/
* Change shiftNumberOnStack to bitsAlex Beregszaszi2017-07-031-2/+2
* Use shift helperAlex Beregszaszi2017-07-031-2/+2
* Fix negative stack size checks.chriseth2017-06-281-0/+1
* Disallow comparisons between some types.chriseth2017-06-261-0/+1
* Review suggestions.chriseth2017-06-241-1/+1
* Change invalid opcode to revert for input validation.chriseth2017-06-241-8/+6
* Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-221-0/+1
* Rename the SHA3 assembly instruction to KECCAK256Alex Beregszaszi2017-05-301-4/+4
* refactoring functionCallAnnotationdjudjuu2017-05-191-3/+3
* Change references to FunctionType::LocationAlex Beregszaszi2017-03-161-80/+78
* Require and Assert.chriseth2017-03-141-2/+6
* Merge pull request #1702 from ethereum/assertErrorYoichi Hirai2017-03-041-3/+2
|\
| * Change effect of assert to invalid opcode.chriseth2017-02-161-3/+2
* | Merge pull request #1700 from ethereum/fixNoMobilechriseth2017-02-241-0/+3
|\ \
| * | Some checks for the existence of mobile type.chriseth2017-02-161-0/+3
| |/
* | Disallow setting .gas() on .transfer()Alex Beregszaszi2017-02-241-8/+4
* | Do not keep the gas stipend if sending non-zero valueAlex Beregszaszi2017-02-241-1/+1
* | Support gas modifier on addr.transfer()Alex Beregszaszi2017-02-241-1/+2
* | Implement address.transfer()Alex Beregszaszi2017-02-241-4/+15
|/
* Use the revert opcode in assert()Alex Beregszaszi2017-02-111-2/+8
* Support revert()Alex Beregszaszi2017-02-111-0/+5
* Cleanup is not needed for assert()Alex Beregszaszi2017-02-101-1/+1
* Implement assert as a global functionAlex Beregszaszi2017-02-101-0/+8
* Rename SUICIDE opcode to SELFDESTRUCT in libevmasmAlex Beregszaszi2017-02-071-1/+1
* Change translation of implicit throws (issue #1589).Valentin Wüstholz2017-01-261-6/+6
* Warn about invalid checksums of addresses.chriseth2017-01-251-0/+1
* Include creation code only once.chriseth2017-01-251-14/+18
* Report source location on "stack too deep" errors.chriseth2017-01-211-1/+6
* Use fully-qualified names for linking, tooRhett Aultman2017-01-171-2/+2
* ast, codegen: enable accessing events through contract names.Yoichi Hirai2017-01-031-9/+33
* Use correct type for storing.chriseth2016-12-131-7/+7
* Cleaner shift handling and type conversion for binary operations.chriseth2016-12-121-44/+75
* Support bitshifting in variablesAlex Beregszaszi2016-12-121-8/+41
* Use solUnimplemented wherever possibleAlex Beregszaszi2016-11-281-2/+2
* Fix licensing headersVoR02202016-11-231-4/+4
* Converted sub assembly to smart pointer.chriseth2016-11-161-1/+4
* Stored combined creation and runtime tags.chriseth2016-11-161-7/+24
* Unimplemented features moved to their own exception (#1361)Rhett Aultman2016-11-151-7/+7
* Merge pull request #1264 from ethereum/988chriseth2016-10-251-9/+14
|\
| * codegen: refactor common codeYoichi Hirai2016-10-241-20/+13
| * codegen: if a member access has been resolved as a variable, follow thatYoichi Hirai2016-10-241-0/+12
* | More checks for missing mobile type.chriseth2016-10-241-5/+13
|/
* codegen: skip contract L for L.Foo where Foo is a typeYoichi Hirai2016-10-241-1/+6
* Rename dev::sha3 to dev::keccak256Alex Beregszaszi2016-10-061-1/+1
* Access output memory area so that we do not pay for resize during call.chriseth2016-09-171-4/+13
* Provide gas stipend manually for send(0).chriseth2016-09-061-1/+6
* Merge pull request #665 from axic/feature/accept-etherchriseth2016-09-061-0/+2
|\
| * Change function type to include and propagate payable and constant modifier.chriseth2016-09-061-0/+2
* | Do not pay new account gas.chriseth2016-09-051-1/+3
|/
* Merge pull request #839 from chriseth/checkcodechriseth2016-08-171-0/+7
|\
| * Make function calls throw if target does not have code.chriseth2016-08-171-0/+7
* | Throw on division by zero.chriseth2016-08-171-3/+10
|/
* Merge pull request #838 from chriseth/ecrecoverchriseth2016-08-171-5/+38
|\
| * Actually better to return zero on error.chriseth2016-08-161-2/+0
| * Make ecrecover throw for malformed input.chriseth2016-08-161-5/+40
* | Provide inline assembly to the code generator. (#840)chriseth2016-08-161-0/+1
* | Throw if contract creation fails.chriseth2016-08-161-0/+3
|/
* Remove After from ExpressionCompilerDenton Liu2016-08-111-3/+0
* Bugfix: Allocate empty array.chriseth2016-07-281-3/+6
* Include SHR case in ExpressionCompiler::appendShiftOperatorCodeAlex Beregszaszi2016-06-081-0/+2
* Fixes for invalid cleanups for small types.chriseth2016-05-201-2/+5
* Remove unused tests and add asserts for not implemented parts in code generat...chriseth2016-05-111-4/+3
* changed names for Rational Constants and categoriesVoR02202016-05-101-4/+4
* initial work for fixed types...potentially needing a constant literal type fo...RJ Catalano2016-05-101-4/+4
* Allow calling internal functions of libraries.chriseth2016-05-041-32/+68
* Make solidity independent from ethcore.chriseth2016-04-071-7/+4
* reduce unnecessary solidity:: namespaceDimitry2016-04-041-121/+121
* rename namespace for instruction.h/cpp in libevmasmDimitry2016-04-021-121/+121
* Correctly clean higher order bits for index access.chriseth2016-03-311-0/+2
* Fixed Windows warningsBob Summerwill2016-03-181-1/+2
* BREAKING: Implement delegatecall and make default for library calls.chriseth2016-03-121-11/+18
* Index access for bytesXX.chriseth2016-02-101-0/+26
* [cond-expr] fixup according to code reviewLu Guanqun2016-01-231-1/+3
* [cond-expr] make the codegen one instruction lessLu Guanqun2016-01-231-5/+4
* [cond-expr] generate assembly for _ ? _ : _Lu Guanqun2016-01-231-0/+15
* Detect library name clashes.chriseth2016-01-141-2/+0
* final changes to typechecker, the expression compiler, and a couple more test...RJ Catalano2016-01-121-8/+7
* Update ExpressionCompiler.cppRJ2016-01-111-14/+16
* Update ExpressionCompiler.cppRJ2016-01-111-4/+2
* Update ExpressionCompiler.cppRJ2016-01-101-17/+39
* support decayed tuple expression as left valueLu Guanqun2016-01-041-1/+6
* Add structs and enums to contract types.chriseth2015-12-181-7/+9
* Fix: Segfaults connected to paramater types.chriseth2015-12-101-2/+2
* Code generation for calling bound methods.chriseth2015-12-011-4/+37
* Merge pull request #251 from chriseth/bind2chriseth2015-11-301-1/+1
|\
| * Add bound functions to types.chriseth2015-11-291-1/+1
* | Introduce selfdestruct alias for suicide.chriseth2015-11-291-1/+1
|/
* Make members context-sensitive.chriseth2015-11-261-6/+2
* Code generation for creating arrays.chriseth2015-11-261-0/+47
* Fixed string inside struct allocation bug.chriseth2015-11-241-1/+1
* Merge pull request #236 from ethereum/hot_gavGav Wood2015-11-231-5/+7
|\
| * Fix up for new API from EIP-1.1.Gav Wood2015-11-211-5/+7
* | Addmod and mulmod.chriseth2015-11-191-0/+14
* | Fix dynamic indexed event arguments - applies sha3.chriseth2015-11-171-5/+18
|/
* File reorganisation.chriseth2015-10-211-0/+1370