From 873b45326f189c671f0f0a655d677b636d3c2a14 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Sun, 15 Jul 2018 07:57:58 +0000 Subject: [PATCH] [testsuite/guality] Run guality tests with Og We advertise Og as the optimization level of choice for the standard edit-compile-debug cycle, but do not run the guality tests for Og with the default torture options. This patch ensures that we test -Og in the guality tests. F.i., for gcc.dg/guality there are 45 fails for Og (while there are none for O1), in these test-cases: ... gcc.dg/guality/pr54200.c gcc.dg/guality/pr54970.c gcc.dg/guality/pr56154-1.c gcc.dg/guality/pr59776.c gcc.dg/guality/sra-1.c ... 2018-07-15 Tom de Vries * lib/gcc-gdb-test.exp (guality_minimal_options): New proc. * g++.dg/guality/guality.exp: Ensure Og is part of torture options. * gcc.dg/guality/guality.exp: Same. * gfortran.dg/guality/guality.exp: Same. From-SVN: r262666 --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/g++.dg/guality/guality.exp | 9 +++++++++ gcc/testsuite/gcc.dg/guality/guality.exp | 3 ++- gcc/testsuite/gfortran.dg/guality/guality.exp | 5 +++++ gcc/testsuite/lib/gcc-gdb-test.exp | 14 ++++++++++++++ 5 files changed, 37 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b1976429711..54834e99470 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2018-07-15 Tom de Vries + + * lib/gcc-gdb-test.exp (guality_minimal_options): New proc. + * g++.dg/guality/guality.exp: Ensure Og is part of torture options. + * gcc.dg/guality/guality.exp: Same. + * gfortran.dg/guality/guality.exp: Same. + 2018-07-13 H.J. Lu Sunil K Pandey diff --git a/gcc/testsuite/g++.dg/guality/guality.exp b/gcc/testsuite/g++.dg/guality/guality.exp index 4be22baa19c..757b20b61e2 100644 --- a/gcc/testsuite/g++.dg/guality/guality.exp +++ b/gcc/testsuite/g++.dg/guality/guality.exp @@ -48,6 +48,14 @@ if ![info exists ::env(GUALITY_GDB_NAME)] { } report_gdb $::env(GUALITY_GDB_NAME) [info script] +global DG_TORTURE_OPTIONS LTO_TORTURE_OPTIONS +set guality_dg_torture_options [guality_minimal_options $DG_TORTURE_OPTIONS] +torture-init +set-torture-options \ + $guality_dg_torture_options \ + [list {}] \ + $LTO_TORTURE_OPTIONS + if {[check_guality " #include \"$srcdir/$subdir/guality.h\" volatile long int varl = 6; @@ -65,4 +73,5 @@ if [info exists guality_gdb_name] { unsetenv GUALITY_GDB_NAME } +torture-finish dg-finish diff --git a/gcc/testsuite/gcc.dg/guality/guality.exp b/gcc/testsuite/gcc.dg/guality/guality.exp index d9994341477..ca77a446f86 100644 --- a/gcc/testsuite/gcc.dg/guality/guality.exp +++ b/gcc/testsuite/gcc.dg/guality/guality.exp @@ -62,7 +62,8 @@ proc guality_transform_options { args } { } global DG_TORTURE_OPTIONS -set guality_dg_torture_options [guality_transform_options $DG_TORTURE_OPTIONS] +set guality_dg_torture_options [guality_minimal_options $DG_TORTURE_OPTIONS] +set guality_dg_torture_options [guality_transform_options $guality_dg_torture_options] set guality_lto_torture_options [guality_transform_options $LTO_TORTURE_OPTIONS] torture-init set-torture-options \ diff --git a/gcc/testsuite/gfortran.dg/guality/guality.exp b/gcc/testsuite/gfortran.dg/guality/guality.exp index f76347dd52f..dad6e4d8f66 100644 --- a/gcc/testsuite/gfortran.dg/guality/guality.exp +++ b/gcc/testsuite/gfortran.dg/guality/guality.exp @@ -29,10 +29,15 @@ if ![info exists ::env(GUALITY_GDB_NAME)] { } report_gdb $::env(GUALITY_GDB_NAME) [info script] +global DG_TORTURE_OPTIONS +set save_dg_torture_options $DG_TORTURE_OPTIONS +set DG_TORTURE_OPTIONS [guality_minimal_options $DG_TORTURE_OPTIONS] + gfortran-dg-runtest [lsort [glob $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ]] "" "" if [info exists guality_gdb_name] { unsetenv GUALITY_GDB_NAME } +set DG_TORTURE_OPTIONS save_dg_torture_options dg-finish diff --git a/gcc/testsuite/lib/gcc-gdb-test.exp b/gcc/testsuite/lib/gcc-gdb-test.exp index bb966d43023..b13d3ec7f85 100644 --- a/gcc/testsuite/lib/gcc-gdb-test.exp +++ b/gcc/testsuite/lib/gcc-gdb-test.exp @@ -166,3 +166,17 @@ proc report_gdb { gdb loc } { } send_log -- "---\n$gdb_version\n---\n" } + +# Argument 0 is the option list. +# Return the option list, ensuring that at least -Og is present. + +proc guality_minimal_options { args } { + set options [lindex $args 0] + foreach opt $options { + if { [regexp -- "-Og" $opt] } { + return $options + } + } + + return [lappend options "-Og"] +} -- 2.30.2