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
Paweł Bylica
10019d4a5e
Update jsoncpp.cmake from cpp-dependencies repo
2016-11-08 00:57:30 +01:00