aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen
Commit message (Collapse)AuthorAgeFilesLines
* Mark to places fall-throughAlex Beregszaszi2017-08-252-0/+2
|
* Remove fallthrough from ArrayUtilsAlex Beregszaszi2017-08-251-3/+3
|
* Mark a lot of functions static (where possible)Alex Beregszaszi2017-08-222-2/+2
|
* Mark appropriate constructors explicitAlex Beregszaszi2017-08-223-3/+3
|
* Mark a lot of functions const (where possible)Alex Beregszaszi2017-08-226-9/+9
|
* Merge pull request #2704 from ethereum/newEncoderchriseth2017-08-147-10/+1296
|\ | | | | New ABI encoder
| * Experimental feature switch for ABI encoder.chriseth2017-08-143-2/+10
| |
| * Remove unused magic global feature.chriseth2017-08-142-10/+2
| |
| * Interface for new ABI encoder.chriseth2017-08-142-0/+40
| |
| * New ABI encoder.chriseth2017-08-142-0/+1246
| |
* | 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
|
* Remove the need of jumping out of the fallbackAlex Beregszaszi2017-07-281-8/+4
|
* Merge pull request #2652 from ethereum/fixMultiModifierchriseth2017-07-272-6/+11
|\ | | | | Re-allow multiple modifiers per function.
| * Re-allow multiple modifiers per function.chriseth2017-07-272-6/+11
| |
* | Merge pull request #2645 from ethereum/assertsAlex Beregszaszi2017-07-272-14/+12
|\ \ | |/ |/| Use solAssert where possible
| * Use solAssert instead of boost throw where possibleAlex Beregszaszi2017-07-272-14/+12
| |
* | Report location on stack too deep if possibleAlex Beregszaszi2017-07-272-1/+7
|/
* Change fixed point types to have digit countVoR02202017-07-201-1/+1
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Fix internal "variable already present" error.chriseth2017-07-051-0/+3
|
* Add assert to shift helperAlex Beregszaszi2017-07-031-0/+2
|
* Use shift helper in LValueAlex Beregszaszi2017-07-031-4/+2
|
* More uses of shift helperAlex Beregszaszi2017-07-031-6/+10
|
* Change shiftNumberOnStack to bitsAlex Beregszaszi2017-07-033-13/+13
|
* Use shift helperAlex Beregszaszi2017-07-032-8/+8
|
* Add shift helper to CompilerUtilsAlex Beregszaszi2017-07-032-0/+16
|
* Abort early if there is nothing to encode or decode.chriseth2017-06-302-3/+9
|
* Document appendFunctionSelectorAlex Beregszaszi2017-06-291-0/+4
|
* Stack adjustment and code generation for fallback function.chriseth2017-06-291-4/+6
| | | | This assumes that the fallback function does not have return parameters.
* Fix negative stack size checks.chriseth2017-06-282-0/+11
|
* Merge pull request #2459 from ethereum/noComparisonForSomeTypesAlex Beregszaszi2017-06-271-0/+1
|\ | | | | No comparison for some types
| * Disallow comparisons between some types.chriseth2017-06-261-0/+1
| |
* | Merge pull request #2453 from ethereum/memcopyAsForLoopAlex Beregszaszi2017-06-272-23/+20
|\ \ | |/ |/| Use for loop for assembly memcopy.
| * Comment about zero length.chriseth2017-06-271-0/+2
| |
| * Reformat.chriseth2017-06-261-6/+9
| |
| * Use for loop for assembly memcopy.chriseth2017-06-261-23/+15
| |
* | Merge pull request #2460 from ethereum/disallowMultiModifierAlex Beregszaszi2017-06-262-0/+5
|\ \ | |/ |/| Disallow invoking the same modifier multiple times.
| * Disallow invoking the same modifier multiple times.chriseth2017-06-242-0/+5
| |
* | Review suggestions.chriseth2017-06-241-1/+1
| |
* | Change invalid opcode to revert for input validation.chriseth2017-06-246-20/+52
|/
* Merge pull request #2444 from ethereum/parser-scannerAlex Beregszaszi2017-06-231-0/+1
|\ | | | | Avoid including Scanner.h in ParserBase.h
| * Avoid including Scanner.h in ParserBase.hAlex Beregszaszi2017-06-231-0/+1
| |
* | Fix ABI encoding of empty string literal.chriseth2017-06-221-1/+1
|/
* Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-223-2/+3
|
* Move subroutine helpers from CompilerContext to AssemblyAlex Beregszaszi2017-06-151-3/+3
|
* Remove obsolete errorTag()Alex Beregszaszi2017-06-151-2/+0
|
* Use inline assembly directly and not via AsmStackAlex Beregszaszi2017-06-091-3/+17
|
* Remove error reporter from code generation phase.chriseth2017-06-081-5/+1
|
* Initial EVM1.5 assembly implementation.chriseth2017-06-082-7/+13
|
* Merge pull request #2317 from ethereum/keccak256chriseth2017-05-314-8/+8
|\ | | | | Use keccak256 in tests and replace the SHA3 instruction in assembly
| * Rename the SHA3 assembly instruction to KECCAK256Alex Beregszaszi2017-05-304-8/+8
| |
* | Refactor error reportingRhett Aultman2017-05-301-2/+3
|/ | | | | | | | | This commit introduces ErrorReporter, a utility class which consolidates all of the error logging functionality into a common set of functions. It also replaces all direct interactions with an ErrorList with calls to an ErrorReporter. This commit resolves issue #2209
* Adapt EVM codegen to new namespace.chriseth2017-05-262-9/+9
|
* Merge pull request #1810 from ethereum/compactJsonchriseth2017-05-221-3/+3
|\ | | | | Compact format for AST-Json.
| * refactoring functionCallAnnotationdjudjuu2017-05-191-3/+3
| |
* | Refactor to abstract assembly to JULIA.chriseth2017-05-202-24/+28
|/
* Remove error label / invalid jump label.chriseth2017-04-282-23/+0
|
* Refactor to combined scope and stack height info.chriseth2017-04-261-1/+2
|
* Special case for storage types with offset zero.chriseth2017-04-251-3/+18
|
* Build fix.chriseth2017-04-251-1/+1
|
* Storage access from inline assembly.chriseth2017-04-251-10/+35
|
* Move analysis out of code generator.chriseth2017-04-251-1/+3
|
* Only allow access to local variables and only if they have a stack size of one.chriseth2017-04-251-34/+14
|
* Review comments.chriseth2017-04-252-2/+6
|
* Review comments and cleanup.chriseth2017-04-251-2/+5
|
* Split external identifier access into resolving and code generation.chriseth2017-04-252-80/+95
|
* Change references to FunctionType::LocationAlex Beregszaszi2017-03-163-86/+84
|
* 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.
| * 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.
| * | 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
|
* Use the REVERT opcode for throw;Alex Beregszaszi2017-02-111-1/+3
|
* 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
|
* Warn early when exhausting stackAlex Beregszaszi2017-02-021-0/+1
|
* Only capture function type to address conversionAlex Beregszaszi2017-02-011-8/+10
|
* Be more verbose on the stack-mismatch errorsAlex Beregszaszi2017-02-011-1/+1
|
* Support explicit conversion of external function type to addressAlex Beregszaszi2017-02-012-1/+13
|
* Changelog and review suggestions.chriseth2017-01-271-1/+1
|
* Uninitialized internal function should call INVALID.chriseth2017-01-261-1/+3
|
* Allow inserting low-level functions without calling them.chriseth2017-01-262-5/+26
|
* Split line.chriseth2017-01-261-1/+3
|
* Address feedback from code review.Valentin Wüstholz2017-01-262-6/+6
|
* Change translation of implicit throws (issue #1589).Valentin Wüstholz2017-01-266-13/+31
| | | | | | | This adds a new invalid instruction that is used for encoding implicit throws that are emitted by the compiler. This makes it possible to distinguish such runtime errors from user-provided, explicit throws.
* Warn about invalid checksums of addresses.chriseth2017-01-251-0/+1
|
* Include creation code only once.chriseth2017-01-251-14/+18
|
* Use int arithmetics for stack adjustment.chriseth2017-01-241-1/+1
|
* Change clearStorageLoop to TypePointer.chriseth2017-01-242-16/+18
|
* Use shared_ptrs to enable shared_from_this.chriseth2017-01-241-4/+4
|
* Convert ArrayUtils routines into low-level functions.chriseth2017-01-241-228/+251
|
* Move some util functions to low-level functions.chriseth2017-01-245-244/+320
|
* Low level named functions for CompilerContext.chriseth2017-01-242-0/+23
|
* Report source location on "stack too deep" errors.chriseth2017-01-212-2/+14
|
* Use fully-qualified names for linking, tooRhett Aultman2017-01-172-3/+3
| | | | | | | | | | | | | | | Using libraries leaves behind a library link reference in the binary which the linker must later resolve. These link references were still being generated by name and not by fully-qualified name. This would lead to a link-time collision between two libraries having the same name but in different source units. This change changes linker symbols over to fully-qualified names, which resolves that issue. This does potentially introduce a new problem, which is that linker symbols appear to be limited to 36 characters and are truncated. Storing paths extends the average symbol size, and it would be great if truncation was from the tail rather than the head.
* ast, codegen: enable accessing events through contract names.Yoichi Hirai2017-01-031-9/+33
| | | | Fixes #1286
* Merge pull request #1487 from ethereum/shift-opsYoichi Hirai2016-12-142-30/+98
|\ | | | | Shift operators
| * Use correct type for storing.chriseth2016-12-131-7/+7
| |
| * Cleaner shift handling and type conversion for binary operations.chriseth2016-12-122-45/+80
| |
| * Support bitshifting in variablesAlex Beregszaszi2016-12-122-9/+42
| |
* | Renamed padToWordBoundaries -> padToWordschriseth2016-12-132-14/+14
| |
* | Split memcopy into three functions.chriseth2016-12-123-54/+79
| |
* | Fix inline assembly.chriseth2016-12-121-1/+2
| |
* | Reset stack height after inline assembly blockAlex Beregszaszi2016-12-121-0/+1
| |
* | Better assert message for appendInlineAssembnlyAlex Beregszaszi2016-12-121-1/+1
| |
* | Implement identity call in inline assemblyAlex Beregszaszi2016-12-121-14/+21
| |
* | Turn off the identity precompile for testingAlex Beregszaszi2016-12-121-1/+1
| |
* | Implement CompilerUtils::memoryCopy using inline assemblyAlex Beregszaszi2016-12-121-1/+26
| |
* | Add usingIdentity option to CompilerUtils::memoryCopyAlex Beregszaszi2016-12-122-2/+9
|/
* Merge pull request #1351 from ethereum/truncate_bitchriseth2016-12-083-3/+5
|\ | | | | Truncate a boolean from calldata into one bit
| * codegen: clean not only booleans but all types before storing them into memoryYoichi Hirai2016-12-012-4/+3
| |
| * codegen: clean any data from the inputYoichi Hirai2016-12-011-2/+2
| |
| * codegen: truncate booleans before they enter storageYoichi Hirai2016-12-011-1/+0
| |
| * codegen: cleanup booleans before storing them into memoryYoichi Hirai2016-12-011-0/+2
| |
| * codegen: truncate a boolean calldata down to one bitYoichi Hirai2016-12-011-0/+2
| |
* | Throw if calling the identity precompile (memoryCopy) failedAlex Beregszaszi2016-12-021-1/+2
| |
* | Use CBOR encoding.chriseth2016-12-012-3/+3
| |
* | Fix tests.chriseth2016-12-012-10/+0
| |
* | Add swarm hash to the end of the bytecode.chriseth2016-12-013-12/+3
| |
* | Metadata stamp.chriseth2016-12-014-7/+16
| |
* | Merge pull request #1462 from ethereum/fix-incorrect-assertionchriseth2016-12-011-1/+1
|\ \ | | | | | | codegen: assertion did not assert non-nullness
| * | codegen: assertion did not assert non-nullnessYoichi Hirai2016-12-011-1/+1
| |/ | | | | | | | | This commit strengthens an assertion so that it makes sure that a pointer is not null. Moreover, `isLocalVariable(variable)` is now positively asserted, following the error message.
* / codegen: this commit removes one of duplicate assignmentsYoichi Hirai2016-12-011-2/+0
|/
* Use solUnimplemented wherever possibleAlex Beregszaszi2016-11-282-3/+3
|
* codegen: cleanup values to fit in storage bytesYoichi Hirai2016-11-251-0/+4
|
* codegen: storing of non-value types; add some assertionsYoichi Hirai2016-11-251-8/+5
|
* codegen: shorten the bit truncationYoichi Hirai2016-11-251-5/+2
|
* codegen: merge type conversion and cleaning upYoichi Hirai2016-11-251-3/+2
|
* codegen: document _chopSignBits parameter of convertType functionYoichi Hirai2016-11-251-0/+1
|
* codegen: add an option to CovertType so that it can truncate sign bitsYoichi Hirai2016-11-253-10/+22
|
* codegen: cleanup stored values in a more consistent wayYoichi Hirai2016-11-251-4/+16
|
* codegen: cleanup value types before storing themYoichi Hirai2016-11-241-0/+5
|
* Fix licensing headersVoR02202016-11-2314-56/+56
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Add appendCallValueCheckAlex Beregszaszi2016-11-182-20/+14
|
* Add payable check for constructor in codegenAlex Beregszaszi2016-11-181-0/+12
|
* Some more assertions and style changes.chriseth2016-11-161-1/+1
|
* Change encoding to address-funid and add "function" as ABI type.chriseth2016-11-162-14/+19
|
* Simple peephole optimizer that is activated even if not requested.chriseth2016-11-162-5/+3
|
* Converted sub assembly to smart pointer.chriseth2016-11-165-48/+50
|
* Stored combined creation and runtime tags.chriseth2016-11-169-59/+122
| | | | | | | Includes a change to Assembly to allow tags from sub-assemblies to be used. Sorry, this get a bit bigger than I thought.
* Fix tests.chriseth2016-11-161-1/+11
|
* codegen: add a compilation mode and a runtime context to CompilerContextYoichi Hirai2016-11-164-6/+23
|
* Implement uninitialized storage functions.chriseth2016-11-162-11/+17
|
* Bugfix in code generator.chriseth2016-11-161-1/+1
|
* Change alignment.chriseth2016-11-163-30/+42
|
* External functions in storage.chriseth2016-11-163-18/+49
|
* Code generator for function types.chriseth2016-11-162-1/+34
|
* Unimplemented features moved to their own exception (#1361)Rhett Aultman2016-11-155-17/+17
| | | | | | | | | | | | | | | | | | Unimplemented features moved to their own exception InternalCompilerError is an exception that really should be reserved for actual internal errors of the compiler. Unimplemented features can now use either solUnimplemented( ) or, if it should be conditional, then solUnimplementedAssert( ). * Revert some unimplemented exceptions, add handlers The jsonCompiler and CommandLineInterface needed handlers for the new UnimplementedFeatureException, and some cases I had moved on to the new exception were better treated as real internal compiler errors. * Standardize on "Unimplemented feature" message
* Merge pull request #1372 from ethereum/invalid_enum_as_external_retchriseth2016-11-151-2/+2
|\ | | | | Invalid enum as external ret
| * codegen: overflow checking also during conversion from enumsYoichi Hirai2016-11-151-2/+2
| |
* | codegen: add a missing `break;`Yoichi Hirai2016-11-141-0/+1
|/
* codegen: move the enum overflow checking closer to the conversion into enumsYoichi Hirai2016-11-141-8/+16
|
* ast, codegen: disallow conversion between different enum typesYoichi Hirai2016-11-121-1/+1
|
* codegen: shorten the overflow checking when converting into enumsYoichi Hirai2016-11-121-1/+2
|
* codegen: check the value range after converting something to an enum elementYoichi Hirai2016-11-121-0/+8
|
* Add support for do/while loopsRhett Aultman2016-11-101-3/+16
| | | | | | | This commit adds support for a standard do <statement> while <expr>; form of statement. While loops were already being supported; supporting a do/while loop mostly involves reusing code from while loops but putting the conditional checking last.
* Clear all value types prior to storing.chriseth2016-10-311-7/+1
|
* Merge pull request #1264 from ethereum/988chriseth2016-10-252-9/+16
|\ | | | | State variable under contract's name
| * codegen: refactor common codeYoichi Hirai2016-10-242-20/+15
| |
| * codegen: if a member access has been resolved as a variable, follow thatYoichi Hirai2016-10-241-0/+12
| | | | | | | | This fixes at least the first example in #988
* | More checks for missing mobile type.chriseth2016-10-242-5/+16
|/
* codegen: skip contract L for L.Foo where Foo is a typeYoichi Hirai2016-10-241-1/+6
| | | | Fixes #1116
* Allow warnings for inline assembly blockAlex Beregszaszi2016-10-201-1/+1
|
* Rename dev::sha3 to dev::keccak256Alex Beregszaszi2016-10-061-1/+1
|
* Merge pull request #1104 from ethereum/fixmemcostschriseth2016-09-171-4/+13
|\ | | | | Fix memory resize costs during call
| * Access output memory area so that we do not pay for resize during call.chriseth2016-09-171-4/+13
| |
* | Allow value transfer to library functions.chriseth2016-09-171-1/+3
|/
* Provide gas stipend manually for send(0).chriseth2016-09-061-1/+6
|
* Merge pull request #665 from axic/feature/accept-etherchriseth2016-09-062-0/+16
|\ | | | | BREAKING: Add payable modifier
| * Change function type to include and propagate payable and constant modifier.chriseth2016-09-062-0/+8
| |
| * Merged in changes from chriseth/payableAlex Beregszaszi2016-09-061-11/+2
| |
| * Support payable keyword for functionsAlex Beregszaszi2016-09-061-0/+17
| |
* | Merge pull request #1006 from ethereum/nenewaccountgaschriseth2016-09-061-1/+3
|\ \ | |/ |/| Do not pay new account gas.
| * Do not pay new account gas.chriseth2016-09-051-1/+3
| | | | | | | | | | If we checked that the target contract exists, we do not have to pay the "new account gas".
* | Improve error message.chriseth2016-09-051-1/+1
| |
* | Guard encoding crashes with assertions.chriseth2016-09-021-0/+8
|/
* Make fallback function throw by default.chriseth2016-08-301-4/+1
|
* Merge pull request #839 from chriseth/checkcodechriseth2016-08-171-0/+7
|\ | | | | BREAKING: Make function calls throw if target does not have code.
| * Make function calls throw if target does not have code.chriseth2016-08-171-0/+7
| | | | | | | | | | Low-level calls still just execute and will actually report "success". This allows `x.call.value(y)()` for x being a non-contract account.
* | Merge pull request #888 from chriseth/throwOnDivZerochriseth2016-08-171-3/+10
|\ \ | | | | | | Throw on division by zero.
| * | Throw on division by zero.chriseth2016-08-171-3/+10
| |/
* / BREAKING: return only exits current function/modifierchriseth2016-08-172-35/+45
|/
* Merge pull request #838 from chriseth/ecrecoverchriseth2016-08-171-5/+38
|\ | | | | Make ecrecover return zero for malformed input.
| * 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-163-0/+58
| | | | | | | | | | | | * Directly usable inline assembly. * Add missing header.
* | Throw if contract creation fails.chriseth2016-08-161-0/+3
|/
* Remove After from ExpressionCompilerDenton Liu2016-08-111-3/+0
|
* Merge pull request #722 from NicolaiSoeborg/developchriseth2016-08-112-2/+2
|\ | | | | Fixes to grammar.txt [WIP]
| * Remove the remains of "expresison"Nicolai2016-07-152-2/+2
| |
* | Fix identity precompile gas calculationAlex Beregszaszi2016-08-061-2/+2
| |
* | Bugfix: Allocate empty array.chriseth2016-07-282-3/+7
|/
* Merge pull request #641 from axic/patch/shift-parserchriseth2016-06-091-0/+2
|\ | | | | Trivial shift parser fixes
| * Include SHR case in ExpressionCompiler::appendShiftOperatorCodeAlex Beregszaszi2016-06-081-0/+2
| |
* | Disallow implementation of abstract function by constructor of derived class.chriseth2016-06-071-0/+3
|/
* Fixes for invalid cleanups for small types.chriseth2016-05-202-9/+15
|
* Refactor compiler to avoid weird swap of contextschriseth2016-05-204-871/+999
|
* Allow access to functions in inline assembly.chriseth2016-05-122-14/+13
|
* Remove unused tests and add asserts for not implemented parts in code ↵chriseth2016-05-113-10/+13
| | | | | | | | | | | | generation. quick fix on christian's rational change so that ubuntu will stop yelling be more specific with rational declaration for Windows sake rational in namespace correction for windows
* added bytes conversion tests, resolved that, converted to binary scaling, ↵VoR02202016-05-101-1/+0
| | | | | | | | | | | | refactored the find algo to prevent large numbers and take into account integer bytes think we're good on solidity type name resolution now removed couts updates to documentation and more removed couts along with literal value implementation forgot semicolons
* fixing modulus and Solidity Name and Type ResolutionVoR02202016-05-101-1/+1
| | | | | | minor fixes current attempts at binary fixup
* changed names for Rational Constants and categoriesVoR02202016-05-102-9/+9
|
* got exponents up and working with their inverse, changed a few of the ↵RJ Catalano2016-05-101-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | tests....something is working that likely shouldn't be slight changes to how to flip the rational negative around...still trying to figure it out tests added updated tests odd differences in trying soltest from solc binary, let me know if you can replicate test not working for odd reason fixed test problem with fixed literals...still need a way to log this error broken up the tests, added some, changed some things in types and began compiler work moar tests and prepping for rebuilding much of the types.cpp file further fixing infinite loop still happening but it's somewhere in the fixedPoint methodd fractional bits needed algo improved! Eliminated 2 errors Corrected problems with the previous commit. No infinite loops. Actually appear to have corrected an error
* initial work for fixed types...potentially needing a constant literal type ↵RJ Catalano2016-05-103-8/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for this notation Rational implemented...trying to figure out exponential fix for token bug, also quick fix for the wei and seconds fixed problem with var...probably a conversion problem for fixed in size capabilities adding fixed type tests Removing bitshift and regrouping fixed type tests together size capabilities functioning properly for fixed types got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be slight changes to how to flip the rational negative around...still trying to figure it out tests added updated tests odd differences in trying soltest from solc binary, let me know if you can replicate test not working for odd reason fixed test problem with fixed literals...still need a way to log this error broken up the tests, added some, changed some things in types and began compiler work moar tests and prepping for rebuilding much of the types.cpp file further fixing initial work for fixed types...potentially needing a constant literal type for this
* Allow calling internal functions of libraries.chriseth2016-05-043-33/+75
| | | | | | | | | | | | Internal functions of libraries can be called as if the library were a base contract of the calling contract. As the calling convention for internal functions is to not create a new call context, the code of these functions will be pulled into the context of the caller, duplicating their code. This might pull in code of further internal or even private functions. The use case for such functions is to allow libraries which can operate on memory types such that these types can also be modified in place.
* Remove non-determinism in missing code queue.chriseth2016-05-034-37/+95
|
* Bugfix: static arrays in constructor argumentschriseth2016-04-161-1/+1
|
* Fix for bug about deleting dynamic array of structs.chriseth2016-04-151-1/+1
|
* Make solidity independent from ethcore.chriseth2016-04-072-10/+6
|
* reduce unnecessary solidity:: namespaceDimitry2016-04-047-535/+535
|
* enable solidity testDimitry2016-04-041-1/+1
|
* rename namespace for instruction.h/cpp in libevmasmDimitry2016-04-027-535/+535
|
* move libevmcore to solidityDimitry2016-04-025-5/+5
|
* Correctly clean higher order bits for index access.chriseth2016-03-311-0/+2
|
* Code generation (missing external access and source locations).chriseth2016-03-303-0/+89
|
* Fixed Windows warningsBob Summerwill2016-03-181-1/+2
|
* BREAKING: Implement delegatecall and make default for library calls.chriseth2016-03-123-18/+23
|
* 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-232-0/+16
|
* Detect library name clashes.chriseth2016-01-141-2/+0
|
* final changes to typechecker, the expression compiler, and a couple more ↵RJ Catalano2016-01-121-8/+7
| | | | tests for good measure
* 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
| | | | parameterTypes does not return by const reference anymore.
* Code generation for calling bound methods.chriseth2015-12-011-4/+37
|
* Simplify and optimise stack rotation.chriseth2015-12-012-8/+27
|
* Merge pull request #251 from chriseth/bind2chriseth2015-11-301-1/+1
|\ | | | | Bind library functions to types.
| * Add bound functions to types.chriseth2015-11-291-1/+1
| |
* | Merge pull request #256 from chriseth/selfdestructchriseth2015-11-301-1/+1
|\ \ | | | | | | Introduce selfdestruct alias for suicide.
| * | Introduce selfdestruct alias for suicide.chriseth2015-11-291-1/+1
| |/
* / Bugfix for constructor unpacking with fixed-size arrays.chriseth2015-11-291-5/+13
|/
* Do not store elements of a contract by AST node type.chriseth2015-11-262-4/+4
|
* Make members context-sensitive.chriseth2015-11-263-10/+6
|
* Code generation for creating arrays.chriseth2015-11-263-9/+67
|
* Fixed string inside struct allocation bug.chriseth2015-11-244-10/+3
|