Nikola Matic
edd99b07fe
Disable failing OZ tests
2023-06-21 14:50:05 +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
Leo
6b2939da31
Merge pull request #14307 from pgebal/pgebal/print_smt_to_output_smtchecker_smtlib_code
...
Add --print-smt flag to output the SMTChecker SMTLIB code
2023-06-19 16:58:52 +02:00
Kamil Śliwak
381b610fe5
Merge pull request #14336 from ethereum/remove-bytecode-compare-deploy-key
...
Remove unused Travis deploy key for bytecode compare
2023-06-19 15:09:58 +02:00
Kamil Śliwak
32e8297048
Remove unused bytecodecompare/deploy_key.enc
2023-06-19 14:20:35 +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
c2e97369d9
Merge pull request #14327 from ethereum/cmdline-tests-sanitize-metadata-in-standard-json-output
...
Sanitize metadata in Standard JSON output in command-line tests
2023-06-14 17:01:00 +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
Kamil Śliwak
4e113820c9
Merge pull request #14321 from ethereum/fix-bash-syntax-error-on-expectation-update-in-cli-tests
...
Fix Bash syntax error that shows up in CLI test output when updating expectations
2023-06-14 16:03:40 +02:00
Kamil Śliwak
25f329e4a1
Merge pull request #14323 from ethereum/stop-after-parsing-disallow-outputs-that-require-analysis
...
Disallow `--stop-after parsing` with CLI outputs that require analysis
2023-06-14 16:02:37 +02:00
Kamil Śliwak
e87333f20f
More CLI tests for --stop-after parsing
2023-06-14 14:22:38 +02:00
Kamil Śliwak
f8a1af8bd5
CommandLineParser: Fix some outputs not being properly disallowed with --stop-after parsing
2023-06-14 14:22:38 +02:00
Kamil Śliwak
0713adde04
Fix bad indentation in handleCombinedJSON()
2023-06-14 14:22:38 +02:00
Kamil Śliwak
f4217bdc2c
Fix Bash syntax error that shows up in CLI tests when updating expectations
2023-06-14 14:22:10 +02:00
Daniel Kirchner
aa01223398
Account for unassigned return variables in stack layout generation.
2023-06-14 11:43:46 +02:00
Nikola Matić
e44b8b9097
Merge pull request #14324 from ethereum/zeppelin-via-ir-workaround
...
Workaround open-zeppelin expectRevertCustomError bug
2023-06-14 10:58:01 +02:00
r0qs
28573dc71b
Workaround open-zeppelin expectRevertCustomError bug
2023-06-14 09:49:38 +02:00
Daniel
53c305ea80
Merge pull request #14310 from ethereum/moreRobustSemanticsTests
...
Do not let low-level semantic test calls depend on a well-defined contract ABI.
2023-06-12 17:32:21 +02:00
Daniel Kirchner
b7abd9bba4
Deterministically choose memory slots for variables independently of names that may depend on AST IDs.
2023-06-12 17:28:01 +02:00
Daniel
6c4e40bcef
Merge pull request #14317 from ethereum/bump-node-cimg
...
Bump circleci cimg/node version
2023-06-12 16:26:12 +02:00
r0qs
54c0ca99c3
Bump circleci cimg/node version
2023-06-12 15:15:03 +02:00
Daniel
d32aef3fea
Merge pull request #14313 from junaire/fix-wrong-cmake-variable
...
Fix incorrect CMAKE_SOURCE_DIR usage
2023-06-12 14:46:24 +02:00
Kamil Śliwak
2f484431da
Merge pull request #14243 from ethereum/do-not-optimize-yul-twice
...
Remove redundant Yul optimization from `IRGenerator`
2023-06-12 12:26:55 +02:00
Jun Zhang
8c5ecd1c01
Fix incorrectly CMAKE_BINARY_DIR usage
...
Similiar to CMAKE_SOURCE_DIR. Using CMAKE_BINARY_DIR will put the
generated header (stdlib.h) in build/include/solidity/libstdlib but it
should start with build/third-party/solidity or the library can't find
the header.
Signed-off-by: Jun Zhang <jun@junz.org>
2023-06-10 00:35:24 +08:00
Jun Zhang
74a38fc3d8
Fix incorrect CMAKE_SOURCE_DIR usage
...
When using solidity as a third-party library (include it into our
project using FetchContent), we encountered a strange compilation error.
For some reason, cmake considers the root directory of the project as
the root directory of the dependency (solidity). This is because
solidity is incorrectly using CMAKE_SOURCE_DIR variable, which should be
PROJECT_SOURCE_DIR (The former one refers to the top-level source
directory that contains a CMakeLists.txt, while the latter refers to the
source directory of the most recent project() command)
I've created a repo for demonstration (https://github.com/junaire/test-solidity-fetch-content )
Signed-off-by: Jun Zhang <jun@junz.org>
2023-06-08 19:17:34 +08:00
Kamil Śliwak
b1a773be2f
IRGenerator: Leave IR optimization up to the caller to avoid unnecessarily doing it twice
2023-06-07 19:44:40 +02:00
Kamil Śliwak
facc38097d
Merge pull request #14149 from ethereum/enable-minimal-yul-optimizations-by-default
...
Minimal Yul optimizations by default
2023-06-07 18:26:00 +02:00
Kamil Śliwak
3aaa207162
Enable unoptimized presets in those external tests where they now pass
2023-06-07 16:45:45 +02:00
Daniel Kirchner
0ea06e1c71
Do not let low-level semantic test calls depend on a well-defined contract ABI.
2023-06-07 13:40:14 +02:00
Kamil Śliwak
5e32a728fe
Update test expectations
2023-06-07 12:13:39 +02:00
Kamil Śliwak
51cd87c94d
YulStack: Don't enable stack optimizations in unoptimized mode when msize is present
2023-06-07 12:13:39 +02:00
Kamil Śliwak
25be38905f
YulStack: When Yul optimization is not requested, run Yul optimizer with a minimal sequence instead of disabling it
2023-06-07 12:13:38 +02:00
Kamil Śliwak
dff774d82f
Overload MSizeFinder::containsMSize() for Yul objects
2023-06-07 12:12:00 +02:00
Kamil Śliwak
8e35e8dd8e
Command-line tests checking behavior of msize without optimizer
2023-06-07 12:12:00 +02:00
Kamil Śliwak
7ab730d410
Update tests that would become ineffective with minimal optimizations applied
2023-06-07 12:12:00 +02:00
Kamil Śliwak
811b8e565b
Merge pull request #14288 from ethereum/cli-and-standard-json-equivalence-tests
...
CLI and Standard JSON equivalence tests
2023-06-07 12:10:38 +02:00
Kamil Śliwak
64ef9d581b
Command-line test for equivalence of optimizer options on the CLI and in Standard JSON
2023-06-07 10:29:45 +02:00
Kamil Śliwak
e6716e3208
Helpers for removing decorations form solc output
2023-06-07 10:29:45 +02:00
Kamil Śliwak
25c78be73e
Give error_message in msg_on_error an initial value to make it compatible with set -u
2023-06-07 10:29:45 +02:00
Kamil Śliwak
c7372f3f22
Merge pull request #14268 from ethereum/resurrect-yul-optimizer-cli-options
...
Resurrect Yul optimizer CLI options
2023-06-07 10:28:16 +02:00
Daniel
09038ce4cb
Merge pull request #14249 from ethereum/experimental-stdlib
...
Experimental standard library
2023-06-06 18:08:34 +02:00
Nikola Matic
47969adf91
Experimental standard library
...
Change import syntax and cover with tests
2023-06-06 17:16:23 +02:00
Kamil Śliwak
2769bb52f6
Make --optimize-yul work again
2023-06-06 09:54:07 +02:00
Kamil Śliwak
42a068b449
CommandLineParser: Store the state of EVM assembly and Yul optimizer explicitly
...
- Does not change the meaning of CLI options, just the way we map them to internal variables.
2023-06-06 09:54:07 +02:00
pgebal
f1d2eda795
Merge pull request #14116 from pgebal/pgebal/add_option_to_add_bounds_to_unroll_loops_in_bmc
...
Add optional bounds to unroll loops in BMC model checker
2023-06-05 12:01:08 +02:00