Commit Graph

6180 Commits

Author SHA1 Message Date
Yoichi Hirai
708b7b35ad Add a parser test for arrays containing functions 2016-11-16 14:37:17 +01:00
Yoichi Hirai
ab3d1b024d Add tests around calling functions returning functions returning functions 2016-11-16 14:37:17 +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
chriseth
c811691861 Merge pull request #1379 from ethereum/swarmHashCorrection
Correct implementation of swarm hash.
2016-11-16 12:25:20 +01:00
chriseth
192a81892d Merge pull request #1377 from ethereum/keep-json-values
Keep internal results in JSON
2016-11-15 19:16:07 +01:00
Alex Beregszaszi
227f6aab4f Change natspec/abi JSON expected message to be the same 2016-11-15 17:58:55 +00:00
Alex Beregszaszi
81c50143f2 Move JSON helpers to libdevcore/json 2016-11-15 17:38:18 +00:00
Alex Beregszaszi
9205662de9 Update tests to use JSON 2016-11-15 17:20:30 +00:00
Alex Beregszaszi
9719cf38e6 Move InterfaceHandler from string to JSON 2016-11-15 15:55:25 +00:00
chriseth
518fe2aab7 Correct implementation of swarm hash. 2016-11-15 14:55:51 +01:00
Alex Beregszaszi
0072160d77 Merge pull request #1327 from ethereum/inline-assembly-errortag
ErrorTag in inline assembly
2016-11-15 11:17:33 +00:00
chriseth
634b0998ba Merge pull request #1369 from ethereum/callcosts
Report infinite gas for calls.
2016-11-15 11:32:42 +01:00
Alex Beregszaszi
ae8403ed08 Rename ErrorTag to invalidJumpLabel in inline assembly 2016-11-15 10:30:33 +00:00
Alex Beregszaszi
702ab4cb4f Document inline assembly ErrorTag 2016-11-15 10:30:33 +00:00
Alex Beregszaszi
bee926bf3f Add tests for the ErrorTag 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
1208279914 Merge pull request #1366 from ethereum/swarmhash
Swarm hash.
2016-11-15 11:28:23 +01: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
chriseth
dce80911e1 Add tests 2016-11-15 09:16:33 +01:00
chriseth
c1b1efafdb Merge pull request #760 from axic/fix/omit-newline-in-interface
Do not include a trailing new line in the ABI JSON output
2016-11-15 09:08:32 +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
Alex Beregszaszi
42617cb8dd Merge pull request #1317 from ethereum/timelock
Compile all contracts in the std directory
2016-11-14 23:39:42 +00:00
chriseth
bf5b0dc2d2 Keep old code. 2016-11-14 23:28:26 +01:00
chriseth
2ecf348a9d Move swarmHash to its own file. 2016-11-14 23:25:12 +01:00
chriseth
bdbc4fc82d Merge pull request #1373 from ethereum/debug-compiler-flag
Compile with -Og in debug mode (by @chfast)
2016-11-14 23:19:59 +01:00
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
chriseth
3dbf2830ca Update tests.sh 2016-11-14 23:04:43 +01:00
Alex Beregszaszi
35def4735e Compile with -Og in debug mode (by @chfast) 2016-11-14 21:43:28 +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
chriseth
c2c39239d6 Report infinite gas for calls. 2016-11-14 16:02:57 +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