Patchwork v3 testsuite PATCH to avoid dg-excess-errors

login
register
mail settings
Submitter Jason Merrill
Date June 10, 2011, 3:45 a.m.
Message ID <4DF19363.6030309@redhat.com>
Download mbox | patch
Permalink /patch/99827/
State New
Headers show

Comments

Jason Merrill - June 10, 2011, 3:45 a.m.
dg-excess-errors is a very large hammer that is rarely what you want to 
use.  To filter out certain messages, it is better to use 
dg-prune-output.  So this patch removes most of the dg-excess-errors 
from the v3 testsuite, replacing some with dg-prune-output, but most 
need no replacement.

Doing this revealed that the bind/ref_neg.cc test was broken; the 
dg-error tags were missing a space before the closing }, so they were 
being ignored.  When I fix that, I find that two of the tests are failing.

I'm committing the first patch, but am holding off on the second for 
now.  Should I go ahead and commit it or would someone like to fix those 
bugs and then commit it themselves?
Jonathan Wakely - June 10, 2011, 8:36 a.m.
On 10 June 2011 04:45, Jason Merrill wrote:
>
> Doing this revealed that the bind/ref_neg.cc test was broken; the dg-error
> tags were missing a space before the closing }, so they were being ignored.
>  When I fix that, I find that two of the tests are failing.

Doh.

> I'm committing the first patch, but am holding off on the second for now.
>  Should I go ahead and commit it or would someone like to fix those bugs and
> then commit it themselves?


I'll look at the broken tests asap, but that will be after work in
about 8 hours.  I'm ok if you want to go ahead and commit the patch,
but if you do let's warn HJ that the regression testers will see the
FAILs.
Paolo Carlini - June 10, 2011, 11:42 a.m.
On 06/10/2011 10:36 AM, Jonathan Wakely wrote:
> I'll look at the broken tests asap, but that will be after work in
> about 8 hours.  I'm ok if you want to go ahead and commit the patch,
> but if you do let's warn HJ that the regression testers will see the
> FAILs.
Thanks Jon. The good news is that the same happens - no actual errors 
for line 34 & 35 - also for std::tr1::bind, thus for sure we didn't 
regress in the C++0x bind...

Paolo.

Patch

commit 7f74b6410bd019ebe1d2349e42bf2eaa056b7852
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jun 9 16:47:55 2011 -0400

    	* testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
    	fix dg-error markup.

diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
index 060bf87..9843d1b 100644
--- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
@@ -29,10 +29,10 @@  int inc(int& i) { return ++i; }
 void test01()
 {
   const int dummy = 0;
-  std::bind(&inc, _1)(0);               // { dg-error  ""}
-  std::bind(&inc, std::ref(dummy))();  // { dg-error  ""}
-  std::bind(&inc, dummy)();  // { dg-error  ""}
-  std::bind(&inc, 0)();  // { dg-error  ""}
+  std::bind(&inc, _1)(0);               // { dg-error  "" }
+  std::bind(&inc, std::ref(dummy))();  // { dg-error  "" }
+  std::bind(&inc, dummy)();  // { dg-error  "" }
+  std::bind(&inc, 0)();  // { dg-error  "" }
 }
 
 struct Inc
@@ -46,8 +46,8 @@  struct Inc
 void test02()
 {
   const int dummy = 0;
-  std::bind(Inc(), _1)(dummy);                  // { dg-error  ""}
-  std::bind(&Inc::f, Inc(), std::ref(dummy))(); // { dg-error  ""}
+  std::bind(Inc(), _1)(dummy);                  // { dg-error  "" }
+  std::bind(&Inc::f, Inc(), std::ref(dummy))(); // { dg-error  "" }
 }
 
 int main()
@@ -56,4 +56,3 @@  int main()
   test02();
 }
 
-// { dg-excess-errors "" }