testsuite: Tweak check-function-bodies interface
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 17 Mar 2020 15:26:22 +0000 (15:26 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 9 Apr 2020 12:01:26 +0000 (13:01 +0100)
commit7ed2d6cbd094871a0dd23f2d433b962d5f462936
treeb6f46ebc5cf129ed060e2b62f7412d8bd7faf750
parentbb40460646ce4e6ad27a2f6795106d004d405314
testsuite: Tweak check-function-bodies interface

In g:2171a9207f51bc486ed9c502cb4da706f594615e I'd tried to fix
various ILP32 testsuite failures by restricting some tests to LP64.
Unfortunately, I messed up the check-function-bodies syntax and passed
the target selector as the "option" parameter, which had the effect of
disabling the tests for both ILP32 and LP64.

The fix ought to have been to add "" as the option parameter.  However,
check-function-bodies wasn't treating "" in the same way as an omitted
argument.  The easiest fix seemed to be turn the argument into a list of
options, which also makes the interface a bit more general.

Having done that, it seemed a good idea to check for things that look
like target/xfail selectors, so that the mistake isn't silent next time.

2020-04-09  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* doc/sourcebuild.texi (check-function-bodies): Treat the third
parameter as a list of option regexps and require each regexp
to match.

gcc/testsuite/
* lib/scanasm.exp (check-function-bodies): Treat the third
parameter as a list of option regexps and require each regexp
to match.  Check for cases in which a target/xfail selector
was mistakenly passed to the options argument.
* gcc.target/aarch64/sve/pcs/args_1.c: Add an empty options list
to the invocation of check-function-bodies.
* gcc.target/aarch64/sve/pcs/args_2.c: Likewise.
* gcc.target/aarch64/sve/pcs/args_3.c: Likewise.
* gcc.target/aarch64/sve/pcs/args_4.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_1.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_1_1024.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_1_128.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_1_2048.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_1_256.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_1_512.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_2.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_3.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_4.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_4_1024.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_4_128.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_4_2048.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_4_256.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_4_512.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_5.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_5_1024.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_5_128.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_5_2048.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_5_256.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_5_512.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_6.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_6_1024.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_6_128.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_6_2048.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_6_256.c: Likewise.
* gcc.target/aarch64/sve/pcs/return_6_512.c: Likewise.
* gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c: Likewise.
* gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c: Likewise.
* gcc.target/aarch64/sve/pcs/saves_2_le_nowrap.c: Likewise.
* gcc.target/aarch64/sve/pcs/saves_2_le_wrap.c: Likewise.
* gcc.target/aarch64/sve/pcs/saves_3.c: Likewise.
* gcc.target/aarch64/sve/pcs/saves_4_be.c: Likewise.
* gcc.target/aarch64/sve/pcs/saves_4_le.c: Likewise.
* gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_1.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_f16.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_f32.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_f64.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_s16.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_s32.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_s64.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_s8.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_u16.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_u32.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_u64.c: Likewise.
* gcc.target/aarch64/sve/pcs/varargs_2_u8.c: Likewise.
54 files changed:
gcc/ChangeLog
gcc/doc/sourcebuild.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/sve/pcs/args_1.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/args_2.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/args_3.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/args_4.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_1.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_1_1024.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_1_128.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_1_2048.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_1_256.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_1_512.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_2.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_3.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_4.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_4_1024.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_4_128.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_4_2048.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_4_256.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_4_512.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_5.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_5_1024.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_5_128.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_5_2048.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_5_256.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_5_512.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_6.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_6_1024.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_6_128.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_6_2048.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_6_256.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/return_6_512.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_le_nowrap.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_le_wrap.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_3.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_4_be.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_4_le.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_128.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_1.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_f16.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_f32.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_f64.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_s16.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_s32.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_s64.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_s8.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_u16.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_u32.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_u64.c
gcc/testsuite/gcc.target/aarch64/sve/pcs/varargs_2_u8.c
gcc/testsuite/lib/scanasm.exp