mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
test: some tests for push0
1. `push0_disallowed.yul`: checks if `push0()` is a valid builtin in strict Yul 2. `push0_disallowed.sol`: checks if `push0()` is a valid builtin in inline assembly 3. `push0.sol`: simple semantic test that returns 0 4. `evmone_support.sol`: tests if push0 works properly in evmone 5. Updated some bytecode too large tests to use `shanghai` as version 6. Updated various tests where `push1 0` was hardcoded in different forms / expectations on bytecode size (`Assembler.cpp`, `GasCosts.cpp`, `SolidityCompiler.cpp`, `SolidityExpressionCompiler.cpp`)
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
// Ok
|
||||
contract push0 {}
|
||||
|
||||
contract A {
|
||||
// Ok, warning about shadowing
|
||||
function push0() external {}
|
||||
}
|
||||
|
||||
contract C {
|
||||
function f() external {
|
||||
assembly {
|
||||
// Not okay
|
||||
push0()
|
||||
}
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 2519: (77-105): This declaration shadows an existing declaration.
|
||||
// DeclarationError 4619: (205-210): Function "push0" not found.
|
||||
Reference in New Issue
Block a user