Commit Graph

3073 Commits

Author SHA1 Message Date
Alex Beregszaszi
caa329066e Do not emit Solidity-only tokens in the Scanner for Yul
And simplfiy AsmParser greatly.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
a80e2c1462 Update tests for immutable variables 2020-08-28 19:06:34 +01:00
chriseth
20efba6b55
Merge pull request #9568 from ethereum/fixImmutables
Fix reads checks for complex assignment and increment/decrement for immutable variables.
2020-08-28 16:14:18 +02:00
Christian Parpart
cd3836f467 Fixes compilation on MSVC wrt. narrowing conversion from cstr-ptr to bool. 2020-08-28 15:54:47 +02:00
chriseth
8b564a7be7 Fix reads checks for immutable variables. 2020-08-28 15:24:40 +02:00
chriseth
ec3f3c41dd
Merge pull request #9690 from ethereum/immutable-rhs-vardecl
Disallow assigning more than once to immutables during the variable declaration
2020-08-28 14:39:23 +02:00
Leonardo
df79a4f162
Merge pull request #9691 from ethereum/oversized-function-array
Changed canonicalName() to toString() because of internal functions
2020-08-28 13:57:47 +02:00
Harikrishnan Mulackal
7ff809dc78 Disallow assigning more than once to immutables during the vardecl 2020-08-28 13:42:54 +02:00
Harikrishnan Mulackal
672f391660 Changed canonicalName() to toString() because of internal functions 2020-08-27 21:09:35 +02:00
Alex Beregszaszi
e872b1b51e
Merge pull request #9689 from ethereum/using-for-interface
Disallow ``using for`` directive for interfaces.
2020-08-27 19:09:19 +01:00
chriseth
0798167f3d
Merge pull request #9612 from ethereum/yul-rightarrow
Introduce RightArrow (->) token
2020-08-27 16:21:18 +02:00
Harikrishnan Mulackal
c7dc42a794 Disallow `using for` directive for interfaces. 2020-08-27 15:57:51 +02:00
Harikrishnan Mulackal
7826564226 Fix infinite loop for structs in library function parameter 2020-08-27 14:18:07 +02:00
Harikrishnan Mulackal
1c066b1059 Allow type(Contract).name for abstract contracts and interfaces 2020-08-27 13:37:08 +02:00
Alex Beregszaszi
4e5b403c37 Introduce RightArrow (->) token in the scanner 2020-08-27 12:28:27 +01:00
chriseth
161ed4c948
Merge pull request #9683 from ethereum/fix-exp-neg-literal
Disallow the exponent to be a signed integer literal
2020-08-27 13:26:15 +02:00
Harikrishnan Mulackal
6f22899153 Disallow the exponent to be a signed integer literal 2020-08-27 12:08:45 +02:00
Harikrishnan Mulackal
79b2e41252 Fix inheritdoc tags trying to resolve 'empty' elements 2020-08-26 21:28:00 +02:00
Leonardo
fdc4142b2c
Merge pull request #9661 from ethereum/smtBitwiseOr
[SMTChecker] Support bitwise or, xor and not operator
2020-08-26 18:20:15 +02:00
chriseth
dbe0518cd2
Merge pull request #9652 from ethereum/iceInlineAssemblyOffset
[Sol->Yul] Enabling storage pointers to local vars in inline assembly.
2020-08-26 17:12:54 +02:00
chriseth
bc4e07d309
Merge pull request #9672 from ethereum/fixRecompilation
Fix inlining order to correspond to source order.
2020-08-26 16:39:03 +02:00
Djordje Mijovic
11a7763f49 [SMTChecker] Support bitwise or, xor and not. 2020-08-26 11:06:56 +02:00
Djordje Mijovic
d99b81ef02 [Sol->Yul] Enabling storage pointers to local vars in inline assembly. 2020-08-26 10:25:42 +02:00
chriseth
e72afcba47 Fix inlining order to correspond to source order. 2020-08-26 10:20:18 +02:00
chriseth
221524b153
Merge pull request #9606 from ethereum/newGrammar
Rewrite of the antlr grammar.
2020-08-26 09:57:13 +02:00
chriseth
21489d8193
Merge pull request #9638 from ethereum/fixNullValuesAST
Remove null values from AST also in standard-json mode.
2020-08-24 15:57:33 +02:00
Djordje Mijovic
00e765f478 Fix tests for conditional operator on latest develop. 2020-08-22 07:52:55 +02:00
Đorđe Mijović
4dd25f7302
Merge pull request #9639 from ethereum/smtConditionalSupport
[SMTChecker] Supporting conditional operator
2020-08-21 14:25:47 +02:00
Djordje Mijovic
3f97a1012a [SMTChecker] Supporting conditional operator 2020-08-20 21:39:35 +02:00
chriseth
4a720a6511
Merge pull request #9646 from a3d4/improve-error-coverage-syntaxchecker
Improve error coverage of syntax checker
2020-08-20 13:18:35 +02:00
chriseth
4dc63875f9
Merge pull request #9113 from ethereum/smt_chc_overflow
[SMTChecker] Add underflow/overflow target to CHC
2020-08-20 13:17:00 +02:00
a3d4
ad311fae19 Improve error coverage of syntax checker 2020-08-20 03:23:21 +02:00
Daniel Kirchner
bd21535dd1 Rewrite of the antlr grammar. 2020-08-19 17:55:31 +02:00
chriseth
7b8cc0c49b Remove null values from AST also in standard-json mode. 2020-08-19 11:06:14 +02:00
chriseth
a795e4db9b
Merge pull request #9640 from a3d4/improve-error-coverage-parser
Improve error coverage of parser
2020-08-19 11:03:50 +02:00
a3d4
0f5d0b6455 Improve error coverage of parser 2020-08-19 01:37:11 +02:00
chriseth
17edf4f207
Merge pull request #9479 from ethereum/exp
Implement checked exponentiation.
2020-08-18 13:57:25 +02:00
chriseth
c34e349572 Implement checked exponentiation. 2020-08-18 12:42:53 +02:00
chriseth
2ff954ec2d Use kind in json AST for free function. 2020-08-18 11:46:59 +02:00
chriseth
e9f91edc4b Update existing tests. 2020-08-18 11:46:59 +02:00
chriseth
9324fb4f20 Free functions. 2020-08-18 11:46:59 +02:00
Leonardo Alt
5afd1219f5 Add test with unused error id 2020-08-14 12:58:27 +02:00
Leonardo Alt
0a160b1ba0 Update remaining tests 2020-08-14 12:58:27 +02:00
Leonardo Alt
80ab56dbc6 Update overflow tests 2020-08-14 12:58:27 +02:00
Leonardo Alt
8a06041bbe [SMTChecker] Add underflow/overflow target to CHC 2020-08-14 12:58:27 +02:00
Alex Beregszaszi
babb175d86 Add more syntax tests for Yul 2020-08-13 14:20:52 +01:00
Daniel Kirchner
5d670aaa18
Merge pull request #9614 from ethereum/yul-hex
Update tests/documentation to show that hex literals are not supported in Yul
2020-08-13 03:11:45 +02:00
Alex Beregszaszi
b752551ebd Add test case for string literals in switch statements in Yul 2020-08-13 00:27:41 +01:00
Alex Beregszaszi
acb1e8c280 Add tests showing hex literals are not allowed in Yul 2020-08-13 00:27:19 +01:00
Alex Beregszaszi
bb29307b02 Add/Update tests for Yul function definition 2020-08-12 23:53:08 +01:00