Alex Beregszaszi
ae0477744c
Support address in inline assembly
2016-10-06 22:05:01 +01:00
Alex Beregszaszi
34df80c502
Add alias keccak256() for sha3()
2016-10-06 16:34:41 +02:00
Alex Beregszaszi
aefb6e5fcf
Rename dev::sha3 to dev::keccak256
2016-10-06 14:53:40 +01:00
Alex Beregszaszi
6afdee5958
Support both suicide/selfdestruct in inline assembly
2016-10-06 12:44:33 +01:00
chriseth
212e016091
Merge pull request #1104 from ethereum/fixmemcosts
...
Fix memory resize costs during call
2016-09-17 12:30:41 +02:00
chriseth
5a45990458
Access output memory area so that we do not pay for resize during call.
2016-09-17 11:29:54 +02:00
chriseth
727c6fac85
Allow value transfer to library functions.
2016-09-17 11:29:27 +02:00
chriseth
031fd568cc
Fix crash for TypeName[k].
2016-09-15 18:16:34 +02:00
Yoichi Hirai
4337e70cca
Prepare for leaky exceptions
...
Now toFormalType() reports errors by exceptions, they will be
sometimes leaked to the wider context. This commits adds a catch.
2016-09-09 20:15:13 +02:00
Yoichi Hirai
ac7c6ae7d2
toFormalType reports errors by an exception
...
This allows error reporting without passing `ASTNode` to `toFormalType()`
2016-09-09 20:15:08 +02:00
Yoichi Hirai
c861cf579d
Translate mapping types into Why3 arrays when keys are integers
...
Even when the keys are signed the translation is supposed to work
because Why3 arrays allow negative indices.
2016-09-09 19:11:15 +02:00
chriseth
2c4e9ece07
Merge pull request #1047 from pirapira/address-in-prelude
...
formal verification: Add Address module in the WhyML prelude
2016-09-09 17:34:52 +02:00
chriseth
6a55405160
Fix problem with release version string.
2016-09-08 17:56:28 +02:00
Yoichi Hirai
a98edb22e5
Add Address module in the WhyML prelude
...
In the `--formal` output, this commit adds a module called `Address`,
which defines the address type as unsigned integer type bounded at
2^160-1.
2016-09-07 20:39:23 +02:00
chriseth
ce11580988
Merge pull request #1041 from pirapira/typo_and_whitespace
...
Fix a typo and a whitespace inconsistency
2016-09-07 20:05:30 +02:00
chriseth
f4172d342a
Merge pull request #1044 from pirapira/todo_item_to_issue
...
Append an issue id #1043 to a @todo comment about it
2016-09-07 18:23:22 +02:00
Yoichi Hirai
0a8f0fb051
Append an issue id #1043 to a @todo comment about it
2016-09-07 15:21:02 +02:00
Yoichi Hirai
c9b23d9829
Fix a typo and whitespaces
2016-09-07 14:29:01 +02:00
Alex Beregszaszi
2d9c407456
Include assert for selfType on bound functions to avoid crash
2016-09-06 22:10:51 +01:00
Alex Beregszaszi
7af8ecc27a
Constructor must be internal or public
2016-09-06 17:53:13 +02:00
Alex Beregszaszi
319ec34093
Reject constant constructors
2016-09-06 17:31:29 +02:00
chriseth
462fc84e53
Merge pull request #1016 from ethereum/reserved
...
Report the usage of reserved keywords more nicely
2016-09-06 15:52:44 +02:00
chriseth
3588125692
Merge pull request #1014 from ethereum/strict-fallback
...
Reject constant modifier on the fallback function
2016-09-06 15:51:45 +02:00
chriseth
fb73da30d8
Merge pull request #1011 from walter-weinmann/wwe_grammar
...
Changes related to issues #984 , #989 , #999 , #1001 and #1004 .
2016-09-06 15:43:06 +02:00
chriseth
5ade1bc20f
Merge pull request #1008 from ethereum/stipendwithsend
...
Provide gas stipend manually for send(0).
2016-09-06 15:37:05 +02:00
Alex Beregszaszi
a13c5b3157
Raise proper error on reserved keywords
2016-09-06 12:03:05 +01:00
Alex Beregszaszi
cfb6dfc35e
Introduce isReservedKeyword()
2016-09-06 12:01:02 +01:00
Alex Beregszaszi
6ec40b3cde
Reject constant modifier on the fallback function
2016-09-06 11:40:00 +01:00
chriseth
9ca7472089
Provide gas stipend manually for send(0).
2016-09-06 12:37:01 +02:00
Alex Beregszaszi
496b7ea1d2
Reserve view and pure as keywords
2016-09-06 11:37:00 +01:00
chriseth
f687635e47
Merge pull request #665 from axic/feature/accept-ether
...
BREAKING: Add payable modifier
2016-09-06 12:25:19 +02:00
chriseth
171c74843b
Merge pull request #995 from chriseth/fixutf8astjson
...
Do not emit non-utf8 strings for ast json.
2016-09-06 12:25:04 +02:00
walter-weinmann
70d91462db
Considering comment from @chriseth regarding FunctionCall.
2016-09-06 11:53:46 +02:00
chriseth
114502f8ad
Merge pull request #1006 from ethereum/nenewaccountgas
...
Do not pay new account gas.
2016-09-06 11:13:31 +02:00
chriseth
dff9633084
Test and fixes for payable fallback in ABI.
2016-09-06 10:59:13 +02:00
chriseth
384f189a6a
Tests for payable / private combination.
2016-09-06 10:58:56 +02:00
walter-weinmann
215fc04857
Considering comments from @chriseth regarding ExpressionStatement and FunctionCall.
2016-09-06 05:26:18 +02:00
chriseth
1eb7ddbb09
Make constant and payable mutually exclusive.
2016-09-05 21:28:28 +02:00
chriseth
9c64edf110
Change function type to include and propagate payable and constant modifier.
2016-09-05 21:28:28 +02:00
Alex Beregszaszi
962531af96
Merged in changes from chriseth/payable
2016-09-05 21:28:28 +02:00
Alex Beregszaszi
75d556a2cf
Do not include the payable keyword for constructors
2016-09-05 21:28:18 +02:00
Alex Beregszaszi
a34f2f1a31
Support payable keyword for functions
2016-09-05 21:28:18 +02:00
walter-weinmann
8f233b545f
Changes related to issues #984 , #989 , #999 , #1001 and #1004 .
2016-09-05 18:58:58 +02:00
Yoichi Hirai
e2b787cdd0
Merge pull request #1005 from ethereum/modifierbody
...
Require ";" after "_"
2016-09-05 18:28:32 +02:00
chriseth
be6a5f44d7
Merge pull request #993 from chriseth/fixshacrash
...
Guard encoding crashes with assertions.
2016-09-05 18:09:32 +02:00
chriseth
bf3f45c948
Improve error message.
2016-09-05 17:11:23 +02:00
chriseth
3b2174f7a8
Update grammar.txt to reflect the change.
2016-09-05 16:13:31 +02:00
chriseth
69c175fe22
Do not pay new account gas.
...
If we checked that the target contract exists, we do not have
to pay the "new account gas".
2016-09-05 15:52:44 +02:00
chriseth
02984b8de1
Require ";" after "_"
2016-09-05 14:54:50 +02:00
chriseth
24ffc38575
Do not use internal types for event parameters.
2016-09-02 00:39:30 +02:00
chriseth
ada31fa9b7
Do not emit non-utf8 strings for ast json.
2016-09-02 00:22:03 +02:00
chriseth
4134834ff3
Guard encoding crashes with assertions.
2016-09-01 20:07:14 +02:00
chriseth
b5d941d3d9
Merge pull request #935 from chriseth/pragma
...
Version pragma
2016-09-01 11:02:50 +02:00
chriseth
d87450b9b2
Use version string (including prerelease) for pragma matching.
2016-09-01 00:02:51 +02:00
chriseth
3c412ed2f6
Version pragma.
2016-09-01 00:02:51 +02:00
Dimitry
061aee2e97
fix CompilerStack::absolutePath
2016-08-31 22:10:20 +03:00
chriseth
4bfe09897e
Make fallback function throw by default.
2016-08-30 15:31:50 +02:00
chriseth
cf974fd103
Merge pull request #664 from axic/feature/interface-fallback
...
Introduce fallback entry in the ABI
2016-08-30 15:21:19 +02:00
Bob Summerwill
91d4fa477c
Merge pull request #941 from chriseth/versionString
...
Version string
2016-08-26 22:58:32 -07:00
Alex Beregszaszi
36a567cd61
Introduce fallback entry in the ABI
2016-08-26 19:03:46 +01:00
chriseth
fb7836d87b
Merge pull request #897 from Denton-L/remove-standard
...
BREAKING: Remove standard contracts
2016-08-26 19:32:18 +02:00
chriseth
54ab787b83
Make versioning semver compatible and force commit hash availability.
2016-08-26 10:14:44 +02:00
chriseth
21b6aa92ff
Disallow fallback function to return values.
2016-08-26 00:07:50 +02:00
chriseth
cab0f5448f
Merge pull request #921 from chriseth/astjsoncleanup
...
JSON AST: Some attribute cleanup. Add linearized base contracts.
2016-08-23 17:14:13 +02:00
chriseth
345c0f36fb
Fix crash when using json compiler with exponentiation.
2016-08-20 03:45:39 +02:00
Denton Liu
e00f802f72
Remove standard contracts
2016-08-19 10:34:50 -04:00
chriseth
35276d99e0
JSON AST: Some attribute cleanup. Add linearized base contracts.
2016-08-19 13:05:12 +02:00
Alex Sinyagin
4b9eb299d0
Rename root AST JSON node to SourceUnit
2016-08-18 15:38:20 +00:00
Alex Sinyagin
4387d8bbe3
Do not add children to EnumValue and PlaceholderStatement elements in JSON AST
2016-08-18 13:29:44 +00:00
Alex Sinyagin
9139d763d3
Use the full names for JSON AST nodes
2016-08-18 13:12:15 +00:00
Alex Sinyagin
5061eb2b2b
Move creation of the root element of JSON AST to the SourceUnit visitor
2016-08-18 12:51:17 +00:00
Alex Sinyagin
406f3a4b5d
Add ast json converter for PlaceholderStatement
2016-08-18 12:30:00 +00:00
Alex Sinyagin
e9c894c9f8
Add ast json converter for ArrayTypeName
2016-08-18 12:30:00 +00:00
Alex Sinyagin
bdc2436ae3
Add ast json converter for ModifierInvocation and EventDefinition
2016-08-18 12:30:00 +00:00
Alex Sinyagin
a5d15e6895
Add ast json converter for ModifierDefinition
2016-08-18 12:29:59 +00:00
Alex Sinyagin
95832da16e
Add ast json converter for EnumValue
2016-08-18 12:29:59 +00:00
Alex Sinyagin
a9e04217a4
Add ast json converter for EnumDefinition
2016-08-18 12:29:59 +00:00
Alex Sinyagin
40ca2c9e97
Add ast json converter for UsingForDirective
2016-08-18 12:29:59 +00:00
Alex Sinyagin
9e7fc12463
Add a ast json converter for InheritanceSpecifier
2016-08-18 12:29:59 +00:00
chriseth
c282ab379a
Merge pull request #918 from winsvega/solremove4
...
remove solidity --interface
2016-08-17 17:55:40 +02:00
chriseth
b2507e9f10
Merge pull request #839 from chriseth/checkcode
...
BREAKING: Make function calls throw if target does not have code.
2016-08-17 16:44:15 +02:00
chriseth
d6579a0a5f
Merge pull request #888 from chriseth/throwOnDivZero
...
Throw on division by zero.
2016-08-17 16:43:13 +02:00
Dimitry
e5e2597702
remove solidity --interface
2016-08-17 12:39:10 +03:00
chriseth
774bb8ab3b
Make function calls throw if target does not have code.
...
Low-level calls still just execute and will actually report "success".
This allows `x.call.value(y)()` for x being a non-contract account.
2016-08-17 11:30:40 +02:00
chriseth
9c83109549
BREAKING: return only exits current function/modifier
2016-08-17 11:29:31 +02:00
chriseth
e7683f4722
Merge pull request #836 from chriseth/unusedunderscore
...
BREAKING: Require modifiers to contain "_".
2016-08-17 11:28:02 +02:00
chriseth
e7084d9e16
Throw on division by zero.
2016-08-17 11:27:15 +02:00
chriseth
d5505e21eb
Merge pull request #838 from chriseth/ecrecover
...
Make ecrecover return zero for malformed input.
2016-08-17 11:05:20 +02:00
Alex Beregszaszi
ec3298535e
Introduce hex literals ( #832 )
...
* Introduce hex keyword token
* Support hex literals
* Include tests for hex literals
* Document hex literals
2016-08-16 16:31:23 +02:00
Alex Beregszaszi
970260bf0f
Reserved keywords update ( #833 )
...
* Reserve abstract, interface and payable keywords
* Keywords as and using aren't reserved anymore - they're used
* Reserve the static keyword
2016-08-16 16:28:45 +02:00
chriseth
77f4424589
Provide inline assembly to the code generator. ( #840 )
...
* Directly usable inline assembly.
* Add missing header.
2016-08-16 16:27:20 +02:00
chriseth
d731225d02
Actually better to return zero on error.
2016-08-16 14:53:01 +02:00
chriseth
034d436933
Make ecrecover throw for malformed input.
2016-08-16 14:53:01 +02:00
chriseth
6df6728165
Require modifiers to contain "_".
2016-08-16 14:52:47 +02:00
chriseth
2a560b798b
Throw if contract creation fails.
2016-08-16 14:49:44 +02:00
chriseth
0d894a6832
Merge pull request #844 from Denton-L/remove-after
...
BREAKING: Remove after
2016-08-12 15:09:55 +02:00
Alex Sinyagin
cbedc7b343
Fix Mapping and InlineAssembly in JSON AST
2016-08-11 17:00:19 +00:00
Alex Sinyagin
a7ff352d38
Fix JSON AST structure
2016-08-11 17:00:19 +00:00
Denton Liu
92a711c4fb
Remove after from grammar.txt
2016-08-11 10:15:59 -04:00
Denton Liu
faf0b3f669
Remove After from Types.cpp
2016-08-11 10:15:59 -04:00
Denton Liu
cab8e63a0e
Revert "Change After to a deprecated token"
...
This reverts commit 91c97f73b50fc87662b5490b2fe6de1c6ef376c7.
2016-08-11 10:15:59 -04:00
Denton Liu
be98d3db51
Change After to a deprecated token
2016-08-11 10:15:59 -04:00
Denton Liu
5ee846e39f
Remove After from ExpressionCompiler
2016-08-11 10:15:59 -04:00
Denton Liu
0988eba4fe
Remove after from Token.h
2016-08-11 10:15:59 -04:00
chriseth
b7c26f4628
Merge pull request #722 from NicolaiSoeborg/develop
...
Fixes to grammar.txt [WIP]
2016-08-10 21:18:56 +02:00
chriseth
55858de1e9
Merge pull request #794 from chriseth/fixastsource
...
Fix segfault in ast output.
2016-08-10 16:58:17 +02:00
chriseth
fc60839105
Merge pull request #826 from axic/utf8-check
...
AST printer: do not output invalid UTF8 sequences
2016-08-10 16:31:27 +02:00
chriseth
4c54834908
Rename libevmasm.
2016-08-10 13:52:24 +02:00
Nicolai
399e1fe70c
Add syntax for fallback functions
2016-08-09 11:53:38 +02:00
Alex Beregszaszi
5d9347f022
Remove dev::utf8 namespace
2016-08-08 20:05:31 +01:00
Alex Beregszaszi
f1df3dee53
Use size_t in dev::utf8::validate()
2016-08-08 20:05:31 +01:00
Alex Beregszaszi
e8c2e87397
Use utf8::validate in StringLiteral::toString
2016-08-08 19:57:41 +01:00
Alex Beregszaszi
bf76321c9e
Move LiteralString::toString from the header
2016-08-08 19:08:31 +01:00
chriseth
539afbeea3
Merge pull request #828 from axic/identity-gas-fix
...
Fix identity precompile gas calculation
2016-08-08 19:15:03 +02:00
chriseth
ac8e726970
Fix segfault in ast output.
2016-08-08 19:10:17 +02:00
chriseth
c3ed550eb6
Merge pull request #834 from chriseth/devcorecleanup
...
Some cleanup regarding libdevcore. Also rename to avoid conflicts.
2016-08-08 15:11:36 +02:00
chriseth
ccd78d05d6
Correct library usage.
2016-08-08 12:26:07 +02:00
Alex Beregszaszi
17f760e2a9
Fix identity precompile gas calculation
2016-08-06 00:18:21 +01:00
chriseth
7ea5770598
Do not install headers.
2016-08-05 16:35:24 +02:00
Alex Beregszaszi
6db12c4f88
Rename addUnicodeChar to addUnicodeAsUTF8
2016-08-04 17:28:48 +01:00
Alex Beregszaszi
aa4593cab3
Support Unicode escape characters in string literals ('\uUUUU')
...
Fixes #638
2016-08-04 17:28:48 +01:00
Nicolai
cc863b0a63
Split ElementaryTypeName into smaller rules
2016-08-02 17:18:59 +02:00
Nicolai
baaad627c4
Remove ambiguity from EventDefinition. Fix SourceUnit
2016-08-01 22:33:05 +02:00
Nicolai
9f772cb9a1
Remove 'reduce/reduce conflicts' with comma operator
2016-07-30 19:27:32 +02:00
Nicolai
b2de2a9d0f
Fix reduce/reduce conflicts w/ multiple FunctionCall in Expression
2016-07-30 16:03:10 +02:00
Nicolai
35182c7305
Remove TypeParameterList
2016-07-30 15:34:46 +02:00
chriseth
58cc6cbb37
Bugfix: Allocate empty array.
2016-07-28 17:24:18 +02:00
Nicolai
97d7b8509c
Fixes to expression
2016-07-27 16:42:33 +02:00
Nicolai
cde629d48d
Added wildcard to UsingForDeclaration
2016-07-27 16:03:40 +02:00
Nicolai
ec0933bf9f
Imports => ImportDirective
2016-07-27 16:01:30 +02:00
Nicolai
e584a8396a
Remove assignment as expr. Add functionCall as primaryExpression
2016-07-26 15:44:22 +02:00
Nicolai
3009064533
Fix missing seperator from commit 8b450dd8
2016-07-26 15:13:26 +02:00
Nicolai
8b450dd808
Added PlaceholderStatement
2016-07-25 17:48:49 +02:00
Nicolai
3f5bff968f
Add StorageLocation
2016-07-25 17:28:30 +02:00
Nicolai
1a661c562a
Allow function to call modifiers
2016-07-25 16:53:15 +02:00
Nicolai
bd2562ffd3
Order expression according to PR 732
2016-07-23 16:15:01 +02:00
Nicolai
28c4a0a3ab
New regex for StringLiteral
2016-07-23 02:35:20 +02:00
Nicolai
5512b85594
Begin fixing expression syntax
2016-07-23 01:45:10 +02:00
chriseth
6610add63e
Merge pull request #731 from Denton-L/move-token
...
Move `in` as a keyword to reserved word section
2016-07-21 14:34:22 +02:00
Denton Liu
8fbe994075
Fix isCompareOp()
2016-07-20 17:05:24 -04:00
Denton Liu
827208d1d6
Move in
as a keyword to reserved word section
2016-07-20 15:42:18 -04:00
chriseth
c55584d3e2
Source location as part of AST.
2016-07-20 19:45:43 +02:00
chriseth
980abfe52a
Merge pull request #720 from chriseth/formalState
...
Formal Verification: Handle external effects.
2016-07-20 19:37:57 +02:00
Nicolai
1c341add59
Added UsingDeclaration
2016-07-20 19:31:05 +02:00
Nicolai
ad2784b333
Extend EventDefinition
2016-07-20 19:17:03 +02:00
Nicolai
e1c69b11f4
Fix missing 'ether' from NumberUnit. Extend StringLiteral syntax
2016-07-20 17:07:26 +02:00
Nicolai
9324393975
Added missing (u)fixed types
2016-07-20 16:49:14 +02:00
Nicolai
da8b768713
Extend NumberLiteral with units
2016-07-20 16:23:30 +02:00
Nicolai
5abb9b6e41
Added imports
2016-07-20 16:14:23 +02:00
Nicolai
f76616889a
Add EventDefinition
2016-07-20 15:59:00 +02:00
Nicolai
68b72d8667
NumberLiteral: Allow 0x prefix
2016-07-20 02:42:02 +02:00
Nicolai
6f7d8fb65b
Allow function returns to be unnamed
2016-07-20 02:26:33 +02:00
Nicolai
f003bdafa6
Fix StructDef. Add BoolLiteral. Def NumLiteral, StringLiteral and Identifier.
2016-07-20 02:18:09 +02:00
Nicolai
1e2f071a11
Fix missing quotes in ElementaryTypeName
2016-07-20 01:33:08 +02:00
Nicolai
8e6272b020
Added ElementaryTypeName, removed explicit recursion
2016-07-19 18:59:34 +02:00
Nicolai
447797ad9c
Add forStmt to Stmt, removes BasicBinaryOperation, throw expr, explicit rec in ArrTypeName
2016-07-19 17:27:53 +02:00
Nicolai
dc3828ee37
Remove "in", extra semicolons, forced function param. Added "throw". Changes FunctionCall & IndexAccess
2016-07-19 01:26:39 +02:00
Nicolai
ce8a003611
grammar.txt: Fixes to EnumDef and ArrayTypeName
2016-07-19 01:03:41 +02:00
Nicolai
c396148fe6
grammer.txt: inheritable => internal
2016-07-19 00:49:00 +02:00
chriseth
9a9a815fc9
Provide formal version in json output.
2016-07-18 18:26:56 +02:00
Nicolai Søborg
80b01f6ebd
Grammar: tab => spaces
2016-07-14 23:48:29 +02:00
Nicolai
ff9d6e05f2
Typos + added missing grammar rules
2016-07-14 23:41:32 +02:00
Nicolai
c800f8c97d
Remove the remains of "expresison"
2016-07-14 22:56:45 +02:00
chriseth
26e5faa038
Handle external effects.
2016-07-13 11:16:00 +02:00
chriseth
25a64c7f8f
Only warn about unused return in low-level functions.
2016-06-26 13:53:32 +02:00
chriseth
cc6314cd01
Warn about unused return values.
2016-06-26 13:53:32 +02:00
chriseth
31aa67f1ca
Merge pull request #640 from chriseth/globalPaths
...
Allow remappings to change depending on the context.
2016-06-10 17:58:25 +02:00
chriseth
d593166d66
Merge pull request #641 from axic/patch/shift-parser
...
Trivial shift parser fixes
2016-06-09 00:21:51 +02:00
chriseth
3150ab2bcf
Allow remappings to change depending on the context.
2016-06-08 18:16:46 +02:00
Alex Beregszaszi
0cb820cf98
Include SHR case in ExpressionCompiler::appendShiftOperatorCode
2016-06-07 19:39:14 +01:00
Alex Beregszaszi
f8ccf3eebf
Fix Token::isBitOp to exclude shift operators
2016-06-07 19:39:05 +01:00
chriseth
ab7a22f4a0
Disallow implementation of abstract function by constructor of derived class.
2016-06-06 19:38:22 +02:00
chriseth
754a992500
Inaccessible dynamic types
2016-06-02 12:52:25 +02:00
chriseth
708129abd5
Fixes for invalid cleanups for small types.
2016-05-20 16:52:40 +02:00
chriseth
2f37356c58
Merge pull request #565 from VoR0220/fixedDataType
...
Fixed data typename fixes and documentation
2016-05-20 16:48:50 +02:00
chriseth
6b859a2bff
Refactor compiler to avoid weird swap of contexts
2016-05-20 14:20:45 +02:00
VoR0220
9192357452
updated docs
...
types
reference
2016-05-18 16:36:05 -05:00
VoR0220
6289410152
explicit conversion and loosening of binary operations on integer and fixed point types...still other problems
...
fixed some spaces and deleted lines from failing test
2016-05-18 15:52:09 -05:00
VoR0220
3ba308fb2e
current debugging info
2016-05-18 15:52:09 -05:00
chriseth
775b757d0e
Merge pull request #545 from chriseth/accessFunLabels
...
Allow access to functions in inline assembly.
2016-05-17 23:59:13 +02:00
moneroexample
9d237fbfdc
fix: error: call of overloaded ‘list(int, <brace-enclosed initializer list>)’
...
Issue: https://github.com/ethereum/solidity/issues/574
Compilation of webthree-umbrella on Arch with gcc 6.1 results in the following
error:
/home/mwo/webthree-umbrella/solidity/libsolidity/analysis/NameAndTypeResolver.cpp:299:51: error: call of overloaded ‘list(int, <brace-enclosed initializer list>)’ is ambiguous
list<list<ContractDefinition const*>> input(1, {});
This can be overcome by explicitly specifying initial value, for example:
list<list<ContractDefinition const*>> input(1, list<ContractDefinition const*>{})
2016-05-17 13:27:39 +08:00
chriseth
67ca3bb4b9
Allow access to functions in inline assembly.
2016-05-12 12:30:48 +02:00
chriseth
d4206b7cd0
Remove unused tests and add asserts for not implemented parts in code generation.
...
quick fix on christian's rational
change so that ubuntu will stop yelling
be more specific with rational declaration for Windows sake
rational in namespace correction for windows
2016-05-10 16:03:33 -05:00
chriseth
656405240e
Simplify interface of RationalNumber.
2016-05-10 19:40:37 +02:00
chriseth
cf226f0607
Special case for moving sign bit to fractional part.
2016-05-10 19:40:37 +02:00
chriseth
02e1c9be0d
Cleanup.
2016-05-10 19:40:37 +02:00
chriseth
4dfe9a216c
Disallow explicit fixed->enum, but allow bytes->fixed.
2016-05-10 19:40:37 +02:00
chriseth
ef7049f9a6
Some cleanup.
2016-05-10 19:40:37 +02:00
chriseth
22318c0c1a
Replace "unsigned int" by "unsigned".
2016-05-10 19:40:37 +02:00
chriseth
80c368dac1
Prefer mobileType() to check rational range.
2016-05-10 19:40:35 +02:00
VoR0220
a6fc3c8f30
reorganized tests and fixed mobile types and implicit conversions of rationals and fixed point types
...
one final tweak
check for null types
2016-05-09 11:41:03 -05:00
VoR0220
bfc238c8d1
updated algorithm for bit finding...now to figure out literal value
...
tiny fixups
changed location of the check
got rid of extra space and fixed a couple of things
added binary results bits
change back literal value
2016-05-09 11:41:03 -05:00
VoR0220
5bddb2d6ff
changed algorithm for finding bits
2016-05-09 11:41:03 -05:00
VoR0220
4b3e1f140c
much better way of doing modulus
2016-05-09 11:41:03 -05:00
VoR0220
82039b732e
added bytes conversion tests, resolved that, converted to binary scaling, refactored the find algo to prevent large numbers and take into account integer bytes
...
think we're good on solidity type name resolution now
removed couts
updates to documentation and more removed couts along with literal value implementation
forgot semicolons
2016-05-09 11:41:03 -05:00
VoR0220
f0ea817580
fixing modulus and Solidity Name and Type Resolution
...
minor fixes
current attempts at binary fixup
2016-05-09 11:41:03 -05:00
VoR0220
f67bfd24a3
rational renaming
2016-05-09 11:41:03 -05:00
VoR0220
4b749fc333
changed names for Rational Constants and categories
2016-05-09 11:41:02 -05:00
VoR0220
4d283b2b30
currently what we have
2016-05-09 11:41:02 -05:00
RJ Catalano
93295ae8f8
got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be
...
slight changes to how to flip the rational negative around...still trying to figure it out
tests added
updated tests
odd differences in trying soltest from solc binary, let me know if you can replicate
test not working for odd reason
fixed test problem with fixed literals...still need a way to log this error
broken up the tests, added some, changed some things in types and began compiler work
moar tests and prepping for rebuilding much of the types.cpp file
further fixing
infinite loop still happening but it's somewhere in the fixedPoint methodd
fractional bits needed algo improved! Eliminated 2 errors
Corrected problems with the previous commit. No infinite loops. Actually appear to have corrected an error
2016-05-09 11:41:02 -05:00
RJ Catalano
a1a2eac5fd
size capabilities functioning properly for fixed types
2016-05-09 11:41:02 -05:00
RJ Catalano
91fda50922
fixed problem with var...probably a conversion problem for fixed in size capabilities
...
adding fixed type tests
Removing bitshift and regrouping fixed type tests together
2016-05-09 11:41:02 -05:00
RJ Catalano
dff1a26f55
fix for token bug, also quick fix for the wei and seconds
2016-05-09 11:41:02 -05:00
RJ Catalano
6fa5e0fac9
Rational implemented...trying to figure out exponential
2016-05-09 11:41:02 -05:00
RJ Catalano
9a075458ad
initial work for fixed types...potentially needing a constant literal type for this
...
notation
Rational implemented...trying to figure out exponential
fix for token bug, also quick fix for the wei and seconds
fixed problem with var...probably a conversion problem for fixed in size capabilities
adding fixed type tests
Removing bitshift and regrouping fixed type tests together
size capabilities functioning properly for fixed types
got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be
slight changes to how to flip the rational negative around...still trying to figure it out
tests added
updated tests
odd differences in trying soltest from solc binary, let me know if you can replicate
test not working for odd reason
fixed test problem with fixed literals...still need a way to log this error
broken up the tests, added some, changed some things in types and began compiler work
moar tests and prepping for rebuilding much of the types.cpp file
further fixing
initial work for fixed types...potentially needing a constant literal type for this
2016-05-09 11:41:02 -05:00
chriseth
7ea3d950d7
Allow calling internal functions of libraries.
...
Internal functions of libraries can be called as if the library were a
base contract of the calling contract. As the calling convention for
internal functions is to not create a new call context, the code of
these functions will be pulled into the context of the caller,
duplicating their code. This might pull in code of further internal or
even private functions.
The use case for such functions is to allow libraries which can operate
on memory types such that these types can also be modified in place.
2016-05-03 22:41:18 +02:00
chriseth
652bc583c0
Remove non-determinism in missing code queue.
2016-05-03 01:14:26 +02:00
chriseth
8704dd0f7f
Windows fix.
2016-04-21 16:13:39 +02:00
chriseth
ed9da5171b
Source location for inline assembly.
2016-04-19 18:35:21 +02:00
chriseth
b125090208
Bugfix: static arrays in constructor arguments
2016-04-15 18:42:44 +02:00
chriseth
35ffcac35b
Fix for bug about deleting dynamic array of structs.
2016-04-15 16:49:59 +02:00
Bob Summerwill
539b392a6d
Merge pull request #496 from chriseth/removelog
...
Remove log.h from solidity.
2016-04-11 21:50:05 -07:00
chriseth
6f54b13d7a
Remove log.h from solidity.
2016-04-12 01:03:46 +02:00
chriseth
f227050c20
Make solidity independent from ethcore.
2016-04-06 20:56:00 +02:00
chriseth
193b1c940c
Merge pull request #475 from chriseth/byteasm
...
Allow "byte" in inline assembly.
2016-04-06 16:40:20 +02:00
chriseth
26a91109a7
Allow "byte" in inline assembly.
2016-04-06 12:31:31 +02:00
Dimitry
d2cee6f9c6
reduce unnecessary solidity:: namespace
2016-04-04 15:41:35 +04:00
Dimitry
d43d4347bf
return instructionInfo style
2016-04-04 15:27:09 +04:00
Dimitry
9816510065
enable solidity test
2016-04-04 15:18:24 +04:00
Dimitry
858c41260d
rename namespace for instruction.h/cpp in libevmasm
2016-04-02 15:56:43 +03:00
Dimitry
ccbd3ff63f
move libevmcore to solidity
2016-04-01 23:11:01 +03:00
Bob Summerwill
c492d9be00
Merge pull request #470 from chriseth/redundancy
...
Remove code duplication in source references formatter.
2016-03-31 20:31:15 -03:00
chriseth
285fdf3b0a
Merge pull request #457 from VoR0220/tokenNameAndStringFix
...
Fix for Token::name and token::toString
2016-04-01 01:08:59 +02:00
chriseth
ea7325d2d2
Remove code duplication in source references formatter.
2016-04-01 00:54:12 +02:00
VoR0220
3fc67245bf
readding conditionals but with slight changes
2016-03-31 12:15:49 -05:00
Bob Summerwill
15a4f4d322
Merge pull request #465 from chriseth/fixindexaccess
...
Clean higher order bits before array index access.
2016-03-31 13:46:35 -03:00
chriseth
e31ecc8f77
Do not use source reference if it is empty.
2016-03-31 13:05:41 +02:00
chriseth
2c29492227
Correctly clean higher order bits for index access.
2016-03-31 10:33:45 +02:00
VoR0220
1b39d3b5d4
solAsserts added and some changes rolled back.
2016-03-30 13:15:54 -05:00
VoR0220
9404600b3f
helper function in scanner and corresponding edits to parserBase
2016-03-30 13:09:38 -05:00
VoR0220
6c61e28dc2
Got it working exactly like you wanted ;)
2016-03-30 11:54:00 -05:00
VoR0220
6395168371
change lexical cast to unsigned int
2016-03-30 11:54:00 -05:00
VoR0220
ddd16d7655
Fix for Token::name and token::toString
2016-03-30 11:54:00 -05:00
chriseth
f049430723
Code generation (missing external access and source locations).
2016-03-30 02:37:00 +02:00
chriseth
949b00ed59
Parsing for inline assembly.
2016-03-30 02:37:00 +02:00
chriseth
79167aa897
Move libevmasm and lll.
2016-03-23 23:10:10 +01:00
Bob Summerwill
a1ce66b304
Fixed Windows warnings
2016-03-18 01:22:15 -07:00
chriseth
9b00290d74
Remove timestamp again and some fixes for ufixed parsing.
2016-03-11 17:50:09 +01:00
chriseth
299fef0c79
Do not allow value for delegatecall functions.
2016-03-11 17:50:09 +01:00
RJ Catalano
d0054a8d29
added keyword type and some tests, changes in lexical cast
2016-03-11 17:50:09 +01:00
RJ Catalano
b8bcb706e9
stylistic change, and got lexical cast to work with an iterator range
2016-03-11 17:49:32 +01:00
LianaHus
58e07151e3
- inline and assembly keywords added
...
- some style fixes
2016-03-11 17:49:32 +01:00
RJ Catalano
67793f1aed
changed documentation and using lexical cast
2016-03-11 17:49:32 +01:00
RJ Catalano
9f5c3977fb
changed extractUnsigned to handle iterators rather than a string
2016-03-11 17:49:32 +01:00
RJ Catalano
2738f4066a
changed 1 to 0 in invalid argument catch block
2016-03-11 17:49:32 +01:00
RJ Catalano
93114949a3
needed this one string of notation
2016-03-11 17:49:32 +01:00
RJ Catalano
953e92b6f5
added from identifier or keyword handling of fixed types
2016-03-11 17:49:32 +01:00
RJ Catalano
29b74be413
fixed keyword added in for token type
2016-03-11 17:49:32 +01:00
chriseth
e5514becb8
BREAKING: Implement delegatecall and make default for library calls.
2016-03-11 17:49:32 +01:00
chriseth
94cbf15cfc
Buildfix.
2016-02-22 18:12:58 +01:00
chriseth
968934c05d
Move reusable parser components into base class.
2016-02-22 18:02:29 +01:00
RJ Catalano
9b67969fd6
further optimization, splitting function into pieces
...
generating strings on the fly, changed name, and added two tests
2016-02-18 11:23:00 -06:00
RJ Catalano
d2c0712f36
added const correctness to extract functions in Token
...
optimizations added in
more elegant solution created for m declaration
ubuntu wants to get rid of 0 <= first statement...so I will
change returnToken to token
2016-02-18 11:22:58 -06:00
RJ Catalano
84f2eb461b
added two functions in Token to handle long identifiers, redid fromIdentifierOrKeyword, and made complementary changes in scanner and parser
2016-02-18 11:22:58 -06:00
RJ Catalano
f4da126018
tests added and changes made
...
fixed some silly problems in Token.cpp
windows error fix
2016-02-18 11:22:56 -06:00
RJ Catalano
7b918a7bc7
changes to redefine the token list, the scanner, and the parser and how they pass around variable types of different sizes
...
not ready for change to FixedPoint just yet
made this more const correct and added a switch statement for easier reading
2016-02-18 11:22:52 -06:00
LianaHus
5fb8953003
style fixes
2016-02-18 13:29:20 +01:00
chriseth
4a837169c5
Fix segfault when using wrong number of constructor arguments.
2016-02-11 17:12:30 +01:00
chriseth
29faf1b298
Index access for bytesXX.
2016-02-09 17:07:04 +01:00
chriseth
33b02a0d1b
Fix uint178 problem.
2016-01-25 21:05:13 +01:00
Lu Guanqun
d36537e737
cond-expr: use the mobile type instead of the original type
2016-01-22 17:14:01 +00:00
Lu Guanqun
c8b0533933
[cond-expr] change the end to end test
2016-01-22 17:14:01 +00:00
Lu Guanqun
ac3019298a
[cond-expr] add a test for different types
2016-01-22 17:14:01 +00:00
Lu Guanqun
1cd3288311
[cond-expr] add a test to assign memory to storage
2016-01-22 17:14:01 +00:00
Lu Guanqun
bf7daf0814
[cond-expr] don't allow conditional as left value for the first stage
2016-01-22 17:14:00 +00:00
Lu Guanqun
b003290638
[cond-expr] fixup according to code review
2016-01-22 17:14:00 +00:00
Lu Guanqun
82ee9503e9
[cond-expr] change endVisit() to visit()
2016-01-22 17:14:00 +00:00
Lu Guanqun
c781b130ef
[cond-expr] make the codegen one instruction less
2016-01-22 17:14:00 +00:00
Lu Guanqun
36a758e224
[cond-expr] fix the crash in ExpressionStatement
2016-01-22 17:14:00 +00:00
Lu Guanqun
9cd96222da
[cond-expr] support conditional expression as lvalue
2016-01-22 17:14:00 +00:00
Lu Guanqun
ff4f1666ab
[cond-expr] generate assembly for _ ? _ : _
2016-01-22 17:14:00 +00:00
Lu Guanqun
047172eb9a
[cond-expr] add type checker
2016-01-22 17:14:00 +00:00
Lu Guanqun
7eefa838a3
[cond-expr] parse _ ? _ : _ into conditional AST node
2016-01-22 17:14:00 +00:00
Lu Guanqun
4563d4bd3c
[cond-expr] add visitor related functions
2016-01-22 17:14:00 +00:00
Lu Guanqun
4fa0326813
[cond-expr] add an AST node
2016-01-22 17:14:00 +00:00
chriseth
67c855c583
Merge pull request #356 from guanqun/break-not-in-loop
...
check whether break/continue is in the loop
2016-01-20 19:23:23 +01:00
Lu Guanqun
cb3e07acfc
remove the unused line
2016-01-19 15:00:19 +00:00
chriseth
d21c4276b3
Merge pull request #351 from chriseth/autoload
...
Automatically load imported files in solc.
2016-01-19 13:14:25 +01:00
Lu Guanqun
df728581ce
add another test case for continue not in loop
2016-01-19 03:24:58 +00:00
Lu Guanqun
c8886ed5cf
code changes according to Chris's comments
2016-01-19 02:16:13 +00:00
chriseth
0099513cd4
Merge pull request #347 from chriseth/libraryNameClashes
...
Detect library name clashes
2016-01-18 09:24:11 +01:00
chriseth
2c5d045729
Merge pull request #359 from LianaHus/sol_only_one_array_as_state_var
...
fixed ICError when creating EI for structs containing only mapping or arrays
2016-01-18 09:23:21 +01:00
Liana Husikyan
9613a94153
Update TypeChecker.cpp
2016-01-15 18:11:05 +01:00
LianaHus
b2daa5a9d8
fixed assert on EI creation for structs containing only mapping or arrays
2016-01-15 17:36:06 +01:00
Paweł Bylica
31863528a4
Remove unnecesary std::move
2016-01-15 14:04:18 +01:00
Lu Guanqun
e130bc7e7c
check whether break/continue is in the loop
2016-01-15 15:12:23 +08:00
chriseth
8f7c4e0cc2
Build fix for MacOS.
2016-01-14 14:47:32 +01:00
chriseth
17199edb4f
Set error flag to true.
2016-01-14 11:36:13 +01:00
chriseth
2364c55735
Detect library name clashes.
2016-01-14 11:36:13 +01:00
chriseth
d2f18c73f7
Merge pull request #346 from chriseth/importAliases
...
Allow aliases during import.
2016-01-13 17:29:34 +01:00
RJ Catalano
c45593a444
clarification on dynamic arrays, switcheroo on typepointer, and a documentation test added
2016-01-11 23:41:20 -06:00
chriseth
287f0a2ddf
Autoload files in solc.
2016-01-12 01:05:05 +01:00
RJ Catalano
4a6815c9bd
Merge branch 'develop' of https://github.com/ethereum/solidity into develop
2016-01-11 15:39:35 -06:00
RJ Catalano
ac664e7f86
final changes to typechecker, the expression compiler, and a couple more tests for good measure
2016-01-11 14:25:59 -06:00
chriseth
f20a604c5a
Allow aliases during import.
2016-01-11 13:56:02 +01:00
RJ
c78b9c5737
Update ExpressionCompiler.cpp
2016-01-10 21:49:36 -06:00
RJ
72a641fe9f
Update ExpressionCompiler.cpp
2016-01-10 21:37:47 -06:00
RJ
e18eaa4615
Update ExpressionCompiler.cpp
2016-01-10 01:12:17 -06:00
RJ
df9dfa8fef
find common type
2016-01-10 01:09:58 -06:00
chriseth
d3c8847726
Fixed a crash during type checking.
2016-01-08 15:20:54 +01:00
chriseth
b158e48c1a
Merge pull request #338 from guanqun/add_paren
...
support syntax "(x) = 3"
2016-01-05 13:15:29 +01:00
chriseth
e27bfa023d
Merge pull request #317 from chriseth/pathsEverywhere
...
Use paths instead of simple identifiers wherever possible.
2016-01-04 11:47:11 +01:00
Lu Guanqun
568da11369
support decayed tuple expression as left value
2016-01-04 16:11:36 +08:00
chriseth
0e2fa39fad
Use paths instead of simple identifiers wherever possible.
2015-12-21 18:44:21 +01:00
chriseth
2466fb68a0
Merge pull request #308 from chriseth/fixoverloadbug
...
Fix bug preventing overloads of different array types.
2015-12-21 15:37:51 +01:00
chriseth
6f78998aaf
Merge pull request #309 from chriseth/fix_cross_contract_enum_access
...
Add structs and enums to contract types.
2015-12-21 15:37:24 +01:00
chriseth
6c6295b74e
Merge pull request #311 from guanqun/correct-boolean-literal-position
...
correct true/false literal's source
2015-12-18 17:14:57 +01:00
chriseth
54e3637d23
Add structs and enums to contract types.
2015-12-18 16:50:14 +01:00
Lu Guanqun
e4f713b55b
correct true/false literal's source
...
Before:
Literal, token: true value: true
Type: bool
Source: "true;"
After:
Literal, token: true value: true
Type: bool
Source: "true"
Extra token is removed.
2015-12-18 23:48:34 +08:00
chriseth
79c5d032fe
Fix bug preventing overloads of different array types.
2015-12-18 13:56:37 +01:00
chriseth
603dc58040
Simple aliasing during import.
2015-12-18 12:46:56 +01:00
chriseth
d3c459b5a9
Parse complex import directives.
2015-12-18 12:46:54 +01:00
RJ Catalano
ed1dd50acd
changed error message
2015-12-16 17:26:41 -06:00
RJ Catalano
905d55e34f
updated tests and much simpler algorithm for parsing errors
2015-12-16 16:47:37 -06:00
RJ Catalano
fe04d7f7f7
added one more test and realized that there was one last change before the parser is perfect
2015-12-16 14:50:40 -06:00
RJ Catalano
de969945ea
Parsing is complete
2015-12-16 13:17:41 -06:00
RJ Catalano
0ba24a5289
changed a couple of small nuances, made an attempt at fixing the parsing in the inline arrays case (fails), and added test for inline arrays per Chriseth request
2015-12-16 12:55:52 -06:00
RJ Catalano
caa6202f62
temporary assert added
2015-12-16 10:34:16 -06:00
RJ Catalano
c8e4e9c05c
still not able to get types resolved, however it is compiling
2015-12-15 16:44:11 -06:00
RJ Catalano
9ab066de8c
new tests
2015-12-15 14:47:09 -06:00
RJ Catalano
aebce8a1d5
now is compiling and passing soltest...but I think there may be a few more things to do
2015-12-15 12:22:52 -06:00
RJ Catalano
5a462afd03
fixed case statements
2015-12-15 11:37:00 -06:00
RJ Catalano
767103be57
changing Tuple Constructor
2015-12-15 11:16:54 -06:00
RJ Catalano
84241804dc
updated attempt...still a bit more work to do but here's what's current
2015-12-15 11:00:35 -06:00
RJ Catalano
42c4339404
updated attempt, a couple of more things to sort through and change
2015-12-15 10:57:57 -06:00
chriseth
591a4f1ff4
Merge pull request #288 from chriseth/import_contexts
...
Do not clutter importee when importing.
2015-12-15 11:43:59 +01:00
chriseth
53da78e609
Style.
2015-12-15 09:57:05 +01:00
RJ Catalano
574e48b0b5
Inline array declarations complete
2015-12-14 17:40:35 -06:00
chriseth
251e7aa462
Merge pull request #289 from chriseth/fix_base_constructor_params
...
Fix: Type checker crash for wrong number of base constructor arguments.
2015-12-10 15:48:48 +01:00
chriseth
f8228e8ab1
Relative paths in import directives.
2015-12-09 19:21:02 +01:00
chriseth
7cb7818cea
Source units are independent scopes.
2015-12-09 19:09:24 +01:00
chriseth
39f57a9c71
Fix: Segfaults connected to paramater types.
...
parameterTypes does not return by const reference anymore.
2015-12-09 17:57:34 +01:00
chriseth
f5b184323d
Fix: Type checker crash for wrong number of base constructor arguments.
2015-12-09 17:37:19 +01:00
chriseth
e510e7e792
Bugfix concerning pointers to moved data.
2015-12-08 12:41:24 +01:00
chriseth
7f415da886
Code generation for calling bound methods.
2015-12-01 12:35:34 +01:00
chriseth
e853eb22fa
Merge pull request #261 from chriseth/dataloc
...
Bugfix for explicit memory types in libraries.
2015-12-01 12:15:17 +01:00
chriseth
7e3bf833ae
Bugfix for explicit memory types in libraries.
2015-11-30 19:46:26 +01:00
chriseth
35b310cfaf
Simplify and optimise stack rotation.
2015-11-30 18:50:47 +01:00
chriseth
e9c7837c15
Merge pull request #251 from chriseth/bind2
...
Bind library functions to types.
2015-11-30 16:06:44 +01:00
chriseth
a8736b7b27
Merge pull request #256 from chriseth/selfdestruct
...
Introduce selfdestruct alias for suicide.
2015-11-30 16:06:18 +01:00
chriseth
6796afc2f8
Bugfix for constructor unpacking with fixed-size arrays.
2015-11-29 01:03:39 +01:00
chriseth
f9e52c9db1
Also check the object type for bound functions.
2015-11-29 00:16:07 +01:00
chriseth
93b3237c6a
Add bound functions to types.
2015-11-29 00:16:07 +01:00
chriseth
b97bb086de
Introduce selfdestruct alias for suicide.
2015-11-29 00:10:07 +01:00
chriseth
d71cd3aa2b
Added the using x for y
directive.
2015-11-26 17:49:39 +01:00
chriseth
09b2f9acb7
Resolve type names using regular AST visit.
2015-11-26 17:49:02 +01:00
chriseth
4aaa150674
Convert filter to template function.
2015-11-26 17:28:44 +01:00
chriseth
cc2df5f9f2
Invalidate cached members if scope changes.
2015-11-26 15:37:55 +01:00
chriseth
b47d593252
Do not store elements of a contract by AST node type.
2015-11-26 15:37:55 +01:00
chriseth
86495dfc57
Make members context-sensitive.
2015-11-26 15:37:55 +01:00
chriseth
e06768e8b5
Fix MSVC errors and warnings.
2015-11-26 14:47:28 +01:00
chriseth
6a2a946200
Make some functions const.
2015-11-26 13:44:09 +01:00
chriseth
879844dd0a
Code generation for creating arrays.
2015-11-26 13:10:12 +01:00
chriseth
bf55aa6ae2
Type checking for creating new arrays.
2015-11-26 13:10:12 +01:00
chriseth
30b325fdc1
Allow "new expressions" also for general type names.
...
Breaking change: If you want to send value with a contract creation, you
have to use parentheses now:
`(new ContractName).value(2 ether)(arg1, arg2)`
2015-11-26 13:10:12 +01:00
chriseth
f86451cd68
Fix solidity dependencies.
2015-11-26 12:40:15 +01:00
chriseth
20542d1623
Style.
2015-11-25 14:24:00 +01:00
chriseth
36ba7d11ca
Again some why3 fixes with regards to separators in blocks.
2015-11-25 14:24:00 +01:00
chriseth
ce1e73a734
Merge pull request #245 from chriseth/buildfixes
...
Build dependency fixes.
2015-11-25 14:03:29 +01:00
chriseth
aa8e9e66ed
Merge pull request #244 from chriseth/fix_stringAlloc
...
Fix for memory allocation bug.
2015-11-24 16:18:41 +01:00
chriseth
46bc70e709
Build dependency fixes.
2015-11-24 16:12:42 +01:00
chriseth
68f1da1e3a
Fixed string inside struct allocation bug.
2015-11-24 14:54:37 +01:00
chriseth
e59b9b445a
Merge pull request #241 from chriseth/why3VariablesInConditions
...
Why3 variables in conditions
2015-11-24 11:33:35 +01:00
chriseth
10fe0a2434
Style.
2015-11-23 16:30:51 +01:00
Gav Wood
2554d6104a
Merge pull request #236 from ethereum/hot_gav
...
Fix up for new API from EIP-1.1.
2015-11-23 12:42:28 +01:00
chriseth
806507d5c0
addmod and mulmod for why3.
2015-11-23 00:58:17 +01:00
chriseth
82a6ab486d
Why3: Direct references to variables using #
.
2015-11-23 00:58:17 +01:00
Gav Wood
bff172cf65
Fix up for new API from EIP-1.1.
2015-11-21 14:34:21 +01:00
chriseth
284d8f8b13
Merge pull request #229 from chriseth/fv_storage_types
...
Formal Verification: State variables.
2015-11-19 13:16:23 +01:00
chriseth
8dfc964e7d
Merge pull request #227 from chriseth/addmod
...
Addmod and mulmod.
2015-11-19 13:16:13 +01:00
Gav Wood
3be0ae6e2c
Merge pull request #204 from ethereum/hot_gav
...
The Big Refactor
2015-11-19 12:20:46 +01:00
Gav Wood
938b6793f1
Minor API change - must provide SealEngine to Executive now.
2015-11-19 10:19:53 +01:00
chriseth
12f19fa46b
Formal Verification: State variables.
2015-11-19 02:04:33 +01:00
chriseth
0cf8d022ae
Addmod and mulmod.
2015-11-18 17:12:39 +01:00
chriseth
f4de369bad
Merge pull request #218 from chriseth/fix_overwriteMemory
...
Fix memory overwrite problem for arrays.
2015-11-17 14:46:19 +01:00
chriseth
0c900f9b8a
Fix memory overwrite problem for arrays.
2015-11-16 18:32:21 +01:00
chriseth
a35f91816b
Fix dynamic indexed event arguments - applies sha3.
2015-11-16 17:09:09 +01:00
chriseth
34829ae764
Fix problems with statement blocks.
2015-11-11 15:21:01 +01:00
LianaHus
a15d2bbb52
style fix
2015-11-06 21:07:42 +01:00
LianaHus
da47f9df7b
style fixes
2015-11-06 20:56:14 +01:00
LianaHus
63060fc1f0
fixed test framework
2015-11-06 18:45:06 +01:00
LianaHus
7eb162c0df
fix
2015-11-06 18:45:06 +01:00
LianaHus
79177de80b
fixed return valu for resolver
2015-11-06 18:45:06 +01:00
LianaHus
3f726825fb
added SourceLocations to error reporting for ReferenceResolver
2015-11-06 18:45:06 +01:00
LianaHus
ff421a9d65
passed SourceLocations instead of nodes to the error reporting function
2015-11-06 18:45:06 +01:00
LianaHus
02d060ea5c
fixed build
2015-11-06 18:45:06 +01:00
LianaHus
1a27bf8a39
added errors tu ReferencesResolver
2015-11-06 18:45:06 +01:00
chriseth
907cf28f49
Fix: Cope with non-existing commit hash.
2015-11-02 18:03:04 +01:00
chriseth
a5c227778d
Bugfix: Returning literal strings in tuples.
2015-10-31 23:13:45 +01:00
chriseth
56f5d58850
Rename error type.
2015-10-27 17:45:58 +01:00
chriseth
a957322fd7
Preliminary why3 code output.
2015-10-27 00:49:27 +01:00
chriseth
8fb49d85f9
Allow docstrings for statements.
2015-10-26 19:47:25 +01:00
chriseth
af4d687062
Fix indent.
2015-10-26 17:21:32 +01:00
chriseth
b4f561680a
Store docstrings in AST annotations.
2015-10-26 15:24:36 +01:00
chriseth
7a9f8d9f35
Merge pull request #171 from LianaHus/sol_change_expected_error_in_parser
...
Sol change "expected" errors in parser
2015-10-23 13:25:29 +02:00
LianaHus
d8865f9f05
more corrections
2015-10-23 12:56:50 +02:00
chriseth
e48ee59549
Fix override warning.
2015-10-23 12:51:49 +02:00
LianaHus
6e13853421
modified error msg
2015-10-23 12:44:26 +02:00
chriseth
e3dffb611f
File reorganisation.
2015-10-21 00:46:01 +02:00
chriseth
87079bd3fd
Correctly parse ambiguities like A.B[10] x
and x.y[10] = 3
.
2015-10-16 16:12:25 +02:00
chriseth
452d473293
Merge pull request #143 from chriseth/loneStructArray
...
Fix errors when struct array type is used on its own.
2015-10-16 15:20:44 +02:00
chriseth
102114176c
Merge pull request #142 from chriseth/fixWarnings
...
Fix warning.
2015-10-16 15:20:36 +02:00
chriseth
fd8eb2d074
Merge pull request #141 from chriseth/fixExternalTypes
...
Do not include function in interface list if there are errors.
2015-10-16 15:20:25 +02:00
chriseth
7b56206a98
Do not catch InternalCompilerErrors as part of fatal error handling.
...
InternalCompilerErrors always have to end the whole compilation process because a serious inconsistency was detected.
2015-10-16 14:52:01 +02:00
chriseth
ead0478f26
Fix errors when struct array type is used on its own.
2015-10-16 14:36:30 +02:00
chriseth
02a3c1d999
Fix warning.
2015-10-16 13:48:46 +02:00
chriseth
cd9132672a
Do not include function in interface list if there are errors.
2015-10-16 13:11:16 +02:00
chriseth
52eaa477d4
Merge pull request #132 from chriseth/tupleExpression
...
Tuple expressions and destructuring assignments
2015-10-16 10:01:34 +02:00
chriseth
2920a32ae8
Fixed indentation.
2015-10-16 10:01:22 +02:00
chriseth
030c868f58
Merge pull request #136 from LianaHus/sol_error_types_refuctoring
...
changed the way of reporting error during contract checking
2015-10-15 18:30:32 +02:00
LianaHus
ec5b9c2e92
changed the way of reporting error during contract checking
2015-10-15 18:15:52 +02:00
chriseth
1d4219d43d
Some fixes taking other pull requests into account.
2015-10-15 18:14:14 +02:00
chriseth
e21df35416
MacOS fix.
2015-10-15 17:38:42 +02:00
chriseth
ae5b12f54b
Fix compiler warnings.
2015-10-15 17:38:42 +02:00
chriseth
029b819489
Wildcards.
2015-10-15 17:38:42 +02:00
chriseth
039b2a764f
Destructuring assignments.
2015-10-15 17:38:42 +02:00
chriseth
7ebd536e79
Tuple expressions.
2015-10-15 17:38:42 +02:00
chriseth
7ba42f4707
Merge pull request #130 from LefterisJP/dynamic_array_push
...
Dynamic array push
2015-10-15 17:37:15 +02:00
LianaHus
b2e787b803
missing const
2015-10-15 16:59:38 +02:00
LianaHus
2348a4ef34
indent
2015-10-15 16:56:12 +02:00
LianaHus
656e749b1e
added const
2015-10-15 16:51:01 +02:00
LianaHus
162d021c3f
some more style fixes
2015-10-15 16:27:26 +02:00
LianaHus
3871e77946
style fixes
2015-10-15 16:13:52 +02:00
LianaHus
68e126dc7d
style fixes mostly
2015-10-15 16:08:02 +02:00
LianaHus
cd6262998c
removed commit
2015-10-15 15:16:31 +02:00
Lefteris Karapetsas
a823de2d58
push() for byte arrays also properly implemented
2015-10-15 14:37:11 +02:00
LianaHus
771f20b595
mainly style fixes/renaming
2015-10-15 14:36:23 +02:00
Lefteris Karapetsas
9224c1f712
Working implementation of arraypush
...
ByteArrayPush() gets a test but is ignored for now, since there are
still some issues with its implementation
2015-10-15 13:54:59 +02:00
LianaHus
675aed1edf
fixed new tests
2015-10-15 11:50:25 +02:00
LianaHus
7a7a7dcbb5
fixes error after conflict resolving
2015-10-15 11:10:55 +02:00
Lefteris Karapetsas
a521843f6b
Implement Dynamic array push and fix test
...
Still a work in progress. There is a disturbance in the stack at the
moment and that's why there are some cout statements left for debugging.
2015-10-15 10:52:30 +02:00
Lefteris Karapetsas
3287cd464f
WIP - Expression compiler for array push
2015-10-15 10:52:30 +02:00
LianaHus
c3491e4469
errors instead of exceptions
...
Conflicts:
libsolidity/CompilerStack.cpp
libsolidity/NameAndTypeResolver.cpp
libsolidity/NameAndTypeResolver.h
libsolidity/TypeChecker.cpp
test/libsolidity/SolidityNameAndTypeResolution.cpp
2015-10-14 20:37:41 +02:00
LianaHus
8f7f22c5a6
some fixes
2015-10-14 20:27:44 +02:00
LianaHus
742e5b259a
added Error class for all kind of errors
...
Conflicts:
libsolidity/Exceptions.h
2015-10-14 20:27:41 +02:00
LianaHus
95ad872678
added Error class for all kind of errors
...
Conflicts:
libsolidity/Exceptions.h
Conflicts:
libsolidity/ReferencesResolver.cpp
2015-10-14 20:27:30 +02:00
chriseth
72f7792f8e
Some further test fixes.
2015-10-13 14:31:24 +02:00
chriseth
13d7bc4ee8
Some more tests and typos fixed.
2015-10-13 12:22:57 +02:00
chriseth
deebc7e860
Multi-variable declarations.
2015-10-13 12:16:23 +02:00
chriseth
a5d12b8761
Introduced tuple type and added multi variable declarations to type
...
checker.
2015-10-09 19:35:41 +02:00
chriseth
b9a166061b
Refactoring to allow multi-variable declarations.
2015-10-08 18:25:44 +02:00
chriseth
35de03626f
Check invalid integer constants for functions accepting arbitrary arguments.
2015-10-07 18:13:20 +02:00
chriseth
24d04087d2
Resolve binary dependencies properly.
2015-10-07 17:35:07 +02:00
chriseth
68bf6e60c5
Merge pull request #122 from chriseth/anonymousEventsWithFourIndexedParams
...
Allow four indexed arguments for anynomous events.
2015-10-07 17:01:37 +02:00
chriseth
8644ad6866
Merge pull request #118 from chriseth/rejectEtherSentToLibrary
...
Reject ether sent to library.
2015-10-07 16:41:49 +02:00
chriseth
b6ddde9372
Allow four indexed arguments for anynomous events.
2015-10-07 16:40:54 +02:00
chriseth
f3913d6996
Fix boost error.
2015-10-07 12:31:38 +02:00
chriseth
0297a213fe
Reject ether sent to library.
2015-10-06 22:55:45 +02:00
chriseth
55af63e463
Add const.
2015-10-06 14:43:09 +02:00
chriseth
99351aebe0
Compiler version stamp.
2015-10-06 14:20:06 +02:00
chriseth
44e42bf52e
Add structs to library interface.
2015-10-06 14:20:06 +02:00
chriseth
bf5b387954
Provide access to scoped structs.
2015-10-06 14:20:06 +02:00
chriseth
bc609c55c0
Compute canonical names of types for function signatures.
2015-10-06 14:20:06 +02:00
chriseth
ce25ddfa6a
Encode storage items correctly for library calls.
2015-10-06 14:20:06 +02:00
chriseth
421dcf4c1a
Tests apart from new one work fine.
2015-10-06 14:20:06 +02:00
chriseth
9cc7402c95
Split external type into ecoding and interface type.
2015-10-06 14:19:56 +02:00
chriseth
da408640ca
Store small byte arrays and strings in storage in one slot with their
...
length.
2015-10-02 13:12:23 +02:00
LianaHus
53d0684cb4
-fixed the warning printing
...
-style fixes
2015-10-02 12:38:48 +02:00
LianaHus
2706846f43
-added warning case to cl compiler
...
-modified warning msg
2015-10-02 12:38:48 +02:00
LianaHus
b2fa457327
removed unnecessary function declaration
2015-10-02 12:38:48 +02:00
LianaHus
fe2b9a3b3c
added warning for noninitialized references in storage.
2015-10-02 12:38:48 +02:00
LianaHus
6712437e6b
style fixes
2015-10-02 12:38:48 +02:00
LianaHus
468d6b6175
style fixes
2015-10-02 12:38:48 +02:00
chriseth
6161ec96ff
Bugfix in calldata unpacker.
...
The offset was not specified correctly if memory activity preceded the
unpacker.
2015-10-01 16:50:11 +02:00
chriseth
e81f4ba45e
Provide types for VariableDeclaration.
2015-09-24 12:12:36 +02:00
chriseth
1736fe8015
Merge pull request #95 from chriseth/styleCleanup
...
Style cleanup.
2015-09-24 11:55:44 +02:00
chriseth
c49e58a201
Style cleanup.
2015-09-24 11:05:04 +02:00
LianaHus
99ec6702df
improved overflow check in memorySize for ArrayType
2015-09-24 10:51:06 +02:00
chriseth
52f7e35843
Merge pull request #91 from chriseth/literalStringsToStoragePointer
...
Literal strings to storage pointer
2015-09-24 10:23:35 +02:00
chriseth
8a9b9e4fdb
Do not allow assignment from literal strings to storage pointers.
...
Fixes #90
2015-09-23 17:34:08 +02:00
LianaHus
c096c3c349
improved the test
2015-09-23 17:31:47 +02:00
LianaHus
5ba559beaf
style fix
2015-09-23 17:31:47 +02:00
LianaHus
9547c4563c
fixed-sized arrays as return type
...
Conflicts:
test/libsolidity/SolidityEndToEndTest.cpp
2015-09-23 17:31:37 +02:00
chriseth
efdea76d5e
Merge pull request #85 from chriseth/warnings
...
Support mulitple errors and warnings.
2015-09-23 14:42:54 +02:00
chriseth
3841d39904
Merge pull request #87 from chriseth/fixVersion
...
Add libevmasm version string.
2015-09-22 22:54:31 +02:00
chriseth
4d82e3165f
Add libevmasm version string.
2015-09-22 16:23:21 +02:00
chriseth
e32a063a10
Style fix.
2015-09-22 12:07:34 +02:00
chriseth
31dc588b55
Build fix for MacOS.
2015-09-22 11:17:54 +02:00
chriseth
42c0009205
Error formatting.
2015-09-21 20:03:53 +02:00
chriseth
39d1e2bc06
Refactored annotations.
2015-09-21 20:03:10 +02:00
chriseth
34a81fd60e
Refactoring: Check types outside of AST and recover from some errors.
2015-09-21 20:03:05 +02:00
LianaHus
e50400082b
fixed using string as a type for struct member
2015-09-17 15:15:46 +02:00
Marek Kotewicz
352c196eb3
Merge pull request #79 from arkpar/cmake
...
Per project versioning
2015-09-17 10:34:15 +02:00
arkpar
bda7dbd30a
per project versioning
2015-09-16 15:55:25 +02:00
LianaHus
1fb7488671
style
2015-09-16 13:44:07 +02:00
LianaHus
ca08fe50c6
style fixes
2015-09-16 13:25:32 +02:00
LianaHus
279a36b6f8
throw statement implementation
2015-09-16 13:25:32 +02:00
LianaHus
5291467a26
removed unneccessary check from ExpresiionCompiler
2015-09-15 11:40:20 +02:00
LianaHus
dd3b0664c6
style fixes
2015-09-15 11:40:20 +02:00
LianaHus
e17938a2a9
fixed conflict mergeing
2015-09-15 11:40:20 +02:00
LianaHus
e4eb40036b
- changed implementation
...
- style fixes
Conflicts:
libsolidity/AST.cpp
2015-09-15 11:40:19 +02:00
LianaHus
ede1f4b153
Update ExpressionCompiler.cpp
...
Conflicts:
libsolidity/ExpressionCompiler.cpp
2015-09-15 11:40:19 +02:00
LianaHus
b7b16b153b
added compile time check for out of bounds access for ordinary arrays
...
todo: check for dynamicaly sized arrays
Conflicts:
libsolidity/ExpressionCompiler.cpp
2015-09-15 11:37:59 +02:00
chriseth
9309b6aa82
Merge pull request #70 from chriseth/sol_libraries2
...
Commandline interface for linker.
2015-09-14 14:56:01 +02:00
chriseth
4360e04596
Merge pull request #66 from chriseth/sol_libraries
...
Calling libraries.
2015-09-11 19:35:31 +02:00
chriseth
70c0ed4129
Commandline interface for the linker.
2015-09-11 19:35:01 +02:00
chriseth
147830d1a3
Small fixes to the type system concerning libraries.
2015-09-11 16:36:47 +02:00
chriseth
3c25420b84
Merge pull request #69 from LianaHus/sol_enum_too_many_indexed_args
...
too many indexed arguments for event
2015-09-11 15:48:43 +02:00
chriseth
d89832fa89
Style.
2015-09-11 15:25:00 +02:00
LianaHus
1d1386a58c
add call for EventDefinition::checkTypeRequirements()
2015-09-11 15:24:11 +02:00
chriseth
976c380b61
Possibility to call library functions.
2015-09-11 15:21:37 +02:00
chriseth
a9edc7b1a6
Transition from bytecode to more general linker objects.
2015-09-11 15:21:37 +02:00
chriseth
337fde9d11
Parsing and type checking of libraries without inheritance.
2015-09-11 15:21:37 +02:00
chriseth
c5b6d9d2a9
Merge pull request #65 from LianaHus/sol_Creating_a_contract_from_within_itself
...
Added error when creating a contract from within itself
2015-09-11 15:19:58 +02:00
LianaHus
d570ab44c8
style fixes
2015-09-11 14:31:00 +02:00
LianaHus
47e42430f2
added type check if the type of the var decl is one of base contract type
2015-09-10 17:17:13 +02:00
LianaHus
845bcf8db0
- added tests to test empty comment
...
- fixed skipSingleLineComment
- some style fixes
2015-09-10 14:26:34 +02:00
chriseth
9967ae4038
Stylistic corrections.
2015-09-09 16:15:35 +02:00
chriseth
985eb80695
Fix for constant strings.
2015-09-08 16:51:14 +02:00
chriseth
ea981cb0f5
Merge pull request #41 from LianaHus/sol_rename_getters
...
solidity interface changes. removing get prefix
2015-09-08 16:47:58 +02:00
LianaHus
df8c82bc60
- renamed AST to ast and ABI to abi
...
- style fixes
2015-09-08 14:30:21 +02:00
LianaHus
02d4198242
removed get prefix
...
style fixes
2015-09-08 13:12:00 +02:00
LianaHus
1b5e6fc9e7
renamed getter functions
2015-09-08 13:12:00 +02:00
debris
619c91321b
changes required to compile solidity in a single project
2015-09-01 15:30:26 +02:00
Gav Wood
91cffa0d5d
Merge pull request #24 from LianaHus/sol_fix_error_check
...
added check for having type in VariableDeclaration::checkTypeRequirem…
2015-08-27 16:54:44 +02:00
debris
1741e89c09
client refactor
2015-08-27 14:28:31 +02:00
Marek Kotewicz
40e65295ff
Merge pull request #26 from arkpar/cmake
...
Refactored CMakeLists for new module system
2015-08-24 15:57:48 +02:00
arkpar
3ea1a62fa9
Refactoreed CMakeLists for new module system
2015-08-24 15:51:52 +02:00
LianaHus
fed363263a
added check for having type in VariableDeclaration::checkTypeRequirements()
2015-08-24 12:34:44 +02:00
chriseth
625be53252
Merge pull request #22 from LianaHus/sol_accessors_for_const_state_var
...
fixed the issue with accessors for constant state variables
2015-08-21 18:17:05 +02:00
LianaHus
1af8ff0121
add tests for state variables accessors. normal and constant
...
fixed the issue with accessors for constant state variables
2015-08-21 17:57:57 +02:00
chriseth
4128b04253
Propagate exceptions in clone calls.
2015-08-20 20:02:38 +02:00
Gav Wood
289b814670
Merge pull request #7 from chriseth/moreInfoForCommandlineOptions
...
More information for help screen, some fixes for argument parsing.
2015-08-20 11:02:07 +02:00
chriseth
0906042ce0
More information for help screen, some fixes for argument parsing.
2015-08-20 02:12:37 +02:00
chriseth
8d9eb68307
Modularise CMakeLists files and integrate tests.
2015-08-20 00:55:41 +02:00
Lefteris Karapetsas
27388950dd
include Version.h under libsolidity
2015-08-19 16:12:18 +02:00
Lefteris Karapetsas
1690f1c947
Add CMakeLists.txt for libsolidity
2015-08-19 14:57:25 +02:00