Kamil Śliwak
5e5f49df93
Merge pull request #11839 from priyansh786/develop
...
Don't create empty expectation files when updating test expectations
2021-08-31 16:46:14 +02:00
Kamil Śliwak
d07b796675
Disallow modifier declarations and definitions in interfaces
2021-08-31 15:25:08 +02:00
benldrmn
58e4cc62e0
Increase use of C++ constexpr constant expressions in code base as described in issue #7720
2021-08-31 15:03:59 +02:00
chriseth
f7916f2940
Add override exception for interface functions.
2021-08-31 10:45:31 +02:00
priyansh786
803901fa7e
Don't create empty expectation files when updating test expectations
2021-08-30 22:55:37 +05:30
Leonardo
78afd71ab7
Merge pull request #11860 from ethereum/smt_static_array
...
[SMTChecker] Add static array length constraint
2021-08-30 19:07:21 +02:00
Kamil Śliwak
525b4c70e7
Merge pull request #11853 from Midhun07/develop
...
Disallow `--experimental-via-ir` in Standard JSON, assembler and linker modes
2021-08-30 19:02:36 +02:00
Leo Alt
ac528cfd1b
add static array length constraint
2021-08-30 17:15:16 +02:00
Midhun07
11065c6e79
Disallowed option --experimental-via-ir in Assembler, Linker and StandardJson input modes
2021-08-30 19:58:55 +05:30
Leo Alt
16bc15acac
Fix false negative on storage array references returned by internal functions
2021-08-28 09:30:53 +02:00
Leo Alt
60b866f9d8
Fix ICE on multi-source use of abi.*
2021-08-27 18:55:36 +02:00
Leo Alt
0cc9162fb5
Update SMTChecker tests
2021-08-27 16:25:09 +02:00
Leo Alt
4d414a6d58
Update commandline tests
2021-08-27 16:25:09 +02:00
Kamil Śliwak
92446cbcab
TemporaryDirectory: Add an alternative constructor that can create subdirectories
2021-08-27 15:11:20 +02:00
Kamil Śliwak
9dc7360903
TemporaryDirectory: Add automatic conversions to boost::filesystem::path
2021-08-27 15:11:20 +02:00
Kamil Śliwak
5a0a0af48f
TemporaryDirectory: Use soltestAssert() instead of assert() and remove filesystem namespace alias
2021-08-27 15:11:20 +02:00
Kamil Śliwak
fb6a25715d
TemporaryDirectory: Automatically add a dash after the prefix
2021-08-27 15:11:20 +02:00
Kamil Śliwak
251de730ed
CommonIO: Use a macro to construct TemporaryDirectory prefix
2021-08-27 15:11:20 +02:00
Kamil Śliwak
13f46ebb1e
FileReader: Normalize base path and strip it from normalized source paths
2021-08-27 15:10:46 +02:00
Kamil Śliwak
2d3ec69a05
CLI tests for FileReader
2021-08-27 15:10:46 +02:00
Kamil Śliwak
618ba2fb9a
createSymlinkIfSupportedByFilesystem(): Add support for directory symlinks used on Windows
2021-08-27 15:10:46 +02:00
Leonardo
6e6bbb2f83
Merge pull request #11837 from soroosh-sdi/use-range-v3-part2
...
Using range-v3 instead of boost
2021-08-26 09:38:27 +02:00
Leo Alt
a9af63187e
Adjust tests for nondeterminism
2021-08-25 21:10:43 +02:00
Leo Alt
facc66997b
Update existing CLI tests
2021-08-25 21:10:08 +02:00
Leo Alt
4cf4ccafd7
New tests
2021-08-25 21:10:08 +02:00
Leo Alt
85378b1770
Update existing tests
2021-08-25 21:10:08 +02:00
Leo Alt
718f392849
Don't erase things for BMC if function call is staticcall
2021-08-25 14:09:46 +02:00
Leo Alt
a55685c04f
Erase balances when delegatecall is seen
2021-08-25 12:39:26 +02:00
soroosh-sdi
b0ce98bcb2
Using range-v3 instead of boost
...
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-08-24 23:50:23 +04:30
Kamil Śliwak
6b7857d56b
Merge pull request #11650 from ethereum/boost-path-in-read-file-as-string
...
Use `boost::filesystem::path` in `readFileAsString()`
2021-08-20 19:45:54 +02:00
Leo Alt
9ea4576664
Update tests
2021-08-19 16:34:01 +02:00
chriseth
45a910c2ca
Merge pull request #11750 from ethereum/immutables-10463
...
Allow reading of immutables during construction time
2021-08-19 14:39:03 +02:00
Marenz
121fd40f74
Allow reading of immutables during construction time
2021-08-19 13:59:05 +02:00
chriseth
2165c0d3d9
Update gas costs.
2021-08-19 13:26:52 +02:00
chriseth
c6473ff32b
Proof for rules.
2021-08-19 12:51:54 +02:00
chriseth
a467f3205c
Tests for knowledge base.
2021-08-19 12:51:54 +02:00
chriseth
4b038e3f02
Extend knowledge base.
2021-08-18 12:42:46 +02:00
chriseth
063d481bb3
Fix parsing fixed point values.
2021-08-17 14:46:11 +02:00
chriseth
948665ff89
Merge pull request #11749 from ethereum/simplifyConvertEvenMOre
...
Simplify yul conversion function even more.
2021-08-17 14:39:59 +02:00
chriseth
5015284c3a
Merge pull request #11748 from ethereum/optimize_signextend
...
Optimizer rules for signextend.
2021-08-17 14:39:16 +02:00
Kamil Śliwak
cb1a0f08ca
readFileAsString(): Accept path as boost::filesystem::path instead of string
2021-08-17 12:58:33 +02:00
chriseth
704820cc6e
Update tests.
2021-08-16 22:24:06 +02:00
chriseth
b62bb0a0b2
Merge pull request #11804 from ethereum/fixedPointTypes
...
[isoltest] Leading zero for fixed point types.
2021-08-16 22:17:48 +02:00
chriseth
4480662a58
Test.
2021-08-16 18:54:33 +02:00
hrkrshnn
59db0f1537
An equivalence check for SIGNEXTEND opcode
...
Checking the implementation of SIGNEXTEND using Z3's native SignExt and Extract
2021-08-16 18:54:33 +02:00
chriseth
5906d25a39
Formalization of SIGNEXTEND and rule proofs
2021-08-16 18:54:33 +02:00
Daniel Kirchner
9f2885e173
Disabling of prepublish
hook is no longer needed in setup_solcjs
...
See https://github.com/ethereum/solc-js/pull/542
2021-08-16 16:50:31 +02:00
Alexander Arlt
866617b353
[isoltest] Add support for fixed point types.
2021-08-16 13:07:22 +02:00
chriseth
d7a802e4bf
Merge pull request #11682 from ethereum/fixedPointTypes
...
Fixed point types for isoltest
2021-08-13 09:37:29 +02:00
Leo Alt
937af7d722
Fix SMT test
2021-08-12 22:34:18 +02:00
Alexander Arlt
d6b9b4175b
[isoltest] Add support for fixed point types.
2021-08-12 21:27:51 +02:00
chriseth
fe0d027d45
Merge pull request #11785 from ethereum/someMoreBaseFees
...
Some more base fees.
2021-08-12 19:48:10 +02:00
Leo Alt
6ee60aa628
Fix false positive on external calls from constructors
2021-08-12 18:51:55 +02:00
chriseth
c87c0f02bd
Test updates.
2021-08-12 16:56:12 +02:00
chriseth
90c4623460
Some more base fees.
2021-08-12 16:37:21 +02:00
chriseth
ccdc11ea5b
Merge pull request #11741 from ethereum/shadowing_inlineasm_fix_yul_codegen
...
Fixed inline assembly external identifier access.
2021-08-12 14:38:24 +02:00
Leo Alt
10397e440c
Fix ICE in constants
2021-08-12 10:53:01 +02:00
chriseth
a4c94a1b5b
Fixed inline assembly external identifier access.
2021-08-11 18:18:29 +02:00
Daniel Kirchner
e28d00a76d
Merge pull request #11763 from ethereum/basefee-hasOpcode
...
Allow basefee as Yul identifier for EVMVersion < london
2021-08-11 14:14:21 +02:00
Leo Alt
8ce878621a
Make show unproved CLI a flag
2021-08-11 10:54:03 +02:00
hrkrshnn
892700d769
Tests for basefee as identifier in inline assembly
...
Also added basefee to `EVMVersion::hasOpcode(...)`
2021-08-11 10:46:40 +02:00
hrkrshnn
7f1a2be0fe
Allow basefee as Yul identifier for EVMVersion < london
...
This was done to prevent basefee from being a breaking change. This change will be removed in 0.9.0.
TODO revert this commit in breaking.
2021-08-11 10:46:08 +02:00
Harikrishnan Mulackal
74ec3c1983
Merge pull request #11760 from ethereum/default-evmversion-london
...
Set default EVM version to London.
2021-08-11 10:42:41 +02:00
Harikrishnan Mulackal
0fc3e2dfb3
Merge pull request #11647 from ethereum/basefee
...
Implement London EVMVersion and the BASEFEE opcode
2021-08-11 10:31:22 +02:00
hrkrshnn
79733fca48
Set default EVM version to London.
2021-08-11 09:54:14 +02:00
hrkrshnn
43605d9299
Tests and Changelog for basefee.
2021-08-11 09:51:12 +02:00
hrkrshnn
a54addc2cb
An equivalence check for the Byte opcode
...
Checks that the byte opcode (implemented using shift) is equivalent to a
canonical definition of byte using extract.
2021-08-10 11:00:29 +02:00
chriseth
f6789de9f8
Fix implementation of BYTE
2021-08-09 19:14:14 +02:00
hrkrshnn
af1dabb555
Added EVMVersion london.
...
Also set the value of `block_base_fee` for testing to 7 wei.
2021-08-09 16:18:08 +02:00
hrkrshnn
543ccf5287
Added the basefee instruction in YulInterpreter
2021-08-09 16:18:08 +02:00
Leo Alt
ee6285d6d7
Do not create VCs for underoverflow by default for Sol >=0.8
2021-08-09 14:12:31 +02:00
Leo Alt
08c065ee04
Add option divModWithSlacks
2021-08-06 15:50:25 +02:00
Kamil Śliwak
506cc20fe8
Remove empty exit files from command-line tests
2021-08-05 17:41:33 +02:00
Kamil Śliwak
2803dba980
Add pragmas and SPDX comments to command-line tests to get cleaner error output
2021-08-05 17:41:30 +02:00
Kamil Śliwak
dc4620d2be
cmdlineTests.sh: Suppress message about empty output to get consistent output on release and pre-release builds
2021-08-05 17:11:58 +02:00
chriseth
db85849648
Merge pull request #11737 from ethereum/fix_shift_cleanup
...
Yul: Fix cleanup for left shift of bytes types.
2021-08-05 12:55:42 +02:00
chriseth
6b888b531b
Refactor conversion function.
2021-08-05 11:48:35 +02:00
chriseth
0112fed73b
Yul: Fix cleanup for left shift of bytes types.
2021-08-05 10:54:48 +02:00
Kamil Śliwak
2d5b9036c2
Merge pull request #11645 from ethereum/slightly-nicer-error-reporting
...
[Trivial] Provide a better error reporting for failed cmdline tests.
2021-08-04 15:47:14 +02:00
Marenz
dea201800f
Provide a better error reporting for failed cmdline tests.
2021-08-04 15:00:34 +02:00
Leo Alt
3c1f555f71
Tests
2021-08-04 13:54:50 +02:00
Leo Alt
700fe3e5d4
CL tests
2021-08-04 13:54:50 +02:00
Leo Alt
685d7a8c99
Bundle all unproved targets in a single message and only show all if setting chooses that
2021-08-04 13:54:50 +02:00
chriseth
ae519c1278
Merge pull request #11658 from ethereum/removeScannerFromCompilerStack
...
Remove scanner from compiler stack
2021-08-03 17:47:39 +02:00
chriseth
d7a40622e4
Merge pull request #11729 from ethereum/build-speedups
...
header file cleanups
2021-08-03 16:44:54 +02:00
chriseth
ffd66a5d08
Merge pull request #11720 from ethereum/onlySetRunsIfUsed
...
Only set "runs" if used.
2021-08-03 16:34:31 +02:00
chriseth
01a1316b36
Only set "runs" if used.
2021-08-03 15:53:59 +02:00
Christian Parpart
af18b8afc2
Eliminate some unnecessary header inclusions in headers in Scanner.h and SourceReferenceFormatter.h
2021-08-03 15:43:17 +02:00
Christian Parpart
6294aa871a
Simplify AsmParser::parse(.) usage
2021-08-03 15:43:17 +02:00
chriseth
ffc5cfd9a5
Remove scanner from compiler stack.
2021-08-03 15:43:17 +02:00
Mathias Baumann
2ee6c7be64
Print @src and @use-src locations in AsmPrinter
2021-08-03 15:29:52 +02:00
Harikrishnan Mulackal
5ff0811b99
Merge pull request #11717 from jaa2/develop
...
Handle --optimize-runs option in assembly mode
2021-07-29 18:56:22 +02:00
jaa2
c627e6af10
CommandLineParser: Handle --optimize-runs option in assembly mode
...
Fixes #11708 .
2021-07-29 18:15:57 +02:00
chriseth
7e1cfc112e
Merge pull request #11712 from ethereum/cmdline-test-filtering
...
Running only selected command-line tests
2021-07-29 10:39:27 +02:00
Kamil Śliwak
ad3d3c0df6
cmdlineTests.sh: Accept test name patterns as positional arguments
2021-07-28 01:02:46 +02:00
Alex Beregszaszi
c018cdf419
Merge pull request #11706 from ethereum/update-evmone-part2
...
Update evmone part 2
2021-07-27 17:17:59 +01:00
Leonardo
57092b21a3
Merge pull request #11421 from ethereum/smt_solver_option
...
[SMTChecker] Solver option
2021-07-27 18:17:24 +02:00
Leo Alt
6c8ecfa82c
Add option to choose solver
2021-07-27 17:14:21 +02:00
Christian Parpart
3755210b7b
[libyul] ObjectParser: Enables the use of custom source mapping via @use-src.
2021-07-27 16:46:47 +02:00
hrkrshnn
8bec0c8a6b
Updated docs and evmc.h header file for evmone 0.8.0 release
2021-07-27 16:39:41 +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
Leo Alt
e46abd0ca1
Update tests due to nondeterminism
2021-07-19 15:20:11 +02:00
Leo Alt
20e23171da
Update tests to z3 4.8.12
2021-07-16 14:43:52 +02:00
Daniel Kirchner
3d26d47d46
Merge pull request #11525 from ethereum/yulControlFlowGraph
...
Yul control flow graph (OptimizedEVMCodeTransform Step 1)
2021-07-15 16:03:39 +02:00
Daniel Kirchner
f3707f2ab0
Control flow graph for Yul.
2021-07-15 15:24:12 +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
chriseth
f75b55071e
Remove CharStream from SourceLocation.
2021-07-14 15:12:07 +02:00
chriseth
e5ab68ed71
Use unknown file for invalid source index.
2021-07-12 17:35:49 +02:00
Christian Parpart
5e4868d5d6
Adapted tests due to more precise Yul source locations.
...
Also added support for -1 source index, referencing original scanner's source location.
2021-07-09 11:50:48 +02:00
Christian Parpart
132fa46faa
Yul: Adds parsing @src comment in AsmParser to customize the AST's sourcer locations.
2021-07-09 11:48:00 +02:00
chriseth
fec01c112a
Merge pull request #11616 from ethereum/issue-8191-yul
...
Test yul code blocks in documentation.
2021-07-08 15:37:01 +02:00
Marenz
d844d84b51
Test yul code blocks in documentation.
2021-07-08 14:59:05 +02:00
chriseth
62934b60ca
Merge pull request #11605 from ethereum/issue-8191
...
isolate_tests: Extract code blocks from documentation using code block header
2021-07-08 14:28:47 +02:00
chriseth
691083c032
Merge pull request #11632 from ethereum/yulNegationFunctionNameCollision
...
Fix negation function name collision.
2021-07-08 12:20:17 +02:00
Marenz
9a0da17a6d
Use more readable and maintainable multiline strings in py test script
2021-07-08 10:49:29 +02:00
Daniel Kirchner
0a6fc89da2
Fix negation function name collision.
2021-07-08 10:47:29 +02:00
Christian Parpart
f9f32c910d
Fix source location for `if
` statements.
2021-07-07 17:37:01 +02:00
chriseth
46514ffad2
Merge pull request #11520 from ethereum/local-streams-in-command-line-parser
...
Local output streams in CommandLineParser
2021-07-07 15:07:23 +02:00
Kamil Śliwak
baced5d10e
Test for the --help option
2021-07-07 12:53:15 +02:00
Kamil Śliwak
6c33fbcb6a
CommandLineParser: Replace global sout/serr streams with class members
...
- This removes the global variable and prevents stderr/stdout from being printed in tests
2021-07-07 12:53:15 +02:00
chriseth
566537835b
Merge pull request #11627 from ethereum/allowEmptyFileName
...
Include locations with empty source name.
2021-07-07 12:52:49 +02:00
Kamil Śliwak
ce11ebb687
Merge pull request #11518 from ethereum/command-line-parser
...
CommandLineParser
2021-07-07 12:51:09 +02:00
chriseth
6ba298c82b
Include locations with empty source name.
2021-07-07 12:13:52 +02:00
Kamil Śliwak
ef7abd224d
Tests for all input modes in CommandLineParser
2021-07-06 17:17:18 +02:00
Marenz
5291ca2dd4
isolate_tests: Extract code blocks from documentation using code block header
2021-07-06 16:57:05 +02:00
chriseth
8d5e82b406
Fix source location of builtin function calls.
2021-07-06 16:54:29 +02:00
chriseth
09578e7e22
Merge pull request #11550 from ethereum/runs-constant
...
Constant for default --runs
2021-07-06 10:44:07 +02:00
Kamil Śliwak
105b4b4c8b
Update tests
2021-07-05 13:46:53 +02:00
Kamil Śliwak
a72857df03
CommonIO: Replace readStandardInput() with readUntilEnd() with a configurable stream
2021-07-02 14:58:30 +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
Kamil Śliwak
703a73f949
EVMCodeTransformTest: Disable all non-stack optimizations
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
hrkrshnn
b628b115ae
Manually enabled gas statistics for erc20 token test.
2021-06-30 16:35:53 +02:00
chriseth
13d1fc9f41
Merge pull request #11579 from ethereum/better-errors-about-bad-paths-in-tests-with-external-sources
...
Better errors about bad paths in tests with external sources
2021-06-30 11:56:47 +02:00
chriseth
54b1c667f1
Merge pull request #11595 from ethereum/issue-11526
...
Fix yul codegen bug when using binary negation.
2021-06-30 11:55:42 +02:00
Mathias Baumann
c47d02066c
Fix yul codegen bug when using binary negatition.
2021-06-29 17:41:03 +02:00
chriseth
eaac16c779
Merge pull request #11590 from ethereum/disallow-non-hex-zero-and-fix-bytes32-literals-in-bytes-concat
...
Disallow non-hex zero literals and fix 32-byte hex literals in `bytes.concat()`
2021-06-29 16:34:26 +02:00
Kamil Śliwak
6a50d088a0
Fix ICE for 32-byte hex literals and zero literals in bytes.concat() by disallowing them
2021-06-29 14:48:42 +02:00
Kamil Śliwak
fa3696878b
Fix crash when passing empty strings to bytes.concat()
2021-06-29 13:52:01 +02:00
Daniel Kirchner
c341445f8e
Maintain disambiguation when generating new functions in StackToMemoryMover.
2021-06-28 18:11:57 +02:00
Daniel Kirchner
bc288aacf5
Have the stack optimization in the code transform only reuse slots that are reachable and fix argument slot reuse on functions without return variables.
2021-06-28 18:11:57 +02:00
Daniel Kirchner
dfce7b667d
Move function arguments and return values.
2021-06-28 18:11:57 +02:00
chriseth
22402accfe
Merge pull request #11578 from ethereum/soltest-clearer-error-message-for-std-exception
...
Clearer error message for `std::exception` in soltest
2021-06-28 16:13:21 +02:00
Kamil Śliwak
19fada966f
Do not use \b, \v and \f escapes in string literals in generated Yul code
2021-06-28 14:13:47 +02:00
Kamil Śliwak
6ad6fa2382
Do not hard-code the default 'runs' value as 200 in code that fills out optimizer settings
2021-06-28 14:12:28 +02:00
Kamil Śliwak
ca0b1bf3f3
Fix crash when passing zero to bytes.concat()
2021-06-25 21:26:28 +02:00