mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Patch external tests with a safe inline assembly annotation.
This commit is contained in:
parent
62a997ac97
commit
ad13062978
@ -48,7 +48,7 @@ function ens_test
|
||||
"${compile_only_presets[@]}"
|
||||
#ir-no-optimize # Compilation fails with "YulException: Variable var__945 is 1 slot(s) too deep inside the stack."
|
||||
#ir-optimize-evm-only # Compilation fails with "YulException: Variable var__945 is 1 slot(s) too deep inside the stack."
|
||||
#ir-optimize-evm+yul # Compilation fails with "YulException: Variable _5 is 1 too deep in the stack [ _5 usr$i usr$h _7 usr$scratch usr$k usr$f _4 usr$len usr$j_2 RET _2 _1 var_data_mpos usr$totallen usr$x _12 ]"
|
||||
ir-optimize-evm+yul # Needs memory-safe inline assembly patch
|
||||
legacy-optimize-evm-only
|
||||
legacy-optimize-evm+yul
|
||||
)
|
||||
@ -68,6 +68,8 @@ function ens_test
|
||||
replace_version_pragmas
|
||||
neutralize_packaged_contracts
|
||||
|
||||
find . -name "*.sol" -exec sed -i -e 's/^\(\s*\)\(assembly\)/\1\/\/\/ @solidity memory-safe-assembly\n\1\2/' '{}' \;
|
||||
|
||||
for preset in $SELECTED_PRESETS; do
|
||||
hardhat_run_test "$config_file" "$preset" "${compile_only_presets[*]}" compile_fn test_fn
|
||||
store_benchmark_report hardhat ens "$repo" "$preset"
|
||||
|
@ -56,7 +56,7 @@ function trident_test
|
||||
"${compile_only_presets[@]}"
|
||||
#ir-no-optimize # Compilation fails with: "YulException: Variable var_amount_165 is 9 slot(s) too deep inside the stack."
|
||||
#ir-optimize-evm-only # Compilation fails with: "YulException: Variable var_amount_165 is 9 slot(s) too deep inside the stack."
|
||||
#ir-optimize-evm+yul # Compilation fails with: "YulException: Cannot swap Variable var_nearestTick with Variable _4: too deep in the stack by 4 slots"
|
||||
ir-optimize-evm+yul # Needs memory-safe inline assembly patch
|
||||
legacy-no-optimize
|
||||
legacy-optimize-evm-only
|
||||
legacy-optimize-evm+yul
|
||||
@ -87,6 +87,7 @@ function trident_test
|
||||
sed -i 's|uint32(-1)|type(uint32).max|g' contracts/flat/BentoBoxV1Flat.sol
|
||||
sed -i 's|IERC20(0)|IERC20(address(0))|g' contracts/flat/BentoBoxV1Flat.sol
|
||||
sed -i 's|IStrategy(0)|IStrategy(address(0))|g' contracts/flat/BentoBoxV1Flat.sol
|
||||
find contracts -name "*.sol" -exec sed -i -e 's/^\(\s*\)\(assembly\)/\1\/\/\/ @solidity memory-safe-assembly\n\1\2/' '{}' \;
|
||||
|
||||
# @sushiswap/core package contains contracts that get built with 0.6.12 and fail our compiler
|
||||
# version check. It's not used by tests so we can remove it.
|
||||
|
Loading…
Reference in New Issue
Block a user