Commit Graph

6146 Commits

Author SHA1 Message Date
chriseth
8944b092f8 Multi-level swarm hash. 2016-11-14 23:14:10 +01:00
chriseth
2f83a45577 Swarm hash. 2016-11-14 23:14:10 +01:00
Rhett Aultman
58e75c7a48 Unimplemented features moved to their own exception ()
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
3f74c3c236 Merge pull request from ethereum/invalid_enum_as_external_arg
Throw exception on invalid enum value as external call argument
2016-11-14 21:38:02 +01:00
Yoichi Hirai
e6247195dd
test: add a testcase about using an invalid enum value as an external call argument 2016-11-14 20:46:30 +01:00
chriseth
7884a69243 Merge pull request 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 from ethereum/invalid_enum_as_external_ret
Invalid enum as external ret
2016-11-14 19:46:25 +01:00
Alex Beregszaszi
54555adb67 Merge pull request from ethereum/missing_break
codegen: add a missing `break;`
2016-11-14 18:07:48 +00:00
Yoichi Hirai
dbcbfafda8
codegen: overflow checking also during conversion from enums 2016-11-14 17:09:53 +01:00
Yoichi Hirai
454e7618c8
test: add tests about returning invalid enum values from interface functions 2016-11-14 16:44:04 +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 from walter-weinmann/develop
: As it stands currently, the >>> operator will not be implemented.
2016-11-14 14:02:38 +01:00
chriseth
d5ae8fd5a1 Merge pull request from ethereum/chriseth-patch-1
Windows build fix.
2016-11-14 14:00:27 +01:00
chriseth
9383a18c57 Merge pull request from ethereum/enum_conversion
check enum value range during conversion
2016-11-14 13:32:38 +01:00
chriseth
4f546e6563 Merge pull request from ethers/patch-1
docs: Remove named return
2016-11-14 13:23:44 +01:00
Walter Weinmann
176c06f386 : 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
ethers
04eb6e85f2 Remove named return
Named returns are not explained in this introduction; they also provide little value in these examples.
2016-11-12 20:02:43 -08:00
Yoichi Hirai
20c2ca3992
ast, codegen: disallow conversion between different enum types 2016-11-11 17:48:03 +01:00
Yoichi Hirai
4b6e7e0677
test: add a test conerting an enum into another enum, which should fail 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
effca18250
docs: udpate description of enums about 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
457daecba1
test: add a test converting -1 as a literal into an enum
This shows  fixes 
2016-11-11 17:48:03 +01:00
Yoichi Hirai
08a889a908
test: add a test case for
The test witnesses that  fixes .
2016-11-11 17:48:03 +01:00
Yoichi Hirai
1af3c4f754
docs: document the new overflow exception during conversion into enum 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
8856adce8f
test: add tests that witness issue 2016-11-11 17:47:48 +01:00
Yoichi Hirai
e6098f0039
ast: add EnumType::numberOfMembers() 2016-11-11 17:47:48 +01:00
chriseth
7820f80192 Merge pull request from ethereum/chriseth-patch-2
Fix semicolons
2016-11-11 17:39:56 +01:00
Yoichi Hirai
6248e92d77 Merge pull request from ethereum/common_type_of_rational_type
tolerant type checking for inline arrays, by computing the common type in a more tolerant way
2016-11-11 16:18:03 +01:00
Yoichi Hirai
41170d5507
Changelog: add a point about 2016-11-11 15:52:15 +01:00
Yoichi Hirai
6c15757618
Type checker: move the burden of computing mobile type to commonType
This solves 
2016-11-11 15:51:54 +01:00
Yoichi Hirai
33590d513e
test: add a test for 2016-11-11 15:51:54 +01:00
chriseth
1e845c279b Fix semicolons 2016-11-11 09:33:19 +01:00
chriseth
a40dcfef12 Merge pull request from roadriverrail/do_while_loops
Add support for do/while loops
2016-11-10 17:13:45 +01:00
Rhett Aultman
4524ad0870 Add support for do/while loops
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.
2016-11-10 07:07:25 -08:00
chriseth
d22ed31e4b Windows build fix.
Thanks for the find, @slothbag
2016-11-09 15:04:16 +01:00
chriseth
81118de512 Merge pull request from ethereum/typo
test: fix a typo in calling_payable test
2016-11-09 11:29:41 +01:00
chriseth
c82acfd3eb Merge pull request from ethereum/compare_location_files
Compare source files in source locations
2016-11-09 10:49:30 +01:00
chriseth
63bde109a1 Fail if parsing fails in type checker tests. 2016-11-09 10:48:45 +01:00
Yoichi Hirai
88547a1c66
test: fix a typo in calling_payable test 2016-11-08 17:09:24 +01:00
chriseth
6f2bc0d201 Merge pull request from ethereum/updatereleasppa
Fetch jsoncpp tarball during ppa release.
2016-11-08 16:57:17 +01:00
chriseth
dc8a5f4ef5 Fetch jsoncpp tarball during ppa release. 2016-11-08 16:41:25 +01:00
chriseth
8a4fb2d89c Merge pull request from ethereum/jsoncpp-from-source
JSONCPP: keep downloaded archive in source dir
2016-11-08 16:33:33 +01:00
Paweł Bylica
69556666db
Update jsoncpp.cmake from cpp-dependencies repo
This change will keep the downloaded jsoncpp archive in the source dir and allow PPA builds from tarballs.
2016-11-08 14:28:59 +01:00
chriseth
7a30e8cf6e Merge pull request from ethereum/jsoncpp-from-source
Build jsoncpp from source using jsoncpp.cmake script
2016-11-08 13:47:52 +01:00
Yoichi Hirai
2e92966684
libevmasm: fix comparison of SourceLocations 2016-11-08 11:11:08 +01:00
Paweł Bylica
598154ed17
Drop CryptoPP leftovers
Especially, do not compile CryptoPP for Emscripten.
2016-11-08 01:16:31 +01:00