Message ID | 000201cd842c$0ceda220$26c8e660$@guo@arm.com |
---|---|
State | New |
Headers | show |
On Aug 27, 2012, at 1:14 AM, Terry Guo wrote: > This patch intends to provide a chance to prune common warning messages for > tests defined in an exp file. > Is it OK to trunk? Ok. If you can find where to document this... :-) That'd be nice.
Hi Mike, Is it ok to document this feature in README.gcc? Is it ok to back port this feature to 4.7 branch? Thanks. BR, Terry > -----Original Message----- > From: Terry Guo [mailto:terry.guo@arm.com] > Sent: Thursday, August 30, 2012 10:45 AM > To: 'Mike Stump' > Cc: gcc-patches@gcc.gnu.org; Richard Guenther > Subject: RE: [Patch, test] Enable to prune warnings for tests defined > in one exp file > > > -----Original Message----- > > From: Mike Stump [mailto:mikestump@comcast.net] > > Sent: Tuesday, August 28, 2012 1:21 AM > > To: Terry Guo > > Cc: gcc-patches@gcc.gnu.org; Richard Guenther > > Subject: Re: [Patch, test] Enable to prune warnings for tests defined > > in one exp file > > > > On Aug 27, 2012, at 1:14 AM, Terry Guo wrote: > > > This patch intends to provide a chance to prune common warning > > messages for > > > tests defined in an exp file. > > > > > Is it OK to trunk? > > > > Ok. > > > > If you can find where to document this... :-) That'd be nice. > > > > I checked the texi files in gcc/doc folder, but can't find a suitable > place. So I resort to README.gcc in gcc/testsuite which is claimed to > list notes for those writing testcases and those writing expect scripts. > Following is the patch. Is it OK? > > BR, > Terry > > 2012-08-30 Terry Guo <terry.guo@arm.com> > > * README.gcc: Document new variable dg_runtest_extra_prunes. > > Index: gcc/testsuite/README.gcc > =================================================================== > --- gcc/testsuite/README.gcc (revision 190795) > +++ gcc/testsuite/README.gcc (working copy) > @@ -79,6 +79,11 @@ > > If a test does not fit into the torture framework, use the dg > framework. > > +If some tests in an exp file need to skip same warning messages, just > define > +variable dg_runtest_extra_prunes in this exp file and let it contain > this warning > +message pattern. This can avoid duplicating dg-prune in these cases. > +Always remember to clear this variable when leave this exp file. > + > > > Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc.
On Sep 3, 2012, at 11:05 PM, Terry Guo <terry.guo@arm.com> wrote: > Is it ok to document this feature in README.gcc? Sure. I was almost hoping someone had a pointer to a wiki page that had new bits... > Is it ok to back port this feature to 4.7 branch? Ok.
diff --git a/gcc/testsuite/gcc.target/arm/arm.exp b/gcc/testsuite/gcc.target/arm/arm.exp index 0838d37..3a62b24 100644 --- a/gcc/testsuite/gcc.target/arm/arm.exp +++ b/gcc/testsuite/gcc.target/arm/arm.exp @@ -30,6 +30,11 @@ if ![info exists DEFAULT_CFLAGS] then { set DEFAULT_CFLAGS " -ansi -pedantic-errors" } +# This variable should only apply to tests called in this exp file. +global dg_runtest_extra_prunes +set dg_runtest_extra_prunes "" +lappend dg_runtest_extra_prunes "warning: switch -m(cpu|arch)=.* conflicts with -m(cpu|arch)=.* switch" + # Initialize `dg'. dg-init @@ -38,4 +43,5 @@ dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \ "" $DEFAULT_CFLAGS # All done. +set dg_runtest_extra_prunes "" dg-finish diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index 3bff8b4..825c2f6 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -211,9 +211,13 @@ proc gcc-dg-test { prog do_what extra_tool_flags } { proc gcc-dg-prune { system text } { global additional_prunes + # Extra prune rules that will apply to tests defined in a .exp file. + # Always remember to clear it in .exp file after executed all tests. + global dg_runtest_extra_prunes + set text [prune_gcc_output $text] - foreach p $additional_prunes { + foreach p "$additional_prunes $dg_runtest_extra_prunes" { if { [string length $p] > 0 } { # Following regexp matches a complete line containing $p. regsub -all "(^|\n)\[^\n\]*$p\[^\n\]*" $text "" text @@ -809,3 +813,4 @@ proc gdb-exists { args } { } set additional_prunes "" +set dg_runtest_extra_prunes ""