In non-multilib installations system headers may not be available for compilation options using a non-default model, causing build errors such as:
In file included from .../include/features.h:527, from .../include/assert.h:35, from .../gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-template.h:2, from .../gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c:4: .../include/gnu/stubs.h:11:11: fatal error: gnu/stubs-ilp32d.h: No such file or directory Therefore we have to be very cautious when trying to use a non-default model in the testsuite, preferably avoiding to rely on headers that have not been supplied by GCC itself, or otherwise verifying in a preparatory step whether the given model is buildable in a given test environment. In this case however we can easily avoid the issue, because <assert.h> facilities are not used at all by "vmv-imm-template.h", which includes the header. Remove the inclusion then, turning these issues: FAIL: gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c -O3 -ftree-vectorize (test for excess errors) UNRESOLVED: gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c -O3 -ftree-vectorize scan-assembler-times vmv.v.i 32 UNRESOLVED: gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c -O3 -ftree-vectorize scan-assembler-times vmv.v.x 8 FAIL: gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c -O3 -ftree-vectorize (test for excess errors) UNRESOLVED: gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c -O3 -ftree-vectorize scan-assembler-times vmv.v.i 32 UNRESOLVED: gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c -O3 -ftree-vectorize scan-assembler-times vmv.v.x 8 into successful results: PASS: gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c -O3 -ftree-vectorize (test for excess errors) PASS: gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c -O3 -ftree-vectorize scan-assembler-times vmv.v.i 32 PASS: gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c -O3 -ftree-vectorize scan-assembler-times vmv.v.x 8 PASS: gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c -O3 -ftree-vectorize (test for excess errors) PASS: gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c -O3 -ftree-vectorize scan-assembler-times vmv.v.i 32 PASS: gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c -O3 -ftree-vectorize scan-assembler-times vmv.v.x 8 in a plain LP64 `riscv64-linux-gnu' configuration. gcc/testsuite/ * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: Remove <assert.h> inclusion. --- gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-template.h | 1 - 1 file changed, 1 deletion(-) gcc-test-riscv-rvv-assert.diff Index: gcc/gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-template.h =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-template.h +++ gcc/gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-template.h @@ -1,5 +1,4 @@ #include <stdint-gcc.h> -#include <assert.h> #define VMV_POS(TYPE,VAL) \ __attribute__ ((noipa)) \