Commit Graph

942 Commits

Author SHA1 Message Date
Christian
64a4d77c8b State variables. 2014-11-07 20:02:57 +01:00
Christian
4c8e670530 Bugfix: Bit width of address types. 2014-11-07 17:34:50 +01:00
Christian
dc8fb45e1f Merge remote-tracking branch 'ethereum/develop' into sol_optimizer 2014-11-07 02:13:31 +01:00
Christian
af0aa0f898 Evaluate expressions in convenient order. 2014-11-07 02:07:59 +01:00
Gav Wood
afa4e9f575 Merge pull request #478 from chriseth/sol_typePromotion
Type promotion
2014-11-06 23:43:03 +00:00
Gav Wood
49e03ad4c9 Merge pull request #483 from chriseth/libevmcore
Moved instructions and assembly to new libevmcore.
2014-11-06 23:40:59 +00:00
Christian
b66e58d6c9 Prevent optimizer from changing certain parts of the code. 2014-11-06 22:55:42 +01:00
Christian
225fc8e1b3 Option to activate the optimizer for solidity. 2014-11-06 22:55:42 +01:00
chriseth
d9decb8f1d Removed superfluous braces. 2014-11-06 22:11:21 +01:00
Christian
6c2e3ffd76 Merge remote-tracking branch 'ethereum/develop' into sol_typePromotion 2014-11-06 22:07:02 +01:00
Christian
d3215fb4a6 Re-added some changes lost in merges. 2014-11-06 22:04:10 +01:00
chriseth
e0ba1c79db Stylistic changes. 2014-11-06 21:55:01 +01:00
Christian
04726a4ee4 Merge remote-tracking branch 'ethereum/develop' into sol_optimizer 2014-11-06 15:34:35 +01:00
Gav Wood
eb894869d4 Merge pull request #477 from chriseth/sol_someCleanup
Minor cleanup.
2014-11-06 14:20:13 +00:00
Christian
8a0fff83f1 Moved instructions and assembly to new libevmcore. 2014-11-06 14:50:18 +01:00
Christian
d1df8b810f Ignore break and continue outside of loops. 2014-11-06 02:46:48 +01:00
Christian
627c80f0a8 Support for negative literals. 2014-11-06 02:44:43 +01:00
Christian
b5e77678c9 Keywords for all integer types. 2014-11-06 02:40:39 +01:00
Christian
95d2edfbac Type promotion fixes and tests. 2014-11-06 02:36:39 +01:00
Christian
13baaf98b8 Proper type promotion and conversion. 2014-11-06 02:36:39 +01:00
Christian
4b6c422315 More information for type expectation errors. 2014-11-06 02:22:24 +01:00
Christian
29c9a7aed9 Allow implicit type conversions for comparisons. 2014-11-06 02:22:24 +01:00
Christian
de493c673f Detect integer length from literals and remove "std::". 2014-11-06 02:22:24 +01:00
Christian
0062cdb83c Minor cleanup. 2014-11-05 23:35:00 +01:00
Christian
e30d3f8d53 Merge remote-tracking branch 'ethereum/develop' into HEAD
Conflicts:
	libsolidity/Compiler.cpp
	test/solidityCompiler.cpp
2014-11-05 17:56:38 +01:00
Christian
f0c73b7a54 Stylistic corrections. 2014-11-05 15:04:33 +01:00
Christian
c1f7a1665f Converted all asserts to exceptions. 2014-11-05 15:01:24 +01:00
Christian
5dd8f3a937 Bugfix: Special case of statements starting with type conversion. 2014-11-05 07:35:31 +01:00
chriseth
1de66d6e9e Added doxygen comment. 2014-11-04 19:52:04 +01:00
chriseth
ef546e789a Stylistic changes. 2014-11-04 11:56:19 +01:00
Christian
4dfd6dfa13 Some tests and bugfixes for the compiler. 2014-11-03 16:11:40 +01:00
Christian
643c781a6d Bugfix: Swap before mod and div. 2014-11-03 15:44:22 +01:00
Christian
e9eef77489 Bugfix: Swap before mod and div. 2014-11-03 12:23:53 +01:00
Christian
25c0e08bdf Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
Conflicts:
	libsolidity/AST.cpp
	libsolidity/AST.h
	libsolidity/Compiler.cpp
	libsolidity/Compiler.h
	libsolidity/NameAndTypeResolver.h
	libsolidity/Types.cpp
	solc/main.cpp
	test/solidityCompiler.cpp
2014-10-31 17:20:27 +01:00
Christian
a36db1f241 Actual contract creator and add solidity to AlethZero interface. 2014-10-31 14:37:23 +01:00
Gav Wood
c45495afb9 Big fixes. 2014-10-31 14:35:13 +01:00
Christian
9f53f18893 Corrected doxygen post comments. 2014-10-31 13:29:32 +01:00
Christian
cb9cb48dc7 Function selector and variable (un)packing. 2014-10-30 21:21:25 +01:00
Christian
a5f3602738 Renamed file. 2014-10-30 21:21:25 +01:00
Christian
d3f5c6a0c8 Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler 2014-10-30 01:25:42 +01:00
Christian
7f19f3d133 Contract compiler and also add ExpressionStatement to AST.
ExpressionStatement functions as glue between Statements and Expressions.

This way it is possible to detect when the border between statements and
expressions is crossed while walking the AST. Note that ExpressionStatement is
not the only border, almost every statement can contains expressions.
2014-10-30 01:25:42 +01:00
Christian
51349bdae5 Bugfix: Allow empty return statements without type checking. 2014-10-30 01:18:07 +01:00
Christian
5d287e7ea2 Further const placement changes. 2014-10-29 19:41:07 +01:00
Christian
62822ffd92 Fixed placements of const. 2014-10-29 19:28:30 +01:00
Christian
21b01a9647 Merge remote-tracking branch 'ethereum/develop' into sol_expressionCompiler 2014-10-29 19:26:02 +01:00
Christian
b5a4d12fa3 Compiler for assignments. 2014-10-29 14:33:25 +01:00
Christian
01224287f5 NEG->BNOT change 2014-10-29 14:26:37 +01:00
Christian
413b315a03 Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
Conflicts:
	libsolidity/Types.cpp
2014-10-29 13:54:36 +01:00
Christian
2939b180ba Parser fix: Consume break and continue. 2014-10-29 13:00:22 +01:00
Christian
f91ddc2788 Adjustments for the NEG->BNOT change. 2014-10-28 17:09:06 +01:00