[INFO] fetching crate ctr_etc1 0.1.0... [INFO] testing ctr_etc1-0.1.0 against master#1ddedbaa5919b7b3e70d984660e21e844c615c97 for pr-128400 [INFO] extracting crate ctr_etc1 0.1.0 into /workspace/builds/worker-2-tc1/source [INFO] validating manifest of crates.io crate ctr_etc1 0.1.0 on toolchain 1ddedbaa5919b7b3e70d984660e21e844c615c97 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate ctr_etc1 0.1.0 [INFO] finished tweaking crates.io crate ctr_etc1 0.1.0 [INFO] tweaked toml for crates.io crate ctr_etc1 0.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 2 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e5d41aeb868db8158158db48795c12147b2df2e0f2f9ee3ca0faa6e03858d16b [INFO] running `Command { std: "docker" "start" "-a" "e5d41aeb868db8158158db48795c12147b2df2e0f2f9ee3ca0faa6e03858d16b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e5d41aeb868db8158158db48795c12147b2df2e0f2f9ee3ca0faa6e03858d16b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e5d41aeb868db8158158db48795c12147b2df2e0f2f9ee3ca0faa6e03858d16b", kill_on_drop: false }` [INFO] [stdout] e5d41aeb868db8158158db48795c12147b2df2e0f2f9ee3ca0faa6e03858d16b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f839dd964154da9a2cc02112e6fef7e3d337f3b019ca4514ae66061d0b0a1a91 [INFO] running `Command { std: "docker" "start" "-a" "f839dd964154da9a2cc02112e6fef7e3d337f3b019ca4514ae66061d0b0a1a91", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.1.7 [INFO] [stderr] Compiling ctr_etc1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:22: warning: ignoring '#pragma warning ' [-Wunknown-pragmas] [INFO] [stderr] warning: ctr_etc1@0.1.0: 22 | #pragma warning (disable: 4201) // nonstandard extension used : nameless struct/union [INFO] [stderr] warning: ctr_etc1@0.1.0: | [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint rg_etc1::etc1_decode_value(rg_etc1::uint, rg_etc1::uint, rg_etc1::uint, rg_etc1::uint)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1883:42: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 1883 | const uint limit = diff ? 32 : 16; limit; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint64 rg_etc1::pack_etc1_block_solid_color(rg_etc1::etc1_block&, const uint8*, rg_etc1::etc1_pack_params&)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1945:7: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 1945 | pack_params; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint rg_etc1::pack_etc1_block_solid_color_constrained(rg_etc1::etc1_optimizer::results&, rg_etc1::uint, const uint8*, rg_etc1::etc1_pack_params&, bool, const rg_etc1::color_quad_u8*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2037:7: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2037 | pack_params; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'void rg_etc1::dither_block_555(rg_etc1::color_quad_u8*, const rg_etc1::color_quad_u8*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2150:13: warning: 'void* memset(void*, int, size_t)' writing to an object of type 'struct rg_etc1::color_quad_u8' with no trivial copy-assignment [-Wclass-memaccess] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2150 | memset(dest, 0xFF, sizeof(color_quad_u8)*16); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:57:11: note: 'struct rg_etc1::color_quad_u8' declared here [INFO] [stderr] warning: ctr_etc1@0.1.0: 57 | struct color_quad_u8 [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'unsigned int rg_etc1::pack_etc1_block(void*, const unsigned int*, rg_etc1::etc1_pack_params&)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2256:25: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct rg_etc1::color_quad_u8' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2256 | memcpy(subblock_pixels, pSrc_pixels + subblock * 8, sizeof(color_quad_u8) * 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:57:11: note: 'struct rg_etc1::color_quad_u8' declared here [INFO] [stderr] warning: ctr_etc1@0.1.0: 57 | struct color_quad_u8 [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: In file included from etc1_encoder/src/rg_etc1.cpp:18: [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2367:94: warning: suggest parentheses around '&&' within '||' [-Wparentheses] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2367 | RG_ETC1_ASSERT(best_use_color4 || (rg_etc1::minimum(dr, dg, db) >= cETC1ColorDeltaMin) && (rg_etc1::maximum(dr, dg, db) <= cETC1ColorDeltaMax)); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2367:7: note: in expansion of macro 'RG_ETC1_ASSERT' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2367 | RG_ETC1_ASSERT(best_use_color4 || (rg_etc1::minimum(dr, dg, db) >= cETC1ColorDeltaMin) && (rg_etc1::maximum(dr, dg, db) <= cETC1ColorDeltaMax)); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2377:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2377 | if (dr < 0) dr += 8; dst_block.m_bytes[0] = static_cast((best_results[0].m_block_color_unscaled.r << 3) | dr); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2377:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2377 | if (dr < 0) dr += 8; dst_block.m_bytes[0] = static_cast((best_results[0].m_block_color_unscaled.r << 3) | dr); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2378:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2378 | if (dg < 0) dg += 8; dst_block.m_bytes[1] = static_cast((best_results[0].m_block_color_unscaled.g << 3) | dg); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2378:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2378 | if (dg < 0) dg += 8; dst_block.m_bytes[1] = static_cast((best_results[0].m_block_color_unscaled.g << 3) | dg); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2379:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2379 | if (db < 0) db += 8; dst_block.m_bytes[2] = static_cast((best_results[0].m_block_color_unscaled.b << 3) | db); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2379:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2379 | if (db < 0) db += 8; dst_block.m_bytes[2] = static_cast((best_results[0].m_block_color_unscaled.b << 3) | db); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: In file included from etc1_encoder/src/rg_etc1.cpp:18: [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In instantiation of 'T* rg_etc1::indirect_radix_sort(rg_etc1::uint, T*, T*, const Q*, rg_etc1::uint, rg_etc1::uint, bool) [with T = unsigned int; Q = short unsigned int; rg_etc1::uint = unsigned int]': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1654:54: required from here [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:750:31: warning: comparison of unsigned expression in '>= 0' is always true [-Wtype-limits] [INFO] [stderr] warning: ctr_etc1@0.1.0: 750 | RG_ETC1_ASSERT((key_ofs >= 0) && (key_ofs < sizeof(T))); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~~~~^~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:750:7: note: in expansion of macro 'RG_ETC1_ASSERT' [INFO] [stderr] warning: ctr_etc1@0.1.0: 750 | RG_ETC1_ASSERT((key_ofs >= 0) && (key_ofs < sizeof(T))); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp: In function 'void encodeETC1Block(int, int, const uint8_t*, uint8_t*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:65:30: error: 'memcpy' is not a member of 'std'; did you mean 'wmemcpy'? [INFO] [stderr] warning: ctr_etc1@0.1.0: 65 | std::memcpy(ptrOut, &block, 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: | wmemcpy [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:70:25: error: '_byteswap_uint64' was not declared in this scope [INFO] [stderr] warning: ctr_etc1@0.1.0: 70 | block = _byteswap_uint64(block); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:71:22: error: 'memcpy' is not a member of 'std'; did you mean 'wmemcpy'? [INFO] [stderr] warning: ctr_etc1@0.1.0: 71 | std::memcpy(ptrOut, &block, 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: | wmemcpy [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.19s [INFO] running `Command { std: "docker" "inspect" "f839dd964154da9a2cc02112e6fef7e3d337f3b019ca4514ae66061d0b0a1a91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f839dd964154da9a2cc02112e6fef7e3d337f3b019ca4514ae66061d0b0a1a91", kill_on_drop: false }` [INFO] [stdout] f839dd964154da9a2cc02112e6fef7e3d337f3b019ca4514ae66061d0b0a1a91 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5ed61b9de5612f9796ec3be3bb8129236bb1fa41b6e6655901df356782159707 [INFO] running `Command { std: "docker" "start" "-a" "5ed61b9de5612f9796ec3be3bb8129236bb1fa41b6e6655901df356782159707", kill_on_drop: false }` [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:22: warning: ignoring '#pragma warning ' [-Wunknown-pragmas] [INFO] [stderr] warning: ctr_etc1@0.1.0: 22 | #pragma warning (disable: 4201) // nonstandard extension used : nameless struct/union [INFO] [stderr] warning: ctr_etc1@0.1.0: | [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint rg_etc1::etc1_decode_value(rg_etc1::uint, rg_etc1::uint, rg_etc1::uint, rg_etc1::uint)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1883:42: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 1883 | const uint limit = diff ? 32 : 16; limit; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint64 rg_etc1::pack_etc1_block_solid_color(rg_etc1::etc1_block&, const uint8*, rg_etc1::etc1_pack_params&)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1945:7: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 1945 | pack_params; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint rg_etc1::pack_etc1_block_solid_color_constrained(rg_etc1::etc1_optimizer::results&, rg_etc1::uint, const uint8*, rg_etc1::etc1_pack_params&, bool, const rg_etc1::color_quad_u8*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2037:7: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2037 | pack_params; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'void rg_etc1::dither_block_555(rg_etc1::color_quad_u8*, const rg_etc1::color_quad_u8*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2150:13: warning: 'void* memset(void*, int, size_t)' writing to an object of type 'struct rg_etc1::color_quad_u8' with no trivial copy-assignment [-Wclass-memaccess] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2150 | memset(dest, 0xFF, sizeof(color_quad_u8)*16); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:57:11: note: 'struct rg_etc1::color_quad_u8' declared here [INFO] [stderr] warning: ctr_etc1@0.1.0: 57 | struct color_quad_u8 [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'unsigned int rg_etc1::pack_etc1_block(void*, const unsigned int*, rg_etc1::etc1_pack_params&)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2256:25: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct rg_etc1::color_quad_u8' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2256 | memcpy(subblock_pixels, pSrc_pixels + subblock * 8, sizeof(color_quad_u8) * 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:57:11: note: 'struct rg_etc1::color_quad_u8' declared here [INFO] [stderr] warning: ctr_etc1@0.1.0: 57 | struct color_quad_u8 [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: In file included from etc1_encoder/src/rg_etc1.cpp:18: [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2367:94: warning: suggest parentheses around '&&' within '||' [-Wparentheses] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2367 | RG_ETC1_ASSERT(best_use_color4 || (rg_etc1::minimum(dr, dg, db) >= cETC1ColorDeltaMin) && (rg_etc1::maximum(dr, dg, db) <= cETC1ColorDeltaMax)); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2367:7: note: in expansion of macro 'RG_ETC1_ASSERT' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2367 | RG_ETC1_ASSERT(best_use_color4 || (rg_etc1::minimum(dr, dg, db) >= cETC1ColorDeltaMin) && (rg_etc1::maximum(dr, dg, db) <= cETC1ColorDeltaMax)); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2377:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2377 | if (dr < 0) dr += 8; dst_block.m_bytes[0] = static_cast((best_results[0].m_block_color_unscaled.r << 3) | dr); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2377:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2377 | if (dr < 0) dr += 8; dst_block.m_bytes[0] = static_cast((best_results[0].m_block_color_unscaled.r << 3) | dr); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2378:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2378 | if (dg < 0) dg += 8; dst_block.m_bytes[1] = static_cast((best_results[0].m_block_color_unscaled.g << 3) | dg); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2378:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2378 | if (dg < 0) dg += 8; dst_block.m_bytes[1] = static_cast((best_results[0].m_block_color_unscaled.g << 3) | dg); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2379:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2379 | if (db < 0) db += 8; dst_block.m_bytes[2] = static_cast((best_results[0].m_block_color_unscaled.b << 3) | db); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2379:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2379 | if (db < 0) db += 8; dst_block.m_bytes[2] = static_cast((best_results[0].m_block_color_unscaled.b << 3) | db); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: In file included from etc1_encoder/src/rg_etc1.cpp:18: [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In instantiation of 'T* rg_etc1::indirect_radix_sort(rg_etc1::uint, T*, T*, const Q*, rg_etc1::uint, rg_etc1::uint, bool) [with T = unsigned int; Q = short unsigned int; rg_etc1::uint = unsigned int]': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1654:54: required from here [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:750:31: warning: comparison of unsigned expression in '>= 0' is always true [-Wtype-limits] [INFO] [stderr] warning: ctr_etc1@0.1.0: 750 | RG_ETC1_ASSERT((key_ofs >= 0) && (key_ofs < sizeof(T))); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~~~~^~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:750:7: note: in expansion of macro 'RG_ETC1_ASSERT' [INFO] [stderr] warning: ctr_etc1@0.1.0: 750 | RG_ETC1_ASSERT((key_ofs >= 0) && (key_ofs < sizeof(T))); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp: In function 'void encodeETC1Block(int, int, const uint8_t*, uint8_t*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:65:30: error: 'memcpy' is not a member of 'std'; did you mean 'wmemcpy'? [INFO] [stderr] warning: ctr_etc1@0.1.0: 65 | std::memcpy(ptrOut, &block, 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: | wmemcpy [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:70:25: error: '_byteswap_uint64' was not declared in this scope [INFO] [stderr] warning: ctr_etc1@0.1.0: 70 | block = _byteswap_uint64(block); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:71:22: error: 'memcpy' is not a member of 'std'; did you mean 'wmemcpy'? [INFO] [stderr] warning: ctr_etc1@0.1.0: 71 | std::memcpy(ptrOut, &block, 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: | wmemcpy [INFO] [stderr] Compiling ctr_etc1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustct7oGaR/symbols.o" "/opt/rustwide/target/debug/deps/ctr_etc1-16d8828ca6a83166.ctr_etc1.22d52ba3844a1f85-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/ctr_etc1-16d8828ca6a83166.cyor82x1ujfwo0tdu41l2bghz.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/workdir/etc1_encoder/lib/release/" "-L" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,--whole-archive" "-letc1_encoder" "-Wl,--no-whole-archive" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-d2aabef62695c36a.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-85ffb1adee1b6de7.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-47c1d1c97d43fb9c.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-767d58143f86b11a.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-9506e3738f23e7c7.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-0e87bdc388165b9b.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-28d2ee21ffecbcd0.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-4cd64c3d9fc2560b.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-a1fedeceba4cc892.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-0b8915cbc76cd410.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-fec2ce82fc5b17fa.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fdb02324b55b2840.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-db981ef273c68b12.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2c4968ed4cb29e9c.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-661cdd70a5b83118.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9cbb3bfdc8e63ca5.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-a4c5ad4392a26401.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-9409cd7d030362b9.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7b90a2705bcf265b.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-80d2f129fb536a6f.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-7586cb84705120bb.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/opt/rustwide/rustup-home/toolchains/1ddedbaa5919b7b3e70d984660e21e844c615c97/lib/rustlib/x86_64-unknown-linux-gnu/lib/self-contained" "-o" "/opt/rustwide/target/debug/deps/ctr_etc1-16d8828ca6a83166" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: rust-lld: error: /opt/rustwide/workdir/etc1_encoder/lib/release/libetc1_encoder.a(C:\Users\King\Downloads\Test\bindings\target\release\build\test-e198fae0ff031c3c\out\src\cpp\etc1_encoder.o): not an ELF file [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] The following warnings were emitted during compilation: [INFO] [stderr] [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:22: warning: ignoring '#pragma warning ' [-Wunknown-pragmas] [INFO] [stderr] warning: ctr_etc1@0.1.0: 22 | #pragma warning (disable: 4201) // nonstandard extension used : nameless struct/union [INFO] [stderr] warning: ctr_etc1@0.1.0: | [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint rg_etc1::etc1_decode_value(rg_etc1::uint, rg_etc1::uint, rg_etc1::uint, rg_etc1::uint)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1883:42: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 1883 | const uint limit = diff ? 32 : 16; limit; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint64 rg_etc1::pack_etc1_block_solid_color(rg_etc1::etc1_block&, const uint8*, rg_etc1::etc1_pack_params&)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1945:7: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 1945 | pack_params; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'rg_etc1::uint rg_etc1::pack_etc1_block_solid_color_constrained(rg_etc1::etc1_optimizer::results&, rg_etc1::uint, const uint8*, rg_etc1::etc1_pack_params&, bool, const rg_etc1::color_quad_u8*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2037:7: warning: statement has no effect [-Wunused-value] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2037 | pack_params; [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'void rg_etc1::dither_block_555(rg_etc1::color_quad_u8*, const rg_etc1::color_quad_u8*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2150:13: warning: 'void* memset(void*, int, size_t)' writing to an object of type 'struct rg_etc1::color_quad_u8' with no trivial copy-assignment [-Wclass-memaccess] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2150 | memset(dest, 0xFF, sizeof(color_quad_u8)*16); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:57:11: note: 'struct rg_etc1::color_quad_u8' declared here [INFO] [stderr] warning: ctr_etc1@0.1.0: 57 | struct color_quad_u8 [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In function 'unsigned int rg_etc1::pack_etc1_block(void*, const unsigned int*, rg_etc1::etc1_pack_params&)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2256:25: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct rg_etc1::color_quad_u8' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2256 | memcpy(subblock_pixels, pSrc_pixels + subblock * 8, sizeof(color_quad_u8) * 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:57:11: note: 'struct rg_etc1::color_quad_u8' declared here [INFO] [stderr] warning: ctr_etc1@0.1.0: 57 | struct color_quad_u8 [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: In file included from etc1_encoder/src/rg_etc1.cpp:18: [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2367:94: warning: suggest parentheses around '&&' within '||' [-Wparentheses] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2367 | RG_ETC1_ASSERT(best_use_color4 || (rg_etc1::minimum(dr, dg, db) >= cETC1ColorDeltaMin) && (rg_etc1::maximum(dr, dg, db) <= cETC1ColorDeltaMax)); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2367:7: note: in expansion of macro 'RG_ETC1_ASSERT' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2367 | RG_ETC1_ASSERT(best_use_color4 || (rg_etc1::minimum(dr, dg, db) >= cETC1ColorDeltaMin) && (rg_etc1::maximum(dr, dg, db) <= cETC1ColorDeltaMax)); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2377:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2377 | if (dr < 0) dr += 8; dst_block.m_bytes[0] = static_cast((best_results[0].m_block_color_unscaled.r << 3) | dr); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2377:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2377 | if (dr < 0) dr += 8; dst_block.m_bytes[0] = static_cast((best_results[0].m_block_color_unscaled.r << 3) | dr); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2378:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2378 | if (dg < 0) dg += 8; dst_block.m_bytes[1] = static_cast((best_results[0].m_block_color_unscaled.g << 3) | dg); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2378:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2378 | if (dg < 0) dg += 8; dst_block.m_bytes[1] = static_cast((best_results[0].m_block_color_unscaled.g << 3) | dg); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2379:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation] [INFO] [stderr] warning: ctr_etc1@0.1.0: 2379 | if (db < 0) db += 8; dst_block.m_bytes[2] = static_cast((best_results[0].m_block_color_unscaled.b << 3) | db); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:2379:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' [INFO] [stderr] warning: ctr_etc1@0.1.0: 2379 | if (db < 0) db += 8; dst_block.m_bytes[2] = static_cast((best_results[0].m_block_color_unscaled.b << 3) | db); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: In file included from etc1_encoder/src/rg_etc1.cpp:18: [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp: In instantiation of 'T* rg_etc1::indirect_radix_sort(rg_etc1::uint, T*, T*, const Q*, rg_etc1::uint, rg_etc1::uint, bool) [with T = unsigned int; Q = short unsigned int; rg_etc1::uint = unsigned int]': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:1654:54: required from here [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:750:31: warning: comparison of unsigned expression in '>= 0' is always true [-Wtype-limits] [INFO] [stderr] warning: ctr_etc1@0.1.0: 750 | RG_ETC1_ASSERT((key_ofs >= 0) && (key_ofs < sizeof(T))); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ~~~~~~~~~^~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/rg_etc1.cpp:750:7: note: in expansion of macro 'RG_ETC1_ASSERT' [INFO] [stderr] warning: ctr_etc1@0.1.0: 750 | RG_ETC1_ASSERT((key_ofs >= 0) && (key_ofs < sizeof(T))); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp: In function 'void encodeETC1Block(int, int, const uint8_t*, uint8_t*)': [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:65:30: error: 'memcpy' is not a member of 'std'; did you mean 'wmemcpy'? [INFO] [stderr] warning: ctr_etc1@0.1.0: 65 | std::memcpy(ptrOut, &block, 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: | wmemcpy [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:70:25: error: '_byteswap_uint64' was not declared in this scope [INFO] [stderr] warning: ctr_etc1@0.1.0: 70 | block = _byteswap_uint64(block); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: etc1_encoder/src/etc1_encoder.cpp:71:22: error: 'memcpy' is not a member of 'std'; did you mean 'wmemcpy'? [INFO] [stderr] warning: ctr_etc1@0.1.0: 71 | std::memcpy(ptrOut, &block, 8); [INFO] [stderr] warning: ctr_etc1@0.1.0: | ^~~~~~ [INFO] [stderr] warning: ctr_etc1@0.1.0: | wmemcpy [INFO] [stderr] [INFO] [stderr] error: could not compile `ctr_etc1` (lib test) due to 2 previous errors [INFO] running `Command { std: "docker" "inspect" "5ed61b9de5612f9796ec3be3bb8129236bb1fa41b6e6655901df356782159707", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5ed61b9de5612f9796ec3be3bb8129236bb1fa41b6e6655901df356782159707", kill_on_drop: false }` [INFO] [stdout] 5ed61b9de5612f9796ec3be3bb8129236bb1fa41b6e6655901df356782159707