Christian Parpart
e40c498260
Adapting the tests to strict inline assembly.
2019-10-25 15:01:25 +02:00
chriseth
15e39f7d65
Merge pull request #7556 from ethereum/ice-7550
...
Check for use of modifiers in invalid contexts
2019-10-24 10:32:49 +02:00
Mathias Baumann
c3e8023ad5
Fix wrong assert in overflow check
2019-10-23 14:59:34 +02:00
Mathias Baumann
8c5d1da5a5
Check for use of modifiers in invalid contexts
2019-10-23 12:36:20 +02:00
Mathias Baumann
ad7cf42aad
Add missing dots in deprecation warning
2019-10-23 12:23:21 +02:00
Mathias Baumann
6ac12afd06
Disallow call of same-class-ctor as modifier
2019-10-23 10:29:41 +02:00
Mathias L. Baumann
7e01696030
Merge pull request #7554 from ethereum/develop
...
Merge develop into develop_060
2019-10-21 17:05:12 +02:00
chriseth
e626437d77
Merge pull request #7538 from ghallak/7198-remove-padded-zeros
...
Remove trailing zeros from the output of BytesUtils::formatBytes
2019-10-16 15:55:02 +02:00
chriseth
ebfe7391ff
Use selfbalance for `address(this).balance
`.
2019-10-16 14:25:56 +02:00
Gaith Hallak
8a8f553e4d
Remove trailing zeros from the output of BytesUtils::formatBytes
2019-10-16 14:42:12 +03:00
Gaith Hallak
02ae43aad4
Fix the documentation for TestFunctionCall::format
2019-10-16 14:42:12 +03:00
chriseth
cea6d6df8b
Merge remote-tracking branch 'origin/develop' into develop_060
2019-10-05 13:08:44 +02:00
Gaith Hallak
51ae296cac
Modify the expectation files in ASTJSON tests.
2019-10-02 22:31:12 +02:00
Gaith Hallak
6c7e849431
Modify the expectation files in ASTJSON tests
...
The following changes to expecation files are required for the ASTJSON
tests to pass:
* remove trailing spaces in ASTJSON tests
* replace indention tabs with 2 spaces in ASTJSON tests
* remove the space between the key and the colon in ASTJSON tests
2019-10-02 19:14:41 +03:00
chriseth
f884373142
Merge branch 'origin/develop' into develop_060
2019-10-02 16:29:36 +02:00
Daniel Kirchner
7202ebb5b2
Fix internal compiler error for arrays of recursive structs.
2019-10-01 16:51:14 +02:00
Christian Parpart
00d7dac15f
Fixes source location in warning for shadowing import delcarations.
2019-09-30 11:45:46 +02:00
Leonardo Alt
b40895c100
Fix try catch test
2019-09-26 18:27:09 +02:00
Leonardo
ca714a2d3d
Merge pull request #7485 from ethereum/develop
...
Merge develop into develop_060
2019-09-26 15:43:12 +02:00
Christian Parpart
f85f6ba7e0
Fixes doxygen style multiline comment parsing for files with CRLF as line terminators.
2019-09-25 12:59:46 +02:00
chriseth
cda23d63e9
Merge pull request #7458 from ethereum/fixErrorMessage
...
Fix error message about accessing storage pointers.
2019-09-24 15:11:03 +02:00
Leonardo
9c23f35bec
Merge pull request #7462 from ethereum/version-060
...
Build version 0.6.0
2019-09-24 12:48:00 +02:00
Erik Kundt
e3a29ffcd3
Updates tests to version 0.6.0.
2019-09-24 12:01:14 +02:00
chriseth
973e4ca90a
Merge pull request #7453 from ethereum/smt_lib_const_array
...
[SMTChecker] Add "as const: function to SMTLib2Interface
2019-09-24 11:02:34 +02:00
chriseth
ca21659749
Fix error message about accessing storage pointers.
2019-09-24 10:52:02 +02:00
chriseth
f3c4f466f6
Merge remote-tracking branch 'origin/develop' into develop_060
...
Had to adjust gas costs during merge.
2019-09-24 10:28:22 +02:00
chriseth
b5d6d5fcf9
Create.
2019-09-23 17:22:56 +02:00
chriseth
b5bc52f2a7
Control flow for try statements.
2019-09-23 17:22:56 +02:00
chriseth
644a402166
Tests.
2019-09-23 17:22:56 +02:00
chriseth
bfc8fd23ac
Document chainid and selfbalance.
2019-09-19 15:35:37 +02:00
Leonardo Alt
ed9674be8d
[SMTChecker] Add as const function to SMTLib2Interface
2019-09-18 22:57:14 +02:00
Leonardo Alt
43d6e00b14
Add push() for dynamic storage arrays
2019-09-17 13:47:33 +02:00
chriseth
7a79742f3d
Out of body again.
2019-09-17 12:30:15 +02:00
chriseth
5b3efee93b
Merge pull request #7442 from ethereum/develop
...
Merge develop into develop_060
2019-09-17 12:16:27 +02:00
Leonardo Alt
eab9f65610
Fix ICE when pop dyn storage array of mapping
2019-09-16 16:33:17 +02:00
Leonardo Alt
d685554980
Create option for metadata hash
2019-09-13 18:59:12 +02:00
Leonardo Alt
e1c238e25f
[SMTChecker] Add loop support
2019-09-13 12:40:53 +02:00
Daniel Kirchner
c72d1ffb65
Merge pull request #7421 from ethereum/develop
...
Merge develop into develop_060
2019-09-13 12:14:02 +02:00
Daniel Kirchner
4782c800ec
Initial introduction of array slices with partial implementation for dynamic calldata arrays.
2019-09-13 10:57:53 +02:00
Erik Kundt
e92b921123
[isoltest] Adds support for fallback and ether functions.
2019-09-13 10:55:46 +02:00
chriseth
50ce3b0ac8
Merge pull request #7420 from ethereum/develop
...
Merge develop into develop_060
2019-09-12 22:06:55 +02:00
chriseth
4f80117eef
Use builtin iszero for for loop condition rewriting.
2019-09-12 10:26:16 +02:00
Erik Kundt
4162c3d7af
[isoltest] Adds fallback formatting.
2019-09-11 15:45:53 +02:00
chriseth
acf10ef60f
Merge pull request #7393 from ethereum/develop
...
Merge develop into 0.6.0
2019-09-10 12:27:02 +02:00
Leonardo Alt
5cfe0b7670
Allow explicit conversion from address to address payable
2019-09-09 23:46:00 +02:00
Erik Kundt
5e12e0cf27
[isoltest] Fixes auto-update for revert.
2019-09-09 22:46:43 +02:00
chriseth
a272506a34
Merge pull request #7374 from ethereum/hexStringUnderscores
...
Allow underscores in hex strings.
2019-09-09 11:48:46 +02:00
Daniel Kirchner
6f3341a204
Allow underscores in hex strings.
2019-09-06 17:58:35 +02:00
Daniel Kirchner
f4d990e5be
Drop constant and payable fields from ABI.
2019-09-06 14:42:09 +02:00
Daniel Kirchner
9bcaeef39f
Fix test wrt changed json ABI sorting.
2019-09-05 13:39:23 +02:00
chriseth
fd687f50ff
Merge pull request #7353 from ethereum/develop
...
Update 0.6.0 from develop
2019-09-04 20:21:37 +02:00
krk
33f7f960cf
Allow exponentials with signed base and unsigned power.
2019-09-04 17:32:47 +02:00
chriseth
8485a1abec
Change ABI sorting order.
2019-09-04 13:06:09 +02:00
Leonardo Alt
a774b2d905
[SMTChecker] Zero-initialize arrays
2019-09-02 22:37:30 +02:00
chriseth
c499758cd8
Merge pull request #7326 from ethereum/develop
...
Merge develop into 0.6.0 branch.
2019-09-02 16:11:20 +02:00
Daniel Kirchner
467d420f7e
ABI and AST tests.
2019-09-02 12:23:21 +02:00
Daniel Kirchner
2b938d703c
Allow global enum definitions.
2019-09-02 11:52:51 +02:00
Daniel Kirchner
fae0e10d26
Import tests.
2019-09-02 11:17:57 +02:00
Daniel Kirchner
872d21f527
Allow global struct definitions.
2019-09-02 11:17:42 +02:00
Leonardo Alt
214e5c6369
[SMTChecker] Fix index access type type error
2019-08-27 16:39:19 +02:00
Mathias Baumann
24716404f8
Parse override keyword
2019-08-26 17:34:21 +02:00
Mathias L. Baumann
e1bb4b9f81
Merge pull request #7280 from ethereum/isoltest-empty-revert
...
[isoltest] Support empty revert message
2019-08-26 11:45:36 +02:00
Erik Kundt
755dae5d66
[isoltest] Supports empty revert message.
2019-08-26 11:06:30 +02:00
Mathias L. Baumann
502bf01be2
Merge pull request #7278 from ethereum/develop
...
Merge develop into develop_060
2019-08-26 10:26:48 +02:00
Leonardo Alt
c27235b2f5
[SMTChecker] Adapt division test for Z3 only
2019-08-23 17:33:29 +02:00
Mathias Baumann
0e3ff25b4e
Make sure json output array order is consistent
...
The source of the "contractDependencies" value was an std::map, thus
order was more or less random.
2019-08-19 17:42:03 +02:00
Daniel Kirchner
4354ef2ef4
Add update suggestion.
2019-08-19 14:58:05 +02:00
Daniel Kirchner
20b23e124b
Add test case.
2019-08-19 14:56:04 +02:00
Daniel Kirchner
9f6fff2120
Replace casting of external functions to address by a member named "address".
2019-08-19 14:56:04 +02:00
Daniel Kirchner
aa2167b208
Extract some import tests.
2019-08-19 14:45:26 +02:00
Daniel Kirchner
6ed219ebe8
Support multiple sources for syntax tests.
2019-08-19 14:45:26 +02:00
Daniel Kirchner
4a65c5ebaa
Compile succeeding syntax tests.
2019-08-16 17:14:49 +02:00
Leonardo Alt
1a70a46f9b
[CHC] Add function blocks and check asserts
2019-08-15 12:25:15 +02:00
chriseth
2508cbc1eb
Merge pull request #7095 from ethereum/isoltest-failure-reason
...
[isoltest] Support FAILURE with reason
2019-08-15 11:37:56 +02:00
Erik Kundt
6c73bc5bac
[isoltest] Refactors parameter formatting.
2019-08-14 21:28:43 +02:00
Erik Kundt
18157f5a49
[isoltest] Splits smoke test into separate files.
2019-08-14 21:28:43 +02:00
Erik Kundt
30483acc42
[isoltest] Support FAILURE with reason.
2019-08-14 21:28:43 +02:00
Daniel Kirchner
b0a5666b43
Better error messages when writing to expressions that cannot be written to.
2019-08-14 17:59:48 +02:00
Leonardo
ffe906129f
Merge pull request #7210 from ethereum/smt_fix_type_mismatch
...
[SMTChecker] Support StringLiteral type
2019-08-12 14:32:43 +02:00
Leonardo Alt
955b97097c
[SMTChecker] Relax expectations for complex nonlinear tests
2019-08-11 22:20:31 +02:00
Leonardo Alt
360f868836
[SMTChecker] Fix literal string type mismatch
2019-08-10 21:51:46 +02:00
Leonardo Alt
4214cd1354
[SMTChecker] Fix ICE when reporting cex concerning state vars from different source files
2019-08-10 20:56:52 +02:00
Leonardo Alt
7b22496b1f
[SMTChecker] Fix ICE when inlining functions that use state vars and are in a different source
2019-08-09 17:50:52 +02:00
Daniel Kirchner
77729023a8
Enable asan workaround in optimizer test for gcc as well.
2019-08-09 16:11:54 +02:00
Bhargava Shastry
a20dc624d4
Selectively disable time sensitive check in the constant_optimization_early_exit unit test for address sanitizer builds.
2019-08-08 17:35:46 +02:00
chriseth
c4638cc5cb
Remove mention of IPC.
2019-08-08 17:35:46 +02:00
chriseth
3dec3af638
Use evmone for testing.
2019-08-08 17:35:44 +02:00
chriseth
9955c51769
Merge pull request #7077 from ethereum/sol-yul-delete-fixed-storage
...
[Sol->Yul] Implement delete for fixed-sized storage arrays
2019-08-08 16:47:16 +02:00
mingchuan
15631a7fbe
Split calldataEncodedSize into calldataEncodedSize, calldataEncodedTailSize and calldataHeadSize and fix all usages.
2019-08-08 15:52:21 +02:00
Mathias Baumann
e072885031
[Sol->Yul] Implement delete for fixed-sized storage arrays
2019-08-07 18:28:52 +02:00
chriseth
d44f680a51
Merge pull request #7091 from ethereum/isoltest-value-format-fix
...
[isoltest] Fix (aligned) hex parsing and formatting
2019-08-07 17:55:37 +02:00
Erik Kundt
5ca991ac81
[isoltest] Allows odd-sized hex literals.
2019-08-07 17:19:27 +02:00
chriseth
c8f04b88bf
Merge pull request #7176 from ethereum/decodeMemoryLocation
...
Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode
2019-08-07 15:42:14 +02:00
Erik Kundt
fe15db6537
[isoltest] Fixes exception handling while parsing literals.
2019-08-07 12:22:52 +02:00
Erik Kundt
e206ad6c24
[isoltest] Fixes hex (plus alignment) formatting.
2019-08-07 12:15:10 +02:00
Daniel Kirchner
efb34bdf22
Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode.
2019-08-06 14:11:14 +02:00
Mathias Baumann
e4ad0e8e6d
Fix gcc9 errors
2019-08-06 12:12:09 +02:00
chriseth
24074d8bac
Merge pull request #7172 from ethereum/smt_fix_return_tuple
...
[SMTChecker] CHC create function returned expressions
2019-08-05 16:48:13 +02:00
chriseth
42290f912b
Merge pull request #7052 from ethereum/isoltest-update-improvements
...
[isoltest] Update improvements (support for missing types)
2019-08-05 16:45:06 +02:00
Erik Kundt
f914415fb2
[isoltest] Updates type retrieval from ABI and its formatting.
2019-08-05 16:15:07 +02:00
Erik Kundt
38285b33d7
[isoltest] Prints bytes result if expectations mismatch.
2019-08-05 15:11:43 +02:00
Erik Kundt
07051f41d2
[isoltest] Reworks (default) ABI Type construction.
2019-08-05 15:00:04 +02:00
Erik Kundt
d9b98bf7af
[isoltest] Cleans up BytesUtils.
2019-08-05 15:00:04 +02:00
Erik Kundt
a7a8ba73f9
[isoltest] Moves error types to dedicated file.
2019-08-05 15:00:04 +02:00
Leonardo Alt
369f8cd97f
[SMTChecker] CHC create function return variables
2019-08-05 12:36:51 +02:00
Leonardo
11632966c9
Merge pull request #7171 from ethereum/smt_fix_compound_bitwise
...
[SMTChecker] Fix ICE compound bitwise op inside branch
2019-08-05 12:15:01 +02:00
chriseth
9b375edfe3
Merge pull request #6787 from ethereum/sol2yul-ctor-code
...
Improve constructor-code codegen (wrt. state variable initialization)
2019-08-05 11:50:34 +02:00
Christian Parpart
235638b3fc
Implements constructor code for state variables.
2019-08-05 11:23:01 +02:00
Leonardo Alt
d5fb8cf58a
[SMTChecker] Fix ICE compound bitwise op inside branch
2019-08-02 20:02:39 +02:00
Leonardo Alt
7b5863e583
Do not erase knowledge about storage pointers when another pointer is assigned
2019-08-02 13:09:06 +02:00
chriseth
7421d85346
Merge pull request #7094 from ethereum/isoltest-arrow-optional
...
[isoltest] Introduce shorthand declaration: make `->` optional.
2019-08-01 15:42:42 +02:00
chriseth
742b4271fd
Merge pull request #7159 from ethereum/always_demand_tests
...
Make sure a semantic test file always contains function calls
2019-08-01 15:12:13 +02:00
chriseth
2a25d7461f
Merge pull request #7123 from rocky/tolerate-pragma-mismatch
...
A pragma version mismatch is not fatal if ...
2019-08-01 14:48:24 +02:00
chriseth
6730a59f74
Merge pull request #7157 from ethereum/fix-7155
...
FunctionType: Return correct stacksize for transfer/send
2019-08-01 14:40:35 +02:00
Mathias Baumann
c920b50ebe
Make sure a semantic test file always contains function calls
...
Because if not, the code isn't even compiled.
2019-08-01 14:02:33 +02:00
Mathias Baumann
e887c06f6b
FunctionType: Return correct stacksize for transfer/send
2019-08-01 13:56:09 +02:00
Leonardo Alt
44d7c6976a
Erase pointer knowledge properly inside loops
2019-07-30 12:47:50 +02:00
Leonardo
00accd9daa
Merge pull request #7141 from ethereum/smt_fix_json
...
[SMTChecker] Reset SSA index to 0 instead of increasing in context reset
2019-07-29 10:20:06 +02:00
Leonardo Alt
847f574e22
[SMTChecker] Fix ICE when inlining function with tuple expression
2019-07-26 16:29:29 +02:00
Leonardo Alt
6bcbeb1d23
[SMTChecker] Reset SSA index to 0 instead of increasing in context reset
2019-07-25 14:16:34 +02:00
Christian Parpart
b6446aa615
Extracting more end-to-end tests.
2019-07-22 16:31:46 +02:00
Erik Kundt
41fb6f4ff8
isoltest: Removes additional whitespaces from output.
2019-07-22 13:43:20 +02:00
Erik Kundt
8c51a089d7
isoltest: Makes ->
declaration optional.
2019-07-22 13:25:11 +02:00
Christian Parpart
58d8243921
isoltest: Fixes parsing and printing strings with *basic* escape sequences in it.
...
We explicitly did not implement a fully conformant ANSI escape sequence
parser but only what is needed for now.
2019-07-22 11:32:17 +02:00
Leonardo
508cf66da2
Merge pull request #7062 from ethereum/smt_chc_checker
...
[SMTChecker] Add skeleton for CHC
2019-07-19 15:41:43 +02:00
Leonardo Alt
03cc124f32
Add CHC skeleton
2019-07-19 11:52:05 +02:00
chriseth
a30be56c27
Additional type info for ABI.
2019-07-18 16:54:11 +02:00
rocky
f9b631f410
A pragma version mismatch is not fatal if ...
...
error recovery is desired.
Fixes #7085
2019-07-17 19:01:01 -04:00
chriseth
147f736f10
Merge pull request #7092 from ethereum/isoltest-parser-linenumbers
...
[isoltest] Add source location to parser errors
2019-07-16 10:09:15 +02:00
Erik Kundt
2a1473fd30
Adds line numbers to parser errors in isoltest.
2019-07-15 14:16:07 +02:00
Erik Kundt
e269a0ff70
Adds constructor calls with ether value to isoltest.
2019-07-13 12:42:25 +02:00
Mathias Baumann
d264e3e0ba
[Sol->Yul] Implement getter functions
2019-07-10 13:42:39 +02:00
Mathias Baumann
37f04976a2
[Sol->Yul] Implement keccak256
2019-07-09 18:25:07 +02:00
chriseth
15eb8fec50
Merge pull request #7015 from ethereum/sol-yul-arrays
...
[Sol->Yul] Implement uint256[] memory arrays
2019-07-09 17:34:46 +02:00
Mathias Baumann
0f24fcea17
[Sol->Yul] Implement uint256[] memory arrays
2019-07-09 15:36:02 +02:00
chriseth
479b843067
Merge pull request #7048 from ethereum/soltest-refactoring
...
[isoltest] Types and formatting refactoring
2019-07-09 12:50:15 +02:00
chriseth
8d006d2017
Merge pull request #7068 from ethereum/asmConstNoValue
...
Cope with constants without value in inline assembly.
2019-07-09 12:13:56 +02:00
chriseth
9cb9021c36
Cope with constants without value in inline assembly.
2019-07-09 11:12:13 +02:00
chriseth
04bad01ab1
Merge pull request #7063 from ethereum/EndToEndTest-extractions-2
...
Extracting more end-to-end tests.
2019-07-08 16:15:22 +02:00
Christian Parpart
a9a56bc6dd
Extracting more end-to-end tests.
2019-07-08 16:04:52 +02:00
Leonardo Alt
be663680d4
[SMTChecker] Clear encoding context before engine starts
2019-07-08 11:56:04 +02:00
Erik Kundt
d06be2c53f
Restructures alignment and bytes utils in isoltest.
2019-07-04 19:15:43 +02:00
Erik Kundt
de34f7712d
Separates types and conversion functions in soltest.
2019-07-04 14:11:07 +02:00
Leonardo Alt
934e00d235
[SMTChecker] SymbolicVariables use EncodingContext to declare SMT vars
2019-07-03 16:05:56 +02:00
chriseth
2b91022b25
Fix view/pure checker for access to base.
2019-07-03 11:19:57 +02:00
chriseth
a4ef435c07
Automated ABI Json tests.
2019-07-02 18:11:49 +02:00
chriseth
60525dbf52
Merge pull request #7026 from ethereum/asmConstants
...
Support direct constants in inline assembly.
2019-07-02 14:21:24 +02:00
chriseth
e542e46163
Merge pull request #7022 from ethereum/smt_create_expr
...
[SMTChecker] Always create symbolic expression
2019-07-02 14:07:24 +02:00
chriseth
cdd137e3d1
Support constant numbers in inline assembly.
2019-07-02 14:01:05 +02:00
chriseth
ca10b59b25
Merge pull request #7020 from ethereum/smt_fix_callstack_message
...
[SMTChecker] Fix wrong assertion in callstack message
2019-07-02 13:47:49 +02:00
Leonardo Alt
fb3c85633b
Always create symbolic expression
2019-07-01 16:25:33 +02:00
Leonardo Alt
75663dc91e
[SMTChecker] Fix require with message
2019-07-01 16:17:06 +02:00
Leonardo Alt
6606a13ed2
[SMTChecker] Remove unsound assertion (too strong)
2019-07-01 16:16:39 +02:00
chriseth
22776cddcd
Merge pull request #7025 from ethereum/EndToEndTest-extractions-1
...
Extracting some Solidity end-to-end tests.
2019-07-01 15:54:09 +02:00
Christian Parpart
62f6e4bad3
Extracting some Solidity end-to-end tests.
2019-07-01 15:37:46 +02:00
Leonardo Alt
3cb4ed83c1
[SMTChecker] Split SMTChecker into SMTEncoder and BMC
2019-07-01 15:05:03 +02:00
chriseth
8c65a2383f
Merge pull request #7014 from ethereum/constantOptDirtyScratch
...
Add test for constant optimization with dirty scratch space.
2019-06-27 16:17:31 +02:00
chriseth
3be21800ac
Merge pull request #6683 from ethereum/updateSwarm
...
Update swarm hash.
2019-06-27 13:18:29 +02:00
chriseth
89f0e1e6da
Use updated swarm hash.
2019-06-27 12:49:06 +02:00
chriseth
aa11ad7d0a
Update swarm hash.
2019-06-27 12:48:51 +02:00
chriseth
55bf1b547e
Add test for constant optimization with dirty scratch space.
2019-06-27 12:15:49 +02:00
Leonardo Alt
a28b84fdc3
[SMTChecker] Add a more general VerificationTarget
2019-06-27 10:31:50 +02:00
chriseth
b4a0a79398
Merge pull request #6993 from ethereum/smt_false_positives
...
[SMTChecker] Remove overflow check for assignments
2019-06-26 13:06:31 +02:00
chriseth
f58bd5551e
Test for sign bit chopping.
2019-06-25 13:00:02 +02:00
Leonardo Alt
48d6729164
[SMTChecker] Remove overflow check for assignments
2019-06-24 17:58:56 +02:00
Mathias Baumann
5f072d30df
Enable yul for more end to end tests
2019-06-24 16:06:22 +02:00
chriseth
350631ae0d
Merge pull request #6940 from ethereum/sol-yul-storage-array-index
...
[Sol->Yul] Implement index access for storage arrays
2019-06-24 12:49:19 +02:00
Mathias Baumann
1dd63f416e
[Sol->Yul] Implement index access for storage arrays
2019-06-20 16:14:51 +02:00
chriseth
9bb7160c4c
Merge pull request #6958 from sifmelcara/fix-abiencoderv2-codegen
...
Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots
2019-06-20 13:08:42 +02:00
Daniel Kirchner
fcd3410f26
Implement checked mod for sol->yul code generation.
2019-06-20 12:30:32 +02:00
Daniel Kirchner
a5b9f634ef
Implement signed multiplication for sol->yul code generation.
2019-06-20 12:30:30 +02:00
Daniel Kirchner
5f6af8b374
Implement signed subtraction for sol->yul code generation.
2019-06-20 12:16:56 +02:00
Daniel Kirchner
88988af561
Implement signed addition for sol->yul code generation.
2019-06-20 11:42:50 +02:00
Mathias Baumann
910cb8d329
[Sol->Yul] Implement .length for storage arrays
2019-06-19 18:09:23 +02:00
mingchuan
13c1409669
Add test case that abi.encode nested storage arrays
2019-06-19 10:46:47 +08:00
rocky
1a7e09ab7a
Add errorRecovery boolean to StandardCompiler
2019-06-18 15:54:05 -04:00
rocky
ca3afea1d7
Add Steve Johnson-style parser recovery rules:
...
SourceUnit = Error $
Block = '{' Error '}'
ContractDefinition = '{' Error '}'
Statement = Error ';'
Co-Authored-By: chriseth <chris@ethereum.org>
2019-06-17 14:47:07 +02:00
Daniel Kirchner
4d38df6920
Set state mutability of function type members `gas
and
value
` to pure.
2019-06-13 18:27:53 +02:00
Leonardo
d2019f49ea
Merge pull request #6906 from ethereum/delegatecall_value_msg
...
Improve error message for delegatecall.value
2019-06-12 21:14:54 +02:00
Daniel Kirchner
2849169bff
Merge pull request #6909 from ethereum/yul-delete-operation
...
[Sol->Yul] Make IRStorageItem work with dynamic offsets
2019-06-12 16:46:00 +02:00
Mathias Baumann
9e23d6d05e
[Sol->Yul] Compile some tests with yul
2019-06-11 17:44:36 +02:00
Daniel Kirchner
bd1f65d609
Merge pull request #6888 from anurag-git/anurag_semantic_test_update
...
New semantic tests extracted
2019-06-11 10:50:10 +02:00
Anurag Dashputre
60332c6469
Extract semantic tests for
...
1. Transaction Status
2. Empty Contract
3. Smoke test for Range
2019-06-09 14:46:02 +02:00
Daniel Kirchner
8e20a5e59a
Allow extracted semantics tests to run both with and without Yul.
2019-06-06 20:19:16 +02:00
Daniel Kirchner
6368cd4c82
AsmParser: disallow trailing commas in function call arguments.
2019-06-06 13:16:27 +02:00
Leonardo Alt
b7634faa3d
Improve error message for delegatecall.value
2019-06-06 12:55:12 +02:00
Leonardo Alt
d9ce9cab99
[SMTChecker] Use smtlib's implies instead of \!a or b
2019-06-04 14:23:44 +02:00
chriseth
4ee703e6e5
Revert "Add Steve Johnson-style parser recovery rules:"
...
This reverts commit 97f8ee0d1b
.
2019-05-28 18:09:24 +02:00
rocky
97f8ee0d1b
Add Steve Johnson-style parser recovery rules:
...
SourceUnit = Error $
Block = '{' Error '}'
ContractDefinition = '{' Error '}'
Statement = Error ';'
Co-Authored-By: chriseth <chris@ethereum.org>
2019-05-28 15:06:34 +02:00
chriseth
df96648b1c
Do not allow msize in inline assembly if the Yul optimizer is active.
2019-05-28 12:54:33 +02:00
chriseth
b95eebee1c
Merge pull request #6822 from ethereum/uninitializedLoadFromStorage
...
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
2019-05-28 11:48:56 +02:00
chriseth
01b6b680f1
Merge pull request #6829 from ethereum/solYulDivision
...
[SolYul] Division.
2019-05-28 11:48:20 +02:00
chriseth
7183940e24
Merge pull request #6770 from ethereum/isoltest-parser-fix
...
[isoltest] TestFileParser: Fixes access of iterator at and beyond iterator ends
2019-05-27 19:14:35 +02:00
chriseth
fbf189151d
[SolYul] Division.
2019-05-27 17:53:46 +02:00
chriseth
5b1a984882
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
2019-05-27 17:26:37 +02:00
chriseth
a600126703
Merge pull request #6833 from sifmelcara/fix-struct-array-mapping
...
Fix assignment of struct containing array of mappings
2019-05-27 11:14:28 +02:00
mingchuan
bf8af89bba
Fix assignment of struct containing array of mappings
2019-05-25 01:33:49 +08:00
chriseth
73d0eb6b7a
Modify test to prevent underflow.
2019-05-23 21:32:30 +02:00
chriseth
ee7548a339
Activate some tests.
2019-05-23 21:32:30 +02:00
Mathias Baumann
981983089c
[Sol -> Yul] Implement delete for function pointers
2019-05-23 15:51:59 +02:00
Mathias Baumann
81702717b0
[Sol -> Yul] Enable function pointer comparison
2019-05-23 12:52:50 +02:00
chriseth
0291abf10f
Merge pull request #6818 from ethereum/alwaysUseBuiltins
...
Provide builtin functions even in loose assembly mode.
2019-05-23 12:29:12 +02:00
chriseth
90e8594858
Update tests.
2019-05-23 11:30:12 +02:00
chriseth
9a00729ce7
Provide dialect to Parser and InlineAssembly AST nodes.
2019-05-23 00:24:58 +02:00
chriseth
7506b5752a
Do not require payable for callvalue instruction.
2019-05-22 11:30:29 +02:00
Mathias Baumann
cbf81b123a
Fix new found spelling mistakes and add exceptions
2019-05-21 10:59:34 +02:00
chriseth
e324deabd6
Merge pull request #6740 from ethereum/unary-ops
...
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
2019-05-20 18:06:01 +02:00
chriseth
af2bdfd2fa
Merge pull request #6793 from ethereum/irCheckedMul
...
[Sol - Yul] Implement checked multiplication.
2019-05-20 17:54:57 +02:00
Daniel Kirchner
b6f4d4e9bc
[Sol - Yul] Implement checked multiplication.
2019-05-20 17:36:53 +02:00
chriseth
46d9df7574
Add EVM opcodes as builtins.
2019-05-20 16:46:31 +02:00
Christian Parpart
63ae9f1415
[isoltest] TestFileParser: Fixes access of iterator at and beyond iterator ends.
2019-05-20 16:29:03 +02:00
Mathias Baumann
86000fdcce
[Sol -> Yul] Implement unary -
, +
2019-05-20 16:14:46 +02:00
chriseth
e08f521b7e
Merge pull request #6764 from ethereum/smt_fix_tuple_ice
...
[SMTChecker] Fix ICE in unsupported function calls with multi return values
2019-05-20 15:18:11 +02:00
Mathias Baumann
7dbcb80523
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
2019-05-20 11:43:12 +02:00
Daniel Kirchner
e20fbd388b
Merge pull request #6779 from ethereum/gasCostFix
...
Fix gas cost test.
2019-05-16 21:48:05 +02:00
chriseth
315f66fc93
Merge pull request #6771 from ethereum/fixConstructorABIV2
...
Fix handling of structs of dynamic size as constructor parameters.
2019-05-16 20:53:16 +02:00
Daniel Kirchner
95ed4daf20
Subtract bzzr0 data cost from used gas in gas cost test.
2019-05-16 20:38:25 +02:00
Leonardo Alt
60a4f03d3d
[SMTChecker] Fix ice in unsupported functions with multi return values
2019-05-16 18:23:42 +02:00
chriseth
f2ae30f620
Fix handling of structs of dynamic size as constructor parameters.
2019-05-16 17:10:54 +02:00
chriseth
5824f5d42f
Use shift directly instead of multiplication in constant optimizer.
2019-05-16 12:50:53 +02:00
chriseth
fa23601d52
Merge pull request #6766 from ethereum/isoltest-constructor-arguments
...
[soltest] Adds support for constructor arguments
2019-05-16 12:36:50 +02:00
chriseth
f6437a2016
Optimizer rules that combine shifts and masks.
2019-05-15 20:30:53 +02:00
Daniel Kirchner
e8480664d3
Move output selection wildcard tests from command line tests to StandardCompiler.cpp.
2019-05-15 13:15:59 +02:00
Erik Kundt
5d85ab49b9
Allow the constructor to revert.
2019-05-15 12:24:23 +02:00
Erik Kundt
94597ad9ae
Adds support for constructor arguments in isoltest.
2019-05-15 12:01:14 +02:00
chriseth
8c232e8196
Merge pull request #6690 from ethereum/useConditionalWhiskers
...
Use conditional whiskers
2019-05-13 10:23:30 +02:00
chriseth
03c8e43da5
Merge pull request #6605 from ethereum/natspec-colon-fix
...
Fix Natspec parser error
2019-05-13 10:19:47 +02:00
chriseth
e5d46767f1
Merge pull request #6722 from ethereum/smt_fix_variable_usage
...
[SMTChecker] Fix VariableUsage for IndexAccess
2019-05-13 10:17:26 +02:00
chriseth
a28b6224a4
Merge pull request #6714 from ethereum/finishERC20
...
Finish ERC20
2019-05-13 10:00:38 +02:00
Leonardo Alt
3ea5c112d3
[SMTChecker] Fix VariableUsage for IndexAccess
2019-05-10 11:28:10 +02:00
Erik Kundt
656364d967
Fixes Natspec parser error when whitespace is missing.
2019-05-10 10:53:32 +02:00
chriseth
89700dbcff
Merge pull request #6665 from ethereum/smt_inline_external_this
...
[SMTChecker] Inline external function calls to `this`
2019-05-09 19:09:08 +02:00
chriseth
5e5138869b
Test.
2019-05-09 17:57:30 +02:00
Leonardo Alt
ef32bf185f
[SMTChecker] Inline external function calls to this.
2019-05-09 16:53:30 +02:00
Leonardo Alt
6027383ae5
[SMTChecker] Fix call to function at state var init
2019-05-09 16:12:44 +02:00
chriseth
c3a1c168d0
Merge pull request #6711 from ethereum/solYulIf
...
[Sol -> Yul] Implement if statements
2019-05-09 15:33:34 +02:00
chriseth
c093d00af1
Update gas test.
2019-05-09 15:27:42 +02:00
Daniel Kirchner
b83f6d8d46
[Sol -> Yul] Implement if statements
2019-05-09 14:52:20 +02:00
Leonardo
9e09b5d33b
Merge pull request #6679 from ethereum/smt_fix_ssa_reset
...
[SMTChecker] Fix ICE in touched vars
2019-05-09 12:17:32 +02:00
chriseth
0852ccc318
Merge pull request #4764 from ethereum/cbor-version
...
Store compiler version in CBOR metadata
2019-05-09 10:10:50 +02:00
Mathias Baumann
0abe00d393
[Sol -> Yul] Fix ForLoops and implement WhileLoops
2019-05-09 09:46:19 +02:00
chriseth
f61348728c
Merge pull request #6704 from ethereum/abiEncodeV2Cleanup
...
Add ABIEncoderV2 cleanup tests.
2019-05-09 09:30:58 +02:00
Leonardo Alt
3d52a6ca68
[SMTChecker] Fix ICE in branch-inline function call-modify local variable
2019-05-09 09:15:11 +02:00
Daniel Kirchner
a6a28ac475
Allow overwriting the release flag for tests and adjust test suite to CBOR metadata.
2019-05-08 22:21:50 +02:00
Alex Beregszaszi
e121c8f3c7
Store compiler version in CBOR metadata
2019-05-08 22:21:50 +02:00
Daniel Kirchner
62dc8d0a87
Add ABIEncoderV2 cleanup tests.
2019-05-08 22:16:06 +02:00
chriseth
4d460915f3
Merge pull request #6655 from ethereum/storageMappings
...
[SolYul] Storage mappings
2019-05-08 20:38:46 +02:00
Leonardo
241b6b4bae
Merge pull request #6702 from ethereum/smt_fix_asgn_unsupported_type
...
[SMTChecker] Fix unsupported type assignment
2019-05-08 16:12:46 +02:00
chriseth
595544645e
Mappings.
2019-05-08 15:54:52 +02:00
chriseth
4037da9575
Merge pull request #6663 from ethereum/events
...
Events
2019-05-08 14:58:41 +02:00