aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/ContractCompiler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use the REVERT opcode for throw;Alex Beregszaszi2017-02-111-1/+3
|
* Be more verbose on the stack-mismatch errorsAlex Beregszaszi2017-02-011-1/+1
|
* Support explicit conversion of external function type to addressAlex Beregszaszi2017-02-011-1/+1
|
* Changelog and review suggestions.chriseth2017-01-271-1/+1
|
* Address feedback from code review.Valentin Wüstholz2017-01-261-3/+3
|
* Change translation of implicit throws (issue #1589).Valentin Wüstholz2017-01-261-3/+5
| | | | | | | 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.
* Move some util functions to low-level functions.chriseth2017-01-241-0/+1
|
* Report source location on "stack too deep" errors.chriseth2017-01-211-1/+8
|
* Use fully-qualified names for linking, tooRhett Aultman2017-01-171-1/+1
| | | | | | | | | | | | | | | 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.
* 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
|/
* Fix licensing headersVoR02202016-11-231-4/+4
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Add appendCallValueCheckAlex Beregszaszi2016-11-181-20/+13
|
* Add payable check for constructor in codegenAlex Beregszaszi2016-11-181-0/+12
|
* Converted sub assembly to smart pointer.chriseth2016-11-161-8/+7
|
* Stored combined creation and runtime tags.chriseth2016-11-161-11/+32
| | | | | | | Includes a change to Assembly to allow tags from sub-assemblies to be used. Sorry, this get a bit bigger than I thought.
* Code generator for function types.chriseth2016-11-161-0/+1
|
* Unimplemented features moved to their own exception (#1361)Rhett Aultman2016-11-151-2/+2
| | | | | | | | | | | | | | | | | | 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
* 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.
* Allow warnings for inline assembly blockAlex Beregszaszi2016-10-201-1/+1
|
* Allow value transfer to library functions.chriseth2016-09-171-1/+3
|
* Change function type to include and propagate payable and constant modifier.chriseth2016-09-061-0/+6
|
* Merged in changes from chriseth/payableAlex Beregszaszi2016-09-061-11/+2
|
* Support payable keyword for functionsAlex Beregszaszi2016-09-061-0/+17
|
* Make fallback function throw by default.chriseth2016-08-301-4/+1
|
* BREAKING: return only exits current function/modifierchriseth2016-08-171-31/+42
|
* Disallow implementation of abstract function by constructor of derived class.chriseth2016-06-071-0/+3
|
* Refactor compiler to avoid weird swap of contextschriseth2016-05-201-0/+853