Commit Graph

7296 Commits

Author SHA1 Message Date
Kamil Śliwak
6d8b1374c5 Use AnalysisFramework's error formatting and filtering features in more test cases 2023-08-07 14:40:34 +02:00
Kamil Śliwak
e42242cd6f AnalysisFramework.formatErrors(): Require providing errors explicitly 2023-08-07 14:40:34 +02:00
Kamil Śliwak
6c1bcb9a81 AnalysisFramework.formatErrors(): Support colored output and error IDs 2023-08-07 14:26:23 +02:00
Kamil Śliwak
6f3a379557 AnalysisFramework: Add filteredErrors() 2023-08-07 14:26:23 +02:00
Kamil Śliwak
e62bc30e9e AnalysisFramework.filterErrors(): Provide default for _includeWarningsAndInfos 2023-08-07 14:26:23 +02:00
Pawel Gebal
6574c10f25 SMTChecker: Visit the condition in for and while loops after loop is unrolled 2023-08-03 13:36:41 +02:00
r0qs
ea7ee3d5fe
Fix yul ast ID to 0 instead of 1. 2023-07-28 17:48:35 +02:00
Pawel Gebal
db5baebff8 SMTChecker fix: Do not unroll loop after it completes 2023-07-26 16:31:03 +02:00
Martin Blicha
cdfc19b503 SMTChecker: Bring back counterexample checks in regression tests
Since the default is now to ignore the counterexamples when checking
test output, we bring back counterexample checks in tests where the
counterexample is (mostly) deterministic.
2023-07-25 12:26:21 +02:00
Martin Blicha
2e38798408 SMTChecker: Keep counterexamples on test expectation update 2023-07-24 18:36:18 +02:00
Nikola Matic
964bdc711c Fix ICE when emitting event from another contract 2023-07-21 21:49:09 +02:00
r0qs
dcbd645798
Delete old prb-math.sh script 2023-07-21 20:25:58 +02:00
r0qs
ab4f5f2983
Initial prototype of prb-math external tests using foundry rewritten in python
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2023-07-21 20:25:58 +02:00
r0qs
86602852be Add buglist entry
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2023-07-18 18:15:32 +02:00
Daniel Kirchner
5c7214cbe3 Always generate code for .selector member access. 2023-07-18 18:15:32 +02:00
Nikola Matić
64427412c4
Merge pull request #14347 from ethereum/fixTypeCheckingAbiDecode
Disallow the use of `TypeType` in complex expressions
2023-07-18 18:14:45 +02:00
Nikola Matic
82cb5338a9 Relax delegatecall type restriction plus test 2023-07-18 17:07:13 +02:00
Daniel Kirchner
110e2a656d Restrict mobile types of function types.
Move ternary tests to semanticTests
2023-07-18 14:13:36 +02:00
Matheus Aguiar
4fd5bbf50b Restrict mobileType of TypeType 2023-07-18 12:58:11 +02:00
Matheus Aguiar
f3fc19080a Override mobileType of MagicType to null 2023-07-18 10:56:02 +02:00
Daniel Kirchner
0ab0842c29 Disallow conversions between declaration function types. 2023-07-17 18:33:07 +02:00
Kamil Śliwak
ba3f9dd2a2 FullInliner: Do not include calls whose arguments may have side-effects 2023-07-17 16:40:43 +02:00
Kamil Śliwak
5e1e0e7752 FullInliner: Fix order of arguments of inlined functions 2023-07-17 16:40:43 +02:00
Kamil Śliwak
a07f6c443a Tests for Yul argument evaluation order after optimization 2023-07-17 16:40:43 +02:00
Kamil Śliwak
edceb4d2d1 Allow testing FullInliner without ExpressionSplitter 2023-07-17 16:40:43 +02:00
Kamil Śliwak
96bb39d1b4
Merge pull request #14304 from ethereum/relax-restrictions-on-immutable-initialization-outside-functions-and-modifiers
Relax restrictions on immutable initialization (outside of functions and modifiers)
2023-07-17 16:38:57 +02:00
Kamil Śliwak
dad2bf6472 Relax restrictions on immutable initialization 2023-07-14 15:29:32 +02:00
Kamil Śliwak
0afe025f19 Minor tweaks to immutable tests for better diffs 2023-07-14 15:29:32 +02:00
Kamil Śliwak
ea724071b1 prepare_report: Add viaIR presets 2023-07-14 15:28:11 +02:00
Nikola Matic
1628678de2 Remove missing test from OZ script 2023-07-14 13:22:06 +02:00
Alejandro Criado-Pérez
29358806f4
updated protoToAbiv2.h 2023-07-09 01:45:54 +02:00
Bhargava Shastry
5d7533b540
Merge pull request #14227 from ethereum/update-codegen-fuzzer
Stack optimizer fuzzer: Detect stack-too-deep during optimization
2023-07-03 14:52:27 +02:00
Martin Blicha
29041c8101 Remove ReasoningBasedSimplifier from libyul
Due to a design decision to move away from a bundled SMT solver,
ReasoningBasedSimplifier in its current form cannot be use any longer.
This is a necessary step to allow a unified way to call solvers using
only SMTLIB interface.

Since this optimization pass has always been marked as highly
experimental and never turned on by default, it should be OK to remove
it.
2023-06-28 14:38:36 +02:00
Leo
2cf03e3f0b
Merge pull request #14344 from pgebal/pgebal/fix-ice-internal-type
Fix error in SMTChecker: Use rich indentifier instead of external identifier to encode member access to functions
2023-06-27 12:31:25 +02:00
Bhargava Shastry
87d0c84960 Stack optimizer fuzzer: Detect stack-too-deep during optimization
Co-authored-by: r0qs <deepmarolaest@gmail.com>
2023-06-27 10:32:23 +02:00
Kamil Śliwak
10670d6286 prepare_report: Replace hard-coded optimize setting with selectable presets 2023-06-23 19:00:30 +02:00
Pawel Gebal
826fd90dcf Fix error in SMTChecker: Use rich indentifier instead of external identifier to ecnode member access to functions 2023-06-23 15:24:55 +02:00
Nikola Matić
08897b88c9
Merge pull request #14342 from ethereum/peg-oz-to-specific-commit
Disable failing OZ tests
2023-06-21 16:11:23 +02:00
Nikola Matic
edd99b07fe Disable failing OZ tests 2023-06-21 14:50:05 +02:00
Kamil Śliwak
dc7cda18f0
Merge pull request #14338 from ethereum/cmdline-tests-exclude-option
Add `--exclude` option to `cmdlineTests.sh`
2023-06-20 13:49:53 +02:00
Kamil Śliwak
3ecf968001
Merge pull request #14328 from ethereum/fix-incomplete-ast-in-standard-json-on-analysis-fail
Fix incomplete AST in standard json on analysis fail
2023-06-19 18:26:33 +02:00
Kamil Śliwak
399457d74b cmdlineTests.sh: Add --exclude option 2023-06-19 16:43:30 +02:00
Kamil Śliwak
4752b31e6c cmdlineTests.sh: Rewrite test selection to use find 2023-06-19 16:43:30 +02:00
Pawel Gebal
d4be1d9c2f Add --print-smt flag to output SMTChecker SMTLIB code 2023-06-16 14:04:07 +02:00
Kamil Śliwak
712229a5c6 Fix StandardCompiler returning an incomplete AST in Standard JSON in case of an early exit during analysis 2023-06-15 10:50:04 +02:00
Kamil Śliwak
f50820fcae Tests checking outputs produced in presence of errors 2023-06-15 10:49:19 +02:00
Daniel
374a6fd50e
Merge pull request #14311 from ethereum/StackToMemoryDeterminism
Deterministically choose memory slots for variables during stack-to-memory.
2023-06-14 17:31:32 +02:00
Daniel
ca8db58edd
Merge pull request #14322 from ethereum/stackLayoutsForUnassignedReturnVariables
Account for unassigned return variables in stack layout generation.
2023-06-14 17:30:57 +02:00
Kamil Śliwak
e45e6cc31d CLI tests for metadata output 2023-06-14 16:04:33 +02:00
Kamil Śliwak
e6b1f5ccee cmdlineTest.sh: Remove compiler version from metadata in Standard JSON output as well 2023-06-14 16:04:33 +02:00