Commit Graph

23735 Commits

Author SHA1 Message Date
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
Pawel Gebal
f15b826431 Add optional bounds to unroll loops in BMC model checker 2023-06-02 18:32:38 +02:00
Kamil Śliwak
dcecf00e30
Merge pull request #14292 from ethereum/command-line-test-docs
Document the command-line tests
2023-06-02 18:28:22 +02:00
Kamil Śliwak
f5a531fd71
Merge pull request #14289 from ethereum/script-based-cmdline-tests
Move hard-coded tests out of `cmdlineTests.sh`
2023-06-02 17:30:25 +02:00
Kamil Śliwak
0e48e1251d Document the command-line tests 2023-06-02 16:11:04 +02:00
Kamil Śliwak
f397b9a083 cmdlineTests: Add prefixes for temporary files/dirs 2023-06-02 16:10:40 +02:00
Kamil Śliwak
5c5f8e8dad cmdlineTests: Remove superfluous set and temporary dirs 2023-06-02 16:10:40 +02:00
Kamil Śliwak
00c2f511d3 cmdlineTests: Remove superfluous output from script-based tests and adjust the rest 2023-06-02 16:10:40 +02:00
Kamil Śliwak
c1df8ed563 cmdlineTests: Remove unnecessary subshells
- Whitespace-only change, separated out to make it easy to diff.
2023-06-02 16:10:40 +02:00
Kamil Śliwak
6b061ba696 cmdlineTests: Extract script-based test out of cmdlineTests.sh
- Just extraction, with as few changes to the code as possible.
2023-06-02 16:10:40 +02:00
Kamil Śliwak
dd10334754 cmdlineTests: Support tests that contain a script to run as an alternative to input.* files 2023-06-02 16:09:11 +02:00
Kamil Śliwak
72a384f4fe cmdlineTests: Ensure that leading symbols in names affect the sort order 2023-06-02 16:09:11 +02:00
Kamil Śliwak
4773b0b1e4
Merge pull request #14291 from ethereum/drop-gp2
Disable gp2 tests
2023-06-02 14:08:42 +02:00
Kamil Śliwak
5306838920
Merge pull request #14290 from ethereum/oz-fix
Remove unnecessary line from OZ external test script
2023-06-02 13:02:48 +02:00
r0qs
a518310af9
Disable gp2 tests 2023-06-02 12:50:28 +02:00
r0qs
824e59dec2
Remove unnecessary line from OZ external test script 2023-06-02 12:09:53 +02:00
Kamil Śliwak
14d2ae2dfa
Merge pull request #14282 from ethereum/fixOpenZeppelinExtTest
Remove sed commands targeting deleted files in openzeppelin external test
2023-05-31 12:17:56 +02:00