Commit Graph

6146 Commits

Author SHA1 Message Date
chriseth
dce80911e1 Add tests 2016-11-15 09:16:33 +01:00
Alex Beregszaszi
dad33f80dd Fix inline assembly stack warnings when using variables 2016-11-15 02:53:19 +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
3f74c3c236 Merge pull request #1371 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 #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
Alex Beregszaszi
54555adb67 Merge pull request #1370 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 #1365 from walter-weinmann/develop
#1362: As it stands currently, the >>> operator will not be implemented.
2016-11-14 14:02:38 +01:00
chriseth
d5ae8fd5a1 Merge pull request #1348 from ethereum/chriseth-patch-1
Windows build fix.
2016-11-14 14:00:27 +01:00
chriseth
9383a18c57 Merge pull request #1334 from ethereum/enum_conversion
check enum value range during conversion
2016-11-14 13:32:38 +01:00
chriseth
4f546e6563 Merge pull request #1360 from ethers/patch-1
docs: Remove named return
2016-11-14 13:23:44 +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
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 #1334 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 #1334 fixes #1344
2016-11-11 17:48:03 +01:00
Yoichi Hirai
08a889a908
test: add a test case for #1343
The test witnesses that #1334 fixes #1343.
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 #1311 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 #1355 from ethereum/chriseth-patch-2
Fix semicolons
2016-11-11 17:39:56 +01:00
Yoichi Hirai
6248e92d77 Merge pull request #1293 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 #1293 2016-11-11 15:52:15 +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
Yoichi Hirai
33590d513e
test: add a test for #621 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 #768 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 #1339 from ethereum/typo
test: fix a typo in calling_payable test
2016-11-09 11:29:41 +01:00
chriseth
c82acfd3eb Merge pull request #1333 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 #1338 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 #1337 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 #1252 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