Commit Graph
4719 Commits
Author SHA1 Message Date
Alex Beregszaszi 92f1c9d492 Properly define the pragma directive in the grammar 2016-11-18 03:15:24 +00:00
Alex Beregszaszi 910269a29f Add appendCallValueCheck 2016-11-17 17:23:35 +00:00
Alex Beregszaszi 60e9c901e9 Include payable for the constructor in the ABI 2016-11-17 17:23:35 +00:00
Alex Beregszaszi ceeb8f4a2b Add payable check for constructor in codegen 2016-11-17 17:23:35 +00:00
chriseth 2c14a96820 Some more assertions and style changes. 2016-11-16 15:09:01 +01:00
chriseth ec31d08775 Change encoding to address-funid and add "function" as ABI type. 2016-11-16 14:37:19 +01:00
chriseth 7a292c9a05 Fix parser for function type disambiguity. 2016-11-16 14:37:19 +01:00
chriseth 0335ed4cb4 Simple peephole optimizer that is activated even if not requested. 2016-11-16 14:37:19 +01:00
chriseth 22b4d1b29a Check that no internals are used in any external function type. 2016-11-16 14:37:18 +01:00
chriseth e51f852504 Converted sub assembly to smart pointer. 2016-11-16 14:37:18 +01:00
chriseth e543bd34c0 Stored combined creation and runtime tags.
Includes a change to Assembly to allow tags from sub-assemblies to be
used.

Sorry, this get a bit bigger than I thought.
2016-11-16 14:37:18 +01:00
chriseth 746266b8fc ABI: Use external function. 2016-11-16 14:37:18 +01:00
chriseth 925d674146 Disallow payable internal functions. 2016-11-16 14:37:18 +01:00
chriseth f7a62c1e69 Mention "payable" in the documentation. 2016-11-16 14:37:18 +01:00
chriseth e1df3bd77f Fix tests. 2016-11-16 14:37:18 +01:00
chriseth f21f794f3c delete for function types 2016-11-16 14:37:18 +01:00
Yoichi Hirai c9f9b2ab4d codegen: add a compilation mode and a runtime context to CompilerContext 2016-11-16 14:37:18 +01:00
chriseth 5011d6339a Added function types to the grammar. 2016-11-16 14:37:18 +01:00
chriseth 47794c1da4 Implement uninitialized storage functions. 2016-11-16 14:37:18 +01:00
chriseth cc847df3c2 Bugfix in code generator. 2016-11-16 14:37:18 +01:00
chriseth ff3553a348 Change alignment. 2016-11-16 14:37:18 +01:00
chriseth 62492b67e7 Changelog entry and small fixes. 2016-11-16 14:37:18 +01:00
chriseth 95d7555e3c External functions in storage. 2016-11-16 14:37:17 +01:00
chriseth 6f19559de0 Fix some type checks and tests for internal / external function parameters. 2016-11-16 14:37:17 +01:00
chriseth 97a3588701 Function type state variables. 2016-11-16 14:37:17 +01:00
chriseth dd173f83e3 Code generator for function types. 2016-11-16 14:37:17 +01:00
chriseth cc8583ec7d Function types. 2016-11-16 14:37:17 +01:00
Alex Beregszaszi 9719cf38e6 Move InterfaceHandler from string to JSON 2016-11-15 15:55:25 +00:00
Alex Beregszaszi ae8403ed08 Rename ErrorTag to invalidJumpLabel in inline assembly 2016-11-15 10:30:33 +00:00
Alex Beregszaszi 91367234d9 Support ErrorTag as a jump label in inline assembly 2016-11-15 10:30:12 +00:00
chriseth 028ab1fbfb Merge pull request #1375 from ethereum/inline-assembly-stack-height
Fix inline assembly stack warnings when using variables
2016-11-15 11:25:12 +01:00
Alex Beregszaszi dad33f80dd Fix inline assembly stack warnings when using variables 2016-11-15 02:53:19 +00:00
Alex Beregszaszi ac46834d7d Do not include a trailing new line in the ABI JSON output 2016-11-15 02:20:38 +00:00
Rhett Aultman 58e75c7a48 Unimplemented features moved to their own exception (#1361)
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
2016-11-14 20:41:58 +00:00
chriseth 7884a69243 Merge pull request #1367 from asinyagin/develop
Print canonical names of structs and enums in AST
2016-11-14 19:55:35 +01:00
chriseth 07e4cd6e32 Merge pull request #1372 from ethereum/invalid_enum_as_external_ret
Invalid enum as external ret
2016-11-14 19:46:25 +01:00
Yoichi Hirai dbcbfafda8 codegen: overflow checking also during conversion from enums 2016-11-14 17:09:53 +01:00
Yoichi Hirai 1ff67b492a codegen: add a missing break; 2016-11-14 16:14:59 +01:00
Alex Sinyagin 6db9fd498a Print canonical names of structs and enums in AST 2016-11-14 13:39:46 +00:00
chriseth 68e7763387 Merge pull request #1365 from walter-weinmann/develop
#1362: As it stands currently, the >>> operator will not be implemented.
2016-11-14 14:02:38 +01:00
Walter Weinmann 176c06f386 #1362: As it stands currently, the >>> operator will not be implemented. 2016-11-14 13:22:29 +01:00
Yoichi Hirai 81f5734cbe codegen: move the enum overflow checking closer to the conversion into enums 2016-11-14 11:11:39 +01:00
Yoichi Hirai 20c2ca3992 ast, codegen: disallow conversion between different enum types 2016-11-11 17:48:03 +01:00
Yoichi Hirai 0a6c937dcb codegen: shorten the overflow checking when converting into enums 2016-11-11 17:48:03 +01:00
Yoichi Hirai eee629652e parsing: ban empty enum definition. 2016-11-11 17:48:03 +01:00
Yoichi Hirai 98dcd883e4 codegen: check the value range after converting something to an enum element 2016-11-11 17:48:03 +01:00
Yoichi Hirai e6098f0039 ast: add EnumType::numberOfMembers() 2016-11-11 17:47:48 +01:00
chriseth 7820f80192 Merge pull request #1355 from ethereum/chriseth-patch-2
Fix semicolons
2016-11-11 17:39:56 +01:00
Yoichi Hirai 6c15757618 Type checker: move the burden of computing mobile type to commonType
This solves #621
2016-11-11 15:51:54 +01:00
chriseth 1e845c279b Fix semicolons 2016-11-11 09:33:19 +01:00