This test modifies dg-error and dg-warning test directives by adding
comments that will be added to lines in the test summary to eliminate
non-unique lines for checks of messages for the same line of source code
in a test.

Tested on i686-pc-linux-gnu and arm-none-eabi.  OK for mainline?

Janis
2012-06-11  Janis Johnson  <jani...@codesourcery.com>

        * c-c++-common/raw-string-3.c: Add comments to checks for multiple
        messages reported for for one line of source code.
        * c-c++-common/raw-string-5.c: Likewise.
        * c-c++-common/raw-string-4.c: Likewise.
        * c-c++-common/raw-string-6.c: Likewise.
        * c-c++-common/pr20000.c: Likewise.

Index: c-c++-common/raw-string-3.c
===================================================================
--- c-c++-common/raw-string-3.c (revision 188249)
+++ c-c++-common/raw-string-3.c (working copy)
@@ -4,27 +4,27 @@
 // { dg-options "" { target c } }
 // { dg-options "-std=c++98" { target c++ } }
 
-const void     *s0     = R"(a)";       // { dg-error "was not 
declared|undeclared" }
-                // { dg-error "expected ',' or ';'" "" { target c } 7 }
-const void     *s1     = uR"(a)";      // { dg-error "was not 
declared|undeclared" }
-                // { dg-error "expected ',' or ';'" "" { target c } 9 }
-const void     *s2     = UR"(a)";      // { dg-error "was not 
declared|undeclared" }
-                // { dg-error "expected ',' or ';'" "" { target c } 11 }
-const void     *s3     = u8R"(a)";     // { dg-error "was not 
declared|undeclared" }
-                // { dg-error "expected ',' or ';'" "" { target c } 13 }
-const void     *s4     = LR"(a)";      // { dg-error "was not 
declared|undeclared" }
-                // { dg-error "expected ',' or ';'" "" { target c } 15 }
+const void     *s0     = R"(a)";       // { dg-error "was not 
declared|undeclared" "undeclared" }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 7 }
+const void     *s1     = uR"(a)";      // { dg-error "was not 
declared|undeclared" "undeclared" }
+                // { dg-error "expected ',' or ';'" expected" { target c } 9 }
+const void     *s2     = UR"(a)";      // { dg-error "was not 
declared|undeclared" "undeclared" }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 11 
}
+const void     *s3     = u8R"(a)";     // { dg-error "was not 
declared|undeclared" "undeclared" }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 13 
}
+const void     *s4     = LR"(a)";      // { dg-error "was not 
declared|undeclared" "undeclared" }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 15 
}
 
-const int      i0      = R'a';         // { dg-error "was not declared" "" { 
target c++ } }
-                // { dg-error "expected ',' or ';'" "" { target c } 18 }
-const int      i1      = uR'a';        // { dg-error "was not declared" "" { 
target c++ } }
-                // { dg-error "expected ',' or ';'" "" { target c } 20 }
-const int      i2      = UR'a';        // { dg-error "was not declared" "" { 
target c++ } }
-                // { dg-error "expected ',' or ';'" "" { target c } 22 }
-const int      i3      = u8R'a';       // { dg-error "was not declared" "" { 
target c++ } }
-                // { dg-error "expected ',' or ';'" "" { target c } 24 }
-const int      i4      = LR'a';        // { dg-error "was not declared" "" { 
target c++ } }
-                // { dg-error "expected ',' or ';'" "" { target c } 26 }
+const int      i0      = R'a';         // { dg-error "was not declared" 
"undeclared" { target c++ } }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 18 
}
+const int      i1      = uR'a';        // { dg-error "was not declared" 
"undeclared" { target c++ } }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 20 
}
+const int      i2      = UR'a';        // { dg-error "was not declared" 
"undeclared" { target c++ } }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 22 
}
+const int      i3      = u8R'a';       // { dg-error "was not declared" 
"undeclared" { target c++ } }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 24 
}
+const int      i4      = LR'a';        // { dg-error "was not declared" 
"undeclared" { target c++ } }
+                // { dg-error "expected ',' or ';'" "expected" { target c } 26 
}
 
 #define R      "a"
 #define uR     "b"
Index: c-c++-common/raw-string-5.c
===================================================================
--- c-c++-common/raw-string-5.c (revision 188249)
+++ c-c++-common/raw-string-5.c (working copy)
@@ -3,25 +3,25 @@
 // { dg-options "-std=c++0x" { target c++ } }
 
 const void *s0 = R"0123456789abcdefg()0123456789abcdefg";
-       // { dg-error "raw string delimiter longer" "" { target *-*-* } 5 }
-       // { dg-error "stray" "" { target *-*-* } 5 }
+       // { dg-error "raw string delimiter longer" "longer" { target *-*-* } 5 
}
+       // { dg-error "stray" "stray" { target *-*-* } 5 }
 const void *s1 = R" () ";
-       // { dg-error "invalid character" "" { target *-*-* } 8 }
-       // { dg-error "stray" "" { target *-*-* } 8 }
+       // { dg-error "invalid character" "invalid" { target *-*-* } 8 }
+       // { dg-error "stray" "stray" { target *-*-* } 8 }
 const void *s2 = R"    ()      ";
-       // { dg-error "invalid character" "" { target *-*-* } 11 }
-       // { dg-error "stray" "" { target *-*-* } 11 }
+       // { dg-error "invalid character" "invalid" { target *-*-* } 11 }
+       // { dg-error "stray" "stray" { target *-*-* } 11 }
 const void *s3 = R")())";
-       // { dg-error "invalid character" "" { target *-*-* } 14 }
-       // { dg-error "stray" "" { target *-*-* } 14 }
+       // { dg-error "invalid character" "invalid" { target *-*-* } 14 }
+       // { dg-error "stray" "stray" { target *-*-* } 14 }
 const void *s4 = R"@()@";
-       // { dg-error "invalid character" "" { target *-*-* } 17 }
-       // { dg-error "stray" "" { target *-*-* } 17 }
+       // { dg-error "invalid character" "invalid" { target *-*-* } 17 }
+       // { dg-error "stray" "stray" { target *-*-* } 17 }
 const void *s5 = R"$()$";
-       // { dg-error "invalid character" "" { target *-*-* } 20 }
-       // { dg-error "stray" "" { target *-*-* } 20 }
+       // { dg-error "invalid character" "invalid" { target *-*-* } 20 }
+       // { dg-error "stray" "stray" { target *-*-* } 20 }
 const void *s6 = R"\u0040()\u0040";
-       // { dg-error "invalid character" "" { target *-*-* } 23 }
-       // { dg-error "stray" "" { target *-*-* } 23 }
+       // { dg-error "invalid character" "invalid" { target *-*-* } 23 }
+       // { dg-error "stray" "stray" { target *-*-* } 23 }
 
 int main () {}
Index: c-c++-common/raw-string-4.c
===================================================================
--- c-c++-common/raw-string-4.c (revision 188249)
+++ c-c++-common/raw-string-4.c (working copy)
@@ -3,16 +3,16 @@
 // { dg-options "-std=gnu99" { target c } }
 // { dg-options "-std=c++0x" { target c++ } }
 
-const int      i0      = R'a'; // { dg-error "was not declared|undeclared" }
-               // { dg-error "expected ',' or ';'" "" { target c } 6 }
-const int      i1      = uR'a';        // { dg-error "was not 
declared|undeclared" }
-               // { dg-error "expected ',' or ';'" "" { target c } 8 }
-const int      i2      = UR'a';        // { dg-error "was not 
declared|undeclared" }
-               // { dg-error "expected ',' or ';'" "" { target c } 10 }
-const int      i3      = u8R'a';       // { dg-error "was not 
declared|undeclared" }
-               // { dg-error "expected ',' or ';'" "" { target c } 12 }
-const int      i4      = LR'a';        // { dg-error "was not 
declared|undeclared" }
-               // { dg-error "expected ',' or ';'" "" { target c } 14 }
+const int      i0      = R'a'; // { dg-error "was not declared|undeclared" 
"undeclared" }
+               // { dg-error "expected ',' or ';'" "expected" { target c } 6 }
+const int      i1      = uR'a';        // { dg-error "was not 
declared|undeclared" "undeclared" }
+               // { dg-error "expected ',' or ';'" "expected" { target c } 8 }
+const int      i2      = UR'a';        // { dg-error "was not 
declared|undeclared" "undeclared" }
+               // { dg-error "expected ',' or ';'" "expected" { target c } 10 }
+const int      i3      = u8R'a';       // { dg-error "was not 
declared|undeclared" "undeclared" }
+               // { dg-error "expected ',' or ';'" "expected" { target c } 12 }
+const int      i4      = LR'a';        // { dg-error "was not 
declared|undeclared" "undeclared" }
+               // { dg-error "expected ',' or ';'" "expected" { target c } 14 }
 
 #define R      1 +
 #define uR     2 +
Index: c-c++-common/raw-string-6.c
===================================================================
--- c-c++-common/raw-string-6.c (revision 188249)
+++ c-c++-common/raw-string-6.c (working copy)
@@ -2,5 +2,5 @@
 // { dg-options "-std=gnu99" { target c } }
 // { dg-options "-std=c++0x" { target c++ } }
 
-const void *s0 = R"ouch()ouCh";        // { dg-error "at end of input" }
-       // { dg-error "unterminated raw string" "" { target *-*-* } 5 }
+const void *s0 = R"ouch()ouCh";        // { dg-error "at end of input" "end" }
+       // { dg-error "unterminated raw string" "unterminated" { target *-*-* } 
5 }
Index: c-c++-common/pr20000.c
===================================================================
--- c-c++-common/pr20000.c      (revision 188249)
+++ c-c++-common/pr20000.c      (working copy)
@@ -9,8 +9,8 @@
 
 
 int g(void) {
-  return 1; /* { dg-warning "function declared 'noreturn' has a 'return' 
statement" } */
-}           /* { dg-warning "'noreturn' function does return" "" { target 
*-*-* } 12 } */
+  return 1; /* { dg-warning "function declared 'noreturn' has a 'return' 
statement" "has return" } */
+}           /* { dg-warning "'noreturn' function does return" "does return" { 
target *-*-* } 12 } */
 
 int g2(void) {
   h();
@@ -24,8 +24,8 @@
 int vg2(void); /* { dg-bogus ".noreturn. function returns non-void value" } */
 
 int vg(void) {
-  return 1; /* { dg-warning "function declared 'noreturn' has a 'return' 
statement" "" { target c } 27 } */
-}           /* { dg-warning "'noreturn' function does return" "" { target c } 
27  } */
+  return 1; /* { dg-warning "function declared 'noreturn' has a 'return' 
statement" "has return" { target c } 27 } */
+}           /* { dg-warning "'noreturn' function does return" "does return" { 
target c } 27  } */
 
 int vg2(void) {
   h();

Reply via email to