]> git.ipfire.org Git - people/ms/gcc.git/commit
testsuite: Add -mbig-endian stdint.h requirement
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 8 Apr 2021 16:39:11 +0000 (17:39 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 8 Apr 2021 16:39:11 +0000 (17:39 +0100)
commit09ef422fadce393300ce84d2f8c8331a344de2ef
tree90bd38c71e67f62a22515116d8d42b23fd98926c
parent5240c5ca2e2b1f362670791df233c4103d87cf5b
testsuite: Add -mbig-endian stdint.h requirement

Some AArch64 tests force -mbig-endian and indirectly include stdint.h.
However, not all OSes support both endiannesses, leading to:

FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c   -O0  (test for excess errors)
UNRESOLVED: gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c   -O1   check-function-bodies test_vget_high_bf16
UNRESOLVED: gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c   -O1   check-function-bodies test_vget_low_bf16

etc.  This patch adds an (admittedly special-purpose) target
selector for this.

gcc/
* doc/sourcebuild.texi (stdint_types_mbig_endian): Document.

gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_stdint_types_mbig_endian): New proc.
* gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c: Require
stdint_types_mbig_endian.
* gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: Likewise.
gcc/doc/sourcebuild.texi
gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c
gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c
gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c
gcc/testsuite/lib/target-supports.exp