This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: testsuite: missing or wrong dg-* directives?


On 01/14/13 00:10, Manfred Schwarb wrote:
Am 13.01.2013 21:30, schrieb Harald Anlauf:
On 01/12/13 22:02, Mikael Morin wrote:
Le 08/01/2013 22:32, Harald Anlauf a écrit :
On 12/28/12 21:49, Harald Anlauf wrote:
Hello all,

is there a default directive that is assumed when the testsuite is
run?

Running an "fgrep -L" on the fortran testsuite, I found several files
that are missing either dg-do compile or run.

I also found a funny typo in gomp/appendix-a/a.11.2.f90
! { do-do compile }


There are several other oddities: d_g-final, braces have to be separated by spaces.

Looking at the generated dump, tt appears that the occurence of "d_g-final" is just some left-over junk and can be removed safely, see below. Maybe the author (Tobias B.) knows?

Not sure about the double braces in lto, I guess they act simply as
single braces.

class_array_10.f03:! { dg-do compile}
coarray_lib_token_4.f90:! { d_g-final { scan-tree-dump-times "bar
\\(&parm.\[0-9\]+, caf_token.\[0-9\]+, \\(\\(integer\\(kind=.\\)
parm.\[0-9\]+.data - \\(integer\\(kind=.\\)\\) x.\[0-9\]+\\) \\+
caf_offset.\[0-9\]+\\);" 1 "original" } }
continuation_9.f90:! { dg-warning "not allowed by itself in line 3" ""
{target "*-*-*"} 0 }
continuation_9.f90:! { dg-warning "not allowed by itself in line 4" ""
{target "*-*-*"} 0 }
continuation_9.f90:! { dg-warning "not allowed by itself in line 5" ""
{target "*-*-*"} 0 }
extends_11.f03:! { dg-final { scan-tree-dump-times "
+recruit\\.service\\.education\\.person\\.ss =" 8 "original"} }
lto/20091016-1_0.f90:! { dg-lto-options {{-flto -g -fPIC -r -nostdlib}
{-O -flto -g -fPIC -r -nostdlib}} }
lto/20100110-1_0.f90:! { dg-lto-options {{ -O1 -flto }} }
lto/pr41521_0.f90:! { dg-lto-options {{-g -flto} {-g -O -flto}} }
lto/pr46036_0.f90:! { dg-lto-options {{ -O -flto -ftree-vectorize }} }
lto/pr46629_0.f90:! { dg-lto-options {{ -O2 -flto -ftree-vectorize
-march=x86-64 }} { target i?86-*-* x86_64-*-* } }
lto/pr46629_0.f90:! { dg-lto-options {{ -O2 -flto -ftree-vectorize }} }
lto/pr46911_0.f:! { dg-lto-options {{ -O2 -flto -g }} }
lto/pr47839_0.f90:! { dg-lto-options {{ -g -flto }} }
move_alloc_13.f90:! { dg-do run}
structure_constructor_11.f90:! { dg-do run}
tab_continuation.f:! { dg-warning "Nonconforming tab character in column
1 of line 10" "Nonconforming tab" {target "*-*-*"} 0 }
tab_continuation.f:! { dg-warning "Nonconforming tab character in column
1 of line 11" "Nonconforming tab" {target "*-*-*"} 0 }
tab_continuation.f:! { dg-warning "Nonconforming tab character in column
1 of line 8" "Nonconforming tab" {target "*-*-*"} 0 }
tab_continuation.f:! { dg-warning "Nonconforming tab character in column
1 of line 9" "Nonconforming tab" {target "*-*-*"} 0 }
vect/vect-2.f90:! { dg-final { scan-tree-dump-times "Alignment of access
forced using versioning." 3 "vect" {target { vect_no_align || { { !
vector_alignment_reachable  } && { ! vect_hw_misalign } } } } } }
vect/vect-3.f90:! { dg-final { scan-tree-dump-times "Alignment of access
forced using peeling" 1 "vect" { xfail { vect_no_align || {!
vector_alignment_reachable}} } } }
vect/vect-3.f90:! { dg-final { scan-tree-dump-times "Alignment of access
forced using versioning" 1 "vect" { target { {! vect_no_align} && { {!
vector_alignment_reachable} && {! vect_hw_misalign} } } } } }
vect/vect-3.f90:! { dg-final { scan-tree-dump-times "Vectorizing an
unaligned access" 1 "vect" { xfail { { vect_no_align } || { !
vector_alignment_reachable} } } } }
vect/vect-3.f90:! { dg-final { scan-tree-dump-times "Vectorizing an
unaligned access" 2 "vect" { target { {! vect_no_align} && { {!
vector_alignment_reachable} && {! vect_hw_misalign} } } } } }
vect/vect-4.f90:! { dg-final { scan-tree-dump-times "Alignment of access
forced using peeling" 1 "vect" { xfail { { vect_no_align } || {!
vector_alignment_reachable} } } } }
vect/vect-4.f90:! { dg-final { scan-tree-dump-times "Vectorizing an
unaligned access" 1 "vect" { xfail { { vect_no_align } || {!
vector_alignment_reachable} } } } }
vect/vect-4.f90:! { dg-final { scan-tree-dump-times "Vectorizing an
unaligned access" 2 "vect" { target { {! vector_alignment_reachable} &&
{! vect_hw_misalign} } } } }
vect/vect-5.f90:! { dg-final { scan-tree-dump-times "Alignment of access
forced using peeling" 1 "vect" { xfail { vect_no_align || {!
vector_alignment_reachable} } } } }
vect/vect-5.f90:! { dg-final { scan-tree-dump-times "Alignment of access
forced using versioning." 1 "vect" { target { {!
vector_alignment_reachable} && {! vect_hw_misalign} } } } }
warning-directive-2.F90:! { dg-message "some warnings being treated as
errors" "" {target "*-*-*"} 0 }


cheers, Manfred


Attached there is a partial patch for the obvious parts, plus other missed cases (missing options). No failures, just a few more passes from the fixed dg-do run's.

2013-01-14  Manfred Schwarb  <manfred99@gmx.ch>
	    Harald Anlauf  <anlauf@gmx.de>

	* gfortran.dg/bounds_check_4.f90: Add dg-options "-fbounds-check".
	* gfortran.dg/bounds_check_5.f90: Likewise.
	* gfortran.dg/class_array_10.f03: Fix syntax of dg-directive.
	* gfortran.dg/continuation_9.f90: Likewise.
	* gfortran.dg/move_alloc_13.f90: Likewise.
	* gfortran.dg/structure_constructor_11.f90: Likewise.
	* gfortran.dg/tab_continuation.f: Likewise.
	* gfortran.dg/warning-directive-2.F90: Likewise.
	* gfortran.dg/coarray_lib_token_4.f90: Remove misspelled directive.

Harald
Index: gcc/testsuite/gfortran.dg/tab_continuation.f
===================================================================
--- gcc/testsuite/gfortran.dg/tab_continuation.f	(revision 195171)
+++ gcc/testsuite/gfortran.dg/tab_continuation.f	(working copy)
@@ -9,7 +9,7 @@
 	INTEGER NAXIS(0:MAPMAX,LUMIN:LUMAX),NAXIS1(0:MAPMAX,LUMIN:LUMAX),
 	1NAXIS2(0:MAPMAX,LUMIN:LUMAX),NAXIS3(0:MAPMAX,LUMIN:LUMAX)
 	end
-! { dg-warning "Nonconforming tab character in column 1 of line 8" "Nonconforming tab" {target "*-*-*"} 0 }
-! { dg-warning "Nonconforming tab character in column 1 of line 9" "Nonconforming tab" {target "*-*-*"} 0 }
-! { dg-warning "Nonconforming tab character in column 1 of line 10" "Nonconforming tab" {target "*-*-*"} 0 }
-! { dg-warning "Nonconforming tab character in column 1 of line 11" "Nonconforming tab" {target "*-*-*"} 0 }
+! { dg-warning "Nonconforming tab character in column 1 of line 8" "Nonconforming tab" { target *-*-* } 0 }
+! { dg-warning "Nonconforming tab character in column 1 of line 9" "Nonconforming tab" { target *-*-* } 0 }
+! { dg-warning "Nonconforming tab character in column 1 of line 10" "Nonconforming tab" { target *-*-* } 0 }
+! { dg-warning "Nonconforming tab character in column 1 of line 11" "Nonconforming tab" { target *-*-* } 0 }
Index: gcc/testsuite/gfortran.dg/bounds_check_4.f90
===================================================================
--- gcc/testsuite/gfortran.dg/bounds_check_4.f90	(revision 195171)
+++ gcc/testsuite/gfortran.dg/bounds_check_4.f90	(working copy)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-options "-fbounds-check" }
 subroutine foo(n,x)
   implicit none
   integer, intent(in) :: n
Index: gcc/testsuite/gfortran.dg/class_array_10.f03
===================================================================
--- gcc/testsuite/gfortran.dg/class_array_10.f03	(revision 195171)
+++ gcc/testsuite/gfortran.dg/class_array_10.f03	(working copy)
@@ -1,4 +1,4 @@
-! { dg-do compile}
+! { dg-do compile }
 !
 ! PR fortran/41587
 ! This program was leading to an ICE related to class allocatable arrays
Index: gcc/testsuite/gfortran.dg/continuation_9.f90
===================================================================
--- gcc/testsuite/gfortran.dg/continuation_9.f90	(revision 195171)
+++ gcc/testsuite/gfortran.dg/continuation_9.f90	(working copy)
@@ -4,6 +4,6 @@
 &
  &
 end
-! { dg-warning "not allowed by itself in line 3" "" {target "*-*-*"} 0 }
-! { dg-warning "not allowed by itself in line 4" "" {target "*-*-*"} 0 }
-! { dg-warning "not allowed by itself in line 5" "" {target "*-*-*"} 0 }
+! { dg-warning "not allowed by itself in line 3" "" { target *-*-* } 0 }
+! { dg-warning "not allowed by itself in line 4" "" { target *-*-* } 0 }
+! { dg-warning "not allowed by itself in line 5" "" { target *-*-* } 0 }
Index: gcc/testsuite/gfortran.dg/coarray_lib_token_4.f90
===================================================================
--- gcc/testsuite/gfortran.dg/coarray_lib_token_4.f90	(revision 195171)
+++ gcc/testsuite/gfortran.dg/coarray_lib_token_4.f90	(working copy)
@@ -40,7 +40,6 @@
 ! { dg-final { scan-tree-dump-times "foo \\(struct array2_integer\\(kind=4\\) & restrict x, struct array2_integer\\(kind=4\\) & restrict y, integer\\(kind=4\\) & restrict test, void . restrict caf_token.\[0-9\]+, integer\\(kind=.\\) caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer\\(kind=.\\) caf_offset.\[0-9\]+\\)" 1 "original" } }
 !
 ! { dg-final { scan-tree-dump-times "bar \\(&parm.\[0-9\]+, caf_token.\[0-9\]+, \\(\\(integer\\(kind=.\\)\\) parm.\[0-9\]+.data - \\(integer\\(kind=.\\)\\) x.\[0-9\]+\\) \\+ caf_offset.\[0-9\]+\\);" 1 "original" } }
-! { d_g-final { scan-tree-dump-times "bar \\(&parm.\[0-9\]+, caf_token.\[0-9\]+, \\(\\(integer\\(kind=.\\) parm.\[0-9\]+.data - \\(integer\\(kind=.\\)\\) x.\[0-9\]+\\) \\+ caf_offset.\[0-9\]+\\);" 1 "original" } }
 !
 ! { dg-final { scan-tree-dump-times "expl \\(\\(integer\\(kind=4\\).0:. .\\) parm.\[0-9\]+.data, caf_token.\[0-9\]+, \\(\\(integer\\(kind=.\\)\\) parm.\[0-9\]+.data - \\(\\(integer\\(kind=.\\)\\) y.\[0-9\]+\\) \\+ caf_offset.\[0-9\]+\\);" 0 "original" } }
 !
Index: gcc/testsuite/gfortran.dg/warning-directive-2.F90
===================================================================
--- gcc/testsuite/gfortran.dg/warning-directive-2.F90	(revision 195171)
+++ gcc/testsuite/gfortran.dg/warning-directive-2.F90	(working copy)
@@ -1,5 +1,5 @@
 ! { dg-do preprocess }
 ! { dg-options "-std=f95 -fdiagnostics-show-option -Werror=cpp" }
-! { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } 
+! { dg-message "some warnings being treated as errors" "" { target *-*-* } 0 } 
 #warning "Printed"
 ! { dg-error "\"Printed\" .-Werror=cpp." "" { target *-*-* } 4 }
Index: gcc/testsuite/gfortran.dg/bounds_check_5.f90
===================================================================
--- gcc/testsuite/gfortran.dg/bounds_check_5.f90	(revision 195171)
+++ gcc/testsuite/gfortran.dg/bounds_check_5.f90	(working copy)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-options "-fbounds-check" }
 ! This tests the fix for PR30190, in which the array reference
 ! in the associated statement would cause a segfault.
 !
Index: gcc/testsuite/gfortran.dg/move_alloc_13.f90
===================================================================
--- gcc/testsuite/gfortran.dg/move_alloc_13.f90	(revision 195171)
+++ gcc/testsuite/gfortran.dg/move_alloc_13.f90	(working copy)
@@ -1,4 +1,4 @@
-! { dg-do run}
+! { dg-do run }
 !
 ! PR fortran/51970
 ! PR fortran/51977
Index: gcc/testsuite/gfortran.dg/structure_constructor_11.f90
===================================================================
--- gcc/testsuite/gfortran.dg/structure_constructor_11.f90	(revision 195171)
+++ gcc/testsuite/gfortran.dg/structure_constructor_11.f90	(working copy)
@@ -1,4 +1,4 @@
-! { dg-do run}
+! { dg-do run }
 ! { dg-options "-fdump-tree-original" }
 !
 ! PR fortran/54603

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]