Djordje Mijovic
b89c863e11
[Sol->Yul] Implementing struct copying from memory to storage
2020-09-02 12:28:53 +02:00
chriseth
8f34ac472f
Implement `super
`.
2020-09-02 11:00:42 +02:00
Djordje Mijovic
e7a05324af
Adding simple array copying tests
2020-09-02 09:39:28 +02:00
Leonardo
0d83977d5a
Merge pull request #9648 from ethereum/smt_refactor_predicates
...
[SMTChecker] Refactor CHC predicates
2020-09-01 20:38:47 +02:00
Leonardo Alt
49d3804de4
[SMTChecker] Fix rational number short circuit
2020-09-01 17:21:13 +02:00
Leonardo Alt
e23d96464b
Adjust test
2020-09-01 16:10:12 +02:00
Leonardo Alt
016b9b83a8
Refactor predicates
2020-09-01 16:09:56 +02:00
Leonardo
6b38c64c84
Merge pull request #9709 from ethereum/smt_fix_tuple_3
...
[SMTChecker] Fix ICE on tuples of one element of tuple type
2020-09-01 10:47:36 +02:00
Leonardo
20b359e5c5
Merge pull request #9716 from ethereum/smt_fix_tuple_2
...
[SMTChecker] Fix ICE on tuple assignment
2020-09-01 10:44:34 +02:00
Leonardo
c9ca1d1814
Merge pull request #9706 from ethereum/smt_fix_tuple_lvalue
...
[SMTChecker] Fix unary operator on lvalue tuple
2020-09-01 10:37:24 +02:00
chriseth
f628fd3f03
Merge pull request #9655 from a3d4/fix-msvc-adl
...
Fix MSVC ADL
2020-09-01 10:35:11 +02:00
Leonardo Alt
238b8a929e
[SMTChecker] Fix ICE on tuples of one element that actually have tuple type
2020-09-01 08:31:57 +02:00
Leonardo Alt
5cafbeebec
[SMTChecker] Fix ICE on tuple assignment
2020-09-01 08:29:01 +02:00
Leonardo Alt
50e0ada77d
[SMTChecker] Fix unary operator on lvalue tuple
2020-09-01 08:25:06 +02:00
a3d4
8faa5243b5
Fix MSVC ADL
2020-09-01 00:42:42 +02:00
chriseth
34543e5eab
Merge pull request #9692 from ethereum/smt_fix_pop
...
[SMTChecker] Fix soundness of array pop
2020-08-31 20:07:58 +02:00
chriseth
b3b1df6556
Merge pull request #9681 from ethereum/small-astjsontest-refactor
...
Refactor ASTJSONTest to reduce redundancy
2020-08-31 19:50:06 +02:00
chriseth
0203eea20e
Merge pull request #9649 from a3d4/improve-error-coverage-erorrecovery
...
Complete test coverage for errors related to parser error recovery
2020-08-31 18:33:19 +02:00
chriseth
8c8eca3ec2
Merge pull request #9701 from a3d4/fix-8885-update-test-expectations
...
Fix test expectation update
2020-08-31 13:39:11 +02:00
chriseth
7346165b6c
Merge pull request #9688 from ethereum/fix-9675
...
ossfuzz: Generate antlr4 runtime deps
2020-08-31 13:07:03 +02:00
a3d4
6336aa5aba
Fix test expectation update
2020-08-31 12:50:18 +02:00
Leonardo Alt
8c05db88c0
[SMTChecker] Fix soundness of array pop
2020-08-31 12:11:33 +02:00
Alex Beregszaszi
7ef9591e64
Expose hex literal to the Yul parser
...
This allows nicer error messages.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
26a76c18d4
Add Yul syntax test for every Solidity keyword
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
4366ede889
Introduce Leave as a keyword for Yul
2020-08-28 19:34:52 +01:00
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
bd7283ad22
Add scanner test for specially handled keywords in Yul
2020-08-28 19:34:52 +01:00
Alex Beregszaszi
a80e2c1462
Update tests for immutable variables
2020-08-28 19:06:34 +01:00
Alex Beregszaszi
56624af209
Merge pull request #9695 from ethereum/scanner-test
...
Add more scanner tests for hex and unicode literals
2020-08-28 18:19:22 +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
Alex Beregszaszi
aa70758c32
Add more scanner tests for hex and unicode literals
2020-08-28 14:33:29 +01: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
Bhargava Shastry
6101590d93
ossfuzz: Generate antlr4 runtime deps
2020-08-27 17:33:29 +02: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
Mathias Baumann
c4962df262
Refactor ASTJSONTest to reduce redundancy
2020-08-27 15:56:41 +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
662f7d8fac
Rename Arrow to DoubleArrow
2020-08-27 12:28:27 +01: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
a3d4
0ee4a85a84
Complete test coverage for errors related to parser error recovery
2020-08-20 16:14:39 +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
b2b8e0e4c6
Merge pull request #9312 from ethereum/rewrite-loopInvariantCodeMotion
...
Rewrite loop invariant code motion
2020-08-19 14:27:04 +02:00
Harikrishnan Mulackal
bbf15c9af3
Tests and Changelog
2020-08-19 12:41:29 +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
3c27d36ebd
Merge pull request #9283 from ethereum/refactor-sideEffects
...
Refactor SideEffects
2020-08-18 15:12:42 +02:00
Harikrishnan Mulackal
3cbe65e4f3
Refactor SideEffects struct
2020-08-18 14:53:59 +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
Harikrishnan Mulackal
58bfe0b0d2
Tests for refactor-SideEffects
2020-08-14 17:44:19 +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
Djordje Mijovic
d685bee2ec
[Sol->Yul] Implementing struct copying from calldata to memory.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-08-11 16:18:06 +02:00
Leonardo Alt
ec31d971e6
[SMTChecker] Fix tuple name for arrays
2020-08-07 12:28:10 +02:00
Daniel Kirchner
9ca48987dd
Merge pull request #9520 from ethereum/interpreterLiteral
...
Fix literal arguments in interpreter.
2020-08-06 16:11:31 +02:00
Daniel Kirchner
143b37af56
Only conditionally run old code generation in CompilerStack, StandardCompiler and semantic tests.
2020-08-06 15:05:17 +02:00
chriseth
0226d104b7
Fix literal arguments in interpreter.
2020-08-06 14:16:59 +02:00
chriseth
3a409c39e4
Merge pull request #9518 from ethereum/smt_fix_bmc_function_inlining
...
[SMTChecker] Fix ICE in BMC function inlining
2020-08-06 00:50:04 +02:00
chriseth
ebd512cef6
Merge pull request #9576 from ethereum/test-cleanup
...
Rename libsolidity/SolidityScanner to liblangutil/Scanner in tests
2020-08-06 00:49:33 +02:00
chriseth
488fd5a27a
Merge pull request #9575 from ethereum/yul-optim-check
...
Parse optimiser output in yulOptimiserTests
2020-08-06 00:40:45 +02:00
Alex Beregszaszi
2e8616e2e4
Run prequisite steps for VarNameCleaner in tests
2020-08-05 22:12:51 +01:00
Alex Beregszaszi
0a8bc861b2
Remove old boost tests from libyul/ObjectParser
2020-08-05 21:01:46 +01:00
Alex Beregszaszi
291c359ee9
Add more syntax tests for Yul objects
...
Also move some of them from boost tests.
2020-08-05 21:01:46 +01:00
Alex Beregszaszi
e7c99918ed
Use yul::test::parse in libyul/SynaxtTests to support objects
2020-08-05 18:10:21 +01:00
chriseth
98faf82d3f
Merge pull request #9563 from ethereum/constrInLib
...
Fix member lookup for constructor in library.
2020-08-05 19:07:28 +02:00
Alex Beregszaszi
99d96870ae
Rename libsolidity/SolidityScanner to liblangutil/Scanner in tests
2020-08-05 13:39:18 +01:00
Alex Beregszaszi
42a777e9e2
Use forward declaration in EwasmTranslationTest
2020-08-05 13:31:51 +01:00
Alex Beregszaszi
dec0f86b83
Merge pull request #9542 from ethereum/smt_add_test
...
[SMTChecker] Add test from Aon blog post
2020-08-05 13:24:16 +01:00
Alex Beregszaszi
e77ae3f06e
Parse optimiser output in yulOptimiserTests
2020-08-05 12:57:14 +01:00
Alex Beregszaszi
a21c8e18f1
Merge pull request #9572 from ethereum/yul-optimiser-tests
...
Return object format in expectation for yulOptimizerTests
2020-08-05 12:57:01 +01:00
Alex Beregszaszi
ad6f39376f
Return object format in expectation for yulOptimizerTests
2020-08-05 11:55:13 +01:00
Alex Beregszaszi
6e381326fe
Adjust and add more tests
2020-08-05 11:37:04 +01:00
Leonardo Alt
8df8c6e14f
[SMTChecker] Fix ICE in BMC function inlining
2020-08-05 11:47:25 +02:00
chriseth
b8fd409f7f
Merge pull request #9566 from ethereum/byteAfterShrNonEight
...
Optimize byte-after-shr for shift amounts that are not multiples of 8.
2020-08-04 14:19:11 +02:00
chriseth
a3a9630d8b
Optimize byte-after-shr for shift amounts that are not multiples of 8.
2020-08-04 12:16:23 +02:00
chriseth
0ea5aae9aa
Require inheritdoc tag to be non-empty.
2020-08-04 12:13:23 +02:00
chriseth
c96e997a3c
Fix member lookup for constructor in library.
2020-08-04 10:51:40 +02:00
Leonardo Alt
55624d6416
Add test from Aon blog post
2020-08-04 09:31:48 +02:00
Bhargava Shastry
5100effeec
yul: Set non movable flag to true in simplification rule for byte of right-shifted expression
2020-08-03 17:30:52 +02:00
chriseth
cd2ce28317
Merge pull request #9547 from ethereum/useCBOR
...
Use cbor metadata in gas cost tests.
2020-07-28 23:59:14 +02:00
chriseth
b8b78a6982
Use cbor metadata in gas cost tests.
2020-07-28 23:42:22 +02:00
chriseth
9e5a56a649
Merge pull request #9526 from ethereum/scanner-split
...
Add ScannerKind and replace supportPeriodInIdentifier
2020-07-28 23:25:28 +02:00
chriseth
aea75d0f5b
Merge pull request #9513 from ethereum/smt_fix_fixed_bytes_access
...
[SMTChecker] Fix ICE on fixed bytes access
2020-07-28 23:24:04 +02:00
chriseth
73506e2858
Merge pull request #9530 from a3d4/improve-error-coverage-referenceresolver
...
Complete error coverage of ReferenceResolver
2020-07-28 21:12:54 +02:00
a3d4
ffdb0e37ff
Complete error coverage of ReferenceResolver
2020-07-28 18:56:57 +02:00
a3d4
dbeacbafa5
Cover "Override changes modifier to public state variable." error
2020-07-28 18:55:12 +02:00
Leonardo Alt
ad1798b000
[SMTChecker] Fix ICE on fixed bytes access
2020-07-28 17:59:42 +02:00
Alex Beregszaszi
d9cb8c8c5e
Add ScannerKind and replace supportPeriodInIdentifier
2020-07-28 12:31:08 +01:00
chriseth
655113e922
Merge pull request #9532 from ethereum/smt_fix_tests
...
Fix SMTChecker tests
2020-07-28 12:14:46 +02:00
Alex Beregszaszi
291c00c3de
Remove errenous error duplication and move some tests around
2020-07-28 10:45:27 +01:00
chriseth
53d497fc31
Merge pull request #9412 from ethereum/unicode-string
...
[BREAKING] Support unicode string literal type
2020-07-28 11:42:23 +02:00
Leonardo Alt
a6df232fa3
Fix SMT tests
2020-07-28 11:24:25 +02:00
Alex Beregszaszi
0102d30b0a
Add more tests to the scanner regarding dots in identifiers
2020-07-27 18:38:18 +01:00
chriseth
ee9a03ffe1
Merge pull request #9501 from ethereum/calldataToMemoryCopy
...
[Sol->Yul] Implementing bytes copying from calldata to memory.
2020-07-27 19:23:30 +02:00
chriseth
81cdc39f51
Merge pull request #9514 from ethereum/fixInterCon
...
Fix internal error for invalid data location in constructor.
2020-07-27 19:21:55 +02:00
Alex Beregszaszi
f5f86779b8
Update tests for unicode literals
2020-07-27 18:21:17 +01:00
Alex Beregszaszi
5bfcc1ffcc
Update tests for string literals
2020-07-27 18:21:17 +01:00
chriseth
9605b85c21
Merge pull request #9352 from ethereum/smt_cex
...
[SMTChecker] CHC counterexamples
2020-07-27 19:21:04 +02:00
Leonardo Alt
b207222af7
Fix extra parens
2020-07-27 17:14:59 +02:00
Djordje Mijovic
96258c7e75
[Sol->Yul] Implementing bytes copying from calldata to memory.
2020-07-27 15:14:26 +02:00
chriseth
f24097c38d
Fix internal error for invalid data location in constructor.
2020-07-27 15:00:17 +02:00
Leonardo Alt
de4ae301c4
[SMTChecker] Fix ICE when tuples have extra effectless parens
2020-07-27 13:03:27 +02:00
chriseth
5812cd8213
Merge pull request #9511 from ethereum/ast-hex-string
...
[BREAKING] Distinguish between stringLiteral and hexStringLiteral in the JSON AST
2020-07-27 12:34:40 +02:00
Alex Beregszaszi
5ecc84e92e
Distinguish between stringLiteral and hexStringLiteral in the JSON AST
2020-07-27 10:19:24 +01:00
chriseth
2c574af45b
Fix conversion bug for exp operation.
2020-07-27 10:44:42 +02:00
chriseth
1a1960ede0
Merge pull request #9466 from ethereum/fixTokens
...
Properly sort token list.
2020-07-27 10:42:31 +02:00
chriseth
7ff3d10fee
Merge pull request #9492 from ethereum/someValueTests
...
Some more tests for value.
2020-07-23 19:09:28 +02:00
Leonardo Alt
95484d9969
Fix tests after rebase
2020-07-23 18:49:03 +02:00
Leonardo Alt
d70ebbb62d
Remove problematic test
2020-07-23 18:49:03 +02:00
Leonardo Alt
5bb4e73693
Review 1
2020-07-23 18:49:03 +02:00
Leonardo Alt
003c9b9a5b
Update tests
2020-07-23 18:49:03 +02:00
chriseth
80d704891c
Merge pull request #9493 from ethereum/fix-gnosis
...
Force upgrade package-lock
2020-07-23 18:00:12 +02:00
chriseth
8607bfdfaa
Merge pull request #9007 from a3d4/fix-8727-no-return-optimizer-error
...
Report an error if immutables not assigned
2020-07-23 16:50:42 +02:00
chriseth
95c8f41ddf
Merge pull request #9489 from ethereum/fixStackLit
...
Fix handling of long literal arguments in the stack compressor.
2020-07-23 16:49:39 +02:00
a3d4
5b54cfbed3
Report an error if immutables not assigned
2020-07-23 16:38:54 +02:00
Harikrishnan Mulackal
bde0728b9b
Force upgrade package-lock
2020-07-23 20:05:14 +05:30
chriseth
336fe94422
Merge pull request #9426 from ethereum/smt_fix_1_tuple
...
[SMTChecker] Fix ICE in 1-tuple chain
2020-07-23 15:38:17 +02:00
chriseth
4f611fbf17
Some more tests for value.
2020-07-23 14:57:47 +02:00
chriseth
a1da90d14b
Adding more tests for function types
2020-07-23 14:55:32 +02:00
Djordje Mijovic
e7d5a7da10
[TypeChecker] Remove function input and return parameter names from mobileType
2020-07-23 14:39:49 +02:00
chriseth
8cfbe02cc0
Fix token list.
2020-07-23 14:28:28 +02:00
chriseth
fc34c81f4c
Test for long object names in optimizer.
2020-07-23 14:03:51 +02:00
Leonardo Alt
9d2a0947e9
Fix 1-tuple chain
2020-07-23 13:46:41 +02:00
chriseth
845c1ae91f
Merge pull request #9469 from ethereum/fix-9468
...
Yul fuzzer: Enable nested object references
2020-07-23 13:26:42 +02:00
chriseth
6bb6783d39
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-22 15:26:44 +02:00
Bhargava Shastry
115380ca76
Yul fuzzer: Enable nested object references
...
Co-authored-by: Đorđe Mijović <djordje.mijovic@gmail.com>
2020-07-22 14:02:41 +02:00
chriseth
0dc111bac9
Merge pull request #9463 from a3d4/improve-error-coverage-only-one-receive
...
Add "Only one receive function is allowed"-error to syntax tests
2020-07-22 10:40:49 +02:00
chriseth
8339ee4122
Merge pull request #9423 from ethereum/runtimeCodeSol2Yul
...
[Sol->Yul] Supporting .runtimeCode
2020-07-22 09:51:07 +02:00
chriseth
cb1f7a8410
Merge pull request #9235 from ethereum/yulSubObjectAccessWithDot
...
Yul sub object access with dot
2020-07-22 09:50:41 +02:00
a3d4
7e0a291fac
Add "Only one receive function is allowed"-error to syntax tests
2020-07-22 04:09:24 +02:00
Djordje Mijovic
546e9af24d
[Sol->Yul] Supporting .runtimeCode
2020-07-21 17:56:37 +02:00
Djordje Mijovic
6f97e6153c
[yul] Adding support for accessing subobjects via .
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-21 17:56:11 +02:00
Bhargava Shastry
18fbbfa5ca
Fuzzer: Count step by number of interpreted statements
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-07-21 15:38:02 +02:00
chriseth
8b7567f963
Fix merge conflicts.
2020-07-21 15:06:57 +02:00
Bhargava Shastry
4067bab7dd
Add corpus based multi source fuzzer
...
Co-authored-by: Leonardo <leo@ethereum.org>
2020-07-21 13:43:29 +02:00
chriseth
e19e4d9db1
Merge pull request #9451 from ethereum/smt_fix_push_push
...
[SMTChecker] Fix push().push()
2020-07-21 11:40:37 +02:00
chriseth
9be5ed1220
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-21 11:35:28 +02:00
a3d4
ecdfef1b30
Replace grave accent with acute accent
2020-07-21 00:18:47 +02:00
chriseth
e7f26c2320
Merge pull request #9218 from ethereum/issue-8911
...
Natspec: Implement inheritance and @inheritdoc
2020-07-20 18:44:13 +02:00
chriseth
10f93fbd8a
Merge pull request #9428 from ethereum/removeVar
...
Remove special treatment of ``var``.
2020-07-20 18:43:44 +02:00
chriseth
2c7359de1e
Merge pull request #9394 from ethereum/fix-9391
...
Yul interpreter: Return addresses of type u160 for create and create2…
2020-07-20 18:38:43 +02:00
Mathias Baumann
ba0a4de50d
NatSpec: Implement `@inheritdoc
`
2020-07-20 18:32:18 +02:00
chriseth
93c792c696
Remove special treatment of `var
`.
2020-07-20 17:22:04 +02:00
Leonardo Alt
2c93278719
Fix push().push()
2020-07-20 17:17:35 +02:00
chriseth
8bdd93f4b8
Update tests.
2020-07-20 17:17:19 +02:00
chriseth
50a54fa8aa
Implement inline arrays.
2020-07-20 17:06:32 +02:00
chriseth
ac95e98b2b
Merge pull request #9449 from ethereum/fixEnforceViaYul
...
Fix enforce via yul
2020-07-20 17:01:42 +02:00
chriseth
1c9179683e
Merge pull request #9433 from ethereum/reportAllStackErrors
...
Report all stack errors
2020-07-20 15:44:51 +02:00
chriseth
0a25370eeb
Update tests.
2020-07-20 15:40:58 +02:00
Mathias Baumann
446d15488c
Update tests for new public var override rules
2020-07-20 15:18:23 +02:00
chriseth
c8772a54c3
Constants are considered pure.
2020-07-20 15:18:23 +02:00
chriseth
d3647b13e4
Disallow public state variables overriding pure functions.
2020-07-20 15:18:23 +02:00
Mathias L. Baumann
69a596b0ff
Merge pull request #9418 from ethereum/stateMutForOverride
...
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-20 15:01:25 +02:00
chriseth
53bc0ff18e
Fix "enforce via yul".
2020-07-20 14:52:31 +02:00
Bhargava Shastry
deffb7ffc8
Yul interpreter: Return addresses of type u160 for create and create2 calls
2020-07-20 11:26:47 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
Leonardo Alt
2e1067a05a
Set type properly for event parameters
2020-07-17 11:17:27 +02:00
chriseth
ba21d26f88
Merge pull request #9344 from ethereum/issue-3412
...
Allow overrides to have a more strict mutability than super
2020-07-16 18:50:51 +02:00
Mathias Baumann
dfffecfe2c
Allow overrides to have a more strict mutability than super
2020-07-16 17:55:12 +02:00
Leonardo Alt
672633af0a
[SMTChecker] Fix ICE on compound assignment to array index
2020-07-16 17:44:10 +02:00
Daniel Kirchner
579e4b5a69
Report all stack errors in the EVM code transform.
2020-07-16 17:38:04 +02:00
chriseth
aa3f51ab47
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-16 17:19:35 +02:00
chriseth
f945163909
Merge pull request #9432 from ethereum/develop
...
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
Mathias Baumann
d3af598c49
CodeGen: Avoid double cleanup when copying to memory
2020-07-16 13:53:48 +02:00
Mathias Baumann
f47981d484
Prepare testcase for avoiding double cleanup
2020-07-16 13:53:46 +02:00
Leonardo Alt
46653b2d43
Fix ICE when bitwise operator on fixed bytes
2020-07-15 19:32:15 +02:00
chriseth
dca85a286d
Merge pull request #9398 from ethereum/eip615
...
Prefix EIP-615 opcodes with EIP615 in Instructions
2020-07-14 19:18:02 +02:00
Alex Beregszaszi
eab12ecf77
Nicer error message for private payable functions
2020-07-14 14:38:12 +01:00
chriseth
526e7b878b
Merge pull request #9403 from ethereum/string-tests
...
Add more tests for strings with unicode (escapes)
2020-07-14 13:49:06 +02:00
chriseth
f93932c259
Merge pull request #9406 from ethereum/fixSegfault
...
Fix segfault in oversized objects check in combination with var.
2020-07-14 13:30:33 +02:00
Daniel Kirchner
874f4d5447
Merge pull request #9407 from ethereum/refactorStorageSizeUpperBound
...
Refactor storageSizeUpperBound.
2020-07-14 12:17:45 +02:00
Daniel Kirchner
9c62ea182d
Fix segfault in oversized objects check in combination with var.
2020-07-14 11:23:39 +02:00
chriseth
f28bede34a
Refactor storageSizeUpperBound.
2020-07-14 10:45:02 +02:00
Harikrishnan Mulackal
f73b25bb78
Removed specialized errors related to constant state mutability
2020-07-14 12:42:47 +05:30
Alex Beregszaszi
950612cf42
Add more tests for strings with unicode (escapes)
2020-07-13 20:43:30 +01:00
Alex Beregszaszi
6a1ad7e59c
Fix formatting hex strings in isoltest update
2020-07-13 19:06:16 +01:00
Alex Beregszaszi
870ea98c21
Prefix EIP-615 opcodes with EIP615 in Instructions
2020-07-13 17:34:19 +01:00
chriseth
289fc7a9d0
Merge pull request #9371 from ethereum/refactorInterpreter
...
Refactor yul interpreter.
2020-07-13 18:27:47 +02:00
Daniel Kirchner
41710acbca
More semantic tests.
2020-07-13 18:07:11 +02:00
Daniel Kirchner
c3e13b6733
Promote gwei to a proper keyword.
2020-07-13 18:07:11 +02:00
Daniel Kirchner
38c6ecbbe2
Remove finney and szabo denominations.
2020-07-13 18:07:10 +02:00
chriseth
cf189a3285
Merge pull request #9285 from ethereum/no_dot_in_asm
...
[BREAKING] Change _slot and _offset to use dot in inline assembly
2020-07-13 17:46:39 +02:00
Daniel Kirchner
def0ebbb3e
Free variables directly after visiting RHS of Variable Declarations during EVMCodeTransform.
2020-07-13 17:36:15 +02:00
chriseth
414e3bd6fe
Merge pull request #9387 from ethereum/swapDup
...
Remove swap after dup.
2020-07-13 17:27:43 +02:00
chriseth
12f390a60a
Merge pull request #9326 from ethereum/eventOverwriting
...
[BREAKING] Disallow multiple events with same name and types.
2020-07-13 15:44:35 +02:00
chriseth
080f33a72c
Remove swap after dup.
2020-07-13 15:05:01 +02:00
chriseth
1d666335f8
Merge pull request #9367 from ethereum/wasm-dialect
...
Add ctz and popcnt to WasmDialect
2020-07-13 15:02:34 +02:00
chriseth
fc2e9ec2ff
Use .slot
and .offest
to access storage items.
2020-07-13 14:59:22 +02:00
chriseth
8eee3ed3a2
Merge pull request #9388 from ethereum/develop
...
Merge develop into breaking.
2020-07-13 14:55:21 +02:00
Djordje Mijovic
a72b0deea6
Disabling -Wsign-conversion for yul_proto_diff_custom_mutate_ossfuzz target
2020-07-13 14:01:53 +02:00
Alex Beregszaszi
8df4baac42
Implement ctz/popcnt in yulInterpreter
2020-07-13 11:18:10 +01:00
chriseth
c90d3a3558
Merge pull request #9384 from ethereum/yul-err-typo
...
Fix missing quote in error message for invalid Yul types
2020-07-13 11:28:55 +02:00
chriseth
b3566ad0d5
Merge pull request #9082 from ethereum/conversionWarnings
...
Adding `-Wsign-conversion` flag and fixing errors
2020-07-13 11:28:09 +02:00
chriseth
ab2f64f442
Disallow multiple events with same name and types.
2020-07-13 11:24:37 +02:00
Daniel Kirchner
c8f25142a7
Add nooptions label to smt checks.
2020-07-11 20:17:12 +02:00
Alex Beregszaszi
20dd66f398
Fix missing quote in error message for invalid Yul types
2020-07-10 21:06:09 +01:00
Daniel Kirchner
65ed93d99f
Merge pull request #9366 from ethereum/wasm-clz
...
Fix yulInterpreter to correctly handle i32.clz
2020-07-10 20:36:24 +02:00
Alex Beregszaszi
f5ae9c5761
Fix yulInterpreter to correctly handle i32.clz
2020-07-10 15:38:25 +01:00
a3d4
efc5ee207d
Fix internal compiler error caused by oversized objects
2020-07-10 11:39:07 +02:00
Djordje Mijovic
3781ee6349
Removing -Wsign-conversion flag for ossfuzz targets
2020-07-09 17:22:52 +02:00
Djordje Mijovic
547590b972
Fixing additional signedness errors after adding -Wsign-conversion flag
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-09 17:22:45 +02:00
Mathias Baumann
6b37f1c025
Remove visiblity of libraries in inherited contracts.
2020-07-09 16:38:29 +02:00
chriseth
82b66c7687
Merge pull request #9372 from a3d4/improve-error-coverage-cmdlinetests
...
Cover cmdlineTests.sh errors
2020-07-09 16:17:00 +02:00
chriseth
9ef050af9a
Merge pull request #9373 from ethereum/develop
...
Merge develop into breaking.
2020-07-09 16:15:43 +02:00
chriseth
2b94ced65f
Merge pull request #8305 from ethereum/fix-7947
...
yul proto fuzzer: Use custom mutation routines
2020-07-09 15:40:16 +02:00
chriseth
8b52985744
Merge pull request #9357 from ethereum/fix-9356
...
Disable more than one reference to a variable on the LHS of a tuple a…
2020-07-09 15:27:04 +02:00
chriseth
3cf5ed9514
Use plain strings for comparison.
2020-07-09 15:00:13 +02:00
chriseth
ec2393d3b6
Refactor interpreter.
2020-07-09 15:00:13 +02:00
a3d4
a068583bec
Cover cmdlineTests.sh errors
2020-07-09 14:39:05 +02:00
Bhargava Shastry
7272129354
yul fuzzer: Add framework for yul optimizer custom mutation routines
...
Co-authored-by: Leonardo <leo@ethereum.org>
2020-07-09 13:32:07 +02:00
chriseth
f3e100a000
Merge pull request #9359 from ethereum/doNotRunAllTests
...
Do not run tests that do not need options multiple times.
2020-07-08 22:19:46 +02:00
chriseth
59f4989966
Optimize combination of byte and shl.
2020-07-08 20:26:46 +02:00
chriseth
ecc4bf2464
Merge pull request #9354 from ethereum/improveTestSpeed
...
Improve testing speed by only enabling the Yul optimizer if needed.
2020-07-08 19:54:32 +02:00
chriseth
8eb459c825
Disallow dot in inline assembly identifiers.
2020-07-08 19:29:58 +02:00
chriseth
d4ecd33247
Propagate function call argument types across function call options.
2020-07-08 17:59:02 +01:00
chriseth
83337c850e
Do not run tests that do not need options multiple times.
2020-07-08 18:47:14 +02:00
chriseth
0c7e4cf16b
Merge pull request #9340 from ethereum/compileTimeSha
...
Evaluate keccak256 of string literals at compile-time.
2020-07-08 18:42:38 +02:00
chriseth
19ec9ecbfd
Merge pull request #9347 from ethereum/moretests
...
Add create & delete array tests for yul
2020-07-08 18:09:57 +02:00
chriseth
0a0f578d7c
Evaluate keccak256 of string literals at compile-time.
2020-07-08 16:14:14 +02:00
Bhargava Shastry
48ac4b2954
Disable more than one reference to a variable on the LHS of a tuple assignment
2020-07-08 13:16:07 +02:00
Mathias Baumann
f9d6fa71fd
Add create & delete array tests for yul
2020-07-08 13:10:33 +02:00
chriseth
5ebf2b84ef
Improve testing speed by only enabling the Yul optimizer if needed.
2020-07-08 10:51:42 +02:00
chriseth
64b6524bdb
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-08 09:37:14 +02:00
Kamil Śliwak
b23f7d8790
[yul-phaser] Temporarily disable very slow tests for the classic algorithm
2020-07-07 17:14:57 +02:00
chriseth
41e1e34211
Merge pull request #9180 from ethereum/noVisibilityForConstructor
...
[BREAKING] No visibility for constructor
2020-07-07 16:26:41 +02:00
Alex Beregszaszi
0bd6fb027b
Update tests
2020-07-07 13:13:58 +01:00
chriseth
ec8be81258
Merge pull request #9243 from ethereum/jumpTypesForYul
...
Jump types for yul functions.
2020-07-07 12:21:14 +02:00
chriseth
552d353430
New tests.
2020-07-07 12:16:18 +02:00
chriseth
5959d442cb
Make visibility optional, but it has to be consistent.
2020-07-07 12:16:18 +02:00
chriseth
9743390a53
Update tests.
2020-07-07 12:16:18 +02:00
Alex Beregszaszi
beb4b1d563
Fix tests on breaking
2020-07-07 10:17:58 +01:00
chriseth
d72aae20aa
Merge pull request #9321 from ethereum/multiYulAssign
...
Disallow the same yul variable occurring multiple times on the LHS of an assignment.
2020-07-07 11:07:05 +02:00
chriseth
2e9933b0de
Merge pull request #9320 from ethereum/tests_for_memory_in_external.sol
...
Tests for memory in external functions.
2020-07-07 11:05:50 +02:00
Daniel Kirchner
70615a73a4
Disallow the same yul variable occurring multiple times on the LHS of an assignment.
2020-07-07 10:52:47 +02:00
chriseth
e48d3e5847
Fix wording of error message.
2020-07-06 19:22:52 +02:00
chriseth
982a269b2b
Merge pull request #9325 from ethereum/develop
...
Merge develop into breaking.
2020-07-06 19:11:02 +02:00
chriseth
a09a791999
Merge pull request #9313 from ethereum/doesnt
...
[Trivial] Replace "doesn't" with "does not" in error message
2020-07-06 18:21:02 +02:00
chriseth
4d2b9cd38f
Jump types for yul functions.
2020-07-06 18:12:54 +02:00
chriseth
9009335b3f
Merge pull request #9319 from ethereum/noCalldataForConstructor
...
Constructors cannot have calldata parameters.
2020-07-06 17:58:23 +02:00
chriseth
c0adf2bb4c
Tests for memory in external functions.
2020-07-06 17:08:24 +02:00
chriseth
f372ba6fea
Constructors cannot have calldata parameters.
2020-07-06 16:52:51 +02:00
Alex Beregszaszi
60d4b1e8cc
Rename drop to i64.drop in WasmDialect
...
Also properly implement support for both i32.drop and i64.drop in BinaryTransform, TextTransform, and YulInterpreter
2020-07-06 15:47:17 +01:00
chriseth
375cb09341
Merge pull request #9316 from ethereum/yul-cleanup-evm
...
Tiny cleanups to EVMDialect in Yul
2020-07-06 16:14:24 +02:00
chriseth
083ef2d685
Merge pull request #9311 from a3d4/improve-large-variable-size-warning
...
Add variable name to the "Variable covers ...." warning
2020-07-06 15:31:33 +02:00
chriseth
ab68406006
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-06 15:25:25 +02:00
a3d4
5e4aeaa460
Add variable name to the "Variable covers a large part of storage ...." message
2020-07-06 13:49:09 +02:00
Mathias Baumann
8cdf14f1b3
Replace "doesn't" with "does not" in error message
2020-07-06 13:44:33 +02:00
Alex Beregszaszi
f0d256bfdb
Add test case for jumpi in inline assembly
2020-07-06 10:41:35 +01:00
Daniel Kirchner
b9b24daa8a
Merge pull request #9295 from ethereum/requireFLIR
...
Require for loop init rewriter for SSA.
2020-07-04 17:51:57 +02:00
chriseth
711ed588d7
Require for loop init rewriter for SSA.
...
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-07-03 19:24:31 +02:00
Alex Beregszaszi
0ac039e4ea
Merge pull request #9305 from ethereum/yul-dot-tests
...
Add Yul syntax tests for dots in identifiers
2020-07-03 18:18:58 +01:00
Alex Beregszaszi
889131321a
Merge pull request #9298 from ethereum/yul-evm-version-tests
...
Use different error code for various EVM features in Yul
2020-07-03 17:05:01 +01:00
a3d4
46bcac58eb
Merge pull request #9187 from a3d4/fix-storagesizeestimate
...
Fixed recursive check in structureSizeEstimate
2020-07-03 17:35:11 +02:00
Alex Beregszaszi
8b53f85e28
Add Yul syntax tests for dots in identifiers
2020-07-03 15:41:09 +01:00
a3d4
1c7a0dcbea
Add warnings for oversized subtypes
2020-07-03 15:18:02 +02:00
Alex Beregszaszi
9a94b89c48
Update and add new tests for features of different EVM version
2020-07-03 14:08:09 +01:00
Daniel Kirchner
c0ee566049
Merge pull request #9293 from ethereum/yul-restrict-linkersymbol-to-object-dialect
...
[Yul] Restrict `linkersymbol` to object dialect and add missing changelog entries
2020-07-03 11:37:21 +02:00
chriseth
3d96e2b11a
Merge pull request #9257 from ethereum/yul-in-memory-struct-creation
...
Yul: Implement memory struct allocation
2020-07-02 17:03:46 +02:00
Mathias Baumann
50373ac1b0
Yul: Implement memory struct allocation
2020-07-02 16:37:20 +02:00
Kamil Śliwak
356b9a7904
Restrict linkersymbol
builtin to object dialect of Yul
2020-07-02 14:41:40 +02:00
a3d4
c2e1273ff4
Fixed recursive check in structureSizeEstimate
2020-07-02 04:14:58 +02:00
Leonardo Alt
5517e817d5
Do not trust code of external functions
2020-07-01 18:20:46 +02:00
Leonardo Alt
5160f89c1b
[SMTChecker] Support to external calls to unknown code
2020-07-01 18:20:33 +02:00
chriseth
1ec1166a27
Merge pull request #9277 from a3d4/improve-docstringparser-error-coverage
...
Add a missing DocStringParser error to tests
2020-07-01 18:17:09 +02:00
chriseth
3d602b3190
Merge pull request #9271 from ethereum/sloadKnowledge
...
[Yul Optimizer] Make DataFlowAnalyzer aware of storage / memory slot after sload / mload
2020-07-01 13:46:10 +02:00
chriseth
e0b1d8b9bd
Make DataFlowAnalyzer aware of storage / memory slot after sload / mload.
2020-07-01 13:45:25 +02:00
chriseth
ea46636ad2
Merge pull request #9281 from ethereum/fix-6772
...
Fuzzer: Add a specialized StackTooDeepError Exception that is caught …
2020-07-01 11:47:35 +02:00
Bhargava Shastry
1a0391bceb
Fuzzer: Add a specialized StackTooDeepError Exception that is caught in the fuzzing harness
2020-07-01 11:08:20 +02:00
a3d4
acd42a08c1
Add a missing DocStringParser error to tests.
2020-07-01 04:42:37 +02:00
Bhargava Shastry
b82590322c
yul proto fuzzer: Remove assertion that no errors/warnings while parsing yul code
2020-06-30 21:46:38 +02:00
chriseth
3e3f9a472f
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-30 18:56:51 +02:00
Bhargava Shastry
d0ea1f97fd
Yul interpreter: Return selfbalance constant for the expression
...
balance(address()) and balance constant otherwise.
2020-06-30 16:59:13 +02:00
chriseth
76943023bd
Merge pull request #9267 from ethereum/issue-8911-split
...
NatSpec: Implement default inheritance.
2020-06-30 15:16:14 +02:00
Mathias Baumann
c50f0ae00e
NatSpec: Implement default inheritance.
2020-06-30 14:45:13 +02:00
Harikrishnan Mulackal
eeadb5a6b5
Tests, Docs and Changelog
2020-06-30 16:53:41 +05:30
chriseth
49e3217933
Merge pull request #9230 from ethereum/issue-8716
...
Add unit denomination ``gwei``
2020-06-30 12:36:10 +02:00
Mathias Baumann
fe33891531
Natspec: Add warning when using @author
with functions
2020-06-29 18:10:36 +02:00
chriseth
a1309e4c5f
Merge pull request #9011 from ethereum/natspec-event
...
NatSpec for events
2020-06-29 17:14:00 +02:00
Kamil Śliwak
3f3f8adcb8
CommandLineInterface: In error message about options disallowed in assembly mode only include the names of actually used options
2020-06-29 15:23:13 +02:00
Harikrishnan Mulackal
4146ff9fcf
NatSpec for events
2020-06-26 15:06:43 +05:30
Mathias Baumann
02328f3bbb
Add unit denomination `gwei
`
2020-06-24 18:24:56 +02:00
Kamil Śliwak
a331d4449d
Add linkersymbol() builtin to Yul EVM dialect
2020-06-24 15:06:52 +02:00
Kamil Śliwak
1b09b4f950
Allow Yul literals longer than 32-bytes when used as literal arguments for builtins
2020-06-24 15:05:38 +02:00
chriseth
af0cd4ab98
Merge pull request #9252 from ethereum/develop
...
Merge develop into breaking.
2020-06-23 18:28:24 +02:00
Bhargava Shastry
0397266351
Implement multi source semantic tests
...
Co-authored-by: chriseth <chris@ethereum.org>
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-23 17:29:16 +02:00
chriseth
e419e904d3
Merge pull request #9215 from a3d4/fix-grammar-pragma-version
...
Fix pragma solidity version in antlr grammar
2020-06-23 12:34:29 +02:00
a3d4
25ebff3a38
Fix pragma solidity version in antlr grammar
2020-06-23 02:25:21 +02:00
chriseth
d67734df6f
Fix error IDs.
2020-06-22 18:56:32 +02:00
chriseth
1441b97131
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-22 18:40:20 +02:00
chriseth
98e5923e3a
Do now disallow assigning to external parameters.
2020-06-22 18:36:32 +02:00
a3d4
1d2ae7d82a
Added error codes to SyntaxTest expectations (changed code)
2020-06-22 16:53:03 +02:00
a3d4
e04cedafc5
Added error codes to SyntaxTest expectations (updated tests)
2020-06-22 16:51:47 +02:00
chriseth
cd2cc76f20
Modules are pure.
2020-06-18 18:28:04 +02:00
chriseth
b00014c51d
Fix source location of yul multi-assignemnt.
2020-06-18 14:31:53 +02:00
chriseth
76468f19fe
Check if using for refers to a library earlier.
2020-06-17 17:45:40 +02:00
chriseth
71cb7551f4
Merge pull request #9208 from ethereum/develop
...
Merge develop into breaking.
2020-06-16 16:11:41 +02:00
Kamil Śliwak
50b426e37b
Update the expected output of command-line tests after wasm changes
2020-06-16 15:36:47 +02:00
chriseth
8e23899886
Merge pull request #9188 from ethereum/refactorNameAndType
...
Refactor name and type resolution in preparation for free functions.
2020-06-16 14:26:52 +02:00
a3d4
5d63fa09e9
Fix false ////- and /***-natspec
2020-06-16 11:15:04 +02:00
chriseth
4b3ae0b206
Merge pull request #9075 from ethereum/commandline-invalid-asm-mode-options
...
Disallow invalid command-line option combinations in assembly mode
2020-06-15 17:33:12 +02:00
chriseth
cc23794575
Merge pull request #8858 from ethereum/fix-8857
...
Add more tests for yul cleanup codegen
2020-06-15 17:18:50 +02:00
Kamil Śliwak
4bd078ed7e
CommandLineInterface: Disallow --output-dir, --gas and --combined-json in assembly mode
2020-06-15 17:12:51 +02:00
Kamil Śliwak
0d7b3ae503
CommandLineInterface: Disallow --yul-dialect and --machine when not in assembly mode
2020-06-15 17:12:51 +02:00
chriseth
8155ad2187
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-15 17:11:41 +02:00
Mathias Baumann
d54e7f50ed
Natspec: Output "type" and "version" in documenation
2020-06-15 14:53:34 +02:00
chriseth
b4c6fdb1ed
Merge pull request #8749 from aarlt/structured-docs-variables-aarlt-breaking
...
[BREAKING] Allow NatSpec comments for state variables.
2020-06-15 14:47:29 +02:00
Leonardo Alt
3c4e286390
[SMTChecker] Replace wrap mod by slack vars
2020-06-12 14:57:21 +02:00
chriseth
07c1167136
Refactor name and type resolution.
2020-06-12 12:18:02 +02:00
Bhargava Shastry
9264135bef
Add tests to validate clearing dirty bits via inline assembly operations
2020-06-12 11:32:15 +02:00
chriseth
0689cda19a
Merge pull request #9116 from ethereum/solYulCleanupFromStorageReference
...
New test for getters.
2020-06-11 14:08:10 +02:00
chriseth
012ba9537b
Merge pull request #9184 from ethereum/fixUsingForStorage
...
Fix using for with explicit reference types.
2020-06-11 14:00:28 +02:00
chriseth
c42373dce4
Merge pull request #9142 from ethereum/wasm-support-for-i32-in-generated-code
...
Add support for types in Wasm AST and code generation
2020-06-11 13:59:44 +02:00
chriseth
5c71b3fbb0
Merge pull request #9173 from ethereum/fixBoundCalldata
...
Fix bound functions with calldata parameters.
2020-06-11 13:31:30 +02:00
chriseth
549c90612c
Fix using for with explicit reference types.
2020-06-11 13:04:41 +02:00
Daniel Kirchner
73cd009b89
Fix struct allocation in Sol->Yul.
2020-06-11 12:16:45 +02:00
chriseth
d4e3491f35
Merge pull request #9177 from ethereum/fixYulStructMemberAccess
...
[Sol -> Yul] Fix struct member access for memory and implement for calldata.
2020-06-11 09:41:04 +02:00
Kamil Śliwak
e67f5072df
Add support for generating code with i32 variables in text and binary wasm
2020-06-11 02:44:23 +02:00
Leonardo
d7f29a33b9
Merge pull request #9096 from ethereum/conversionWarningsLibSol
...
Adding fixes for signedness warnings in libsolidity
2020-06-11 01:06:32 +02:00
Daniel Kirchner
90b66a7362
Fix struct member access for memory and implement for calldata.
2020-06-10 20:01:30 +02:00
chriseth
baabe65a84
Fix bound functions with calldata parameters.
2020-06-10 17:37:59 +02:00
chriseth
2410f0ed5a
Merge pull request #9135 from ethereum/fixReturnParameterLocation
...
Fixing ICE on calling externally a function that returns calldata pointers
2020-06-10 16:44:38 +02:00
Djordje Mijovic
e73fe17277
Fixing ICE on calling externally a function that returns calldata pointers
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-06-10 14:41:45 +02:00
a3d4
51e64fe0b1
Add error IDs to console output
2020-06-10 13:27:25 +02:00
a3d4
b17915a6ba
Add error IDs to JSON
2020-06-10 13:26:51 +02:00
chriseth
6b3171c38b
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-10 11:30:50 +02:00
Djordje Mijovic
c6e4943089
Adding fixes for signedness warnings in libsolidity
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-10 10:41:55 +02:00
chriseth
81f54a170b
Cleanup from storage.
2020-06-09 14:57:04 +02:00
Harikrishnan Mulackal
d8263d331e
Ignore warnings for yulOptimizer tests
2020-06-09 13:03:57 +02:00
Harikrishnan Mulackal
73e634924e
Warn on YUL switch statement with only default statement
2020-06-09 12:32:53 +02:00
chriseth
2724ce9511
Index access to fixed bytes and byte arrays.
2020-06-09 10:50:28 +02:00
Leonardo
1e8e0ebd13
Merge pull request #9140 from ethereum/wasm-binary-fix-memory-immediate-alignment
...
Fix wrong alignment for Wasm store/load with 8-, 16- and 32-bit arguments
2020-06-09 10:42:21 +02:00
Leonardo Alt
f49e2424b2
[SMTChecker] Erase knowledge when array variable is pushed
2020-06-08 10:23:06 +02:00
Kamil Śliwak
fe0a0802b2
wasm/BinaryTransform: Fix wrong alignment for .load/.store with arguments smaller than 64-bits
2020-06-06 00:00:46 +02:00
Kamil Śliwak
976a0f9395
wasm/BinaryTransform: Don't add an empty local entry in binary wasm if there are no locals
2020-06-05 21:03:06 +02:00
Leonardo
d243f5baac
Merge pull request #9045 from ethereum/smt_fix_tuple
...
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 14:21:32 +02:00
Leonardo
731e6466a0
Merge pull request #9067 from ethereum/smt_fix_fp_again
...
[SMTChecker] Fix BMC targets with FP
2020-06-05 12:39:28 +02:00
Daniel Kirchner
0fed2518fc
Merge pull request #9115 from ethereum/moreTestsForGetters
...
More tests for getters.
2020-06-05 12:34:47 +02:00
Leonardo Alt
87ceb72b82
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 12:20:47 +02:00
Djordje Mijovic
9b3d1c11ff
yul-phaser: A few more tweaks to ensure that signedness conversions do not cause warnings
...
- Don't cast booleans to int when the result gets assigned to an unsigned type. Relace them with ifs.
- Use unsigned initializer for a variable declared in a lambda capture.
- Unsigned abs() of a difference of unsigned values.
2020-06-04 17:18:07 +02:00
Djordje Mijovic
a49a127627
yul-phaser: Use ptrdiff_t for iterator arithmetic
2020-06-04 17:17:40 +02:00
chriseth
f97b376f7e
Merge pull request #9040 from ethereum/yulproto-remove-pc
...
ossfuzz: Remove PC from yul proto specification
2020-06-04 10:19:26 +02:00
chriseth
259292c884
Merge pull request #9118 from ethereum/develop
...
Merge develop into breaking.
2020-06-04 10:18:46 +02:00
chriseth
010a2246c7
More tests for getters.
2020-06-03 21:47:24 +02:00
chriseth
6b5f83cdfa
Merge pull request #9058 from ethereum/memberAccessSolYul
...
[Sol->Yul] Member access for structs.
2020-06-03 21:19:49 +02:00
chriseth
f38e3a3574
Merge pull request #9056 from ethereum/solYulGetters
...
[Sol->Yul] Implement getters.
2020-06-03 19:08:15 +02:00
chriseth
59fc88ca17
Merge pull request #9092 from ethereum/libEvmasmConversionWarnings
...
Fixing signedness conversion warnings in libevmasm
2020-06-03 18:46:49 +02:00
chriseth
5024985708
Merge pull request #9074 from ethereum/commandline-fix-wasm-crash-if-no-dialect
...
Fix ICE when selecting assembly variant with no Ewasm translation
2020-06-03 14:24:41 +02:00
chriseth
d12db7ec52
Merge pull request #8994 from ethereum/fixInvertedBinaryOp
...
Fix type inversion for shift and exp operators.
2020-06-03 14:11:16 +02:00
chriseth
1f49edd29d
Merge pull request #9039 from ethereum/yul-remove-pc-instr
...
[Yul] remove PC instruction
2020-06-03 14:10:35 +02:00
Mathias Baumann
6f8b5fe53b
Disallow override with non-public state variables
2020-06-03 14:03:26 +02:00
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
...
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
chriseth
a6c773bd96
Fix type inversion for shift and exp operators.
2020-06-03 13:46:26 +02:00
Djordje Mijovic
e4e3f49844
Fixing signedness conversion warnings in libevmasm
...
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-06-03 13:25:43 +02:00
Christian Parpart
9820df58ab
Remove Yul instruction PC and adapt tests accordingly.
2020-06-03 12:49:23 +02:00
Christian Parpart
c708a1bec2
AsmAnalysis: Fixes a superfluous whitespace in an error string
2020-06-03 12:23:06 +02:00
chriseth
849b16babb
Merge pull request #9095 from ethereum/conversionWarningsLibSolUtil
...
Adding fixes for signedness warnings in libsolutil
2020-06-03 11:10:54 +02:00
chriseth
ebf5a8702f
Merge pull request #9078 from a3d4/fix-tabs-in-formatter
...
Fix tabs in SolcReferenceFormatterHuman
2020-06-03 11:07:39 +02:00
chriseth
e7f3c042b6
Struct member access for storage and memory.
2020-06-03 10:37:39 +02:00
Djordje Mijovic
4b6c322279
Fixing various signedness warnings
2020-06-03 10:37:18 +02:00
chriseth
37e8d78cff
[Sol->Yul] Implement getters.
2020-06-03 10:33:37 +02:00
a3d4
41d8420718
Fix tabs in SolcReferenceFormatterHuman
2020-06-02 21:43:51 +02:00
Leonardo
96ce4abe0e
Merge pull request #9069 from ethereum/smt_try
...
[SMTChecker] Fix internal error on try/catch
2020-06-02 21:09:49 +02:00
chriseth
8ab8d5b1b0
Do not try compiling via yul if explicitly forbidden.
2020-06-02 19:55:33 +02:00
Djordje Mijovic
b4454c4925
Adding fixes for signedness warnings in libsolutil
2020-06-02 19:01:29 +02:00
chriseth
c07254f5ac
Merge pull request #9055 from ethereum/issue-8881
...
Output error when forward referencing constants in inline assembly
2020-06-02 17:10:56 +02:00
chriseth
837e29fff8
Merge pull request #9084 from ethereum/remove-dead-code-from-execution-framework
...
Remove dead code from SolidityExecutionFramework::compileContract()
2020-06-02 17:00:27 +02:00
chriseth
e9212149f5
Merge pull request #9098 from ethereum/conversionWarningsYulInterpreter
...
Adding fixes for signedness warnings in test/tools/yulInterpreter
2020-06-02 16:55:40 +02:00
Leonardo Alt
10162016ae
[SMTChecker] Fix internal error on try/catch
2020-06-02 16:51:53 +02:00
chriseth
9c92562e28
Merge pull request #9059 from ssi91/refactor-interactive-tests
...
Refactor interactive tests
2020-06-02 16:50:31 +02:00
Djordje Mijovic
1ee6c49028
Adding fixes for signedness warnings in test/tools/yulInterpreter
2020-06-02 16:35:41 +02:00
ssi91
79407c87fb
remove extra definition of printIndented
...
add CommonBaseTestCase class and inherit some of TestCase classes from it. Since that, remove print source extra definitions
create the base defifnition for printUpdatedExpectations and remove extra definitions of the method
make CommonBaseTestCase c-tor explicit
include AnsiColorized.h and sort includes
implement a common result checker
move the common implementations into TastCase
2020-06-02 21:15:00 +07:00
Leonardo
97cb091ada
Merge pull request #9068 from ethereum/smt_fix_state_var_init_call
...
[SMTChecker] Relax assertion about callstack
2020-06-02 15:53:14 +02:00
Mathias Baumann
bdc2c63327
Output error when forward referencing constants in inline assembly
2020-06-02 14:37:54 +02:00
Leonardo Alt
ede39fc2da
[SMTChecker] Relax assertion about callstack
2020-06-02 12:50:51 +02:00
Kamil Śliwak
9bb9b6345c
SolidityExecutionFramework: Fix indentation
...
- This code can never be reached because CompilerStack.compile() called above does the same analysis and fails if it's not successful.
2020-06-01 18:25:02 +02:00
Kamil Śliwak
df7b82bf31
SolidityExecutionFramework: Remove dead code for handling errors from parsing and analysis
...
- This code can never be reached because CompilerStack.compile() called above does the same analysis and fails if it's not successful.
2020-06-01 18:24:31 +02:00
Kamil Śliwak
311f025eb5
SolidityExecutionFramework: Fix compileContract() to print Yul errors from the correct source
2020-06-01 18:17:50 +02:00
Kamil Śliwak
ef133aa670
CommandLineInterface: Display an error instead of crashing when assembly variant has no Ewasm translation
2020-05-30 03:09:42 +02:00
Leonardo Alt
2128ff9f13
Fix ICE on push for member access
2020-05-29 19:13:27 +02:00
Leonardo Alt
e5d25692a5
[SMTChecker] Fix BMC targets with FP
2020-05-29 18:13:13 +02:00
chriseth
0b216f5771
Merge pull request #9050 from ethereum/smt_fix_nonvalue_asgn
...
[SMTChecker] Fix ICE on index access assignment inside single branches
2020-05-28 16:25:46 +02:00
chriseth
65d8b6cf75
Merge pull request #9033 from a3d4/partfix-5819-add-errorid-to-error-class
...
Add unique ID to Error class
2020-05-28 16:24:47 +02:00
Leonardo
1051cea91c
Merge pull request #9052 from ethereum/smt_add_test_delete_m_d_array
...
[SMTChecker] Add test that deletes arrays
2020-05-28 16:14:55 +02:00
Leonardo Alt
9b0146be42
Add test
2020-05-28 15:56:47 +02:00
Leonardo Alt
ec766958ea
Add test
2020-05-28 13:14:21 +02:00
Leonardo Alt
13f32268da
[SMTChecker] Add test that shows that deleting arrays takes the index into account
2020-05-28 13:08:16 +02:00
chriseth
f608e50bad
Merge pull request #9029 from ethereum/fewerInternalSourceRefs
...
Do not set source locations for small internal assembly routines.
2020-05-28 11:14:20 +02:00
chriseth
ee8307ceed
Merge pull request #9044 from ethereum/issue-9028
...
Fix failure to find overload resolution when overrides are involved
2020-05-28 10:33:01 +02:00
Bhargava Shastry
61431d2c59
ossfuzz: Remove PC from yul proto specification
2020-05-28 10:09:38 +02:00
a3d4
be83c54d79
Throw TestParserError instead of Error in tests
2020-05-28 02:26:17 +02:00
Leonardo Alt
9e9f0c52e1
[SMTChecker] Support to bitwise
2020-05-27 20:59:00 +02:00
Mathias Baumann
a846c18e67
Fix failure to find overload resolution when overrides are involved
2020-05-27 18:31:56 +02:00
chriseth
eb923af09c
Do not set source locations for small internal assembly routines.
2020-05-27 18:26:46 +02:00
chriseth
894478ff8c
Merge pull request #9038 from ethereum/develop
...
Merge develop into breaking.
2020-05-27 15:24:27 +02:00
chriseth
a06ac0f39f
Merge pull request #8958 from ethereum/evm-version-dependent-rules
...
[yul] Add support for EVM version-dependent rules.
2020-05-27 12:52:51 +02:00
chriseth
afa873fe9f
Merge pull request #8913 from ethereum/yul-remove-pc-instr
...
Mark EVM instruction `pc()` as deprecated when used in inline assembly.
2020-05-27 12:10:32 +02:00
Christian Parpart
b7fa5d5040
Mark EVM instruction pc()
as deprecated when used in inline assembly.
2020-05-27 12:07:23 +02:00
Alexander Arlt
a7b89065ca
[yul] Add support for EVM version-dependent rules.
2020-05-27 11:57:08 +02:00
chriseth
1bf706085d
Merge pull request #9030 from ethereum/issue-8923
...
Fix ICE when trying to decode too large static arrays
2020-05-27 11:45:39 +02:00
chriseth
0aa3fb5026
Merge pull request #9014 from ethereum/sol-yul-abidecode
...
[Sol - Yul] Add support for ABIDecode.
2020-05-27 11:44:13 +02:00
chriseth
f066050ec0
Merge pull request #9024 from ethereum/namableTypes
...
Disallow non-namable types for inline arrays.
2020-05-27 09:21:07 +02:00
Kamil Śliwak
f574d8ec3a
Don't assume that an expression cannot be associated with a function declaration
2020-05-27 00:05:18 +02:00
Alexander Arlt
118cb13476
[Sol - Yul] Add support for ABIDecode.
2020-05-26 13:30:37 -05:00
Mathias Baumann
884e7cbffc
Fix ICE when trying to decode too large static arrays
2020-05-26 19:36:18 +02:00
Alexander Arlt
cb5bfc7436
Update natspec comments on state variables.
...
- changing some warnings to errors
2020-05-26 11:18:24 -05:00
chriseth
d0b6de580f
Disallow non-namable types for inline arrays.
2020-05-26 18:17:35 +02:00
chriseth
50b200a5d5
Merge pull request #8797 from ethereum/sol-yul-populating-internal-dispatch-on-demand
...
[Sol->Yul] Populating internal dispatch on demand
2020-05-26 18:17:05 +02:00
Mathias Baumann
b3cafe4583
Fix ICE by avoiding copyForLocation() on ArraySliceType
2020-05-26 17:27:46 +02:00
Kamil Śliwak
1a2e441bc5
Generate internal dispatch only for functions that might actually get called via pointers
...
- This also adds support for internal library calls as a side-effect since they'll now be pulled into the internal dispatch automatically.
2020-05-26 17:01:50 +02:00
chriseth
c5dbcc9853
Merge pull request #9018 from ethereum/fixLeave
...
Fix implementation of leave.
2020-05-26 11:35:47 +02:00
chriseth
33450619b1
Checks for uninitialized access to calldata variables.
2020-05-26 10:51:13 +02:00
chriseth
fb40a8abb8
Test updates.
2020-05-26 10:51:13 +02:00
chriseth
99194b1450
New tests.
2020-05-26 10:51:13 +02:00
chriseth
bd64e537cb
Fix implementation of leave.
2020-05-26 10:24:01 +02:00
Djordje Mijovic
4c3e78d046
Disallowing shifts by signed types
2020-05-26 10:18:21 +02:00
chriseth
69a028b49c
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-26 10:11:23 +02:00
chriseth
370350da07
Merge pull request #9008 from ethereum/smt_add_test
...
[SMTChecker] Add test that has an unused mapping
2020-05-25 17:04:54 +02:00
chriseth
6d64095ccf
Merge pull request #8987 from ethereum/sol-yul-bound-functions
...
[Sol->Yul] Bound functions
2020-05-25 16:53:33 +02:00
chriseth
8e31c345a8
Merge pull request #8978 from ethereum/disturbance_stack
...
Add proper unipmlemented errors for array copying
2020-05-25 15:34:45 +02:00
Mathias Baumann
7f3d437ffe
Fix caret position for errors with utf source
2020-05-25 14:27:03 +02:00
Mathias Baumann
d45bb2aa07
Add proper unipmlemented errors for array copying
2020-05-25 10:48:42 +02:00
Leonardo Alt
0fda5fe077
[SMTChecker] Add test that has an unused mapping
2020-05-25 10:24:48 +02:00
a3d4
a499ef16fa
Fix spelling errors
2020-05-25 02:54:37 +02:00
Kamil Śliwak
4a2ce57bed
Add support for bound function calls in IR generator
2020-05-20 21:10:20 +02:00
chriseth
74b9b094c0
Merge remote-tracking branch 'origin/develop' into HEAD
2020-05-20 17:22:47 +02:00
chriseth
32bec6b374
Merge pull request #8800 from ethereum/natspec-bugfix
...
[BREAKING] NatSpec bugfix
2020-05-20 17:21:15 +02:00
chriseth
ed0f2d463f
Merge pull request #8453 from imapp-pl/configurable-code-size-metric
...
Configurable CodeSize metric
2020-05-20 17:15:41 +02:00
hrkrshnn
37257548d0
Fixed bug when two empty NatSpec comments led to scanning past EOL
2020-05-20 20:26:02 +05:30
Kamil Śliwak
1fa689e951
[yul-phaser] ProgramCache::calculateTotalCachedCodeSize(): Replace default weights with ones that better correlate with memory usage
2020-05-20 16:47:23 +02:00
Kamil Śliwak
b776021870
[yul-phaser] Command-line options for altering weights used by CodeSize metric
2020-05-20 16:47:23 +02:00
Kamil Śliwak
40dfac7683
[yul-phaser] Require specifying weights for Program::codeSize()
2020-05-20 16:47:23 +02:00
Kamil Śliwak
d199fc537b
Add configurable weights to CodeSize metric
2020-05-20 16:47:23 +02:00
Leonardo
56b5f1bb12
Merge pull request #8976 from ethereum/libsmtutil
...
libsmtutil
2020-05-20 16:14:37 +02:00
hrkrshnn
4a001d568e
Removed null members from JSON output
2020-05-20 16:56:33 +05:30
chriseth
84092edc5d
Merge pull request #8914 from random-internet-cat/down-with-unique-ptr
...
Down with unique_ptr!
2020-05-20 13:22:06 +02:00
Leonardo Alt
45eba27424
Rename namespace
2020-05-20 12:55:18 +02:00
Leonardo Alt
802d66244d
Do not link unnecessarily
2020-05-20 12:55:18 +02:00
Leonardo Alt
087605ea02
Create libsmtutil
2020-05-20 12:55:18 +02:00
chriseth
30278c4b88
Merge pull request #8985 from ethereum/fixWasmLoops
...
Fix webassembly loops by adding explicit break at the end.
2020-05-20 11:08:24 +02:00
chriseth
3c71412a47
Merge pull request #8988 from ethereum/isoltest_default_formatting
...
[isoltest] Improve parameter formatting.
2020-05-20 08:05:33 +02:00
Alexander Arlt
410986e00f
[isoltest] Improve parameter formatting.
2020-05-19 19:13:39 -05:00
chriseth
4e9f6c3508
Fix webassembly loops by adding explicit break at the end.
2020-05-19 22:16:16 +02:00
chriseth
22d5caa979
Merge pull request #8532 from aarlt/structured-docs-variables-aarlt
...
Allow NatSpec comments for state variables
2020-05-19 19:26:35 +02:00
chriseth
d422a406ba
Merge pull request #8983 from ethereum/develop
...
Merge develop into breaking.
2020-05-19 18:05:28 +02:00
Kamil Śliwak
16e80b7bcd
Test case for internal dispatch with functions that have arguments that take up multiple slots
2020-05-19 18:02:14 +02:00
Alexander Arlt
af8bb5fb60
Allow natspec comments on state variables.
2020-05-19 11:01:52 -05:00
Erik Kundt
7d37ed4531
Adds structured docs for variable declarations.
...
- adds natspec generation for state variables.
- exports structured docs for state variables to JSON.
2020-05-19 11:01:52 -05:00
Djordje Mijovic
bd64b971b9
Fixing tests on breaking branch.
2020-05-19 17:42:19 +02:00
chriseth
f70ff0dfaa
Merge pull request #8977 from ethereum/mapping-type-error
...
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 16:52:54 +02:00
Harikrishnan Mulackal
774edd4670
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 19:12:38 +05:30
chriseth
3b27b4347c
Merge pull request #8916 from ethereum/smt_array_push_pop
...
[SMTChecker] Support array push/pop
2020-05-19 15:41:10 +02:00
chriseth
3211e22045
Merge pull request #8979 from ethereum/doc-json
...
[Trival] Test: Output JSON AST as array when it involves multiple sources
2020-05-19 15:29:24 +02:00
chriseth
3275243c89
Merge pull request #8898 from mijovic/sol2YulByteArrayPush
...
[Sol->Yul] Implementing ByteArray push() and pop()
2020-05-19 15:28:01 +02:00
Djordje Mijovic
d235d0c166
[Sol->Yul] Implementing Byte array push() and pop()
2020-05-19 14:47:00 +02:00
Mathias Baumann
5a7217b90e
Test: Output JSON AST as array when it involves multiple sources
2020-05-19 14:26:08 +02:00
Leonardo Alt
1ab6ad79d8
Update test expectation
2020-05-18 16:59:31 +02:00
Leonardo Alt
2435ab938c
Add verification target for empty pop
2020-05-18 16:35:56 +02:00
Leonardo Alt
d4d26c02e4
Assume that push will not overflow
2020-05-18 16:35:56 +02:00
Jason Cobb
63ad1092cd
Add comment to filenames in boostTest.cpp
2020-05-18 10:24:38 -04:00
chriseth
f92a4f1965
Provide runtime object in Yul mode.
2020-05-18 13:48:23 +02:00
Harikrishnan Mulackal
4a291f8551
Changelog and test
2020-05-18 12:36:01 +05:30
Leonardo Alt
07bb1952a7
Test updates
2020-05-14 23:32:30 +02:00
Leonardo Alt
a0c605aa85
[SMTChecker] Support array length
2020-05-14 23:32:29 +02:00
chriseth
2d1e7d9504
Merge pull request #8931 from random-internet-cat/lazy-init
...
Add LazyInit
2020-05-14 18:54:19 +02:00
chriseth
7ef114db9a
Merge pull request #8841 from ethereum/sol_yul_ripemd160_ecrecover
...
[Sol - Yul] Add support for ripemd160 & ecrecover.
2020-05-14 18:43:55 +02:00
Alexander Arlt
91e9d54c71
[Sol - Yul] Add support for ripemd160 & ecrecover.
2020-05-14 10:44:39 -05:00
Jason Cobb
a093962115
Add tests
2020-05-14 11:27:56 -04:00
chriseth
993a7941b1
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-14 17:24:40 +02:00
Jason Cobb
26406e40d0
Add empty LazyInit test suite
2020-05-14 10:49:31 -04:00
Jason Cobb
24dfa89ee7
Use LazyInit for cached contract compilations
2020-05-14 10:36:58 -04:00
chriseth
b71a3f1f1d
Merge pull request #8939 from ethereum/updateZ3
...
Update z3 to version 4.8.8.
2020-05-14 16:36:49 +02:00
chriseth
1b86f27002
Merge pull request #8935 from ethereum/moveScopesIntoResolver
...
Move scopes into resolver.
2020-05-14 14:20:58 +02:00
Daniel Kirchner
0303902173
Update smt test expectations.
2020-05-14 14:12:01 +02:00
chriseth
e751a1c23d
Move scopes into resolver.
2020-05-14 13:16:47 +02:00
chriseth
257bc6a416
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-14 13:04:46 +02:00
Djordje Mijovic
472fb21ee0
[Sol->Yul] Enabling new bytes(n)
2020-05-14 12:55:14 +02:00
chriseth
6308ca4a22
Binary transform for br and br_if.
2020-05-14 11:30:19 +02:00
chriseth
504b8d29c9
Merge pull request #8907 from ethereum/licenseIdentifier
...
Check for SPDX license identifiers.
2020-05-14 01:21:24 +02:00
Alex Beregszaszi
c9745ea101
EVMHost: enable support for Berlin
2020-05-13 22:56:11 +01:00
Alex Beregszaszi
7353804252
EVMHost: simplify code using new evmc features
2020-05-13 22:56:11 +01:00
Alex Beregszaszi
098cfd333f
Update EVMC to 7.2.0
2020-05-13 22:29:35 +01:00
chriseth
1700bdc4ad
Merge pull request #8925 from ethereum/abiEncodeCalldataSlice
...
Allow abi encoding array slices without casting.
2020-05-13 18:55:16 +02:00
Daniel Kirchner
97296d8622
Allow ABI encoding for array slices without explicit casts.
2020-05-13 18:20:07 +02:00
Alexander Arlt
af44c05f1a
Add new test.
2020-05-13 18:16:59 +02:00
Alexander Arlt
52b9a92ff8
Update existing tests.
2020-05-13 18:16:59 +02:00
chriseth
3872a1f000
Add support for SPDX license identifiers.
2020-05-13 18:16:59 +02:00
Mathias Baumann
820fdd9bf7
Escape backslashes when formatting
2020-05-13 17:08:37 +02:00
chriseth
e9446475bb
Merge pull request #8924 from ethereum/arraySliceBug
...
Fix array slice bug.
2020-05-13 16:06:28 +02:00
Daniel Kirchner
6f04664cfa
Disallow array slicing for arrays with dyanmically encoded base types.
2020-05-13 15:52:22 +02:00
chriseth
aca700497c
Merge pull request #8903 from ethereum/exponentiation-bug
...
Fix exponentiation bug
2020-05-13 15:49:23 +02:00
Harikrishnan Mulackal
47e9a13e8a
Fix exponentiation bug
2020-05-13 13:53:06 +05:30
chriseth
b2122d479f
Merge pull request #8915 from a3d4/partfix-5819-remove-erroroccurred-flag
...
Remove a dedicated error flag from DeclarationTypeChecker and other classes
2020-05-12 20:18:33 +02:00
a3d4
02d1f8c41a
Remove a dedicated error flag from DeclarationTypeChecker
2020-05-12 18:13:17 +02:00
chriseth
0be56a0abf
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-12 17:48:53 +02:00
chriseth
7da453014d
Fix source location of yul variable declarations without value.
2020-05-12 17:45:19 +02:00
chriseth
efd2f63c2c
Merge pull request #8706 from ethereum/solProtoSkeleton
...
ossfuzz: Add sol proto fuzzer skeleton
2020-05-12 17:15:23 +02:00
chriseth
901b421bb8
Merge pull request #8910 from ethereum/natspec-return-bug
...
Bug that ignored return tag when no other devdoc tags were present
2020-05-12 16:47:07 +02:00
Harikrishnan Mulackal
095e17f7f9
Bug that ignored return tag when no other devdoc tags were present
2020-05-12 20:05:22 +05:30
Harikrishnan Mulackal
c29d76f8f2
Test for function with value setting
2020-05-12 15:21:13 +05:30
Bhargava Shastry
596ac018f5
Fuzzer: Add test harness for solidity inheritance protobuf fuzzer
...
Co-Authored-By: Leonardo <leo@ethereum.org>
2020-05-11 23:56:27 +02:00
Bhargava Shastry
00946f3ea0
ossfuzz: Add sol proto fuzzer skeleton
...
Co-Authored-By: Leonardo <leo@ethereum.org>
2020-05-11 23:56:27 +02:00
Daniel Kirchner
c2f5a66a79
Implement .creationCode for Sol->Yul.
2020-05-11 18:51:51 +02:00
Daniel Kirchner
3fbde6e782
Merge pull request #8856 from ethereum/implicitConstructorCallvalueCheck
...
Implicit constructor callvalue check
2020-05-11 18:50:36 +02:00
Daniel Kirchner
79b217dfb3
Callvalue checks for implicit constructors.
2020-05-11 16:14:34 +02:00
chriseth
5566cd9f74
Merge pull request #8843 from ethereum/deprecate-now
...
[BREAKING] Deprecate keyword now
2020-05-11 16:09:21 +02:00
chriseth
f1e0aa7a56
Merge pull request #8763 from ethereum/bareCall
...
IR code generation for call.
2020-05-11 16:06:54 +02:00
chriseth
3312150d7f
Merge pull request #8878 from ethereum/selecting-yul-optimisation-steps-in-strict-assembly-mode
...
Selecting Yul optimisation steps in strict assembly mode
2020-05-11 16:05:57 +02:00
chriseth
c0bf529236
Support bare calls.
2020-05-11 15:11:46 +02:00
chriseth
4c13ce24f0
Merge pull request #8887 from ethereum/boost-fs
...
Remove boost::filesystem where it is not needed
2020-05-11 15:09:54 +02:00
chriseth
0248303c15
Merge pull request #8872 from ethereum/int-min-max
...
implemented type(X).min and type(X).max for all integer types
2020-05-11 15:08:19 +02:00
Alex Beregszaszi
c31a93b3f2
Remove boost::filesystem where it is not needed
...
A two uses in CommonIO remain for the compiler (plus testing/tools use it extensively)
2020-05-11 11:19:11 +01:00
Harikrishnan Mulackal
e4e200f29f
Changelog and tests
2020-05-11 15:29:05 +05:30
Harikrishnan Mulackal
e54c4eecfc
implemented type(X).min and type(X).max for all integer types
2020-05-11 14:51:13 +05:30
Djordje Mijovic
591a5fff07
isoltest: WhiskersError and YulException treated differently when enforcing viaYul
2020-05-11 09:37:04 +02:00
Kamil Śliwak
6a58227830
CommandLineInterface: Make --yul-optimizations work in strict assembly mode
2020-05-08 22:29:57 +02:00
Kamil Śliwak
f56fd5bde8
cmdlineTests.sh: Allow using input.yul instead of input.sol in command-line tests
2020-05-08 22:05:04 +02:00
Harikrishnan Mulackal
4e58c672bb
Merge pull request #8855 from ethereum/update-external-repos
...
Updated external test repos
2020-05-08 22:51:48 +05:30
Harikrishnan Mulackal
704b334cf6
Updated external test repos
2020-05-08 21:39:02 +05:30
chriseth
a0e291bd06
Implement Yul IR generation for abi.encode*
2020-05-07 19:39:15 +02:00
chriseth
d0b82fe854
Merge pull request #8869 from ethereum/useSlotes
...
Use vector of slots.
2020-05-07 19:03:59 +02:00
chriseth
f38cf85482
Use vector of slots.
2020-05-07 17:54:04 +02:00
chriseth
4058ce8fe5
Merge pull request #8870 from ethereum/fix-conflicting-symbols-in-yulopti-and-optimiser-suite
...
Fix conflicting symbols in yulopti and OptimiserSuite
2020-05-07 17:40:17 +02:00
Kamil Śliwak
156bfadad3
yulopti: Fix conflict between 'l' in yulopti and OptimiserSuite and make future conflicts less likely
...
- OptimizerSuite uses letters so switching to punctuation marks in yulopti should help.
2020-05-07 17:27:24 +02:00
Kamil Śliwak
d3d1520870
yulopti: Add an error message to assetion triggered when an optimizer step abbreviation conflicts with yulopti controls
2020-05-07 17:21:39 +02:00
Kamil Śliwak
3e9fa7e388
yulopti: Print errors to stderr rather than stdout
2020-05-07 17:16:50 +02:00
Mathias Baumann
eb4926cb48
run addMissingFunctions only once
2020-05-07 17:06:11 +02:00
chriseth
3212cb6caa
Merge pull request #8859 from ethereum/noRuntimeForImmutable
...
trigger error when runtimeCode is called on contracts with immutables
2020-05-07 16:08:27 +02:00
chriseth
f42dc70c9f
Merge pull request #8863 from ethereum/nonReversedEncoder
...
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:47:32 +02:00
Mathias Baumann
50e59f1008
trigger error when runtimeCode is called on contracts with immutables
2020-05-07 15:10:04 +02:00
chriseth
e986fde0c1
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:08:09 +02:00
a3d4
5e9502bfae
Fix ABI internal compiler error caused by an internal constructor
2020-05-07 05:49:49 +02:00
Alex Beregszaszi
327c75bc1b
IR generation for shifts
2020-05-06 19:14:23 +02:00
Christian Parpart
3a93080ca9
Merge pull request #8821 from ethereum/remove-flag
...
Remove obsolete flag --optimize-yul from scripts
2020-05-06 16:20:23 +02:00
chriseth
76275cf34a
Merge pull request #8824 from ethereum/solYulDirtyMemory
...
Fix accessing memory reference types in yul codegen and clean up on memory reads.
2020-05-06 16:17:19 +02:00
Daniel Kirchner
234ffcf278
Merge pull request #8718 from ethereum/irConstants
...
IR generation for constants.
2020-05-06 16:05:17 +02:00
Mathias Baumann
02c5f1f748
Remove --optimize-yul flag for soltest
2020-05-06 11:49:40 +02:00
Daniel Kirchner
c25a3eba14
Fix accessing memory reference types in yul codegen and clean up on memory reads.
2020-05-06 11:34:11 +02:00
chriseth
4c1e821e01
Merge pull request #8845 from ethereum/solYulCleanup
...
[Sol->Yul] Cleanup for checked arithmetic and comparisons.
2020-05-05 17:58:36 +02:00
Harikrishnan Mulackal
92cf61d4f9
fixed compilation tests and upgraded ext. tests branch
2020-05-05 21:11:15 +05:30
Harikrishnan Mulackal
a207613f17
Docs, changelog and tests
2020-05-05 21:11:15 +05:30
Daniel Kirchner
b580106c80
Yul parser hack and more yul tests.
2020-05-05 17:23:41 +02:00
chriseth
02c20698c9
IR generation for constants.
2020-05-05 17:07:55 +02:00
Daniel Kirchner
7b48c120b5
Always enforce via yul for isoltest runs.
2020-05-05 14:08:59 +02:00
Daniel Kirchner
28d25afab1
Cleanup tests for Sol->Yul arithmetic and comparison.
2020-05-05 13:38:31 +02:00
Harikrishnan Mulackal
dd7d63925a
Merge pull request #8806 from ethereum/natspec-constructor
...
[BREAKING] Natspec constructor and functions have consistent userdoc
2020-05-05 15:47:34 +05:30
Djordje Mijovic
e8f6f63e77
[Sol2Yul] Adding support for builtin revert(string)
2020-05-05 07:05:39 +02:00
Djordje Mijovic
8b7f87eed5
[isoltest] Enforcing compileViaYul to be set if test can pass via yul
2020-05-05 00:38:13 +02:00
chriseth
ecbf216354
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-04 18:46:45 +02:00
chriseth
1aef9c7d20
Merge pull request #8777 from ethereum/sol_yul_simplefunctions
...
[Sol - Yul] Add some built-in functions.
2020-05-04 16:07:10 +02:00
chriseth
3738cff6e6
Test updates.
2020-05-04 15:00:50 +02:00
chriseth
51ccb1519f
Yul codegen for immutables.
2020-05-04 15:00:50 +02:00
Mathias Baumann
debcc8c056
Add setimmutable and loadimmutable to dialect.
2020-05-04 15:00:50 +02:00
hrkrshnn
aa65e9423c
Uniform output in functions and constructor NatSpec
2020-05-04 12:39:43 +05:30
Alexander Arlt
a9f4d14010
[Sol - Yul] Add support for send(..) & transfer(..)
2020-05-01 08:32:51 -05:00
Alexander Arlt
151e637336
[Sol - Yul] Add some built-in functions.
...
- simplifications for GasLeft, Selfdestruct and BlockHash.
- add support for addmod & mulmod.
2020-04-30 14:10:09 -05:00
chriseth
602b29cba7
Merge pull request #8796 from a3d4/fix-8760-typechecker-compiler-error
...
[Type Checker] Fix internal error when applying unary operators to tuples with empty components
2020-04-29 10:14:15 +02:00
a3d4
3bd15655cb
Type Checker: Fix internal error when applying unary operators to tuples with empty components
2020-04-29 02:18:48 +02:00
chriseth
cc3992452f
Merge pull request #8791 from random-internet-cat/fix-8406
...
Fix broken assertion in ContractCompiler
2020-04-28 19:46:30 +02:00
Jason Cobb
8973732b74
Compare categories instead of types in ContractCompiler(740)
2020-04-28 13:13:45 -04:00
yoni206
4327434d07
Adding bit-vector NOT operation to the opcodes.
2020-04-28 09:43:31 -07:00
chriseth
55e34407d3
Merge pull request #8726 from ethereum/fix-8724
...
Yul proto spec: Add multiple variable declaration statement
2020-04-28 13:13:07 +02:00
chriseth
1fe55370f4
Merge remote-tracking branch 'origin/develop' into HEAD
2020-04-28 13:02:06 +02:00
hrkrshnn
a58b5b2bbe
Changed repo to upstream; branches to latest
2020-04-28 16:03:52 +05:30
hrkrshnn
bd0b06e8db
Tests, Docs and Changelog
2020-04-28 16:03:52 +05:30
Djordje Mijovic
f3f729549d
[Sol->Yul] Enabling creation function call
2020-04-27 16:15:57 +02:00