jaa2
c627e6af10
CommandLineParser: Handle --optimize-runs option in assembly mode
...
Fixes #11708 .
2021-07-29 18:15:57 +02:00
Leo Alt
6c8ecfa82c
Add option to choose solver
2021-07-27 17:14:21 +02:00
Kamil Śliwak
9a7c364c71
Process input files in Standard JSON mode just like in other modes
...
- This makes `-` for stdin work.
- `--ignore-missing` now works with `--standard-json`, though it's not very useful because there can be at most one input file.
- Separate errors for situations where there are no input files on the command line (this can be detected in the parser) and where they are not present on disk.
2021-07-27 15:54:32 +02:00
Ladislav Sladecek
9bbeea58c8
Make --pretty-json work with Standard JSON output
2021-07-26 16:00:46 +02:00
Mathias Baumann
bf204403d8
Add "@use-src" header for generated yul code
2021-07-15 14:26:01 +02:00
Marenz
57db4c82ba
Fix: Use correct byte offset separation
...
":" instead of ","
2021-07-15 13:15:21 +02:00
Christian Parpart
f9f32c910d
Fix source location for `if
` statements.
2021-07-07 17:37:01 +02:00
chriseth
6ba298c82b
Include locations with empty source name.
2021-07-07 12:13:52 +02:00
chriseth
8d5e82b406
Fix source location of builtin function calls.
2021-07-06 16:54:29 +02:00
Kamil Śliwak
105b4b4c8b
Update tests
2021-07-05 13:46:53 +02:00
Kamil Śliwak
e3b345e5f0
Use a simpler stack optimization test to avoid having ICE message with absolute paths as expected output
2021-07-01 17:29:24 +02:00
Kamil Śliwak
753f359157
Replace stack optimization command-line test with Standard JSON ones
...
- It's not possible to run optimizer with only stack optimization enabled on the CLI.
2021-07-01 16:54:09 +02:00
Kamil Śliwak
9d08b5001f
Add sstore to linker tests to prevent the address from being optimized out
2021-07-01 16:54:09 +02:00
Alex Beregszaszi
cd60ade472
Improve some Yul object and command line tests to avoid using pop() which can be optimized out
2021-07-01 16:54:09 +02:00
Mathias Baumann
c47d02066c
Fix yul codegen bug when using binary negatition.
2021-06-29 17:41:03 +02:00
Djordje Mijovic
838f59fa5b
Adding origin location notation to yul ir.
2021-06-21 18:48:20 +02:00
chriseth
0df8a38e55
Support metadata via IR.
2021-06-21 18:20:31 +02:00
chriseth
29a995b937
Merge pull request #11433 from ethereum/panic-dedup
...
Insert a call to panic function in legacy codegen (and not inline it every single time)
2021-05-31 11:23:30 +02:00
Alex Beregszaszi
47167a42a7
Update tests
2021-05-27 18:31:54 +01:00
Leo Alt
cb017b95cf
update tests
2021-05-26 22:12:49 +02:00
chriseth
f9c94d7c42
Note function entry points.
2021-05-04 17:15:13 +02:00
chriseth
aded56b5b9
Update tests
2021-05-03 18:28:43 +02:00
chriseth
2e274a0b26
Add commandline test to show debug strings.
2021-05-03 18:28:39 +02:00
chriseth
426d60f07b
Commandline test updates.
2021-04-29 16:46:25 +02:00
chriseth
f30ef06d62
Update tests.
2021-04-29 15:08:54 +02:00
chriseth
cb1af8b88a
Make verbatim compatible with KnownState.
2021-04-26 19:56:44 +02:00
chriseth
e2d8005737
Add verbatim builtin.
2021-04-26 19:56:44 +02:00
Alex Beregszaszi
73b804aff4
Update tests
2021-04-23 15:54:10 +01:00
hrkrshnn
b636ef881e
Added command line tests for keccak optimization with low runs
...
The value of keccak256(0, 32) should not be replaced by the big constant
2021-04-22 18:19:47 +02:00
hrkrshnn
221292c278
Tests and changelog
2021-04-22 18:19:47 +02:00
chriseth
314f361d07
Update commandline tests.
2021-04-22 16:54:02 +02:00
chriseth
35b651103d
Adjust cost of literal zero.
2021-04-22 11:42:42 +02:00
Leonardo
7bbf3a694b
Merge pull request #11261 from ethereum/smt_choose_target
...
[SMTChecker] Add option to choose contracts to be analyzed
2021-04-21 13:11:33 +02:00
Djordje Mijovic
d03744489f
Update cmdline tests.
2021-04-21 11:01:22 +02:00
Leonardo Alt
dd1865873e
Choose contracts to be analyzed by the SMTChecker
2021-04-21 10:34:14 +02:00
chriseth
6a0a51110d
Merge pull request #11256 from ethereum/smt_target_array
...
Change settings.modelChecker.targets to take an array instead of string
2021-04-19 18:47:06 +02:00
Leonardo Alt
e3abde43f5
Change settings.modelChecker.targets to take an array instead of string
2021-04-19 17:53:03 +02:00
Kamil Śliwak
0d4871ad10
Prevent adding '-' CLI flag to allowed paths as if it was an actual file
...
- This resulted in a bug where using stdin was effectively disabling allowed path checks.
2021-04-19 16:58:48 +02:00
Kamil Śliwak
2abd3073d4
Merge pull request #11235 from ethereum/cmdline-tests-for-stdin
...
Allow using stdin in cmdlineTests
2021-04-19 16:21:43 +02:00
chriseth
8eb0d5edf6
Export used errors in the AST.
2021-04-19 14:15:50 +02:00
Kamil Śliwak
59ef75cf5a
cmdlineTests: Allow providing content of the standard input when not testing via Standard JSON
2021-04-13 13:37:12 +02:00
Kamil Śliwak
4e4f46cde5
cmdlineTests: Allow tests with no input file
2021-04-13 13:37:12 +02:00
Kamil Śliwak
6a41b417a3
FileReader: Store files loaded by the callback under their source unit name
2021-04-13 13:25:59 +02:00
chriseth
2ed17e4b43
Update tests.
2021-04-12 13:43:56 +02:00
Leonardo Alt
ad10bee8f0
update command line tests
2021-04-08 21:03:39 +02:00
chriseth
0cc0cabd30
Merge pull request #11224 from ethereum/lastAllocationUnbounded
...
Use unbounded allocation before returning.
2021-04-08 19:32:40 +02:00
Daniel Kirchner
96c8123b6b
Use unbounded allocation before returning.
2021-04-08 18:37:24 +02:00
Daniel Kirchner
4b0f8383a6
Reuse function argument slots and defer allocation of return variable slots in EVMCodeTransform.
2021-04-06 13:38:05 +02:00
Martin Blicha
330fb8f4d0
[SMTChecker] Assignment refactoring
2021-03-31 13:36:50 +02:00
Leonardo Alt
dbd067d6db
Report out of bounds index access
2021-03-30 10:28:48 +02:00
hrkrshnn
09998ceb0c
Tests for FunctionSpecializer
2021-03-29 11:02:18 +02:00
Daniel Kirchner
8b3095920a
Inline ordinary jumps to small blocks and jumps to terminating control flow.
2021-03-24 13:50:24 +01:00
chriseth
7aa51bcb40
Test updates.
2021-03-18 08:42:49 +01:00
hrkrshnn
6d9e9e1b1e
Fix small bug in GasMeter calculation in creation context
...
Old calculation did not ignore `optimize-runs` parameter, when creation code gas computations were
done. This would lead to expanding values such as `shl(180, 1)` inside constructor code, even for
the default value for `--optimize-runs`, i.e., 200.
2021-03-17 12:33:10 +01:00
chriseth
ad5d34df74
Merge pull request #11071 from ethereum/fixCRInSourceRefFor
...
Fix handling of carriage return.
2021-03-09 17:52:34 +01:00
chriseth
eb85a4414c
Fix handling of carriage return.
2021-03-09 15:33:12 +01:00
chriseth
40c27ccc22
Move AND with constant inside OR.
2021-03-09 15:26:19 +01:00
chriseth
612d8184d1
Update tests.
2021-02-16 15:50:48 +01:00
chriseth
70aa111dbf
Update AST Json expectations.
2021-02-11 10:11:24 +01:00
Christian Parpart
32ba5f5ae7
libsolidity: Extend the AST for named AST nodes in order to get precise locations for names.
...
The actual SourceLocation on an ASTNode is representing the whole
ASTNode whereas in an LSP (for example) you are also interested in the
SourceLocation of a name of a construct (e.g. variable decarlation, function definition, ...).
This also properly encodes non-existend sources as `-1` in the JSON output (eliminating the use of `numeric_limits<size_t>::max()`).
2021-02-10 18:13:09 +01:00
Daniel Kirchner
cb74a45fd6
Add inlining for old optimizer.
2021-02-09 19:08:58 +01:00
hrkrshnn
8167029dc1
Updating tests after improving Yul error reporting
2021-02-09 16:55:33 +01:00
Martin Blicha
a49950cdf3
[SMTChecker] Added transaction constraints also for contract deployment
2021-02-01 16:46:34 +01:00
chriseth
c7d1e1911e
Merge pull request #10369 from ethereum/ewasm-polyfill-address-balance
...
[ewasm] Polyfill: balance, address.
2021-02-01 16:19:23 +01:00
Martin Blicha
deb90d84a6
[SMTChecker] added missing type constraints for Address
2021-01-27 20:39:24 +01:00
chriseth
4697beeab2
Merge pull request #10769 from ethereum/allocationCleanup
...
Cleanup allocation.
2021-01-26 11:58:11 +01:00
chriseth
1adaf929dd
Merge pull request #10707 from ityuhui/yh-721-replace-colon-in-cli
...
[CLI] Accept also equal sign "=" for ``--libraries``
2021-01-26 08:17:26 +01:00
Hui Yu
c669ee251a
[CLI] Allow "=" as separator between library name and address in --libraries commandline option.
2021-01-25 16:14:39 +08:00
Leonardo Alt
a612daa783
Add msgvalue to cex
2021-01-21 19:05:44 +01:00
chriseth
bbd29b24ab
Update tests.
2021-01-20 18:25:27 +01:00
Leonardo Alt
3b23cadbdc
Add CLI and JSON option to select SMTChecker targets
2021-01-20 17:35:37 +01:00
Alexander Arlt
f928107181
[ewasm] Polyfill: balance & address: Update Tests.
2021-01-19 13:04:45 -05:00
chriseth
db4b39e09e
Round up allocations to multiples of 32.
2021-01-14 21:52:17 +00:00
chriseth
7d6331e26f
Use round up function.
2021-01-14 21:01:43 +00:00
chriseth
d97b9ba865
Merge pull request #10686 from ethereum/libraryCallGuard
...
Library call guard.
2021-01-12 16:52:24 +01:00
Leonardo Alt
b3c3836388
Output internal calls
2021-01-12 14:57:04 +01:00
Alexander Arlt
84f3530e71
Update tests.
2021-01-11 20:37:45 +01:00
Leonardo Alt
b02722ebda
Add contract name to called function in cex
2021-01-04 10:03:16 +01:00
Djordje Mijovic
67c92b7f6e
Updating gas costs and cmdline tests.
2020-12-30 17:48:41 +01:00
Djordje Mijovic
b74c08143f
Deleting yul unimplemented test.
2020-12-30 17:19:04 +01:00
Leonardo Alt
78d55e6b4a
[SMTChecker] Support check/unchecked
2020-12-30 12:14:30 +01:00
Martin Blicha
be0a0f4d90
[SMTChecker] Added constraints for block properties
2020-12-29 22:17:44 +01:00
Leonardo
158154bac3
Merge pull request #10345 from ethereum/ir-runtime
...
Output runtime object in IR
2020-12-18 17:19:40 +01:00
Leonardo Alt
50be39fc21
Add and update tests
2020-12-17 14:42:49 +01:00
Alex Beregszaszi
953d18c6cb
Output runtime object in IR
2020-12-16 19:23:10 +00:00
Alex Beregszaszi
edbdff8619
Update tests
2020-12-14 19:32:31 +00:00
chriseth
482bda6887
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-10 12:15:52 +01:00
Leonardo Alt
3c142e0e94
Move CHC counterexamples to primary location
2020-12-09 19:55:18 +01:00
Daniel Kirchner
e691b7402a
Move standard-json "modelCheckerSettings" key to "settings.modelChecker".
2020-12-09 15:53:32 +01:00
chriseth
dff7dcdc27
Update source location tests.
2020-12-09 15:25:15 +01:00
chriseth
b18c76e34b
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-09 15:24:49 +01:00
Alex Beregszaszi
47b10fd751
Report warning if contract uses abicoder v1, but IR is requested
2020-12-09 01:20:58 +00:00
chriseth
b045195c1e
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 17:42:31 +01:00
chriseth
759db0e646
Properly filter requested artefacts inside the EVM objects.
2020-12-07 22:03:06 +01:00
chriseth
a3c5d37d02
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 17:13:48 +01:00
chriseth
251f722919
Group decoding function cases.
2020-12-07 14:14:54 +01:00
chriseth
9a5902f9d7
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-02 12:28:02 +01:00
chriseth
c4e97b7624
Update tests.
2020-12-01 16:15:19 +01:00
chriseth
577c1d301b
Reduce warnings in commandline tests.
2020-12-01 16:09:46 +01:00
Alex Beregszaszi
a29a7ad680
[ewasm] Properly encode i32/i64.select in the text format
2020-12-01 11:22:38 +00:00
chriseth
6de7eaba95
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-01 10:50:13 +01:00
chriseth
ce6e52b052
Merge pull request #10430 from ethereum/wasm-select
...
[ewasm] Add i32.select/i64.select
2020-11-30 14:42:26 +01:00
Leonardo
3287341f1e
Merge pull request #10316 from blishko/bmc_branches
...
[SMTChecker] Handle branches with return statements properly in BMC engine
2020-11-30 13:50:09 +01:00
Alex Beregszaszi
a7ee1355bd
[ewasm] Use select instruction where appropriate
2020-11-30 12:10:32 +00:00
Martin Blicha
cd06d68cbe
[SMTChecker] Keeping better track of path condition through branches with return statement in the BMC engine.
2020-11-30 11:47:49 +01:00
Alex Beregszaszi
06af2fb38a
[ewasm] Change eq() in polyfill to branch-less version
2020-11-27 22:47:55 +00:00
chriseth
18de8a56c9
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-26 11:48:53 +01:00
Alex Beregszaszi
c4fd7e4003
Remove/update tests
2020-11-25 11:40:33 +00:00
chriseth
f01cd3f38f
Fix merge conflicts
2020-11-25 08:09:38 +01:00
chriseth
cedb56ed81
Forward failure for creation.
2020-11-24 19:54:18 +01:00
chriseth
253889cbf1
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-24 16:22:03 +01:00
chriseth
79669ecd48
Use new abicoder pragma.
2020-11-24 14:57:45 +01:00
chriseth
a0a02f2307
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-23 19:28:08 +01:00
chriseth
91c88a5f6b
Merge pull request #10346 from ethereum/boundFunctions
...
[Sol->Yul] Bound functions.
2020-11-23 19:09:20 +01:00
chriseth
f87edb6efc
Bound functions.
2020-11-23 18:58:23 +01:00
chriseth
f313668ef1
Merge pull request #10211 from ethereum/copyArrayCalldata2MemSol2Yul
...
[Sol->Yul] Copying arrays from calldata to memory
2020-11-23 15:02:18 +01:00
Djordje Mijovic
41ec7cc23e
Adding new tests and activating old tests.
2020-11-23 14:52:55 +01:00
Alexander Arlt
9d6296eca4
[ewasm] Polyfill: calldataload & calldatacopy.
2020-11-20 13:46:04 -05:00
chriseth
a7db4fa4a5
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-18 20:05:02 +01:00
Alexander Arlt
c0d28492c3
[ewasm] Polyfill: Rename endian_swap -> bswap.
2020-11-17 21:30:06 -05:00
chriseth
1e08e4e04c
Merge pull request #10319 from ethereum/ewasm-polyfill-split
...
Split ewasm polyfill functions into different files.
2020-11-18 01:53:46 +01:00
Alexander Arlt
19f764bf65
Split ewasm polyfill functions into different files.
2020-11-17 19:27:44 -05:00
chriseth
691f7e6eae
Fix merge conflicts.
2020-11-17 19:59:23 +01:00
chriseth
e8a278eefa
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-17 18:51:57 +01:00
Kamil Śliwak
4174f38b02
StandardCompiler: Include file names in link references
2020-11-17 17:51:04 +01:00
Kamil Śliwak
9f0283df5c
Fix command-line tests using wrong file names for libraries
2020-11-17 17:50:50 +01:00
chriseth
7ccb4fea2b
Merge pull request #10270 from ethereum/copyByteArrayFromStorageToStorage
...
[SolYul] Copy byte arrays from storage to storage.
2020-11-17 00:30:30 +01:00
Alex Beregszaszi
d7814358a6
Merge pull request #10292 from ethereum/cli-check-for-duplicate-libraries
...
[CLI] Reject duplicates in --libraries
2020-11-16 21:12:00 +00:00
Kamil Śliwak
1a4d38c0ac
CommandLineInterface: Report an error if library appears multiple times in the --libraries option
2020-11-16 21:22:47 +01:00
chriseth
62893aa1a1
Copy byte arrays from storage to storage.
2020-11-16 19:06:33 +01:00
Kamil Śliwak
b97c6c55ad
StandardCompiler: Don't assume that link reference always contains a colon
2020-11-16 17:41:54 +01:00
Alex Beregszaszi
a3381d7260
Add settings.viaIR to standard json
2020-11-12 22:38:44 +00:00
Alex Beregszaszi
e074582bf1
Add --experimental-via-ir option to solc
2020-11-12 22:34:31 +00:00
Alex Beregszaszi
fcedaba7f7
[ewasm] Allow compiling abstract/interface contracts
2020-11-12 15:26:11 +00:00
Alex Beregszaszi
a63d850f50
Improve ewasm commandline tests
2020-11-12 15:25:54 +00:00
chriseth
0a31a6bc36
Merge pull request #10258 from ethereum/develop
...
Merge develop into breaking.
2020-11-11 13:36:17 +01:00
Alex Beregszaszi
6f6bcdd526
[ewasm] Display custom sections as hex string in the text output
2020-11-10 23:48:24 +01:00
chriseth
141277dadf
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-10 17:28:36 +01:00
Leonardo
55ac5de472
Merge pull request #10240 from ethereum/immutablesPureValue
...
Immutables with literal values are pure.
2020-11-10 15:23:33 +00:00
chriseth
eaba9a680a
Merge pull request #10199 from ethereum/readfile
...
[CLI] Improve error handling of missing/unwriteable files
2020-11-10 13:50:40 +01:00
chriseth
da92fe548e
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-10 13:48:32 +01:00
chriseth
765ed13814
Immutables with literal values are pure.
2020-11-10 13:08:42 +01:00
Kamil Śliwak
df8e182b46
Link binaries produced in assembly mode
2020-11-09 17:17:43 +01:00
Kamil Śliwak
6ef1e4cfd4
Command-line tests for linking in assembly mode
2020-11-09 17:17:27 +01:00
Kamil Śliwak
a0d22422b0
Command-line tests for linking in Solidity mode
2020-11-09 17:17:27 +01:00
Kamil Śliwak
06ea7c66f7
Use consistent style for stuff removed from the output of command-line tests
2020-11-09 17:17:15 +01:00
Kamil Śliwak
0e4edc8424
Strip bytecode from command-line test output but leave linker references intact
2020-11-09 17:17:15 +01:00
chriseth
04195439b7
Merge remote-tracking branch 'origin/develop' into HEAD
2020-11-09 14:28:05 +01:00
Leonardo Alt
1b6abfa37f
Make timeout tests harder
2020-11-06 13:35:07 +00:00
Kamil Śliwak
3c4273a06c
cmdlineTests: Use .yul extension for Yul files
...
- Currently many files have .sol extension because originally the test script required it but this has changed some time ago.
2020-11-05 18:05:23 +01:00