diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_empty_string_v1.sol b/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_empty_string_v1.sol deleted file mode 100644 index 9f7216e6bcb4..000000000000 --- a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_empty_string_v1.sol +++ /dev/null @@ -1,13 +0,0 @@ -pragma abicoder v1; -// Tests that this will not end up using a "bytes0" type -// (which would assert) -contract C { - function f() public pure returns (bytes memory, bytes memory) { - return (abi.encode(""), abi.encodePacked("")); - } -} -// ==== -// ABIEncoderV1Only: true -// compileViaYul: false -// ---- -// f() -> 0x40, 0xa0, 0x40, 0x20, 0x0, 0x0 diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding.sol b/test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding.sol deleted file mode 100644 index 02937aced8da..000000000000 --- a/test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding.sol +++ /dev/null @@ -1,27 +0,0 @@ -pragma abicoder v2; -contract Test { - struct MemoryUint { - uint field; - } - function test() public pure returns (uint) { - uint[] memory before = new uint[](1); // at offset 0x80 - // Two problems here: The first offset is zero, the second offset is missing. - bytes memory corrupt = abi.encode(uint(32), // offset to "tuple" - uint(0)); // bogus first element - /* - At this point the free pointer is 0x80 + 64 (size of before) + 32 (length field of corrupt) + 64 (two encoded words) - - Now let's put random junk into memory immediately after the bogus first element. Our goal is to overflow the read pointer to point to before. - The value read out at this point will be added to beginning of the encoded tuple, AKA corrupt + 64. We need then to write x where: - x + 0x80 + 64 (before) + 32 (length of corrupt) + 32 (first word of corrupt) = 0x80 (mod 2^256) - that is MAX_UINT - 128 - */ - MemoryUint memory afterCorrupt; - afterCorrupt.field = uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80); - before[0] = 123456; - uint[][2] memory decoded = abi.decode(corrupt, (uint[][2])); - return decoded[1][0]; - } -} -// ---- -// test() -> FAILURE diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_static_array_v2.sol b/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_static_array_v2.sol deleted file mode 100644 index e228099c4eb3..000000000000 --- a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_static_array_v2.sol +++ /dev/null @@ -1,14 +0,0 @@ -pragma abicoder v2; - - -contract C { - function f(bytes calldata data) - external - pure - returns (uint256[2][3] memory) - { - return abi.decode(data, (uint256[2][3])); - } -} -// ---- -// f(bytes): 0x20, 0xc0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6 -> 1, 2, 3, 4, 5, 6 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol deleted file mode 100644 index 0c59c33c4b32..000000000000 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_calldata_slice.sol +++ /dev/null @@ -1,69 +0,0 @@ -pragma abicoder v2; -contract C { - function enc_packed_bytes(bytes calldata data, uint256 start, uint256 end) external returns (bytes memory) { - return abi.encodePacked(data[start:end]); - } - function enc_packed_bytes_reference(bytes calldata data, uint256 start, uint256 end) external returns (bytes memory) { - return abi.encodePacked(bytes(data[start:end])); - } - - function enc_bytes(bytes calldata data, uint256 start, uint256 end) external returns (bytes memory) { - return abi.encode(data[start:end]); - } - function enc_bytes_reference(bytes calldata data, uint256 start, uint256 end) external returns (bytes memory) { - return abi.encode(bytes(data[start:end])); - } - - function enc_uint256(uint256[] calldata x, uint256 start, uint256 end) external returns (bytes memory) { - return abi.encode(x[start:end]); - } - function enc_uint256_reference(uint256[] calldata x, uint256 start, uint256 end) external returns (bytes memory) { - return abi.encode(x[start:end]); - } - - function enc_packed_uint256(uint256[] calldata x, uint256 start, uint256 end) external returns (bytes memory) { - return abi.encodePacked(x[start:end]); - } - function enc_packed_uint256_reference(uint256[] calldata x, uint256 start, uint256 end) external returns (bytes memory) { - return abi.encodePacked(x[start:end]); - } - - function compare(bytes memory x, bytes memory y) internal { - assert(x.length == y.length); - for (uint i = 0; i < x.length; ++i) - assert(x[i] == y[i]); - } - - function test_bytes() public { - bytes memory test = new bytes(3); - test[0] = 0x41; test[1] = 0x42; test[2] = 0x42; - for (uint i = 0; i < test.length; i++) - for (uint j = i; j <= test.length; j++) - { - compare(this.enc_packed_bytes(test, i, j), this.enc_packed_bytes_reference(test, i, j)); - compare(this.enc_bytes(test, i, j), this.enc_bytes_reference(test, i, j)); - } - } - - function test_uint256() public { - uint256[] memory test = new uint256[](3); - test[0] = 0x41; test[1] = 0x42; test[2] = 0x42; - for (uint i = 0; i < test.length; i++) - for (uint j = i; j <= test.length; j++) - { - compare(this.enc_packed_uint256(test, i, j), this.enc_packed_uint256_reference(test, i, j)); - compare(this.enc_uint256(test, i, j), this.enc_uint256_reference(test, i, j)); - } - } -} -// ==== -// EVMVersion: >homestead -// ---- -// test_bytes() -> -// gas irOptimized: 314884 -// gas legacy: 305816 -// gas legacyOptimized: 253573 -// test_uint256() -> -// gas irOptimized: 448346 -// gas legacy: 421304 -// gas legacyOptimized: 351544 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_rational_v2.sol b/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_rational_v2.sol deleted file mode 100644 index edd319d45a39..000000000000 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_rational_v2.sol +++ /dev/null @@ -1,11 +0,0 @@ -// Tests that rational numbers (even negative ones) are encoded properly. -pragma abicoder v2; - - -contract C { - function f() public pure returns (bytes memory) { - return abi.encode(1, -2); - } -} -// ---- -// f() -> 0x20, 0x40, 0x1, -2 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/dynamic_arrays.sol b/test/libsolidity/semanticTests/abiEncoderV2/dynamic_arrays.sol deleted file mode 100644 index e8b64a10826c..000000000000 --- a/test/libsolidity/semanticTests/abiEncoderV2/dynamic_arrays.sol +++ /dev/null @@ -1,10 +0,0 @@ -pragma abicoder v2; - -contract C { - function f(uint a, uint16[] memory b, uint c) - public pure returns (uint, uint, uint) { - return (b.length, b[a], c); - } -} -// ---- -// f(uint256,uint16[],uint256): 6, 0x60, 9, 7, 11, 12, 13, 14, 15, 16, 17 -> 7, 17, 9 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/memory_params_in_external_function.sol b/test/libsolidity/semanticTests/abiEncoderV2/memory_params_in_external_function.sol deleted file mode 100644 index f8beb57030a5..000000000000 --- a/test/libsolidity/semanticTests/abiEncoderV2/memory_params_in_external_function.sol +++ /dev/null @@ -1,18 +0,0 @@ -pragma abicoder v2; - -contract C { - function f(bytes memory a, bytes calldata b, uint[] memory c) - external - pure - returns (uint, bytes1, uint, bytes1, uint, uint) - { - return (a.length, a[1], b.length, b[2], c.length, c[3]); - } - function g() public returns (uint, bytes1, uint, bytes1, uint, uint) { - uint[] memory x = new uint[](4); - x[3] = 7; - return this.f("abc", "def", x); - } -} -// ---- -// g() -> 3, 0x6200000000000000000000000000000000000000000000000000000000000000, 3, 0x6600000000000000000000000000000000000000000000000000000000000000, 4, 7 diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_decode_calldata.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_from_calldata.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_decode_calldata.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_from_calldata.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_dynamic_array.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_from_calldata_dynamic_array.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_decode_dynamic_array.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_from_calldata_dynamic_array.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_static_array.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_from_calldata_static_array.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_decode_static_array.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_from_calldata_static_array.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_calldata.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_from_calldata_struct_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_calldata.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_from_calldata_struct_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_from_memory_struct_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_from_memory_struct_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_from_storage_struct_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_from_storage_struct_v2.sol diff --git a/test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array.sol new file mode 100644 index 000000000000..29eb1483c897 --- /dev/null +++ b/test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array.sol @@ -0,0 +1,30 @@ +pragma abicoder v2; +contract Test { + struct MemoryUint { + uint field; + } + function test() public pure returns (uint) { + uint[] memory before = new uint[](1); // at offset 0x80 + // Two problems here: The first offset is zero, the second offset is missing. + bytes memory corrupt = abi.encode( + uint(32), // offset to "tuple" + uint(0) // bogus first element + ); + + // At this point the free pointer is 0x80 + 64 (size of before) + 32 (length field of corrupt) + 64 (two encoded words) + // + // Now let's put random junk into memory immediately after the bogus first element. Our goal is to overflow the read pointer to point to before. + // The value read out at this point will be added to beginning of the encoded tuple, AKA corrupt + 64. We need then to write x where: + // x + 0x80 + 64 (before) + 32 (length of corrupt) + 32 (first word of corrupt) = 0x80 (mod 2^256) + // that is MAX_UINT - 128 + MemoryUint memory afterCorrupt; + afterCorrupt.field = uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80); + before[0] = 123456; + uint[][2] memory decoded = abi.decode(corrupt, (uint[][2])); + return decoded[1][0]; + } +} +// ==== +// revertStrings: debug +// ---- +// test() -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding_2.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array_2.sol similarity index 56% rename from test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding_2.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array_2.sol index 0a874914a93d..78bf581f0948 100644 --- a/test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding_2.sol +++ b/test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array_2.sol @@ -6,23 +6,25 @@ contract Test { } function withinArray() public pure returns (uint) { uint[] memory before = new uint[](1); - bytes memory corrupt = abi.encode(uint(32), - uint(2)); + bytes memory corrupt = abi.encode( + uint(32), + uint(2) + ); MemoryTuple memory afterCorrupt; before[0] = 123456; - /* - As above, but in this case we are adding to: - 0x80 + 64 (before) + 32 (length of corrupt) + 32 (offset) + 32 (field pointer) - giving MAX_UINT - 96 - */ + + // As above, but in this case we are adding to: + // 0x80 + 64 (before) + 32 (length of corrupt) + 32 (offset) + 32 (field pointer) + // giving MAX_UINT - 96 afterCorrupt.field1 = uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60); afterCorrupt.field2 = uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60); uint[][] memory decoded = abi.decode(corrupt, (uint[][])); - /* - Will return 123456 * 2, AKA before has been copied twice - */ + + //Will return 123456 * 2, AKA before has been copied twice return decoded[0][0] + decoded[1][0]; } } +// ==== +// revertStrings: debug // ---- -// withinArray() -> FAILURE +// withinArray() -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding_3.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array_3.sol similarity index 60% rename from test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding_3.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array_3.sol index a20e9ae49fe1..4eb871c2a866 100644 --- a/test/libsolidity/semanticTests/abiEncodeDecode/offset_overflow_in_array_decoding_3.sol +++ b/test/libsolidity/semanticTests/abicoder/abi_decode_offset_overflow_in_array_3.sol @@ -6,10 +6,10 @@ contract Test { function test() public pure returns (uint) { uint[] memory before = new uint[](1); // at offset 0x80 bytes memory corrupt = abi.encode( - uint(32), - uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80), - uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80) - ); + uint(32), + uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80), + uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80) + ); MemoryUint memory afterCorrupt; afterCorrupt.field = uint(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80); before[0] = 123456; @@ -17,5 +17,7 @@ contract Test { return decoded[1][0]; } } +// ==== +// revertStrings: debug // ---- -// test() -> FAILURE +// test() -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray offset" diff --git a/test/libsolidity/semanticTests/abiEncoderV1/dynamic_memory_copy.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_overlapping_dynamic_arrays.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/dynamic_memory_copy.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_overlapping_dynamic_arrays.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_decode_simple.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_simple.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_decode_simple.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_simple.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_decode_simple_storage.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_simple_storage.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_decode_simple_storage.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_simple_storage.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/decode_slice.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_slice.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/decode_slice.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_slice.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_trivial.sol b/test/libsolidity/semanticTests/abicoder/abi_decode_trivial.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_decode_trivial.sol rename to test/libsolidity/semanticTests/abicoder/abi_decode_trivial.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode.sol b/test/libsolidity/semanticTests/abicoder/abi_encode.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_encode.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_call.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_call.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_encode_call.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_call.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_declaration.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_call_declaration_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_declaration.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_call_declaration_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_is_consistent.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_call_is_consistent_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_is_consistent.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_call_is_consistent_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_memory.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_call_memory_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_memory.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_call_memory_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_special_args.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_call_special_args_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_special_args.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_call_special_args_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_uint_bytes.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_call_uint_bytes.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call_uint_bytes.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_call_uint_bytes.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_call_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_call.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_call_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_calldata_slice.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_encode_calldata_slice.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_calldata_slice.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_decode_simple.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_decode_simple.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_encode_decode_simple.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_decode_simple.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_empty_string_v2.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_empty_string_not_bytes0.sol similarity index 88% rename from test/libsolidity/semanticTests/abiEncoderV2/abi_encode_empty_string_v2.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_empty_string_not_bytes0.sol index 849c24a91f3c..4b88c099b252 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_empty_string_v2.sol +++ b/test/libsolidity/semanticTests/abicoder/abi_encode_empty_string_not_bytes0.sol @@ -1,7 +1,5 @@ // Tests that this will not end up using a "bytes0" type // (which would assert) -pragma abicoder v2; - contract C { function f() public pure returns (bytes memory, bytes memory) { diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_empty_string.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_empty_string_v1.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_encode_empty_string.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_empty_string_v1.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/memory_dynamic_array_and_calldata_bytes.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_memory_dynamic_array_and_calldata_bytes_v1.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/memory_dynamic_array_and_calldata_bytes.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_memory_dynamic_array_and_calldata_bytes_v1.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_encode_rational.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_rational.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_encode_rational.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_rational.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/storage_array_encoding.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_storage_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/storage_array_encoding.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_storage_array_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_function_inherited_in_v1_contract.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_v2_in_function_inherited_in_v1_contract.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_function_inherited_in_v1_contract.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_v2_in_function_inherited_in_v1_contract.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_modifier_used_in_v1_contract.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_v2_in_modifier_used_in_v1_contract.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_modifier_used_in_v1_contract.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_v2_in_modifier_used_in_v1_contract.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_with_selector.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_with_selector_v1.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_with_selector.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_with_selector_v1.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_with_selectorv2.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_with_selector_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_with_selectorv2.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_with_selector_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_with_signature.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_with_signature_v1.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_with_signature.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_with_signature_v1.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_with_signaturev2.sol b/test/libsolidity/semanticTests/abicoder/abi_encode_with_signature_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/abi_encode_with_signaturev2.sol rename to test/libsolidity/semanticTests/abicoder/abi_encode_with_signature_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/abi_encoder_v2_head_overflow_with_static_array_cleanup_bug.sol b/test/libsolidity/semanticTests/abicoder/bug_abi_encoder_v2_head_overflow_with_static_array_cleanup.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/abi_encoder_v2_head_overflow_with_static_array_cleanup_bug.sol rename to test/libsolidity/semanticTests/abicoder/bug_abi_encoder_v2_head_overflow_with_static_array_cleanup.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/byte_arrays.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/byte_arrays.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/byte_arrays.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/byte_arrays.sol diff --git a/test/libsolidity/semanticTests/array/calldata_array_two_dimensional_1.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_2d_dynamic_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/array/calldata_array_two_dimensional_1.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_2d_dynamic_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/array/calldata_array_two_dimensional.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_2d_dynamic_static_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/array/calldata_array_two_dimensional.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_2d_dynamic_static_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/byte_arrays.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_bytes_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/byte_arrays.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_bytes_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_of_uint_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_of_uint_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_of_value_types_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_of_value_types_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_dynamic.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_static_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_dynamic.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_static_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_in_library.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_static_in_library_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_in_library.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_static_in_library_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_short_decode.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_static_short_decode_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_short_decode.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_static_short_decode_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_short_reencode.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_static_short_reencode_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_static_short_reencode.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_dynamic_static_short_reencode_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_function_types.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_function_types_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_function_types.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_function_types_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_array_access.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_1d_2d_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_array_access.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_1d_2d_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_three_dimensional_dynamic_array_index_access.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_3d_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_three_dimensional_dynamic_array_index_access.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_3d_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_array_three_dimensional.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_3d_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_array_three_dimensional.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_3d_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_array_dynamic_bytes.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_dynamic_bytes_v2.sol similarity index 96% rename from test/libsolidity/semanticTests/calldata/calldata_array_dynamic_bytes.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_dynamic_bytes_v2.sol index 932f19610207..d850d3812eac 100644 --- a/test/libsolidity/semanticTests/calldata/calldata_array_dynamic_bytes.sol +++ b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_dynamic_bytes_v2.sol @@ -63,10 +63,6 @@ contract C { } } -// via yul disabled because of stack issues. - -// ==== -// compileViaYul: false // ---- // f1(bytes[1]): 0x20, 0x20, 0x3, hex"0102030000000000000000000000000000000000000000000000000000000000" -> 0x3, 0x1, 0x2, 0x3 // f2(bytes[1],bytes[1]): 0x40, 0xa0, 0x20, 0x3, hex"0102030000000000000000000000000000000000000000000000000000000000", 0x20, 0x2, hex"0102000000000000000000000000000000000000000000000000000000000000" -> 0x3, 0x1, 0x2, 0x3, 0x2, 0x1, 0x2 diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_index_access.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_dynamic_index_access.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static_index_access.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_static_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static_index_access.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_indexing_static_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_array_length.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_length_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_array_length.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_length_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_multi_dynamic.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_multi_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_multi_dynamic.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_multi_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_array_index_range_access.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_slicing_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_array_index_range_access.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_slicing_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static_dynamic_static.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_static_dynamic_static_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static_dynamic_static.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_static_dynamic_static_v2.sol diff --git a/test/libsolidity/semanticTests/array/calldata_array.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_static_of_uint_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/array/calldata_array.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_static_of_uint_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_static_of_value_types_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_static.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_static_of_value_types_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_struct_dynamic.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_struct_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_struct_dynamic.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_struct_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/array/calldata_array_of_struct.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_struct_static_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/array/calldata_array_of_struct.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_struct_static_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_two_dynamic.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_two_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_two_dynamic.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_two_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_two_static.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_two_static_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_two_static.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_array_two_static_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/calldata_bytes_bytes32_arrays.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_bytes_bytes32_arrays_v1.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/calldata_bytes_bytes32_arrays.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_bytes_bytes32_arrays_v1.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_dynamic_array_to_memory.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_dynamic_array_to_memory_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_dynamic_array_to_memory.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_dynamic_array_to_memory_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_nested_array_reencode.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_nested_array_reencode_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_nested_array_reencode.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_nested_array_reencode_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_nested_array_static_reencode.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_nested_array_static_reencode_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_nested_array_static_reencode.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_nested_array_static_reencode_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_overlapped_dynamic_arrays.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_overlapping_dynamic_arrays_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_overlapped_dynamic_arrays.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_overlapping_dynamic_arrays_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_overlapped_nested_dynamic_arrays.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_overlapping_nested_dynamic_arrays_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_overlapped_nested_dynamic_arrays.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_overlapping_nested_dynamic_arrays_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_string_array.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_string_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_string_array.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_string_array_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_array_reencode.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_struct_array_reencode_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_array_reencode.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/calldata_struct_array_reencode_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_fixed_arrays.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_arrays_static.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/abi_decode_fixed_arrays.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_arrays_static.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/memory_dynamic_array_and_calldata_bytes.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_dynamic_array_and_calldata_bytes.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/memory_dynamic_array_and_calldata_bytes.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_dynamic_array_and_calldata_bytes.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/memory_dynamic_array_and_calldata_static_array.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_dynamic_array_and_calldata_static_array.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/memory_dynamic_array_and_calldata_static_array.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_dynamic_array_and_calldata_static_array.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/dynamic_arrays.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_dynamic_arrays.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/dynamic_arrays.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_dynamic_arrays.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/dynamic_nested_arrays.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_dynamic_nested_arrays_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/dynamic_nested_arrays.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_dynamic_nested_arrays_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/memory_params_in_external_function.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_params_in_external_function.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/memory_params_in_external_function.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/array/memory_params_in_external_function.sol diff --git a/test/libsolidity/semanticTests/calldata/copy_from_calldata_removes_bytes_data.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/copy_from_calldata_removes_bytes_data.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/copy_from_calldata_removes_bytes_data.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/copy_from_calldata_removes_bytes_data.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre2_struct.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/mediocre_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre2_struct.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/mediocre_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre_struct.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/mediocre_static_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/struct/mediocre_struct.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/mediocre_static_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/dynamically_encoded.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_array_dynamic2_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/dynamically_encoded.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_array_dynamic2_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member_dynamic.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_array_dynamic_multiple_fields_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member_dynamic.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_array_dynamic_multiple_fields_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_dynamic.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_array_dynamic_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_dynamic.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_array_dynamic_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_array_static_mulitple_fields_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_array_member.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_array_static_mulitple_fields_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_function.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_external_function_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/struct/struct_function.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_external_function_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_member_offset.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_offset_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_member_offset.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/member_offset_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_structs.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/multiple_structs_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_structs.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/multiple_structs_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_static_3_fields_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_static_3_fields_v2.sol diff --git a/test/libsolidity/semanticTests/various/nested_calldata_struct.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_static_4_fields_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/various/nested_calldata_struct.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_static_4_fields_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member_dynamic.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_with_bytes_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_struct_member_dynamic.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_with_bytes_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_nested_structs.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_with_dynamic_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_nested_structs.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_with_dynamic_array_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/dynamic_nested.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_with_dynamic_struct_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/dynamic_nested.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/nested_with_dynamic_struct_array_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_short.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/short_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/struct/struct_short.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/short_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_simple.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/simple_multiple_fields_short_types_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/struct/struct_simple.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/simple_multiple_fields_short_types_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/simple_multiple_fields_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/simple_multiple_fields_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_simple.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/simple_single_field_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_struct_simple.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/simple_single_field_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_and_ints.sol b/test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/struct_and_ints_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_and_ints.sol rename to test/libsolidity/semanticTests/abicoder/calldataDecoding/struct/struct_and_ints_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/address.sol b/test/libsolidity/semanticTests/abicoder/cleanup/address_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/address.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/address_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/bool_out_of_bounds.sol b/test/libsolidity/semanticTests/abicoder/cleanup/bool_v1.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/bool_out_of_bounds.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/bool_v1.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/bool_out_of_bounds.sol b/test/libsolidity/semanticTests/abicoder/cleanup/bool_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/bool_out_of_bounds.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/bool_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/bool.sol b/test/libsolidity/semanticTests/abicoder/cleanup/bool_with_sanity_check_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/bool.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/bool_with_sanity_check_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/bytesx.sol b/test/libsolidity/semanticTests/abicoder/cleanup/bytesx_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/bytesx.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/bytesx_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/cleanup/cleanup.sol b/test/libsolidity/semanticTests/abicoder/cleanup/cleanup_v1.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/cleanup/cleanup.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/cleanup_v1.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/cleanup.sol b/test/libsolidity/semanticTests/abicoder/cleanup/cleanup_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/cleanup.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/cleanup_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/dynamic_array.sol b/test/libsolidity/semanticTests/abicoder/cleanup/dynamic_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/dynamic_array.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/dynamic_array_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/enums.sol b/test/libsolidity/semanticTests/abicoder/cleanup/enum_v1.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/enums.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/enum_v1.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/enums.sol b/test/libsolidity/semanticTests/abicoder/cleanup/enum_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/enums.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/enum_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/function.sol b/test/libsolidity/semanticTests/abicoder/cleanup/function_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/function.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/function_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/intx.sol b/test/libsolidity/semanticTests/abicoder/cleanup/intx_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/intx.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/intx_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/reencoded_calldata_string.sol b/test/libsolidity/semanticTests/abicoder/cleanup/reencoded_calldata_string.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/reencoded_calldata_string.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/reencoded_calldata_string.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/static_array.sol b/test/libsolidity/semanticTests/abicoder/cleanup/static_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/static_array.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/static_array_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_struct_cleaning.sol b/test/libsolidity/semanticTests/abicoder/cleanup/struct2_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_struct_cleaning.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/struct2_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/simple_struct.sol b/test/libsolidity/semanticTests/abicoder/cleanup/struct_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/simple_struct.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/struct_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/cleanup/uintx.sol b/test/libsolidity/semanticTests/abicoder/cleanup/uintx_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/cleanup/uintx.sol rename to test/libsolidity/semanticTests/abicoder/cleanup/uintx_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/contract_array.sol b/test/libsolidity/semanticTests/abicoder/contract_array.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/contract_array.sol rename to test/libsolidity/semanticTests/abicoder/contract_array.sol diff --git a/test/libsolidity/semanticTests/abiEncodeDecode/contract_array_v2.sol b/test/libsolidity/semanticTests/abicoder/contract_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncodeDecode/contract_array_v2.sol rename to test/libsolidity/semanticTests/abicoder/contract_array_v2.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol b/test/libsolidity/semanticTests/abicoder/libraryABI/storage_ptr.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/struct/struct_storage_ptr.sol rename to test/libsolidity/semanticTests/abicoder/libraryABI/storage_ptr.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_advanced.sol b/test/libsolidity/semanticTests/abicoder/return_dynamic_types_cross_call_advanced.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_advanced.sol rename to test/libsolidity/semanticTests/abicoder/return_dynamic_types_cross_call_advanced.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_out_of_range_1.sol b/test/libsolidity/semanticTests/abicoder/return_dynamic_types_cross_call_out_of_range_homestead.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_out_of_range_1.sol rename to test/libsolidity/semanticTests/abicoder/return_dynamic_types_cross_call_out_of_range_homestead.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_out_of_range_2.sol b/test/libsolidity/semanticTests/abicoder/return_dynamic_types_cross_call_out_of_range_post_homestead.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_out_of_range_2.sol rename to test/libsolidity/semanticTests/abicoder/return_dynamic_types_cross_call_out_of_range_post_homestead.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_simple.sol b/test/libsolidity/semanticTests/abicoder/return_dynamic_types_cross_call_simple.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV1/return_dynamic_types_cross_call_simple.sol rename to test/libsolidity/semanticTests/abicoder/return_dynamic_types_cross_call_simple.sol diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_short_no_revert_string.sol b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_calldatasize_no_revert_string.sol similarity index 99% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_short_no_revert_string.sol rename to test/libsolidity/semanticTests/abicoder/validation/array_exceeds_calldatasize_no_revert_string.sol index 7fc08caafb04..f51c79ad3151 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_short_no_revert_string.sol +++ b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_calldatasize_no_revert_string.sol @@ -5,4 +5,3 @@ contract C { // f(uint256[]): 0x20, 0 -> // f(uint256[]): 0x20, 1 -> FAILURE // f(uint256[]): 0x20, 2 -> FAILURE - diff --git a/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_calldatasize_v1.sol b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_calldatasize_v1.sol new file mode 100644 index 000000000000..ba43942476d1 --- /dev/null +++ b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_calldatasize_v1.sol @@ -0,0 +1,13 @@ +pragma abicoder v1; + +contract C { + function f(uint[] calldata) public {} +} +// ==== +// ABIEncoderV1Only: true +// compileViaYul: false +// revertStrings: debug +// ---- +// f(uint256[]): 0x20, 0 -> +// f(uint256[]): 0x20, 1 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI calldata decoding: invalid d", "ata pointer" +// f(uint256[]): 0x20, 2 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI calldata decoding: invalid d", "ata pointer" diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_array_short.sol b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_calldatasize_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_array_short.sol rename to test/libsolidity/semanticTests/abicoder/validation/array_exceeds_calldatasize_v2.sol diff --git a/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_size_limit_for_calldata_types_v1.sol b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_size_limit_for_calldata_types_v1.sol new file mode 100644 index 000000000000..44eade500e52 --- /dev/null +++ b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_size_limit_for_calldata_types_v1.sol @@ -0,0 +1,13 @@ +pragma abicoder v1; + +contract C { + function f(uint a, uint[] calldata b, uint c) external pure returns (uint) { + return 7; + } +} +// ==== +// ABIEncoderV1Only: true +// compileViaYul: false +// revertStrings: debug +// ---- +// f(uint256,uint256[],uint256): 6, 0x60, 9, 0x8000000000000000000000000000000000000000000000000000000000000002, 1, 2 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI calldata decoding: invalid d", "ata pointer" diff --git a/test/libsolidity/semanticTests/abiEncoderV1/calldata_arrays_too_large.sol b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_size_limit_for_calldata_types_v2.sol similarity index 66% rename from test/libsolidity/semanticTests/abiEncoderV1/calldata_arrays_too_large.sol rename to test/libsolidity/semanticTests/abicoder/validation/array_exceeds_size_limit_for_calldata_types_v2.sol index 49bee94ea344..01573d614f90 100644 --- a/test/libsolidity/semanticTests/abiEncoderV1/calldata_arrays_too_large.sol +++ b/test/libsolidity/semanticTests/abicoder/validation/array_exceeds_size_limit_for_calldata_types_v2.sol @@ -1,7 +1,11 @@ +pragma abicoder v2; + contract C { function f(uint a, uint[] calldata b, uint c) external pure returns (uint) { return 7; } } +// ==== +// revertStrings: debug // ---- -// f(uint256,uint256[],uint256): 6, 0x60, 9, 0x8000000000000000000000000000000000000000000000000000000000000002, 1, 2 -> FAILURE +// f(uint256,uint256[],uint256): 6, 0x60, 9, 0x8000000000000000000000000000000000000000000000000000000000000002, 1, 2 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray length" diff --git a/test/libsolidity/semanticTests/array/calldata_array_dynamic_invalid_static_middle.sol b/test/libsolidity/semanticTests/abicoder/validation/calldata_array_dynamic_invalid_static_middle_v2.sol similarity index 56% rename from test/libsolidity/semanticTests/array/calldata_array_dynamic_invalid_static_middle.sol rename to test/libsolidity/semanticTests/abicoder/validation/calldata_array_dynamic_invalid_static_middle_v2.sol index 93470f1d22e2..117ea020aaec 100644 --- a/test/libsolidity/semanticTests/array/calldata_array_dynamic_invalid_static_middle.sol +++ b/test/libsolidity/semanticTests/abicoder/validation/calldata_array_dynamic_invalid_static_middle_v2.sol @@ -1,5 +1,4 @@ -pragma abicoder v2; - +pragma abicoder v2; contract C { function f(uint256[][1][] calldata a) external returns (uint256) { @@ -16,14 +15,16 @@ contract C { return 42; } } +// ==== +// revertStrings: debug // ---- // f(uint256[][1][]): 0x20, 0x0 -> 42 # valid access stub # -// f(uint256[][1][]): 0x20, 0x1 -> FAILURE # invalid on argument decoding # +// f(uint256[][1][]): 0x20, 0x1 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" # invalid on argument decoding # // f(uint256[][1][]): 0x20, 0x1, 0x20 -> 42 # invalid on outer access # -// g(uint256[][1][]): 0x20, 0x1, 0x20 -> FAILURE +// g(uint256[][1][]): 0x20, 0x1, 0x20 -> FAILURE, hex"08c379a0", 0x20, 0x1c, "Invalid calldata tail offset" // f(uint256[][1][]): 0x20, 0x1, 0x20, 0x20 -> 42 # invalid on inner access # // g(uint256[][1][]): 0x20, 0x1, 0x20, 0x20 -> 42 -// h(uint256[][1][]): 0x20, 0x1, 0x20, 0x20 -> FAILURE +// h(uint256[][1][]): 0x20, 0x1, 0x20, 0x20 -> FAILURE, hex"08c379a0", 0x20, 0x1c, "Invalid calldata tail offset" // f(uint256[][1][]): 0x20, 0x1, 0x20, 0x20, 0x1 -> 42 // g(uint256[][1][]): 0x20, 0x1, 0x20, 0x20, 0x1 -> 42 -// h(uint256[][1][]): 0x20, 0x1, 0x20, 0x20, 0x1 -> FAILURE +// h(uint256[][1][]): 0x20, 0x1, 0x20, 0x20, 0x1 -> FAILURE, hex"08c379a0", 0x20, 0x17, "Calldata tail too short" diff --git a/test/libsolidity/semanticTests/array/calldata_array_dynamic_invalid.sol b/test/libsolidity/semanticTests/abicoder/validation/calldata_array_dynamic_invalid_v2.sol similarity index 50% rename from test/libsolidity/semanticTests/array/calldata_array_dynamic_invalid.sol rename to test/libsolidity/semanticTests/abicoder/validation/calldata_array_dynamic_invalid_v2.sol index dc1d1c31a18b..e3fd7d6fc832 100644 --- a/test/libsolidity/semanticTests/array/calldata_array_dynamic_invalid.sol +++ b/test/libsolidity/semanticTests/abicoder/validation/calldata_array_dynamic_invalid_v2.sol @@ -1,5 +1,4 @@ -pragma abicoder v2; - +pragma abicoder v2; contract C { function f(uint256[][] calldata a) external returns (uint256) { @@ -11,10 +10,12 @@ contract C { return 42; } } +// ==== +// revertStrings: debug // ---- // f(uint256[][]): 0x20, 0x0 -> 42 # valid access stub # -// f(uint256[][]): 0x20, 0x1 -> FAILURE # invalid on argument decoding # +// f(uint256[][]): 0x20, 0x1 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" # invalid on argument decoding # // f(uint256[][]): 0x20, 0x1, 0x20 -> 42 # invalid on outer access # -// g(uint256[][]): 0x20, 0x1, 0x20 -> FAILURE +// g(uint256[][]): 0x20, 0x1, 0x20 -> FAILURE, hex"08c379a0", 0x20, 0x1c, "Invalid calldata tail offset" // f(uint256[][]): 0x20, 0x1, 0x20, 0x2, 0x42 -> 42 # invalid on inner access # -// g(uint256[][]): 0x20, 0x1, 0x20, 0x2, 0x42 -> FAILURE +// g(uint256[][]): 0x20, 0x1, 0x20, 0x2, 0x42 -> FAILURE, hex"08c379a0", 0x20, 0x17, "Calldata tail too short" diff --git a/test/libsolidity/semanticTests/abiEncoderV2/calldata_with_garbage.sol b/test/libsolidity/semanticTests/abicoder/validation/calldata_with_garbage_v2.sol similarity index 77% rename from test/libsolidity/semanticTests/abiEncoderV2/calldata_with_garbage.sol rename to test/libsolidity/semanticTests/abicoder/validation/calldata_with_garbage_v2.sol index 58f68b8cc268..3c759b00b023 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/calldata_with_garbage.sol +++ b/test/libsolidity/semanticTests/abicoder/validation/calldata_with_garbage_v2.sol @@ -39,28 +39,30 @@ contract C { return (a[which], b[0]); } } +// ==== +// revertStrings: debug // ---- // f_memory(uint256[]): 0x80, 9, 9, 9, 0 -> 0x20, 0 // f_memory(uint256[]): 0x80, 9, 9, 9, 1, 7 -> 0x20, 1, 7 -// f_memory(uint256[]): 0x80, 9, 9, 9, 2, 7 -> FAILURE +// f_memory(uint256[]): 0x80, 9, 9, 9, 2, 7 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" // f_encode(uint256[]): 0x80, 9, 9, 9, 0 -> 0x20, 0x40, 0x20, 0 // f_encode(uint256[]): 0x80, 9, 9, 9, 1, 7 -> 0x20, 0x60, 0x20, 1, 7 -// f_encode(uint256[]): 0x80, 9, 9, 9, 2, 7 -> FAILURE +// f_encode(uint256[]): 0x80, 9, 9, 9, 2, 7 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" // f_storage(uint256[]): 0x80, 9, 9, 9, 0 -> 0x20, 0x40, 0x20, 0 // f_storage(uint256[]): 0x80, 9, 9, 9, 1, 7 -> 0x20, 0x60, 0x20, 1, 7 -// f_storage(uint256[]): 0x80, 9, 9, 9, 2, 7 -> FAILURE +// f_storage(uint256[]): 0x80, 9, 9, 9, 2, 7 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" // f_index(uint256[],uint256): 0xa0, 0, 9, 9, 9, 2, 7, 8 -> 7 // f_index(uint256[],uint256): 0xa0, 1, 9, 9, 9, 2, 7, 8 -> 8 // f_index(uint256[],uint256): 0xa0, 2, 9, 9, 9, 2, 7, 8 -> FAILURE, hex"4e487b71", 0x32 // g_memory(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 0 -> 0x60, 1, 2, 0 // g_memory(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 1, 7 -> 0x60, 1, 2, 1, 7 -// g_memory(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 2, 7 -> FAILURE +// g_memory(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 2, 7 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" // g_encode(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 0 -> 0x20, 0x80, 0x60, 1, 2, 0 // g_encode(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 1, 7 -> 0x20, 0xa0, 0x60, 1, 2, 1, 7 -// g_encode(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 2, 7 -> FAILURE +// g_encode(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 2, 7 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" // g_storage(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 0 -> 0x20, 0x80, 0x60, 1, 2, 0 // g_storage(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 1, 7 -> 0x20, 0xa0, 0x60, 1, 2, 1, 7 -// g_storage(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 2, 7 -> FAILURE +// g_storage(uint256[],uint256[2]): 0xc0, 1, 2, 9, 9, 9, 2, 7 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" // g_index(uint256[],uint256[2],uint256): 0xe0, 1, 2, 0, 9, 9, 9, 2, 7, 8 -> 7, 1 // g_index(uint256[],uint256[2],uint256): 0xe0, 1, 2, 1, 9, 9, 9, 2, 7, 8 -> 8, 1 -// g_index(uint256[],uint256[2],uint256): 0xe0, 1, 2, 1, 9, 9, 9, 2, 7 -> FAILURE +// g_index(uint256[],uint256[2],uint256): 0xe0, 1, 2, 1, 9, 9, 9, 2, 7 -> FAILURE, hex"08c379a0", 0x20, 43, "ABI decoding: invalid calldata a", "rray stride" diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/validation_function_type_inside_struct.sol b/test/libsolidity/semanticTests/abicoder/validation/external_function_type_inside_struct_v2.sol similarity index 91% rename from test/libsolidity/semanticTests/abiEncoderV2/struct/validation_function_type_inside_struct.sol rename to test/libsolidity/semanticTests/abicoder/validation/external_function_type_inside_struct_v2.sol index 8a22b037f6de..d405711de964 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/struct/validation_function_type_inside_struct.sol +++ b/test/libsolidity/semanticTests/abicoder/validation/external_function_type_inside_struct_v2.sol @@ -1,4 +1,4 @@ -pragma abicoder v2; +pragma abicoder v2; contract C { struct S { function () external x; } @@ -6,6 +6,8 @@ contract C { function g(S calldata) external pure returns (uint r) { r = 2; } function h(S calldata s) external pure returns (uint r) { s.x; r = 3; } } +// ==== +// revertStrings: debug // ---- // f((function)): "01234567890123456789abcd" -> 1 // f((function)): "01234567890123456789abcdX" -> FAILURE diff --git a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_validation.sol b/test/libsolidity/semanticTests/abicoder/validation/static_struct_v2.sol similarity index 93% rename from test/libsolidity/semanticTests/abiEncoderV2/struct/struct_validation.sol rename to test/libsolidity/semanticTests/abicoder/validation/static_struct_v2.sol index 57e218f7d561..2197d3ed2155 100644 --- a/test/libsolidity/semanticTests/abiEncoderV2/struct/struct_validation.sol +++ b/test/libsolidity/semanticTests/abicoder/validation/static_struct_v2.sol @@ -1,4 +1,4 @@ -pragma abicoder v2; +pragma abicoder v2; contract C { struct S { int16 a; uint8 b; bytes2 c; } @@ -10,6 +10,8 @@ contract C { } } } +// ==== +// revertStrings: debug // ---- // f((int16,uint8,bytes2)): 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01, 0xff, "ab" -> 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01, 0xff, "ab" // f((int16,uint8,bytes2)): 0xff010, 0xff, "ab" -> FAILURE diff --git a/test/libsolidity/semanticTests/calldata/calldata_bytes_array_bounds.sol b/test/libsolidity/semanticTests/array/calldata_array_bounds_check_nested_bytes.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_bytes_array_bounds.sol rename to test/libsolidity/semanticTests/array/calldata_array_bounds_check_nested_bytes.sol diff --git a/test/libsolidity/semanticTests/array/calldata_bytes_array_bounds.sol b/test/libsolidity/semanticTests/array/calldata_bytes_array_bounds.sol deleted file mode 100644 index d6ff4679fe7f..000000000000 --- a/test/libsolidity/semanticTests/array/calldata_bytes_array_bounds.sol +++ /dev/null @@ -1,10 +0,0 @@ -pragma abicoder v2; -contract C { - function f(bytes[] calldata a, uint256 i) external returns (uint) { - return uint8(a[0][i]); - } -} -// ---- -// f(bytes[],uint256): 0x40, 0, 1, 0x20, 2, 0x6162000000000000000000000000000000000000000000000000000000000000 -> 0x61 -// f(bytes[],uint256): 0x40, 1, 1, 0x20, 2, 0x6162000000000000000000000000000000000000000000000000000000000000 -> 0x62 -// f(bytes[],uint256): 0x40, 2, 1, 0x20, 2, 0x6162000000000000000000000000000000000000000000000000000000000000 -> FAILURE, hex"4e487b71", 0x32 diff --git a/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_memory.sol b/test/libsolidity/semanticTests/array/copying/nested_array_calldata_to_memory.sol similarity index 100% rename from test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_memory.sol rename to test/libsolidity/semanticTests/array/copying/nested_array_calldata_to_memory.sol diff --git a/test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_storage.sol b/test/libsolidity/semanticTests/array/copying/nested_array_calldata_to_storage.sol similarity index 100% rename from test/libsolidity/semanticTests/array/copying/array_nested_calldata_to_storage.sol rename to test/libsolidity/semanticTests/array/copying/nested_array_calldata_to_storage.sol diff --git a/test/libsolidity/semanticTests/array/nested_calldata_storage2.sol b/test/libsolidity/semanticTests/array/copying/nested_array_dynamic_dynamic_calldata_to_storage.sol similarity index 100% rename from test/libsolidity/semanticTests/array/nested_calldata_storage2.sol rename to test/libsolidity/semanticTests/array/copying/nested_array_dynamic_dynamic_calldata_to_storage.sol diff --git a/test/libsolidity/semanticTests/array/nested_calldata_storage.sol b/test/libsolidity/semanticTests/array/copying/nested_array_dynamic_static_calldata_to_storage.sol similarity index 100% rename from test/libsolidity/semanticTests/array/nested_calldata_storage.sol rename to test/libsolidity/semanticTests/array/copying/nested_array_dynamic_static_calldata_to_storage.sol diff --git a/test/libsolidity/semanticTests/array/copying/array_nested_memory_to_storage.sol b/test/libsolidity/semanticTests/array/copying/nested_array_memory_to_storage.sol similarity index 100% rename from test/libsolidity/semanticTests/array/copying/array_nested_memory_to_storage.sol rename to test/libsolidity/semanticTests/array/copying/nested_array_memory_to_storage.sol diff --git a/test/libsolidity/semanticTests/array/copying/array_nested_storage_to_memory.sol b/test/libsolidity/semanticTests/array/copying/nested_array_storage_to_memory.sol similarity index 100% rename from test/libsolidity/semanticTests/array/copying/array_nested_storage_to_memory.sol rename to test/libsolidity/semanticTests/array/copying/nested_array_storage_to_memory.sol diff --git a/test/libsolidity/semanticTests/array/calldata_slice_access.sol b/test/libsolidity/semanticTests/array/slices/calldata_array_slicing.sol similarity index 100% rename from test/libsolidity/semanticTests/array/calldata_slice_access.sol rename to test/libsolidity/semanticTests/array/slices/calldata_array_slicing.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_bytes_to_memory.sol b/test/libsolidity/semanticTests/conversions/calldata_bytes_to_memory.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_bytes_to_memory.sol rename to test/libsolidity/semanticTests/conversions/calldata_bytes_to_memory.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_bytes_to_memory_encode.sol b/test/libsolidity/semanticTests/conversions/calldata_bytes_to_memory_reencode.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_bytes_to_memory_encode.sol rename to test/libsolidity/semanticTests/conversions/calldata_bytes_to_memory_reencode.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_memory_mixed.sol b/test/libsolidity/semanticTests/functionCall/calldata_and_memory_arguments.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_memory_mixed.sol rename to test/libsolidity/semanticTests/functionCall/calldata_and_memory_arguments.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_bytes_external.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_external_bytes.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_bytes_external.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_external_bytes.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_bytes_internal.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_bytes.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_bytes_internal.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_bytes.sol diff --git a/test/libsolidity/semanticTests/array/calldata_array_as_argument_internal_function.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_dynamic_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/array/calldata_array_as_argument_internal_function.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_dynamic_array_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_internal_library.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_library_bytes.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_internal_library.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_library_bytes.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_argument_of_lib_function.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_library_dynamic_struct_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_argument_of_lib_function.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_library_dynamic_struct_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_struct.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_library_static_struct_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_struct.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_library_static_struct_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_internal_multi_array.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_multi_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_internal_multi_array.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_multi_array_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_internal_multi_fixed_array.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_multi_static_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_internal_multi_fixed_array.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_multi_static_array_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_memory_argument.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_struct_as_memory_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_as_memory_argument.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_struct_as_memory_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_struct_internal.sol b/test/libsolidity/semanticTests/functionCall/calldata_argument_internal_struct_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_struct_internal.sol rename to test/libsolidity/semanticTests/functionCall/calldata_argument_internal_struct_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_internal_function_pointer.sol b/test/libsolidity/semanticTests/functionTypes/internal_function_pointer_with_calldata_args.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_internal_function_pointer.sol rename to test/libsolidity/semanticTests/functionTypes/internal_function_pointer_with_calldata_args.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_attached_to_dynamic_array_or_slice.sol b/test/libsolidity/semanticTests/libraries/attached_internal_library_function_accepting_calldata_dynamic_array_or_slice_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_attached_to_dynamic_array_or_slice.sol rename to test/libsolidity/semanticTests/libraries/attached_internal_library_function_accepting_calldata_dynamic_array_or_slice_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_attached_to_static_array.sol b/test/libsolidity/semanticTests/libraries/attached_internal_library_function_accepting_calldata_static_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_attached_to_static_array.sol rename to test/libsolidity/semanticTests/libraries/attached_internal_library_function_accepting_calldata_static_array_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_attached_to_struct.sol b/test/libsolidity/semanticTests/libraries/attached_internal_library_function_accepting_calldata_struct_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_attached_to_struct.sol rename to test/libsolidity/semanticTests/libraries/attached_internal_library_function_accepting_calldata_struct_v2.sol diff --git a/test/libsolidity/semanticTests/calldata/calldata_attached_to_bytes.sol b/test/libsolidity/semanticTests/libraries/attached_internal_library_function_accepting_calldata_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/calldata/calldata_attached_to_bytes.sol rename to test/libsolidity/semanticTests/libraries/attached_internal_library_function_accepting_calldata_v2.sol diff --git a/test/libsolidity/semanticTests/libraries/attached_public_library_function_accepting_calldata.sol.sol b/test/libsolidity/semanticTests/libraries/attached_public_library_function_accepting_calldata.sol similarity index 100% rename from test/libsolidity/semanticTests/libraries/attached_public_library_function_accepting_calldata.sol.sol rename to test/libsolidity/semanticTests/libraries/attached_public_library_function_accepting_calldata.sol diff --git a/test/libsolidity/semanticTests/various/nested_calldata_struct_to_memory.sol b/test/libsolidity/semanticTests/structs/copy_struct_with_nested_struct_from_calldata_to_memory.sol similarity index 100% rename from test/libsolidity/semanticTests/various/nested_calldata_struct_to_memory.sol rename to test/libsolidity/semanticTests/structs/copy_struct_with_nested_struct_from_calldata_to_memory.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_bytes_to_memory.sol b/test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_nested_bytes_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_bytes_to_memory.sol rename to test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_nested_bytes_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_memory.sol b/test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_nested_dynamic_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_memory.sol rename to test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_nested_dynamic_array_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_array_to_memory.sol b/test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_nested_static_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_array_to_memory.sol rename to test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_nested_static_array_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory_tuple_assignment.sol b/test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_tuple.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory_tuple_assignment.sol rename to test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_tuple.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory.sol b/test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_memory.sol rename to test/libsolidity/semanticTests/structs/struct_copy_calldata_to_memory_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_storage.sol b/test/libsolidity/semanticTests/structs/struct_copy_calldata_to_storage_nested_dynamic_array_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_with_nested_array_to_storage.sol rename to test/libsolidity/semanticTests/structs/struct_copy_calldata_to_storage_nested_dynamic_array_v2.sol diff --git a/test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_storage.sol b/test/libsolidity/semanticTests/structs/struct_copy_calldata_to_storage_v2.sol similarity index 100% rename from test/libsolidity/semanticTests/structs/calldata/calldata_struct_to_storage.sol rename to test/libsolidity/semanticTests/structs/struct_copy_calldata_to_storage_v2.sol