Use `gcc-dg-runtest' test driver rather than `dg-runtest' to run the Alpha testsuite as several targets already do. Add `-Og -g' and `-Oz' as well via ADDITIONAL_TORTURE_OPTIONS to expand coverage. Adjust test options across individual test cases accordingly where required.
Discard base-2.c, cix-2.c, and max-2.c test cases as they merely are optimization variants of base-1.c, cix-1.c, and max-1.c respectively, run at `-O2' rather than the default level (`-O0'), now covered by the framework with the latter ones in a generic way. Old test results: === gcc Summary === # of expected passes 44 vs new ones: === gcc Summary === # of expected passes 364 # of unsupported tests 5 gcc/testsuite/ * gcc.target/alpha/alpha.exp: Use `gcc-dg-runtest' rather than `dg-runtest'. Add `-Og -g' and `-Oz' variants via ADDITIONAL_TORTURE_OPTIONS. * gcc.target/alpha/20000715-1.c: Adjust test options accordingly. * gcc.target/alpha/20011018-1.c: Likewise. * gcc.target/alpha/980217-1.c: Likewise. * gcc.target/alpha/asm-1.c: Likewise. * gcc.target/alpha/pr105209.c: Likewise. * gcc.target/alpha/pr106966.c: Likewise. * gcc.target/alpha/pr115297.c: Likewise. * gcc.target/alpha/pr115526.c: Likewise. * gcc.target/alpha/pr19518.c: Likewise. * gcc.target/alpha/pr22093.c: Likewise. * gcc.target/alpha/pr24178.c: Likewise. * gcc.target/alpha/pr39740.c: Likewise. * gcc.target/alpha/pr42113.c: Likewise. * gcc.target/alpha/pr42269-1.c: Likewise. * gcc.target/alpha/pr42448-1.c: Likewise. * gcc.target/alpha/pr42448-2.c: Likewise. * gcc.target/alpha/pr42774.c: Likewise. * gcc.target/alpha/pr61586.c: Likewise. * gcc.target/alpha/pr66140.c: Likewise. * gcc.target/alpha/pr83628-1.c: Likewise. * gcc.target/alpha/pr83628-2.c: Likewise. * gcc.target/alpha/pr83628-3.c: Likewise. * gcc.target/alpha/pr86984.c: Likewise. * gcc.target/alpha/sqrt.c: Likewise. * gcc.target/alpha/base-2.c: Remove file. * gcc.target/alpha/cix-2.c: Remove file. * gcc.target/alpha/max-2.c: Remove file. --- gcc/testsuite/gcc.target/alpha/20000715-1.c | 2 +- gcc/testsuite/gcc.target/alpha/20011018-1.c | 2 +- gcc/testsuite/gcc.target/alpha/980217-1.c | 2 +- gcc/testsuite/gcc.target/alpha/alpha.exp | 4 +++- gcc/testsuite/gcc.target/alpha/asm-1.c | 2 +- gcc/testsuite/gcc.target/alpha/base-2.c | 5 ----- gcc/testsuite/gcc.target/alpha/cix-2.c | 5 ----- gcc/testsuite/gcc.target/alpha/max-2.c | 5 ----- gcc/testsuite/gcc.target/alpha/pr105209.c | 2 +- gcc/testsuite/gcc.target/alpha/pr106966.c | 2 +- gcc/testsuite/gcc.target/alpha/pr115297.c | 2 +- gcc/testsuite/gcc.target/alpha/pr115526.c | 2 +- gcc/testsuite/gcc.target/alpha/pr19518.c | 2 +- gcc/testsuite/gcc.target/alpha/pr22093.c | 2 +- gcc/testsuite/gcc.target/alpha/pr24178.c | 3 ++- gcc/testsuite/gcc.target/alpha/pr39740.c | 2 +- gcc/testsuite/gcc.target/alpha/pr42113.c | 2 +- gcc/testsuite/gcc.target/alpha/pr42269-1.c | 3 ++- gcc/testsuite/gcc.target/alpha/pr42448-1.c | 2 +- gcc/testsuite/gcc.target/alpha/pr42448-2.c | 2 +- gcc/testsuite/gcc.target/alpha/pr42774.c | 2 +- gcc/testsuite/gcc.target/alpha/pr61586.c | 2 +- gcc/testsuite/gcc.target/alpha/pr66140.c | 2 +- gcc/testsuite/gcc.target/alpha/pr83628-1.c | 3 ++- gcc/testsuite/gcc.target/alpha/pr83628-2.c | 3 ++- gcc/testsuite/gcc.target/alpha/pr83628-3.c | 3 ++- gcc/testsuite/gcc.target/alpha/pr86984.c | 2 +- gcc/testsuite/gcc.target/alpha/sqrt.c | 2 +- 28 files changed, 32 insertions(+), 40 deletions(-) gcc-test-alpha-gcc-dg-runtest.diff Index: gcc/gcc/testsuite/gcc.target/alpha/20000715-1.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/20000715-1.c +++ gcc/gcc/testsuite/gcc.target/alpha/20000715-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mieee" } */ +/* { dg-options "-mieee" } */ float foo(unsigned char n) { Index: gcc/gcc/testsuite/gcc.target/alpha/20011018-1.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/20011018-1.c +++ gcc/gcc/testsuite/gcc.target/alpha/20011018-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mieee" } */ +/* { dg-options "-mieee" } */ double foo (void); void bar (float, float); Index: gcc/gcc/testsuite/gcc.target/alpha/980217-1.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/980217-1.c +++ gcc/gcc/testsuite/gcc.target/alpha/980217-1.c @@ -1,7 +1,7 @@ /* Test float on alpha. */ /* { dg-do run } */ -/* { dg-options "-mieee -O2" } */ +/* { dg-options "-mieee" } */ extern void abort(void); extern int printf(const char *, ...); Index: gcc/gcc/testsuite/gcc.target/alpha/alpha.exp =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/alpha.exp +++ gcc/gcc/testsuite/gcc.target/alpha/alpha.exp @@ -21,6 +21,8 @@ if ![istarget alpha*-*-*] then { return } +lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz} + # Load support procs. load_lib gcc-dg.exp @@ -34,7 +36,7 @@ if ![info exists DEFAULT_CFLAGS] then { dg-init # Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ +gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ "" $DEFAULT_CFLAGS # All done. Index: gcc/gcc/testsuite/gcc.target/alpha/asm-1.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/asm-1.c +++ gcc/gcc/testsuite/gcc.target/alpha/asm-1.c @@ -2,7 +2,7 @@ hard register all the way through compilation. Example derived from glibc source. */ /* { dg-do compile } */ -/* { dg-options "-O2 -frename-registers -fcprop-registers" } */ +/* { dg-options "-frename-registers -fcprop-registers" } */ /* { dg-final { scan-assembler "callsys1 .0 .19 .0 .16 .17" } } */ /* { dg-final { scan-assembler "callsys2 .0 .19 .0 .16 .17" } } */ Index: gcc/gcc/testsuite/gcc.target/alpha/base-2.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/base-2.c +++ /dev/null @@ -1,5 +0,0 @@ -/* Test that alpha-base-1.c compiles with optimization. */ -/* { dg-do link } */ -/* { dg-options "-mcpu=ev4 -O2" } */ - -#include "base-1.c" Index: gcc/gcc/testsuite/gcc.target/alpha/cix-2.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/cix-2.c +++ /dev/null @@ -1,5 +0,0 @@ -/* Test that alpha-cix-1.c compiles with optimization. */ -/* { dg-do link } */ -/* { dg-options "-mcpu=ev67 -O2" } */ - -#include "cix-1.c" Index: gcc/gcc/testsuite/gcc.target/alpha/max-2.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/max-2.c +++ /dev/null @@ -1,5 +0,0 @@ -/* Test that alpha-max-1.c compiles with optimization. */ -/* { dg-do link } */ -/* { dg-options "-mcpu=pca56 -O2" } */ - -#include "max-1.c" Index: gcc/gcc/testsuite/gcc.target/alpha/pr105209.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr105209.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr105209.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftrapv -mcpu=ev4" } */ +/* { dg-options "-ftrapv -mcpu=ev4" } */ typedef struct tnode_t { struct tnode_t *tn_left, *tn_right; Index: gcc/gcc/testsuite/gcc.target/alpha/pr106966.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr106966.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr106966.c @@ -1,6 +1,6 @@ /* PR target/106906 */ /* { dg-do compile } */ -/* { dg-options "-O2 -mbuild-constants" } */ +/* { dg-options "-mbuild-constants" } */ void do_console (unsigned short *vga) Index: gcc/gcc/testsuite/gcc.target/alpha/pr115297.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr115297.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr115297.c @@ -1,6 +1,6 @@ /* PR target/115297 */ /* { dg-do compile } */ -/* { dg-options "-O1" } */ +/* { dg-options "" } */ enum { BPF_F_USER_BUILD_ID } __bpf_get_stack_size; long __bpf_get_stack_flags, bpf_get_stack___trans_tmp_2; Index: gcc/gcc/testsuite/gcc.target/alpha/pr115526.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr115526.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr115526.c @@ -1,6 +1,6 @@ /* PR target/115526 */ /* { dg-do assemble } */ -/* { dg-options "-O2 -Wno-attributes -fvisibility=hidden -fPIC -mcpu=ev4" } */ +/* { dg-options "-Wno-attributes -fvisibility=hidden -fPIC -mcpu=ev4" } */ struct _ts { struct _dtoa_state *interp; Index: gcc/gcc/testsuite/gcc.target/alpha/pr19518.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr19518.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr19518.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mcpu=ev67" } */ +/* { dg-options "-mcpu=ev67" } */ typedef short INT16; typedef unsigned int CARD32; Index: gcc/gcc/testsuite/gcc.target/alpha/pr22093.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr22093.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr22093.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "" } */ struct shared_ptr_struct { Index: gcc/gcc/testsuite/gcc.target/alpha/pr24178.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr24178.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr24178.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mcpu=ev4" } */ +/* { dg-options "-mcpu=ev4" } */ +/* { dg-skip-if "" { *-*-* } { "-O0" } } */ struct S { long l; Index: gcc/gcc/testsuite/gcc.target/alpha/pr39740.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr39740.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr39740.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -std=c99 -mexplicit-relocs" } */ +/* { dg-options "-std=c99 -mexplicit-relocs" } */ typedef int R_len_t; typedef unsigned int SEXPTYPE; Index: gcc/gcc/testsuite/gcc.target/alpha/pr42113.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr42113.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr42113.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "" } */ int foo (int a, int b) { Index: gcc/gcc/testsuite/gcc.target/alpha/pr42269-1.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr42269-1.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr42269-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "" } */ +/* { dg-skip-if "" { *-*-* } { "-O0" } } */ /* { dg-final { scan-assembler-not "addl" } } */ unsigned Index: gcc/gcc/testsuite/gcc.target/alpha/pr42448-1.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr42448-1.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr42448-1.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-mcpu=21064 -O0" } */ +/* { dg-options "-mcpu=21064" } */ extern void abort (void); Index: gcc/gcc/testsuite/gcc.target/alpha/pr42448-2.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr42448-2.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr42448-2.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-mcpu=21064 -O0" } */ +/* { dg-options "-mcpu=21064" } */ extern void abort (void); Index: gcc/gcc/testsuite/gcc.target/alpha/pr42774.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr42774.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr42774.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mcpu=ev4" } */ +/* { dg-options "-mcpu=ev4" } */ unsigned int ntfs_getinfo(void *p) { Index: gcc/gcc/testsuite/gcc.target/alpha/pr61586.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr61586.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr61586.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mieee" } */ +/* { dg-options "-mieee" } */ void foo (int *dimensions, double **params, int hh) { Index: gcc/gcc/testsuite/gcc.target/alpha/pr66140.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr66140.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr66140.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mcpu=ev4" } */ +/* { dg-options "-mcpu=ev4" } */ struct scsi_cmnd { int sc_data_direction; Index: gcc/gcc/testsuite/gcc.target/alpha/pr83628-1.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr83628-1.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr83628-1.c @@ -1,6 +1,7 @@ /* PR target/83628 */ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "" } */ +/* { dg-skip-if "" { *-*-* } { "-O0" } } */ typedef __SIZE_TYPE__ size_t; Index: gcc/gcc/testsuite/gcc.target/alpha/pr83628-2.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr83628-2.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr83628-2.c @@ -1,6 +1,7 @@ /* PR target/83628 */ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "" } */ +/* { dg-skip-if "" { *-*-* } { "-O0" } } */ int s4l (int a, int b) Index: gcc/gcc/testsuite/gcc.target/alpha/pr83628-3.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr83628-3.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr83628-3.c @@ -1,6 +1,7 @@ /* PR target/83628 */ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "" } */ +/* { dg-skip-if "" { *-*-* } { "-O0" } } */ int s4l (int a, int b) Index: gcc/gcc/testsuite/gcc.target/alpha/pr86984.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/pr86984.c +++ gcc/gcc/testsuite/gcc.target/alpha/pr86984.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -Wall -Wwrite-strings -Werror -fmerge-all-constants -fno-stack-protector -mieee -fdump-rtl-expand" } */ +/* { dg-options "-Wall -Wwrite-strings -Werror -fmerge-all-constants -fno-stack-protector -mieee -fdump-rtl-expand" } */ struct expression { unsigned long int num; Index: gcc/gcc/testsuite/gcc.target/alpha/sqrt.c =================================================================== --- gcc.orig/gcc/testsuite/gcc.target/alpha/sqrt.c +++ gcc/gcc/testsuite/gcc.target/alpha/sqrt.c @@ -2,7 +2,7 @@ When using software completions, we have to prevent assembler to match input and output operands of sqrtt/sqrtf insn. Fixed in glibc 2.26. */ /* { dg-do run } */ -/* { dg-options "-O2 -fno-builtin-sqrt -mieee" } */ +/* { dg-options "-fno-builtin-sqrt -mieee" } */ double sqrt (double);