Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Unimplemented features moved to their own exception (#1361) | Rhett Aultman | 2016-11-15 | 5 | -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_ret | chriseth | 2016-11-15 | 1 | -2/+2 |
|\ | | | | | Invalid enum as external ret | ||||
| * | codegen: overflow checking also during conversion from enums | Yoichi Hirai | 2016-11-15 | 1 | -2/+2 |
| | | |||||
* | | codegen: add a missing `break;` | Yoichi Hirai | 2016-11-14 | 1 | -0/+1 |
|/ | |||||
* | codegen: move the enum overflow checking closer to the conversion into enums | Yoichi Hirai | 2016-11-14 | 1 | -8/+16 |
| | |||||
* | ast, codegen: disallow conversion between different enum types | Yoichi Hirai | 2016-11-12 | 1 | -1/+1 |
| | |||||
* | codegen: shorten the overflow checking when converting into enums | Yoichi Hirai | 2016-11-12 | 1 | -1/+2 |
| | |||||
* | codegen: check the value range after converting something to an enum element | Yoichi Hirai | 2016-11-12 | 1 | -0/+8 |
| | |||||
* | Add support for do/while loops | Rhett Aultman | 2016-11-10 | 1 | -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. | chriseth | 2016-10-31 | 1 | -7/+1 |
| | |||||
* | Merge pull request #1264 from ethereum/988 | chriseth | 2016-10-25 | 2 | -9/+16 |
|\ | | | | | State variable under contract's name | ||||
| * | codegen: refactor common code | Yoichi Hirai | 2016-10-24 | 2 | -20/+15 |
| | | |||||
| * | codegen: if a member access has been resolved as a variable, follow that | Yoichi Hirai | 2016-10-24 | 1 | -0/+12 |
| | | | | | | | | This fixes at least the first example in #988 | ||||
* | | More checks for missing mobile type. | chriseth | 2016-10-24 | 2 | -5/+16 |
|/ | |||||
* | codegen: skip contract L for L.Foo where Foo is a type | Yoichi Hirai | 2016-10-24 | 1 | -1/+6 |
| | | | | Fixes #1116 | ||||
* | Allow warnings for inline assembly block | Alex Beregszaszi | 2016-10-20 | 1 | -1/+1 |
| | |||||
* | Rename dev::sha3 to dev::keccak256 | Alex Beregszaszi | 2016-10-06 | 1 | -1/+1 |
| | |||||
* | Merge pull request #1104 from ethereum/fixmemcosts | chriseth | 2016-09-17 | 1 | -4/+13 |
|\ | | | | | Fix memory resize costs during call | ||||
| * | Access output memory area so that we do not pay for resize during call. | chriseth | 2016-09-17 | 1 | -4/+13 |
| | | |||||
* | | Allow value transfer to library functions. | chriseth | 2016-09-17 | 1 | -1/+3 |
|/ | |||||
* | Provide gas stipend manually for send(0). | chriseth | 2016-09-06 | 1 | -1/+6 |
| | |||||
* | Merge pull request #665 from axic/feature/accept-ether | chriseth | 2016-09-06 | 2 | -0/+16 |
|\ | | | | | BREAKING: Add payable modifier | ||||
| * | Change function type to include and propagate payable and constant modifier. | chriseth | 2016-09-06 | 2 | -0/+8 |
| | | |||||
| * | Merged in changes from chriseth/payable | Alex Beregszaszi | 2016-09-06 | 1 | -11/+2 |
| | | |||||
| * | Support payable keyword for functions | Alex Beregszaszi | 2016-09-06 | 1 | -0/+17 |
| | | |||||
* | | Merge pull request #1006 from ethereum/nenewaccountgas | chriseth | 2016-09-06 | 1 | -1/+3 |
|\ \ | |/ |/| | Do not pay new account gas. | ||||
| * | Do not pay new account gas. | chriseth | 2016-09-05 | 1 | -1/+3 |
| | | | | | | | | | | If we checked that the target contract exists, we do not have to pay the "new account gas". | ||||
* | | Improve error message. | chriseth | 2016-09-05 | 1 | -1/+1 |
| | | |||||
* | | Guard encoding crashes with assertions. | chriseth | 2016-09-02 | 1 | -0/+8 |
|/ | |||||
* | Make fallback function throw by default. | chriseth | 2016-08-30 | 1 | -4/+1 |
| | |||||
* | Merge pull request #839 from chriseth/checkcode | chriseth | 2016-08-17 | 1 | -0/+7 |
|\ | | | | | BREAKING: Make function calls throw if target does not have code. | ||||
| * | Make function calls throw if target does not have code. | chriseth | 2016-08-17 | 1 | -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/throwOnDivZero | chriseth | 2016-08-17 | 1 | -3/+10 |
|\ \ | | | | | | | Throw on division by zero. | ||||
| * | | Throw on division by zero. | chriseth | 2016-08-17 | 1 | -3/+10 |
| |/ | |||||
* / | BREAKING: return only exits current function/modifier | chriseth | 2016-08-17 | 2 | -35/+45 |
|/ | |||||
* | Merge pull request #838 from chriseth/ecrecover | chriseth | 2016-08-17 | 1 | -5/+38 |
|\ | | | | | Make ecrecover return zero for malformed input. | ||||
| * | Actually better to return zero on error. | chriseth | 2016-08-16 | 1 | -2/+0 |
| | | |||||
| * | Make ecrecover throw for malformed input. | chriseth | 2016-08-16 | 1 | -5/+40 |
| | | |||||
* | | Provide inline assembly to the code generator. (#840) | chriseth | 2016-08-16 | 3 | -0/+58 |
| | | | | | | | | | | | | * Directly usable inline assembly. * Add missing header. | ||||
* | | Throw if contract creation fails. | chriseth | 2016-08-16 | 1 | -0/+3 |
|/ | |||||
* | Remove After from ExpressionCompiler | Denton Liu | 2016-08-11 | 1 | -3/+0 |
| | |||||
* | Merge pull request #722 from NicolaiSoeborg/develop | chriseth | 2016-08-11 | 2 | -2/+2 |
|\ | | | | | Fixes to grammar.txt [WIP] | ||||
| * | Remove the remains of "expresison" | Nicolai | 2016-07-15 | 2 | -2/+2 |
| | | |||||
* | | Fix identity precompile gas calculation | Alex Beregszaszi | 2016-08-06 | 1 | -2/+2 |
| | | |||||
* | | Bugfix: Allocate empty array. | chriseth | 2016-07-28 | 2 | -3/+7 |
|/ | |||||
* | Merge pull request #641 from axic/patch/shift-parser | chriseth | 2016-06-09 | 1 | -0/+2 |
|\ | | | | | Trivial shift parser fixes | ||||
| * | Include SHR case in ExpressionCompiler::appendShiftOperatorCode | Alex Beregszaszi | 2016-06-08 | 1 | -0/+2 |
| | | |||||
* | | Disallow implementation of abstract function by constructor of derived class. | chriseth | 2016-06-07 | 1 | -0/+3 |
|/ | |||||
* | Fixes for invalid cleanups for small types. | chriseth | 2016-05-20 | 2 | -9/+15 |
| | |||||
* | Refactor compiler to avoid weird swap of contexts | chriseth | 2016-05-20 | 4 | -871/+999 |
| | |||||
* | Allow access to functions in inline assembly. | chriseth | 2016-05-12 | 2 | -14/+13 |
| | |||||
* | Remove unused tests and add asserts for not implemented parts in code ↵ | chriseth | 2016-05-11 | 3 | -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, ↵ | VoR0220 | 2016-05-10 | 1 | -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 Resolution | VoR0220 | 2016-05-10 | 1 | -1/+1 |
| | | | | | | minor fixes current attempts at binary fixup | ||||
* | changed names for Rational Constants and categories | VoR0220 | 2016-05-10 | 2 | -9/+9 |
| | |||||
* | got exponents up and working with their inverse, changed a few of the ↵ | RJ Catalano | 2016-05-10 | 1 | -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 Catalano | 2016-05-10 | 3 | -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. | chriseth | 2016-05-04 | 3 | -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. | chriseth | 2016-05-03 | 4 | -37/+95 |
| | |||||
* | Bugfix: static arrays in constructor arguments | chriseth | 2016-04-16 | 1 | -1/+1 |
| | |||||
* | Fix for bug about deleting dynamic array of structs. | chriseth | 2016-04-15 | 1 | -1/+1 |
| | |||||
* | Make solidity independent from ethcore. | chriseth | 2016-04-07 | 2 | -10/+6 |
| | |||||
* | reduce unnecessary solidity:: namespace | Dimitry | 2016-04-04 | 7 | -535/+535 |
| | |||||
* | enable solidity test | Dimitry | 2016-04-04 | 1 | -1/+1 |
| | |||||
* | rename namespace for instruction.h/cpp in libevmasm | Dimitry | 2016-04-02 | 7 | -535/+535 |
| | |||||
* | move libevmcore to solidity | Dimitry | 2016-04-02 | 5 | -5/+5 |
| | |||||
* | Correctly clean higher order bits for index access. | chriseth | 2016-03-31 | 1 | -0/+2 |
| | |||||
* | Code generation (missing external access and source locations). | chriseth | 2016-03-30 | 3 | -0/+89 |
| | |||||
* | Fixed Windows warnings | Bob Summerwill | 2016-03-18 | 1 | -1/+2 |
| | |||||
* | BREAKING: Implement delegatecall and make default for library calls. | chriseth | 2016-03-12 | 3 | -18/+23 |
| | |||||
* | Index access for bytesXX. | chriseth | 2016-02-10 | 1 | -0/+26 |
| | |||||
* | [cond-expr] fixup according to code review | Lu Guanqun | 2016-01-23 | 1 | -1/+3 |
| | |||||
* | [cond-expr] make the codegen one instruction less | Lu Guanqun | 2016-01-23 | 1 | -5/+4 |
| | |||||
* | [cond-expr] generate assembly for _ ? _ : _ | Lu Guanqun | 2016-01-23 | 2 | -0/+16 |
| | |||||
* | Detect library name clashes. | chriseth | 2016-01-14 | 1 | -2/+0 |
| | |||||
* | final changes to typechecker, the expression compiler, and a couple more ↵ | RJ Catalano | 2016-01-12 | 1 | -8/+7 |
| | | | | tests for good measure | ||||
* | Update ExpressionCompiler.cpp | RJ | 2016-01-11 | 1 | -14/+16 |
| | |||||
* | Update ExpressionCompiler.cpp | RJ | 2016-01-11 | 1 | -4/+2 |
| | |||||
* | Update ExpressionCompiler.cpp | RJ | 2016-01-10 | 1 | -17/+39 |
| | |||||
* | support decayed tuple expression as left value | Lu Guanqun | 2016-01-04 | 1 | -1/+6 |
| | |||||
* | Add structs and enums to contract types. | chriseth | 2015-12-18 | 1 | -7/+9 |
| | |||||
* | Fix: Segfaults connected to paramater types. | chriseth | 2015-12-10 | 1 | -2/+2 |
| | | | | parameterTypes does not return by const reference anymore. | ||||
* | Code generation for calling bound methods. | chriseth | 2015-12-01 | 1 | -4/+37 |
| | |||||
* | Simplify and optimise stack rotation. | chriseth | 2015-12-01 | 2 | -8/+27 |
| | |||||
* | Merge pull request #251 from chriseth/bind2 | chriseth | 2015-11-30 | 1 | -1/+1 |
|\ | | | | | Bind library functions to types. | ||||
| * | Add bound functions to types. | chriseth | 2015-11-29 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #256 from chriseth/selfdestruct | chriseth | 2015-11-30 | 1 | -1/+1 |
|\ \ | | | | | | | Introduce selfdestruct alias for suicide. | ||||
| * | | Introduce selfdestruct alias for suicide. | chriseth | 2015-11-29 | 1 | -1/+1 |
| |/ | |||||
* / | Bugfix for constructor unpacking with fixed-size arrays. | chriseth | 2015-11-29 | 1 | -5/+13 |
|/ | |||||
* | Do not store elements of a contract by AST node type. | chriseth | 2015-11-26 | 2 | -4/+4 |
| | |||||
* | Make members context-sensitive. | chriseth | 2015-11-26 | 3 | -10/+6 |
| | |||||
* | Code generation for creating arrays. | chriseth | 2015-11-26 | 3 | -9/+67 |
| | |||||
* | Fixed string inside struct allocation bug. | chriseth | 2015-11-24 | 4 | -10/+3 |
| | |||||
* | Merge pull request #236 from ethereum/hot_gav | Gav Wood | 2015-11-23 | 3 | -9/+10 |
|\ | | | | | Fix up for new API from EIP-1.1. | ||||
| * | Fix up for new API from EIP-1.1. | Gav Wood | 2015-11-21 | 3 | -9/+10 |
| | | |||||
* | | Merge pull request #227 from chriseth/addmod | chriseth | 2015-11-19 | 1 | -0/+14 |
|\ \ | | | | | | | Addmod and mulmod. | ||||
| * | | Addmod and mulmod. | chriseth | 2015-11-19 | 1 | -0/+14 |
| | | | |||||
* | | | Merge pull request #204 from ethereum/hot_gav | Gav Wood | 2015-11-19 | 1 | -2/+4 |
|\ \ \ | |/ / |/| / | |/ | The Big Refactor | ||||
| * | Minor API change - must provide SealEngine to Executive now. | Gav Wood | 2015-11-19 | 1 | -2/+4 |
| | | |||||
* | | Merge pull request #218 from chriseth/fix_overwriteMemory | chriseth | 2015-11-17 | 1 | -3/+13 |
|\ \ | | | | | | | Fix memory overwrite problem for arrays. | ||||
| * | | Fix memory overwrite problem for arrays. | chriseth | 2015-11-17 | 1 | -3/+13 |
| |/ | |||||
* / | Fix dynamic indexed event arguments - applies sha3. | chriseth | 2015-11-17 | 1 | -5/+18 |
|/ | |||||
* | Bugfix: Returning literal strings in tuples. | chriseth | 2015-11-01 | 2 | -2/+6 |
| | |||||
* | Fix override warning. | chriseth | 2015-10-23 | 1 | -1/+1 |
| | |||||
* | File reorganisation. | chriseth | 2015-10-21 | 12 | -0/+5667 |