Alex Beregszaszi
32d6c1c316
MLOAD has side-effects, treat it like that in the optimiser
2017-06-30 21:27:39 +01:00
Alex Beregszaszi
d4fecc7b11
Warn on JUMP/JUMPI in inline assembly
2017-06-30 20:47:14 +01:00
chriseth
044058276e
Warn about callcode.
2017-06-30 16:37:32 +02:00
chriseth
168f64f4cb
Fix negative stack size checks.
2017-06-28 16:55:49 +01:00
chriseth
a895f2dccb
Changelog entry.
2017-06-28 11:41:03 +02:00
chriseth
e715dd0b7e
Merge branch 'develop' into utf8-strict-parser
2017-06-27 14:37:45 +02:00
Alex Beregszaszi
bc31d4969c
Merge pull request #2437 from ethereum/warnDoubleCopyStorage
...
Warn about copies in storage that might overwrite unexpectedly.
2017-06-27 10:24:03 +01:00
chriseth
d0b6de0b34
Warn about copies in storage that might overwrite unexpectedly.
2017-06-26 16:31:36 +02:00
chriseth
f47e6e90fb
Disallow comparisons between some types.
2017-06-26 16:30:36 +02:00
Alex Beregszaszi
569e0c53f2
Implement strict UTF-8 validation
2017-06-26 12:58:21 +01:00
Alex Beregszaszi
751ba701bc
Merge pull request #2450 from ethereum/addressstring
...
Fix for strings treated as addresses.
2017-06-26 12:18:33 +01:00
Alex Beregszaszi
a0b0df2d98
Merge pull request #2460 from ethereum/disallowMultiModifier
...
Disallow invoking the same modifier multiple times.
2017-06-26 11:51:12 +01:00
chriseth
c328ab411b
Merge pull request #2442 from ethereum/remove-why3
...
Remove Why3 generator
2017-06-26 09:20:23 +02:00
Alex Beregszaszi
555dc4f46f
Remove Why3 generator
2017-06-25 12:26:16 +01:00
chriseth
5a75581f66
Disallow invoking the same modifier multiple times.
2017-06-23 20:12:22 +02:00
chriseth
831ed08387
Change invalid opcode to revert for input validation.
2017-06-23 19:29:11 +02:00
chriseth
633b6bd61a
Merge pull request #2213 from ethereum/jsoncompiler
...
Rewrite jsonCompiler using StandardCompiler
2017-06-23 17:41:14 +02:00
Federico Bond
0fb1621a98
Fix address literals not being treated as compile-time constants
...
The early return implemented for address literals in TypeChecker was
preventing the isPure annotation from getting applied. Closes #2441
2017-06-23 11:19:57 +02:00
Alex Beregszaszi
79ed529b3f
Merge pull request #2452 from ethereum/fixPassingEmptyString
...
Fix passing empty string
2017-06-22 22:33:06 +01:00
Alex Beregszaszi
08a5d144ac
Merge pull request #2426 from ethereum/miniMoustache
...
Whiskers template system
2017-06-22 22:17:26 +01:00
chriseth
83ea7793d9
Fix ABI encoding of empty string literal.
2017-06-22 17:55:06 +02:00
chriseth
e58cff3f37
Changelog entry for Whiskers.
2017-06-22 16:56:57 +02:00
chriseth
c33d818a68
Changelog entry.
2017-06-22 16:48:44 +02:00
Alex Beregszaszi
ea6cf619fd
Rewrite jsonCompiler using StandardCompiler
2017-06-22 13:01:46 +01:00
Federico Bond
0f8ad1d68f
Fix segmentation fault with constant function parameters
2017-06-21 22:46:27 -03:00
chriseth
0c75afb2c1
Merge pull request #2225 from ethereum/julia-for
...
Implement for statement in assembly parser / printer / code generator
2017-06-19 11:53:22 +02:00
chriseth
c1f5016e16
Changelog entry.
2017-06-16 16:41:41 +02:00
chriseth
7a09860ec1
Mention functions in changelog.
2017-06-16 11:29:41 +01:00
chriseth
71d39755fe
Changelog and documentation.
2017-06-16 10:56:21 +01:00
chriseth
66881bd675
Merge branch 'develop' into asm-aux
2017-06-15 08:39:02 +02:00
Alex Beregszaszi
42b61171d9
Merge pull request #2192 from winsvega/develop
...
add STATICCALL instruction
2017-06-14 21:03:32 +01:00
Alex Beregszaszi
585b3ea3e3
Print auxiliary data in the assembly
2017-06-14 20:14:15 +01:00
chriseth
f008ddf836
Merge pull request #2381 from ethereum/fixcrash
...
Fix a crash about a non-callable expression.
2017-06-14 18:35:38 +02:00
chriseth
fd5bf16101
Merge pull request #2384 from ethereum/parseFunctionalInstructions
...
Enforce function arguments when parsing functional instructions.
2017-06-14 18:35:16 +02:00
Dimitry
c20cdd0a05
add new opcode instructions to the parser
...
STATICCALL 0xfa 6 inputs (gas address mem1 mem2 mem3 mem4)
2017-06-14 18:18:12 +02:00
Alex Beregszaszi
bec30051c5
Introduce CREATE2 in the assembler
2017-06-14 16:00:39 +02:00
chriseth
1b1f35762e
Enforce function arguments when parsing functional instructions.
2017-06-14 14:51:47 +02:00
chriseth
07cc84fade
Fix a crash about a non-callable expression.
2017-06-14 14:26:20 +02:00
Yoichi Hirai
55737213d1
Add a changelog entry
2017-06-13 16:57:07 +02:00
Alex Beregszaszi
59d3a9d169
Add changelog entry for keccak256
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
56fe3a6ab9
Better error messages during parsing functional instructions
2017-05-24 13:35:52 +01:00
chriseth
74d2e7311a
Merge pull request #2265 from roadriverrail/inline_asm_unused_warning
...
Analyze InlineAssembly for variable use
2017-05-22 16:34:29 +02:00
djudjuu
e82df073d1
minor fixes and changelog update
2017-05-22 12:25:50 +02:00
Rhett Aultman
621c3fa22f
Analyze InlineAssembly for variable use
...
The unused variable checker in StaticAnalyzer did not conssider
InlineAssembly objects. This commit introduces that missing feature.
2017-05-21 15:23:05 -07:00
chriseth
2d67f09bc5
Bump version.
2017-05-04 11:57:34 +02:00
chriseth
9df7a6fa29
Update permalink for optimizer bug and fix release date.
2017-05-03 12:39:54 +02:00
chriseth
dbbd8d60ef
Finalize changelog.
2017-05-03 12:24:22 +02:00
chriseth
00933b99cc
Merge pull request #2206 from ethereum/fixoptimizer
...
Constant optimizer fix
2017-05-03 11:54:11 +02:00
Rhett Aultman
a40c8cfb68
Warn on unused local variables
...
Analyze functions for all local variables, parameters, and named
return variables which are never used in the function, and issue
a warning.
2017-05-03 11:26:21 +02:00
chriseth
5c4f3f6d0b
Fix number representation bug.
2017-05-02 12:22:11 +02:00
Rhett Aultman
e544698ad3
Deprecate use of unary '+'
...
The unary '+' serves no meaningful purpose in Solidity and it makes it
possible to produce typos with dagerous implications (e.g. 'a =+5 '),
so we are deprecating it. The SyntaxChecker currently issues warnings
on the unary '+' but will still compile it for now.
2017-04-28 17:43:19 -07:00
chriseth
2c1fb46bc3
Merge pull request #1711 from ethereum/asmfunctions
...
Assembly: Analysis stage for functions.
2017-04-26 17:47:48 +02:00
Alex Beregszaszi
2002447b10
Mention requirement changes in changelog
2017-04-26 16:47:01 +01:00
chriseth
efa9c76267
Update Changelog.md
2017-04-26 12:48:19 +02:00
chriseth
e64a03d86b
Changelog entry.
2017-04-25 16:49:18 +02:00
Yoichi Hirai
a1da03328a
Changelog: add a point about fee schedule update
2017-04-25 16:47:43 +02:00
chriseth
9bc9fe6af7
Warn about side-effect free statements.
2017-04-21 11:36:38 +02:00
Alex Beregszaszi
5732ffdb74
Update changelog
2017-04-20 19:38:00 +01:00
Alex Beregszaszi
bf074f3f41
Fix source index allocation in CompilerStack. Depending on compiler(optimisations) this could be off-by-one.
2017-04-20 19:20:14 +01:00
Alex Beregszaszi
8bf842050e
Support --allow-paths in the CLI
2017-04-20 15:39:30 +01:00
chriseth
4d715e9055
Implement missing assembly output functions and do not use PushString for assembly.
2017-04-11 19:54:44 +02:00
chriseth
d8aacd5a40
Changelog entry.
2017-03-21 18:13:36 +01:00
Alex Beregszaszi
4540daaf47
Changelog
2017-03-17 16:27:04 +00:00
chriseth
a500581ab0
Bump version to 0.4.11.
2017-03-15 18:53:12 +01:00
chriseth
4d2f73c00d
Finalize changelog.
2017-03-15 17:04:16 +01:00
chriseth
0c8a766146
Merge pull request #1698 from ethereum/exp-notation
...
Fix scientific notation in number literals
2017-03-15 14:55:45 +01:00
Alex Beregszaszi
924a8fff6b
Fix exponentional notation in number literals
2017-03-15 13:06:24 +00:00
Yoichi Hirai
d134fda0c0
Merge pull request #1729 from ethereum/constantvariables
...
Only allow pure expressions for constant state variables.
2017-03-15 10:03:35 +01:00
chriseth
9f328ff749
Turn non-constant constants error into warning.
2017-03-14 19:25:16 +01:00
Yoichi Hirai
64e00e5371
Merge pull request #1767 from ethereum/longlibnames
...
Do not crash on long linker commandline argument.
2017-03-14 18:31:45 +01:00
chriseth
47cd8964b8
Require and Assert.
2017-03-14 14:21:33 +01:00
chriseth
14196f2621
Allow long library names.
2017-03-14 11:58:43 +01:00
Yoichi Hirai
9aab3b8639
Merge pull request #1768 from ethereum/abortiffileexists
...
Do not overwrite files unless forced.
2017-03-13 16:37:55 +01:00
chriseth
fdc41f3b07
Changelog entry.
2017-03-13 13:30:23 +01:00
Yoichi Hirai
ef8b56a058
Merge pull request #1751 from ethereum/warnLiteralExpBase
...
Warn if base of exponentiation operation is a literal.
2017-03-10 19:25:47 +01:00
chriseth
31a5e5bfef
Do not overwrite files unless forced.
2017-03-10 19:23:43 +01:00
Yoichi Hirai
e364909e06
Merge pull request #1747 from ethereum/fixICEInternalConstructor
...
Move privateness of constructor into AST itself.
2017-03-08 17:49:14 +01:00
chriseth
c7d61a2c6a
Changelog entry.
2017-03-08 12:42:24 +01:00
Yoichi Hirai
78f7dd2344
Merge pull request #1750 from ethereum/asmoctal
...
Disallow octal numbers in parser.
2017-03-08 12:24:22 +01:00
Yoichi Hirai
85411f4f67
Merge pull request #1736 from ethereum/boundoptimizer
...
Add upper bound for computing constants.
2017-03-08 12:11:16 +01:00
chriseth
1324ebc4bf
Warn about literal constant base in exponentiation.
2017-03-07 13:44:11 +01:00
chriseth
d3ab59dff6
Changelog entry.
2017-03-07 12:35:42 +01:00
chriseth
efdfacaaec
Changelog entry.
2017-03-06 15:05:09 +01:00
chriseth
a3cb69b14b
Changelog entry.
2017-03-06 14:16:06 +01:00
chriseth
244b45e1ff
Changelog entry.
2017-03-03 17:12:07 +01:00
chriseth
6a9df162fd
Changelog entry.
2017-03-02 14:34:06 +01:00
chriseth
b832b70e1b
Changelog entry.
2017-03-01 16:09:19 +01:00
chriseth
d2c79bf8e9
Merge pull request #1700 from ethereum/fixNoMobile
...
Some checks for the existence of mobile type.
2017-02-24 15:50:45 +01:00
chriseth
673268a6f8
Merge pull request #1651 from ethereum/transfer-method
...
Add address.transfer(value)
2017-02-24 15:42:52 +01:00
chriseth
92bf5154fd
Merge branch 'develop' into fixNoMobile
2017-02-24 10:39:55 +01:00
chriseth
de1317331f
Changelog entry.
2017-02-24 08:25:01 +01:00
Alex Beregszaszi
4264625c69
Implement address.transfer()
2017-02-24 00:17:45 +00:00
chriseth
c0961664f9
Deposit one stack item for non-value types in inline assembly type checking.
2017-02-20 12:33:22 +01:00
chriseth
c3c3cccbec
Fix early exist for fatal errors.
2017-02-16 14:57:00 +01:00
chriseth
dcc16c81e2
Some checks for the existence of mobile type.
2017-02-16 11:46:27 +01:00
Alex Beregszaszi
1fcad8b4ab
Document revert()
2017-02-10 22:41:09 +00:00
Alex Beregszaszi
fd7ffedead
Use different wording for assert
2017-02-10 21:41:40 +00:00
Alex Beregszaszi
f8461e9e31
Implement assert as a global function
2017-02-10 13:29:17 +00:00
Alex Beregszaszi
a5d0fd9c8a
Do not create directories . and ..
2017-02-06 14:27:54 +00:00
Alex Beregszaszi
46412473b6
Always escape filenames in solc
2017-02-05 19:19:29 +00:00
Alex Beregszaszi
697db80b48
Disallow arrays with negative length
2017-02-02 00:24:45 +00:00
Alex Beregszaszi
bab7f8f455
Add changelog for function types to address conversion
2017-02-01 12:25:02 +00:00
chriseth
ffe4ce0891
Version update
2017-01-31 19:37:55 +01:00
chriseth
7b18c9df1d
Release date for 0.4.9
2017-01-31 17:54:03 +01:00
Alex Beregszaszi
965dc72016
Mention in changelog that invalid as an opcode is valid inline assembly
2017-01-27 13:24:05 +00:00
chriseth
b2c35fb41a
Merge pull request #1598 from wuestholz/develop
...
Change translation of implicit throws
2017-01-27 14:10:22 +01:00
chriseth
636e480156
Merge pull request #1451 from LefterisJP/fix_build
...
Accept any kind of whitespace after natspec tags
2017-01-27 14:09:39 +01:00
chriseth
c08f659634
Changelog entry.
2017-01-27 14:09:19 +01:00
chriseth
bff8fc23e6
Changelog and review suggestions.
2017-01-27 10:18:53 +01:00
Alex Beregszaszi
102fd7ee5d
Merge pull request #1604 from ethereum/checksums
...
Warn about invalid checksums of addresses.
2017-01-26 14:42:34 +00:00
Alex Beregszaszi
4b321c653c
Add literal metadata sources to changelog
2017-01-26 13:26:04 +00:00
chriseth
8e318181e9
Rewording in changelog.
2017-01-25 17:24:25 +01:00
Alex Beregszaszi
900c56d996
Do not allow shadowing inline assembly instructions with variables
2017-01-25 11:28:09 +00:00
chriseth
1316bb7565
Warn about invalid checksums of addresses.
2017-01-24 23:37:48 +01:00
chriseth
1b87e08e04
Changelog entry.
2017-01-24 12:07:08 +01:00
chriseth
b52a60402d
Merge pull request #1245 from ethereum/1215
...
Allow multiple events of the same name
2017-01-24 11:52:21 +01:00
Yoichi Hirai
1f2bf7e004
Changelog: move an item upwards
2017-01-23 15:25:13 +01:00
Yoichi Hirai
4fd3641ce5
Changelog: add a point about allowing multiple events that share the same name
...
See #1215
2017-01-23 15:25:13 +01:00
chriseth
2536bdd6d0
Report source location on "stack too deep" errors.
2017-01-20 19:01:19 +01:00
chriseth
3fed790a56
Type identifiers.
2017-01-19 13:23:57 +01:00
chriseth
d3a391c136
Provide fallback for linking.
2017-01-18 17:41:36 +01:00
chriseth
005e190885
Merge pull request #1397 from roadriverrail/contract_collision
...
Error out when contracts collide on name
2017-01-18 14:28:00 +01:00
Alex Beregszaszi
350c7e7e2c
Store strict version number in metadata (exclude the platform)
2017-01-17 12:54:58 +00:00
chriseth
99eaadd2cd
Deterministic AST node identifiers.
2017-01-17 10:45:45 +01:00
Rhett Aultman
43dbf01e73
Update changelog
2017-01-16 12:32:58 -05:00
chriseth
10c2df8b33
Update version to 0.4.9.
2017-01-13 13:56:55 +01:00
chriseth
e22672b7c7
Update Changelog.md
2017-01-13 12:18:22 +01:00
chriseth
bde0b40634
Merge pull request #1479 from ethereum/function_variable_mixin
...
Disallow mixin of functions and attributes under the same name
2017-01-13 09:36:00 +01:00
chriseth
3cfa851f6f
Minor changes from review.
2017-01-12 17:53:06 +01:00
chriseth
a32def5c42
Changelog entry.
2017-01-12 17:52:50 +01:00
chriseth
74d74fb00b
Merge pull request #1548 from VoR0220/remappingBugFix
...
Remapping bug fix
2017-01-12 12:02:30 +01:00
Yoichi Hirai
e254a59bd2
Changelog: add a line about #1479
2017-01-11 18:28:11 +01:00
VoR0220
4585bfdce7
cleanup
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
fixup
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 11:03:02 -06:00
VoR0220
e96c32a072
changelog entry
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 09:32:07 -06:00
chriseth
643182865b
Changelog entry about assembly output
2017-01-11 16:20:13 +01:00
Yoichi Hirai
779a01faa9
Changelog: document #1537
2017-01-06 16:21:16 +01:00
Yoichi Hirai
6a312233fc
ast, codegen: enable accessing events through contract names.
...
Fixes #1286
2017-01-02 17:59:20 +01:00
chriseth
7ce7d3e74c
Update develop version.
2016-12-15 14:03:31 +01:00
chriseth
11b9abfff3
Update changelog for release.
2016-12-15 12:15:09 +01:00
Yoichi Hirai
ff40338a34
Changelog: add entries for #1497 and #1503
2016-12-14 18:12:13 +01:00
Yoichi Hirai
18f8f29c0a
Merge pull request #1487 from ethereum/shift-ops
...
Shift operators
2016-12-14 16:31:27 +01:00
Alex Beregszaszi
b8b4f5e9f9
Support bitshifting in variables
2016-12-12 11:12:10 +01:00
chriseth
81d7e0233a
Changelog entry.
2016-12-11 17:58:22 +01:00
chriseth
d0542f0e36
Warn if msg.value is used in non-payable function.
2016-12-11 16:46:58 +01:00
chriseth
84443eb560
Merge pull request #1351 from ethereum/truncate_bit
...
Truncate a boolean from calldata into one bit
2016-12-08 16:15:35 +01:00
Alex Beregszaszi
86d54c02cd
Throw if calling the identity precompile (memoryCopy) failed
2016-12-02 13:18:39 +00:00
Alex Beregszaszi
35325ee7c3
Update metadata documentation
2016-12-01 16:03:59 +01:00
chriseth
36c6fe2b69
Changelog entry.
2016-12-01 16:03:59 +01:00
Yoichi Hirai
7959ee49be
docs: describe when and how overflown values are cleaned
2016-11-30 17:41:58 +01:00
Yoichi Hirai
03ccc6df70
codegen: truncate a boolean calldata down to one bit
2016-11-30 17:41:38 +01:00