Bug 80221 - Contrib script to rewrite testcase from absolute to relative line numbers
Summary: Contrib script to rewrite testcase from absolute to relative line numbers
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: testsuite (show other bugs)
Version: 7.0
: P3 enhancement
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on: 80220
Blocks:
  Show dependency treegraph
 
Reported: 2017-03-27 12:53 UTC by Tom de Vries
Modified: 2017-04-28 08:33 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
tentative patch (856 bytes, patch)
2017-03-27 12:57 UTC, Tom de Vries
Details | Diff
tested patch (1.02 KB, patch)
2017-03-27 21:55 UTC, Tom de Vries
Details | Diff
Result from running script (122.17 KB, patch)
2017-03-27 21:57 UTC, Tom de Vries
Details | Diff
updated script patch (1.30 KB, patch)
2017-04-18 12:47 UTC, Tom de Vries
Details | Diff
Result from running updated script (85.36 KB, text/plain)
2017-04-18 12:49 UTC, Tom de Vries
Details
tentative patch implementing dg-save-linenr (1.17 KB, patch)
2017-04-21 21:15 UTC, Tom de Vries
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tom de Vries 2017-03-27 12:53:20 UTC
It would be good to have a script that rewrites tests to use relative instead of absolute line numbers in the dg-{warning,error,message,bogus} directives.
Comment 1 Tom de Vries 2017-03-27 12:57:44 UTC
Created attachment 41057 [details]
tentative patch

This script tries to rewrite all tests, but that's not entirely supported yet.

Known error causes:
- PR80219 relative line numbers only working if gcc_{error,warning}_prefix
  defined
- PR80220 relative line numbers don't work when put between braces
Comment 2 Mike Stump 2017-03-27 16:50:40 UTC
Look forward to incorporating the changes made by the script.
Comment 3 Tom de Vries 2017-03-27 21:55:54 UTC
Created attachment 41058 [details]
tested patch
Comment 4 Tom de Vries 2017-03-27 21:57:03 UTC
Created attachment 41059 [details]
Result from running script
Comment 5 Tom de Vries 2017-03-27 22:12:52 UTC
(In reply to Tom de Vries from comment #3)
> Created attachment 41058 [details]
> tested patch

tested in combination with fix for PR80220.
Comment 6 Mike Stump 2017-03-27 22:28:02 UTC
Comment on attachment 41059 [details]
Result from running script

The . and .-1, .+1, .-2 forms are fine.  The .-62 forms are as problematic as the original I suspect.  I think we should exclude any number greater than some small int, say, 9.  So, .-9 .. .+9 in the new form only.  If outside that range, I think I'd rather punt.  The idea is that the absolute number at least has a line number that in an editor you can go directly to, and it corresponds with the number in the error messages directly, aiding understanding which one is referred to without having to ungoop the relative number first.

Let's see if anyone else has any comments.  If not, I'd pre-approve the change with the range reduced.
Comment 7 Martin Sebor 2017-03-27 23:49:14 UTC
A more robust solution that wouldn't have to subject to a limit would be to add an annotation to dg-{error,message,warning} to indicate that the next dg-{bogus,error,message,warning} directive is meant to be applied to the same line as the current one.  For instance, something like this:

  foobar;
  /* { dg-warning "warning for foobar" continue }
     { dg-warning "another warning for foobar" continue }
     { dg-error "error for foobar" } */

(For brevity I omitted the comment and the { target ... } parts of the directives above.  It would also be nice to be able to do away with those when they're not necessary.)
Comment 8 Thomas Schwinge 2017-03-28 08:34:29 UTC
(In reply to Mike Stump from comment #6)
> The . and .-1, .+1, .-2 forms are fine.  The .-62 forms are as problematic
> as the original I suspect.  I think we should exclude any number greater
> than some small int, say, 9.  So, .-9 .. .+9 in the new form only.  If
> outside that range, I think I'd rather punt.  The idea is that the absolute
> number at least has a line number that in an editor you can go directly to,
> and it corresponds with the number in the error messages directly, aiding
> understanding which one is referred to without having to ungoop the relative
> number first.

I would guess that a lange number of these are actually cases where all the "dg-*" directives have been assembled at the end of the file?  In such cases, it would perhaps make sense to move them onto or next to the lines they apply to -- unless that doesn't make sense for other reasons (when they are grouped together for a reason).
Comment 9 Thomas Schwinge 2017-03-28 08:35:02 UTC
You could further optimize the script to omit "." locations: if the "dg-*" directive actually is placed on the appropriate line already.
Comment 10 Thomas Schwinge 2017-03-28 08:40:47 UTC
(In reply to Martin Sebor from comment #7)
> A more robust solution that wouldn't have to subject to a limit would be to
> add an annotation to dg-{error,message,warning} to indicate that the next
> dg-{bogus,error,message,warning} directive is meant to be applied to the
> same line as the current one.  For instance, something like this:

Instead of working "into the future"...

>   foobar;
>   /* { dg-warning "warning for foobar" continue }
>      { dg-warning "another warning for foobar" continue }
>      { dg-error "error for foobar" } */
> 
> (For brevity I omitted the comment and the { target ... } parts of the
> directives above.  It would also be nice to be able to do away with those
> when they're not necessary.)

..., perhaps it's easier to implement that idea the other way round: at the end of a "dg-*" handling routine, store the current location into a global variable, and if a later "dg-*" directive uses a "continue" location, use the value of the global variable instead.  That is:

    foobar;
    /* { dg-warning "warning for foobar" .-1 }
       Bla, bla, reasoning.
       { dg-warning "another warning for foobar" continue }
       Bla, bla, more reasoning.
       { dg-error "error for foobar" continue } */
Comment 11 Martin Sebor 2017-03-28 15:11:35 UTC
That would work too.  Yet another possibility is to surround all the dg-message directives that apply to the same line in a pair of new directives (analogously to dg-{begin,end}-multiline-output):

    foobar;
    /* { dg-begin-same-line-output .-1 }
       ...
       { dg-warning "warning for foobar" }
       ...
       { dg-message "note for foobar" }
       ...
       { dg-error "error for foobar" }
       ...
       { dg-end-same-line-output }  */
Comment 12 Tom de Vries 2017-04-18 10:01:18 UTC
(In reply to Mike Stump from comment #6)
> The . and .-1, .+1, .-2 forms are fine.  The .-62 forms are as problematic
> as the original I suspect.  I think we should exclude any number greater
> than some small int, say, 9.  So, .-9 .. .+9 in the new form only.  If
> outside that range, I think I'd rather punt.  The idea is that the absolute
> number at least has a line number that in an editor you can go directly to,
> and it corresponds with the number in the error messages directly, aiding
> understanding which one is referred to without having to ungoop the relative
> number first.

I've run the script with the range abs(rellinenr) >= 10, and looked at the affected testcases.

I found gcc/testsuite/c-c++-common/Wshift-negative-value-1.c, where a dg-error is added on the last line of the test-case, but it seems more suited to be added after the line generating the error. [ Perhaps this adding on last line is a pattern that has been used to avoid the problem of tests starting to fail when adding a line where it's appropriate due to using absolute line numbers. ]

I also found gcc/testsuite/objc.dg/try-catch-12.m:
...
    12	extern void some_func (int *);
    13	
    14	@implementation TestMyTests
    15	- (void) testSpoon {
    16	  volatile int i = 5;
    17	  int q = 99;
    18	
    19	  do {
    20	    @try {
    21	      typeof(i) j = 6;
    22	      typeof(q) k = 66;
    23	      some_func (&j); /* { dg-warning "discards .volatile. qualifier from pointer target type" } */
    24	      /* { dg-message "but argument is of type" "" { target *-*-* } 12 } */
 ...

The dg-message on line 24 with line argument 12 refers back to the declaration of some_func.

Using the relative line number for this sort of example doesn't make sense, given the large distance there can be between decl and use. But keeping the absolute line number also keeps the problem of tests starting to fail when you add a line at the start. I think this sort of example is better handled with a directive dg-save-linenr:
...
    12	extern void some_func (int *); /* { dg-save-linenr some_func_decl } */
    13	
    14	@implementation TestMyTests
    15	- (void) testSpoon {
    16	  volatile int i = 5;
    17	  int q = 99;
    18	
    19	  do {
    20	    @try {
    21	      typeof(i) j = 6;
    22	      typeof(q) k = 66;
    23	      some_func (&j); /* { dg-warning "discards .volatile. qualifier from pointer target type" } */
    24	      /* { dg-message "but argument is of type" "" { target *-*-* } $some_func_decl } */
Comment 13 Tom de Vries 2017-04-18 12:47:08 UTC
Created attachment 41216 [details]
updated script patch

This updated patch rewrites a line from absolute to relative linenumber if:
- the relative line number is '.-1', '.' or '.+1', or
- it's adjacent to a line we will rewrite (with the line numbers being
  consecutive)

The biggest relative line number generated by the script is 6.
Comment 14 Tom de Vries 2017-04-18 12:49:18 UTC
Created attachment 41217 [details]
Result from running updated script

Untested for now.
Comment 15 Tom de Vries 2017-04-19 06:56:06 UTC
Author: vries
Date: Wed Apr 19 06:55:33 2017
New Revision: 246988

URL: https://gcc.gnu.org/viewcvs?rev=246988&root=gcc&view=rev
Log:
Use relative line number for subsequent dg directives

2017-04-19  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/80221
	* c-c++-common/Wimplicit-fallthrough-6.c: Use relative line number for
	subsequent dg directives.
	* c-c++-common/Wimplicit-fallthrough-7.c: Same.
	* c-c++-common/Wint-to-pointer-cast-3.c: Same.
	* c-c++-common/attr-fallthrough-2.c: Same.
	* c-c++-common/cilk-plus/AN/parser_errors2.c: Same.
	* c-c++-common/cilk-plus/AN/parser_errors3.c: Same.
	* c-c++-common/cilk-plus/AN/pr61191.c: Same.
	* c-c++-common/cilk-plus/AN/pr61963.c: Same.
	* c-c++-common/cilk-plus/AN/pr62008.c: Same.
	* c-c++-common/cilk-plus/AN/rank_mismatch.c: Same.
	* c-c++-common/cilk-plus/CK/cilk_for_errors.c: Same.
	* c-c++-common/cilk-plus/CK/errors.c: Same.
	* c-c++-common/cilk-plus/CK/no_args_error.c: Same.
	* c-c++-common/cilk-plus/PS/clauses1.c: Same.
	* c-c++-common/cilk-plus/SE/vlength_errors.c: Same.
	* c-c++-common/cpp/pr57580.c: Same.
	* c-c++-common/goacc/asyncwait-1.c: Same.
	* c-c++-common/goacc/cache-2.c: Same.
	* c-c++-common/goacc/declare-2.c: Same.
	* c-c++-common/goacc/deviceptr-1.c: Same.
	* c-c++-common/goacc/routine-5.c: Same.
	* c-c++-common/gomp/clauses-2.c: Same.
	* c-c++-common/gomp/ordered-3.c: Same.
	* c-c++-common/gomp/pr67501.c: Same.
	* c-c++-common/pr20000.c: Same.
	* c-c++-common/pr43395.c: Same.
	* c-c++-common/pr49706.c: Same.
	* c-c++-common/pr77624-1.c: Same.
	* c-c++-common/pr77624-2.c: Same.
	* c-c++-common/raw-string-14.c: Same.
	* c-c++-common/raw-string-16.c: Same.
	* c-c++-common/raw-string-3.c: Same.
	* c-c++-common/raw-string-4.c: Same.
	* c-c++-common/raw-string-5.c: Same.
	* c-c++-common/raw-string-6.c: Same.
	* g++.dg/abi/mangle41.C: Same.
	* g++.dg/conversion/nullptr1.C: Same.
	* g++.dg/cpp0x/alias-decl-80296.C: Same.
	* g++.dg/cpp0x/auto27.C: Same.
	* g++.dg/cpp0x/constexpr-98.C: Same.
	* g++.dg/cpp0x/constexpr-diag2.C: Same.
	* g++.dg/cpp0x/diag2.C: Same.
	* g++.dg/cpp0x/lambda/lambda-syntax1.C: Same.
	* g++.dg/cpp0x/nullptr15.C: Same.
	* g++.dg/cpp0x/pr31431-2.C: Same.
	* g++.dg/cpp0x/pr31431.C: Same.
	* g++.dg/cpp0x/pr79118.C: Same.
	* g++.dg/cpp0x/static_assert3.C: Same.
	* g++.dg/cpp0x/temp_default2.C: Same.
	* g++.dg/cpp0x/trailing4.C: Same.
	* g++.dg/cpp0x/variadic-ex10.C: Same.
	* g++.dg/cpp0x/variadic-ex13.C: Same.
	* g++.dg/cpp0x/variadic-ex14.C: Same.
	* g++.dg/cpp0x/variadic-ex3.C: Same.
	* g++.dg/cpp0x/variadic-ex4.C: Same.
	* g++.dg/cpp0x/variadic59.C: Same.
	* g++.dg/cpp0x/vt-37737-2.C: Same.
	* g++.dg/cpp0x/vt-57397-1.C: Same.
	* g++.dg/cpp0x/vt-57397-2.C: Same.
	* g++.dg/cpp1z/constexpr-lambda8.C: Same.
	* g++.dg/cpp1z/gen-attrs1.C: Same.
	* g++.dg/diagnostic/pr71075.C: Same.
	* g++.dg/eh/goto2.C: Same.
	* g++.dg/eh/goto3.C: Same.
	* g++.dg/expr/bitfield4.C: Same.
	* g++.dg/expr/bitfield5.C: Same.
	* g++.dg/expr/bitfield6.C: Same.
	* g++.dg/expr/bool1.C: Same.
	* g++.dg/expr/bool3.C: Same.
	* g++.dg/expr/cond10.C: Same.
	* g++.dg/expr/cond11.C: Same.
	* g++.dg/expr/lval3.C: Same.
	* g++.dg/expr/lval4.C: Same.
	* g++.dg/ext/anon-struct4.C: Same.
	* g++.dg/ext/attrib44.C: Same.
	* g++.dg/ext/builtin3.C: Same.
	* g++.dg/ext/dllimport7.C: Same.
	* g++.dg/ext/label5.C: Same.
	* g++.dg/ext/no-asm-1.C: Same.
	* g++.dg/ext/utf16-4.C: Same.
	* g++.dg/ext/vla2.C: Same.
	* g++.dg/gomp/block-1.C: Same.
	* g++.dg/gomp/block-2.C: Same.
	* g++.dg/gomp/block-3.C: Same.
	* g++.dg/gomp/block-5.C: Same.
	* g++.dg/gomp/linear-2.C: Same.
	* g++.dg/gomp/target-1.C: Same.
	* g++.dg/gomp/target-2.C: Same.
	* g++.dg/gomp/taskgroup-1.C: Same.
	* g++.dg/gomp/teams-1.C: Same.
	* g++.dg/inherit/pure1.C: Same.
	* g++.dg/init/array43.C: Same.
	* g++.dg/init/array46.C: Same.
	* g++.dg/init/const10.C: Same.
	* g++.dg/init/ctor4-1.C: Same.
	* g++.dg/init/ctor4.C: Same.
	* g++.dg/init/new37.C: Same.
	* g++.dg/init/pr25811.C: Same.
	* g++.dg/init/pr29043.C: Same.
	* g++.dg/init/pr29571.C: Same.
	* g++.dg/lookup/duperr1.C: Same.
	* g++.dg/lookup/error1.C: Same.
	* g++.dg/lookup/koenig5.C: Same.
	* g++.dg/lookup/pr77549.C: Same.
	* g++.dg/lookup/suggestions1.C: Same.
	* g++.dg/lookup/using16.C: Same.
	* g++.dg/lookup/using7.C: Same.
	* g++.dg/other/anon-union3.C: Same.
	* g++.dg/other/array2.C: Same.
	* g++.dg/other/error13.C: Same.
	* g++.dg/other/error34.C: Same.
	* g++.dg/overload/builtin1.C: Same.
	* g++.dg/overload/conv-op1.C: Same.
	* g++.dg/overload/error3.C: Same.
	* g++.dg/overload/koenig1.C: Same.
	* g++.dg/overload/operator5.C: Same.
	* g++.dg/overload/template5.C: Same.
	* g++.dg/overload/unknown1.C: Same.
	* g++.dg/overload/using2.C: Same.
	* g++.dg/parse/constructor1.C: Same.
	* g++.dg/parse/crash36.C: Same.
	* g++.dg/parse/crash63.C: Same.
	* g++.dg/parse/error11.C: Same.
	* g++.dg/parse/error12.C: Same.
	* g++.dg/parse/error14.C: Same.
	* g++.dg/parse/error2.C: Same.
	* g++.dg/parse/error21.C: Same.
	* g++.dg/parse/error26.C: Same.
	* g++.dg/parse/error36.C: Same.
	* g++.dg/parse/friend12.C: Same.
	* g++.dg/parse/invalid-op1.C: Same.
	* g++.dg/parse/missing-template1.C: Same.
	* g++.dg/parse/parser-pr28152-2.C: Same.
	* g++.dg/parse/parser-pr28152.C: Same.
	* g++.dg/parse/pr16696-permissive.C: Same.
	* g++.dg/parse/pr16696.C: Same.
	* g++.dg/parse/pr69628.C: Same.
	* g++.dg/parse/ret-type2.C: Same.
	* g++.dg/parse/specialization1.C: Same.
	* g++.dg/parse/template3.C: Same.
	* g++.dg/parse/template9.C: Same.
	* g++.dg/parse/typename11.C: Same.
	* g++.dg/plugin/attribute_plugin-test-1.C: Same.
	* g++.dg/pr45330.C: Same.
	* g++.dg/rtti/typeid6.C: Same.
	* g++.dg/spellcheck-fields.C: Same.
	* g++.dg/spellcheck-typenames.C: Same.
	* g++.dg/tc1/dr108.C: Same.
	* g++.dg/tc1/dr147.C: Same.
	* g++.dg/template/arg7.C: Same.
	* g++.dg/template/conv11.C: Same.
	* g++.dg/template/crash13.C: Same.
	* g++.dg/template/crash55.C: Same.
	* g++.dg/template/dependent-expr5.C: Same.
	* g++.dg/template/error17.C: Same.
	* g++.dg/template/error33.C: Same.
	* g++.dg/template/error4.C: Same.
	* g++.dg/template/error50.C: Same.
	* g++.dg/template/error53.C: Same.
	* g++.dg/template/friend.C: Same.
	* g++.dg/template/func2.C: Same.
	* g++.dg/template/local6.C: Same.
	* g++.dg/template/member5.C: Same.
	* g++.dg/template/meminit1.C: Same.
	* g++.dg/template/nested3.C: Same.
	* g++.dg/template/nontype6.C: Same.
	* g++.dg/template/overload12.C: Same.
	* g++.dg/template/ptrmem8.C: Same.
	* g++.dg/template/qualified-id1.C: Same.
	* g++.dg/template/spec15.C: Same.
	* g++.dg/template/static1.C: Same.
	* g++.dg/template/static10.C: Same.
	* g++.dg/template/static2.C: Same.
	* g++.dg/template/ttp25.C: Same.
	* g++.dg/template/typedef2.C: Same.
	* g++.dg/template/typename2.C: Same.
	* g++.dg/template/unify10.C: Same.
	* g++.dg/template/unify6.C: Same.
	* g++.dg/template/unify7.C: Same.
	* g++.dg/template/unify9.C: Same.
	* g++.dg/template/varmod1.C: Same.
	* g++.dg/ubsan/div-by-zero-1.C: Same.
	* g++.dg/ubsan/pr63956.C: Same.
	* g++.dg/warn/Waddress-1.C: Same.
	* g++.dg/warn/Wconversion2.C: Same.
	* g++.dg/warn/Wnull-conversion-1.C: Same.
	* g++.dg/warn/Wsubobject-linkage-1.C: Same.
	* g++.dg/warn/Wsubobject-linkage-3.C: Same.
	* g++.dg/warn/Wswitch-1.C: Same.
	* g++.dg/warn/Wtype-limits-Wextra.C: Same.
	* g++.dg/warn/Wtype-limits.C: Same.
	* g++.dg/warn/Wunused-parm-5.C: Same.
	* g++.dg/warn/deprecated-6.C: Same.
	* g++.dg/warn/deprecated.C: Same.
	* g++.dg/warn/incomplete1.C: Same.
	* g++.dg/warn/multiple-overflow-warn-1.C: Same.
	* g++.dg/warn/multiple-overflow-warn-2.C: Same.
	* g++.dg/warn/multiple-overflow-warn-3.C: Same.
	* g++.dg/warn/overflow-warn-1.C: Same.
	* g++.dg/warn/overflow-warn-3.C: Same.
	* g++.dg/warn/overflow-warn-4.C: Same.
	* g++.dg/warn/pr12242.C: Same.
	* g++.dg/warn/pr30551-2.C: Same.
	* g++.dg/warn/pr30551.C: Same.
	* g++.old-deja/g++.benjamin/16077.C: Same.
	* g++.old-deja/g++.bob/inherit1.C: Same.
	* g++.old-deja/g++.brendan/crash56.C: Same.
	* g++.old-deja/g++.brendan/template17.C: Same.
	* g++.old-deja/g++.eh/ctor1.C: Same.
	* g++.old-deja/g++.jason/bool5.C: Same.
	* g++.old-deja/g++.jason/cond.C: Same.
	* g++.old-deja/g++.jason/operator.C: Same.
	* g++.old-deja/g++.jason/pmf5.C: Same.
	* g++.old-deja/g++.law/ctors5.C: Same.
	* g++.old-deja/g++.law/missed-error2.C: Same.
	* g++.old-deja/g++.law/operators9.C: Same.
	* g++.old-deja/g++.law/temps1.C: Same.
	* g++.old-deja/g++.mike/for2.C: Same.
	* g++.old-deja/g++.mike/ns5.C: Same.
	* g++.old-deja/g++.mike/ns7.C: Same.
	* g++.old-deja/g++.mike/p10769b.C: Same.
	* g++.old-deja/g++.niklas/t120.C: Same.
	* g++.old-deja/g++.niklas/t121.C: Same.
	* g++.old-deja/g++.ns/koenig5.C: Same.
	* g++.old-deja/g++.oliva/overload1.C: Same.
	* g++.old-deja/g++.other/crash24.C: Same.
	* g++.old-deja/g++.other/crash25.C: Same.
	* g++.old-deja/g++.other/decl5.C: Same.
	* g++.old-deja/g++.other/lineno5.C: Same.
	* g++.old-deja/g++.other/null3.C: Same.
	* g++.old-deja/g++.other/overcnv2.C: Same.
	* g++.old-deja/g++.other/ptrmem7.C: Same.
	* g++.old-deja/g++.other/typename1.C: Same.
	* g++.old-deja/g++.other/vaarg3.C: Same.
	* g++.old-deja/g++.pt/crash10.C: Same.
	* g++.old-deja/g++.pt/crash28.C: Same.
	* g++.old-deja/g++.pt/crash38.C: Same.
	* g++.old-deja/g++.pt/explicit70.C: Same.
	* g++.old-deja/g++.pt/explicit77.C: Same.
	* g++.old-deja/g++.pt/expr2.C: Same.
	* g++.old-deja/g++.pt/spec5.C: Same.
	* g++.old-deja/g++.pt/spec6.C: Same.
	* g++.old-deja/g++.pt/typename3.C: Same.
	* g++.old-deja/g++.pt/typename5.C: Same.
	* g++.old-deja/g++.pt/typename6.C: Same.
	* g++.old-deja/g++.pt/typename7.C: Same.
	* g++.old-deja/g++.pt/unify4.C: Same.
	* g++.old-deja/g++.pt/unify8.C: Same.
	* g++.old-deja/g++.pt/vaarg3.C: Same.
	* g++.old-deja/g++.robertl/eb22.C: Same.
	* g++.old-deja/g++.robertl/eb4.C: Same.
	* g++.old-deja/g++.robertl/eb44.C: Same.
	* g++.old-deja/g++.robertl/eb69.C: Same.
	* g++.old-deja/g++.robertl/eb98.C: Same.
	* gcc.dg/20031223-1.c: Same.
	* gcc.dg/940510-1.c: Same.
	* gcc.dg/990506-0.c: Same.
	* gcc.dg/Walloca-1.c: Same.
	* gcc.dg/Walloca-2.c: Same.
	* gcc.dg/Wconversion-integer.c: Same.
	* gcc.dg/Wcxx-compat-8.c: Same.
	* gcc.dg/Wimplicit-int-1.c: Same.
	* gcc.dg/Wimplicit-int-2.c: Same.
	* gcc.dg/Wimplicit-int-4.c: Same.
	* gcc.dg/Wpointer-sign-Wall.c: Same.
	* gcc.dg/Wpointer-sign-pedantic.c: Same.
	* gcc.dg/Wshadow-1.c: Same.
	* gcc.dg/Wshadow-3.c: Same.
	* gcc.dg/Wswitch-enum-error.c: Same.
	* gcc.dg/Wswitch-enum.c: Same.
	* gcc.dg/Wswitch-error.c: Same.
	* gcc.dg/Wswitch.c: Same.
	* gcc.dg/Wtype-limits-Wextra.c: Same.
	* gcc.dg/Wtype-limits.c: Same.
	* gcc.dg/Wvla-larger-than-2.c: Same.
	* gcc.dg/anon-struct-5.c: Same.
	* gcc.dg/array-10.c: Same.
	* gcc.dg/array-11.c: Same.
	* gcc.dg/array-15.c: Same.
	* gcc.dg/array-2.c: Same.
	* gcc.dg/array-8.c: Same.
	* gcc.dg/array-const-2.c: Same.
	* gcc.dg/array-const-3.c: Same.
	* gcc.dg/bitfld-1.c: Same.
	* gcc.dg/bitfld-8.c: Same.
	* gcc.dg/builtin-redefine.c: Same.
	* gcc.dg/c11-noreturn-1.c: Same.
	* gcc.dg/c11-noreturn-2.c: Same.
	* gcc.dg/c11-static-assert-3.c: Same.
	* gcc.dg/c90-arraydecl-1.c: Same.
	* gcc.dg/c90-complex-1.c: Same.
	* gcc.dg/c90-complit-1.c: Same.
	* gcc.dg/c90-const-expr-11.c: Same.
	* gcc.dg/c90-const-expr-7.c: Same.
	* gcc.dg/c90-const-expr-8.c: Same.
	* gcc.dg/c90-enum-comma-1.c: Same.
	* gcc.dg/c90-flex-array-1.c: Same.
	* gcc.dg/c90-hexfloat-1.c: Same.
	* gcc.dg/c90-idem-qual-1.c: Same.
	* gcc.dg/c90-idem-qual-2.c: Same.
	* gcc.dg/c90-idem-qual-3.c: Same.
	* gcc.dg/c90-mixdecl-1.c: Same.
	* gcc.dg/c90-restrict-1.c: Same.
	* gcc.dg/c90-return-1.c: Same.
	* gcc.dg/c99-array-nonobj-1.c: Same.
	* gcc.dg/c99-arraydecl-1.c: Same.
	* gcc.dg/c99-complex-1.c: Same.
	* gcc.dg/c99-complex-2.c: Same.
	* gcc.dg/c99-complit-2.c: Same.
	* gcc.dg/c99-const-expr-7.c: Same.
	* gcc.dg/c99-const-expr-8.c: Same.
	* gcc.dg/c99-flex-array-3.c: Same.
	* gcc.dg/c99-flex-array-7.c: Same.
	* gcc.dg/c99-flex-array-typedef-7.c: Same.
	* gcc.dg/c99-impl-decl-1.c: Same.
	* gcc.dg/c99-impl-int-1.c: Same.
	* gcc.dg/c99-impl-int-2.c: Same.
	* gcc.dg/c99-init-3.c: Same.
	* gcc.dg/c99-restrict-1.c: Same.
	* gcc.dg/c99-return-1.c: Same.
	* gcc.dg/c99-tag-1.c: Same.
	* gcc.dg/c99-tag-3.c: Same.
	* gcc.dg/call-diag-2.c: Same.
	* gcc.dg/cpp/19940712-1.c: Same.
	* gcc.dg/cpp/19951025-1.c: Same.
	* gcc.dg/cpp/19990413-1.c: Same.
	* gcc.dg/cpp/direct2.c: Same.
	* gcc.dg/cpp/direct2s.c: Same.
	* gcc.dg/cpp/pr28709.c: Same.
	* gcc.dg/cpp/pr61854-c90.c: Same.
	* gcc.dg/cpp/pr61854-c94.c: Same.
	* gcc.dg/cpp/pragma-1.c: Same.
	* gcc.dg/cpp/pragma-2.c: Same.
	* gcc.dg/cpp/trad/escaped-eof.c: Same.
	* gcc.dg/cpp/trad/literals-2.c: Same.
	* gcc.dg/cpp/warn-comments-2.c: Same.
	* gcc.dg/cpp/warn-comments-3.c: Same.
	* gcc.dg/cpp/warn-comments.c: Same.
	* gcc.dg/cpp/warn-long-long-2.c: Same.
	* gcc.dg/cpp/warn-long-long.c: Same.
	* gcc.dg/cpp/warn-redefined-2.c: Same.
	* gcc.dg/cpp/warn-redefined.c: Same.
	* gcc.dg/darwin-cfstring-2.c: Same.
	* gcc.dg/darwin-cfstring-format-1.c: Same.
	* gcc.dg/decl-9.c: Same.
	* gcc.dg/declspec-1.c: Same.
	* gcc.dg/declspec-10.c: Same.
	* gcc.dg/declspec-11.c: Same.
	* gcc.dg/declspec-13.c: Same.
	* gcc.dg/declspec-18.c: Same.
	* gcc.dg/declspec-4.c: Same.
	* gcc.dg/declspec-5.c: Same.
	* gcc.dg/declspec-6.c: Same.
	* gcc.dg/declspec-8.c: Same.
	* gcc.dg/deprecated-4.c: Same.
	* gcc.dg/deprecated.c: Same.
	* gcc.dg/dfp/composite-type.c: Same.
	* gcc.dg/empty-source-2.c: Same.
	* gcc.dg/empty-source-3.c: Same.
	* gcc.dg/format/attr-6.c: Same.
	* gcc.dg/format/branch-1.c: Same.
	* gcc.dg/format/c90-printf-1.c: Same.
	* gcc.dg/format/c90-strftime-2.c: Same.
	* gcc.dg/format/c99-strftime-1.c: Same.
	* gcc.dg/format/cmn-err-1.c: Same.
	* gcc.dg/format/few-1.c: Same.
	* gcc.dg/format/ms_branch-1.c: Same.
	* gcc.dg/format/ms_unnamed-1.c: Same.
	* gcc.dg/format/ms_va-1.c: Same.
	* gcc.dg/format/unnamed-1.c: Same.
	* gcc.dg/format/va-1.c: Same.
	* gcc.dg/format/xopen-1.c: Same.
	* gcc.dg/funcdef-var-1.c: Same.
	* gcc.dg/funcdef-var-2.c: Same.
	* gcc.dg/gnu89-const-expr-1.c: Same.
	* gcc.dg/gnu89-const-expr-2.c: Same.
	* gcc.dg/gnu90-const-expr-1.c: Same.
	* gcc.dg/gnu99-const-expr-1.c: Same.
	* gcc.dg/gnu99-const-expr-2.c: Same.
	* gcc.dg/gnu99-init-2.c: Same.
	* gcc.dg/gomp/_Atomic-5.c: Same.
	* gcc.dg/gomp/appendix-a/a.24.1.c: Same.
	* gcc.dg/gomp/atomic-5.c: Same.
	* gcc.dg/gomp/linear-1.c: Same.
	* gcc.dg/gomp/pr67500.c: Same.
	* gcc.dg/init-bad-1.c: Same.
	* gcc.dg/init-bad-2.c: Same.
	* gcc.dg/init-bad-3.c: Same.
	* gcc.dg/init-string-1.c: Same.
	* gcc.dg/label-compound-stmt-1.c: Same.
	* gcc.dg/label-decl-2.c: Same.
	* gcc.dg/label-decl-4.c: Same.
	* gcc.dg/large-size-array-2.c: Same.
	* gcc.dg/large-size-array-4.c: Same.
	* gcc.dg/lvalue-6.c: Same.
	* gcc.dg/m-un-2.c: Same.
	* gcc.dg/multiple-overflow-warn-1.c: Same.
	* gcc.dg/multiple-overflow-warn-2.c: Same.
	* gcc.dg/multiple-overflow-warn-3.c: Same.
	* gcc.dg/nested-redef-1.c: Same.
	* gcc.dg/no-asm-1.c: Same.
	* gcc.dg/no-asm-3.c: Same.
	* gcc.dg/no-asm-4.c: Same.
	* gcc.dg/noncompile/20010524-1.c: Same.
	* gcc.dg/noncompile/incomplete-5.c: Same.
	* gcc.dg/noncompile/pr44517.c: Same.
	* gcc.dg/noncompile/pr52290.c: Same.
	* gcc.dg/noreturn-1.c: Same.
	* gcc.dg/overflow-warn-1.c: Same.
	* gcc.dg/overflow-warn-2.c: Same.
	* gcc.dg/overflow-warn-3.c: Same.
	* gcc.dg/overflow-warn-4.c: Same.
	* gcc.dg/parm-mismatch-1.c: Same.
	* gcc.dg/parser-pr28152-2.c: Same.
	* gcc.dg/parser-pr28152.c: Same.
	* gcc.dg/pedwarn-init.c: Same.
	* gcc.dg/pointer-arith-2.c: Same.
	* gcc.dg/pointer-arith-3.c: Same.
	* gcc.dg/pointer-arith-4.c: Same.
	* gcc.dg/pr14475.c: Same.
	* gcc.dg/pr18596-3.c: Same.
	* gcc.dg/pr18809-1.c: Same.
	* gcc.dg/pr27953.c: Same.
	* gcc.dg/pr30457.c: Same.
	* gcc.dg/pr30551-2.c: Same.
	* gcc.dg/pr30551-3.c: Same.
	* gcc.dg/pr30551-4.c: Same.
	* gcc.dg/pr30551-5.c: Same.
	* gcc.dg/pr30551-6.c: Same.
	* gcc.dg/pr30551.c: Same.
	* gcc.dg/pr36997.c: Same.
	* gcc.dg/pr41842.c: Same.
	* gcc.dg/pr48552-1.c: Same.
	* gcc.dg/pr48552-2.c: Same.
	* gcc.dg/pr59717.c: Same.
	* gcc.dg/pr61077.c: Same.
	* gcc.dg/pr61096-1.c: Same.
	* gcc.dg/pr63626.c: Same.
	* gcc.dg/pr64223-1.c: Same.
	* gcc.dg/pr64223-2.c: Same.
	* gcc.dg/pr8788-1.c: Same.
	* gcc.dg/pr8927-1.c: Same.
	* gcc.dg/pragma-darwin.c: Same.
	* gcc.dg/pragma-diag-5.c: Same.
	* gcc.dg/pragma-message.c: Same.
	* gcc.dg/redecl-1.c: Same.
	* gcc.dg/simd-1.c: Same.
	* gcc.dg/simd-5.c: Same.
	* gcc.dg/simd-6.c: Same.
	* gcc.dg/spellcheck-fields.c: Same.
	* gcc.dg/spellcheck-typenames.c: Same.
	* gcc.dg/struct-semi-2.c: Same.
	* gcc.dg/struct-semi-3.c: Same.
	* gcc.dg/transparent-union-3.c: Same.
	* gcc.dg/ucnid-8.c: Same.
	* gcc.dg/uninit-pr19430-O0.c: Same.
	* gcc.dg/uninit-pr19430.c: Same.
	* gcc.dg/uninit-pr20644-O0.c: Same.
	* gcc.dg/utf-dflt.c: Same.
	* gcc.dg/utf-dflt2.c: Same.
	* gcc.dg/utf16-4.c: Same.
	* gcc.dg/vla-11.c: Same.
	* gcc.dg/vla-20.c: Same.
	* gcc.dg/vla-init-1.c: Same.
	* gcc.dg/vla-init-2.c: Same.
	* gcc.dg/vla-init-3.c: Same.
	* gcc.dg/weak/weak-6.c: Same.
	* gcc.dg/weak/weak-7.c: Same.
	* gcc.dg/wtr-int-type-1.c: Same.
	* gcc.target/aarch64/mgeneral-regs_1.c: Same.
	* gcc.target/arm/polytypes.c: Same.
	* gcc.target/i386/spellcheck-options-4.c: Same.
	* gcc.target/powerpc/20030218-1.c: Same.
	* gcc.target/sh/pr21255-4.c: Same.
	* gcc.test-framework/dg-error-exp-XP.c: Same.
	* gfortran.dg/array_constructor_30.f03: Same.
	* gfortran.dg/class_30.f90: Same.
	* gfortran.dg/goacc/subarrays.f95: Same.
	* gfortran.dg/gomp/appendix-a/a.23.5.f90: Same.
	* gfortran.dg/gomp/appendix-a/a.24.1.f90: Same.
	* gfortran.dg/intrinsic_std_1.f90: Same.
	* gfortran.dg/pr70006.f90: Same.
	* gfortran.dg/warning-directive-1.F90: Same.
	* gfortran.dg/warning-directive-2.F90: Same.
	* gfortran.dg/warning-directive-3.F90: Same.
	* gfortran.dg/warning-directive-4.F90: Same.
	* obj-c++.dg/attributes/method-noreturn-1.mm: Same.
	* obj-c++.dg/class-extension-1.mm: Same.
	* obj-c++.dg/class-extension-2.mm: Same.
	* obj-c++.dg/class-protocol-1.mm: Same.
	* obj-c++.dg/cxx-ivars-1.mm: Same.
	* obj-c++.dg/duplicate-class-1.mm: Same.
	* obj-c++.dg/exceptions-3.mm: Same.
	* obj-c++.dg/exceptions-4.mm: Same.
	* obj-c++.dg/exceptions-5.mm: Same.
	* obj-c++.dg/fsf-nsstring-format-1.mm: Same.
	* obj-c++.dg/fsf-package-0.m: Same.
	* obj-c++.dg/invalid-type-1.mm: Same.
	* obj-c++.dg/method-12.mm: Same.
	* obj-c++.dg/method-13.mm: Same.
	* obj-c++.dg/method-15.mm: Same.
	* obj-c++.dg/method-16.mm: Same.
	* obj-c++.dg/method-6.mm: Same.
	* obj-c++.dg/method-7.mm: Same.
	* obj-c++.dg/property/at-property-1.mm: Same.
	* obj-c++.dg/property/at-property-14.mm: Same.
	* obj-c++.dg/property/at-property-17.mm: Same.
	* obj-c++.dg/property/at-property-21.mm: Same.
	* obj-c++.dg/property/at-property-5.mm: Same.
	* obj-c++.dg/property/dotsyntax-4.mm: Same.
	* obj-c++.dg/property/dynamic-3.mm: Same.
	* obj-c++.dg/property/dynamic-4.mm: Same.
	* obj-c++.dg/property/property-neg-1.mm: Same.
	* obj-c++.dg/property/property-neg-6.mm: Same.
	* obj-c++.dg/property/synthesize-11.mm: Same.
	* obj-c++.dg/property/synthesize-5.mm: Same.
	* obj-c++.dg/property/synthesize-6.mm: Same.
	* obj-c++.dg/proto-lossage-4.mm: Same.
	* obj-c++.dg/protocol-qualifier-2.mm: Same.
	* obj-c++.dg/strings/strings-1.mm: Same.
	* obj-c++.dg/super-class-1.mm: Same.
	* obj-c++.dg/syntax-error-6.mm: Same.
	* obj-c++.dg/syntax-error-7.mm: Same.
	* obj-c++.dg/syntax-error-9.mm: Same.
	* obj-c++.dg/try-catch-13.mm: Same.
	* objc.dg/attributes/method-noreturn-1.m: Same.
	* objc.dg/bad-receiver-type-2.m: Same.
	* objc.dg/bad-receiver-type.m: Same.
	* objc.dg/call-super-2.m: Same.
	* objc.dg/class-2.m: Same.
	* objc.dg/class-extension-1.m: Same.
	* objc.dg/class-extension-2.m: Same.
	* objc.dg/class-protocol-1.m: Same.
	* objc.dg/desig-init-1.m: Same.
	* objc.dg/duplicate-class-1.m: Same.
	* objc.dg/exceptions-3.m: Same.
	* objc.dg/exceptions-4.m: Same.
	* objc.dg/exceptions-5.m: Same.
	* objc.dg/foreach-6.m: Same.
	* objc.dg/foreach-7.m: Same.
	* objc.dg/fsf-nsstring-format-1.m: Same.
	* objc.dg/fsf-package-0.m: Same.
	* objc.dg/invalid-type-1.m: Same.
	* objc.dg/method-11.m: Same.
	* objc.dg/method-19.m: Same.
	* objc.dg/method-2.m: Same.
	* objc.dg/method-20.m: Same.
	* objc.dg/method-5.m: Same.
	* objc.dg/method-6.m: Same.
	* objc.dg/method-7.m: Same.
	* objc.dg/method-9.m: Same.
	* objc.dg/missing-proto-3.m: Same.
	* objc.dg/private-1.m: Same.
	* objc.dg/property/at-property-1.m: Same.
	* objc.dg/property/at-property-14.m: Same.
	* objc.dg/property/at-property-17.m: Same.
	* objc.dg/property/at-property-21.m: Same.
	* objc.dg/property/at-property-5.m: Same.
	* objc.dg/property/dynamic-3.m: Same.
	* objc.dg/property/dynamic-4.m: Same.
	* objc.dg/property/property-neg-1.m: Same.
	* objc.dg/property/property-neg-6.m: Same.
	* objc.dg/property/synthesize-11.m: Same.
	* objc.dg/property/synthesize-5.m: Same.
	* objc.dg/property/synthesize-6.m: Same.
	* objc.dg/proto-hier-1.m: Same.
	* objc.dg/proto-lossage-4.m: Same.
	* objc.dg/protocol-qualifier-2.m: Same.
	* objc.dg/strings/strings-1.m: Same.
	* objc.dg/type-size-1.m: Same.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/Wimplicit-fallthrough-6.c
    trunk/gcc/testsuite/c-c++-common/Wimplicit-fallthrough-7.c
    trunk/gcc/testsuite/c-c++-common/Wint-to-pointer-cast-3.c
    trunk/gcc/testsuite/c-c++-common/attr-fallthrough-2.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/AN/parser_errors2.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/AN/parser_errors3.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/AN/pr61191.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/AN/pr61963.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/AN/pr62008.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/AN/rank_mismatch.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_errors.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/CK/errors.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/CK/no_args_error.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/PS/clauses1.c
    trunk/gcc/testsuite/c-c++-common/cilk-plus/SE/vlength_errors.c
    trunk/gcc/testsuite/c-c++-common/cpp/pr57580.c
    trunk/gcc/testsuite/c-c++-common/goacc/asyncwait-1.c
    trunk/gcc/testsuite/c-c++-common/goacc/cache-2.c
    trunk/gcc/testsuite/c-c++-common/goacc/declare-2.c
    trunk/gcc/testsuite/c-c++-common/goacc/deviceptr-1.c
    trunk/gcc/testsuite/c-c++-common/goacc/routine-5.c
    trunk/gcc/testsuite/c-c++-common/gomp/clauses-2.c
    trunk/gcc/testsuite/c-c++-common/gomp/ordered-3.c
    trunk/gcc/testsuite/c-c++-common/gomp/pr67501.c
    trunk/gcc/testsuite/c-c++-common/pr20000.c
    trunk/gcc/testsuite/c-c++-common/pr43395.c
    trunk/gcc/testsuite/c-c++-common/pr49706.c
    trunk/gcc/testsuite/c-c++-common/pr77624-1.c
    trunk/gcc/testsuite/c-c++-common/pr77624-2.c
    trunk/gcc/testsuite/c-c++-common/raw-string-14.c
    trunk/gcc/testsuite/c-c++-common/raw-string-16.c
    trunk/gcc/testsuite/c-c++-common/raw-string-3.c
    trunk/gcc/testsuite/c-c++-common/raw-string-4.c
    trunk/gcc/testsuite/c-c++-common/raw-string-5.c
    trunk/gcc/testsuite/c-c++-common/raw-string-6.c
    trunk/gcc/testsuite/g++.dg/abi/mangle41.C
    trunk/gcc/testsuite/g++.dg/conversion/nullptr1.C
    trunk/gcc/testsuite/g++.dg/cpp0x/alias-decl-80296.C
    trunk/gcc/testsuite/g++.dg/cpp0x/auto27.C
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-98.C
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-diag2.C
    trunk/gcc/testsuite/g++.dg/cpp0x/diag2.C
    trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-syntax1.C
    trunk/gcc/testsuite/g++.dg/cpp0x/nullptr15.C
    trunk/gcc/testsuite/g++.dg/cpp0x/pr31431-2.C
    trunk/gcc/testsuite/g++.dg/cpp0x/pr31431.C
    trunk/gcc/testsuite/g++.dg/cpp0x/pr79118.C
    trunk/gcc/testsuite/g++.dg/cpp0x/static_assert3.C
    trunk/gcc/testsuite/g++.dg/cpp0x/temp_default2.C
    trunk/gcc/testsuite/g++.dg/cpp0x/trailing4.C
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex10.C
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex13.C
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex14.C
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex3.C
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex4.C
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic59.C
    trunk/gcc/testsuite/g++.dg/cpp0x/vt-37737-2.C
    trunk/gcc/testsuite/g++.dg/cpp0x/vt-57397-1.C
    trunk/gcc/testsuite/g++.dg/cpp0x/vt-57397-2.C
    trunk/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda8.C
    trunk/gcc/testsuite/g++.dg/cpp1z/gen-attrs1.C
    trunk/gcc/testsuite/g++.dg/diagnostic/pr71075.C
    trunk/gcc/testsuite/g++.dg/eh/goto2.C
    trunk/gcc/testsuite/g++.dg/eh/goto3.C
    trunk/gcc/testsuite/g++.dg/expr/bitfield4.C
    trunk/gcc/testsuite/g++.dg/expr/bitfield5.C
    trunk/gcc/testsuite/g++.dg/expr/bitfield6.C
    trunk/gcc/testsuite/g++.dg/expr/bool1.C
    trunk/gcc/testsuite/g++.dg/expr/bool3.C
    trunk/gcc/testsuite/g++.dg/expr/cond10.C
    trunk/gcc/testsuite/g++.dg/expr/cond11.C
    trunk/gcc/testsuite/g++.dg/expr/lval3.C
    trunk/gcc/testsuite/g++.dg/expr/lval4.C
    trunk/gcc/testsuite/g++.dg/ext/anon-struct4.C
    trunk/gcc/testsuite/g++.dg/ext/attrib44.C
    trunk/gcc/testsuite/g++.dg/ext/builtin3.C
    trunk/gcc/testsuite/g++.dg/ext/dllimport7.C
    trunk/gcc/testsuite/g++.dg/ext/label5.C
    trunk/gcc/testsuite/g++.dg/ext/no-asm-1.C
    trunk/gcc/testsuite/g++.dg/ext/utf16-4.C
    trunk/gcc/testsuite/g++.dg/ext/vla2.C
    trunk/gcc/testsuite/g++.dg/gomp/block-1.C
    trunk/gcc/testsuite/g++.dg/gomp/block-2.C
    trunk/gcc/testsuite/g++.dg/gomp/block-3.C
    trunk/gcc/testsuite/g++.dg/gomp/block-5.C
    trunk/gcc/testsuite/g++.dg/gomp/linear-2.C
    trunk/gcc/testsuite/g++.dg/gomp/target-1.C
    trunk/gcc/testsuite/g++.dg/gomp/target-2.C
    trunk/gcc/testsuite/g++.dg/gomp/taskgroup-1.C
    trunk/gcc/testsuite/g++.dg/gomp/teams-1.C
    trunk/gcc/testsuite/g++.dg/inherit/pure1.C
    trunk/gcc/testsuite/g++.dg/init/array43.C
    trunk/gcc/testsuite/g++.dg/init/array46.C
    trunk/gcc/testsuite/g++.dg/init/const10.C
    trunk/gcc/testsuite/g++.dg/init/ctor4-1.C
    trunk/gcc/testsuite/g++.dg/init/ctor4.C
    trunk/gcc/testsuite/g++.dg/init/new37.C
    trunk/gcc/testsuite/g++.dg/init/pr25811.C
    trunk/gcc/testsuite/g++.dg/init/pr29043.C
    trunk/gcc/testsuite/g++.dg/init/pr29571.C
    trunk/gcc/testsuite/g++.dg/lookup/duperr1.C
    trunk/gcc/testsuite/g++.dg/lookup/error1.C
    trunk/gcc/testsuite/g++.dg/lookup/koenig5.C
    trunk/gcc/testsuite/g++.dg/lookup/pr77549.C
    trunk/gcc/testsuite/g++.dg/lookup/suggestions1.C
    trunk/gcc/testsuite/g++.dg/lookup/using16.C
    trunk/gcc/testsuite/g++.dg/lookup/using7.C
    trunk/gcc/testsuite/g++.dg/other/anon-union3.C
    trunk/gcc/testsuite/g++.dg/other/array2.C
    trunk/gcc/testsuite/g++.dg/other/error13.C
    trunk/gcc/testsuite/g++.dg/other/error34.C
    trunk/gcc/testsuite/g++.dg/overload/builtin1.C
    trunk/gcc/testsuite/g++.dg/overload/conv-op1.C
    trunk/gcc/testsuite/g++.dg/overload/error3.C
    trunk/gcc/testsuite/g++.dg/overload/koenig1.C
    trunk/gcc/testsuite/g++.dg/overload/operator5.C
    trunk/gcc/testsuite/g++.dg/overload/template5.C
    trunk/gcc/testsuite/g++.dg/overload/unknown1.C
    trunk/gcc/testsuite/g++.dg/overload/using2.C
    trunk/gcc/testsuite/g++.dg/parse/constructor1.C
    trunk/gcc/testsuite/g++.dg/parse/crash36.C
    trunk/gcc/testsuite/g++.dg/parse/crash63.C
    trunk/gcc/testsuite/g++.dg/parse/error11.C
    trunk/gcc/testsuite/g++.dg/parse/error12.C
    trunk/gcc/testsuite/g++.dg/parse/error14.C
    trunk/gcc/testsuite/g++.dg/parse/error2.C
    trunk/gcc/testsuite/g++.dg/parse/error21.C
    trunk/gcc/testsuite/g++.dg/parse/error26.C
    trunk/gcc/testsuite/g++.dg/parse/error36.C
    trunk/gcc/testsuite/g++.dg/parse/friend12.C
    trunk/gcc/testsuite/g++.dg/parse/invalid-op1.C
    trunk/gcc/testsuite/g++.dg/parse/missing-template1.C
    trunk/gcc/testsuite/g++.dg/parse/parser-pr28152-2.C
    trunk/gcc/testsuite/g++.dg/parse/parser-pr28152.C
    trunk/gcc/testsuite/g++.dg/parse/pr16696-permissive.C
    trunk/gcc/testsuite/g++.dg/parse/pr16696.C
    trunk/gcc/testsuite/g++.dg/parse/pr69628.C
    trunk/gcc/testsuite/g++.dg/parse/ret-type2.C
    trunk/gcc/testsuite/g++.dg/parse/specialization1.C
    trunk/gcc/testsuite/g++.dg/parse/template3.C
    trunk/gcc/testsuite/g++.dg/parse/template9.C
    trunk/gcc/testsuite/g++.dg/parse/typename11.C
    trunk/gcc/testsuite/g++.dg/plugin/attribute_plugin-test-1.C
    trunk/gcc/testsuite/g++.dg/pr45330.C
    trunk/gcc/testsuite/g++.dg/rtti/typeid6.C
    trunk/gcc/testsuite/g++.dg/spellcheck-fields.C
    trunk/gcc/testsuite/g++.dg/spellcheck-typenames.C
    trunk/gcc/testsuite/g++.dg/tc1/dr108.C
    trunk/gcc/testsuite/g++.dg/tc1/dr147.C
    trunk/gcc/testsuite/g++.dg/template/arg7.C
    trunk/gcc/testsuite/g++.dg/template/conv11.C
    trunk/gcc/testsuite/g++.dg/template/crash13.C
    trunk/gcc/testsuite/g++.dg/template/crash55.C
    trunk/gcc/testsuite/g++.dg/template/dependent-expr5.C
    trunk/gcc/testsuite/g++.dg/template/error17.C
    trunk/gcc/testsuite/g++.dg/template/error33.C
    trunk/gcc/testsuite/g++.dg/template/error4.C
    trunk/gcc/testsuite/g++.dg/template/error50.C
    trunk/gcc/testsuite/g++.dg/template/error53.C
    trunk/gcc/testsuite/g++.dg/template/friend.C
    trunk/gcc/testsuite/g++.dg/template/func2.C
    trunk/gcc/testsuite/g++.dg/template/local6.C
    trunk/gcc/testsuite/g++.dg/template/member5.C
    trunk/gcc/testsuite/g++.dg/template/meminit1.C
    trunk/gcc/testsuite/g++.dg/template/nested3.C
    trunk/gcc/testsuite/g++.dg/template/nontype6.C
    trunk/gcc/testsuite/g++.dg/template/overload12.C
    trunk/gcc/testsuite/g++.dg/template/ptrmem8.C
    trunk/gcc/testsuite/g++.dg/template/qualified-id1.C
    trunk/gcc/testsuite/g++.dg/template/spec15.C
    trunk/gcc/testsuite/g++.dg/template/static1.C
    trunk/gcc/testsuite/g++.dg/template/static10.C
    trunk/gcc/testsuite/g++.dg/template/static2.C
    trunk/gcc/testsuite/g++.dg/template/ttp25.C
    trunk/gcc/testsuite/g++.dg/template/typedef2.C
    trunk/gcc/testsuite/g++.dg/template/typename2.C
    trunk/gcc/testsuite/g++.dg/template/unify10.C
    trunk/gcc/testsuite/g++.dg/template/unify6.C
    trunk/gcc/testsuite/g++.dg/template/unify7.C
    trunk/gcc/testsuite/g++.dg/template/unify9.C
    trunk/gcc/testsuite/g++.dg/template/varmod1.C
    trunk/gcc/testsuite/g++.dg/ubsan/div-by-zero-1.C
    trunk/gcc/testsuite/g++.dg/ubsan/pr63956.C
    trunk/gcc/testsuite/g++.dg/warn/Waddress-1.C
    trunk/gcc/testsuite/g++.dg/warn/Wconversion2.C
    trunk/gcc/testsuite/g++.dg/warn/Wnull-conversion-1.C
    trunk/gcc/testsuite/g++.dg/warn/Wsubobject-linkage-1.C
    trunk/gcc/testsuite/g++.dg/warn/Wsubobject-linkage-3.C
    trunk/gcc/testsuite/g++.dg/warn/Wswitch-1.C
    trunk/gcc/testsuite/g++.dg/warn/Wtype-limits-Wextra.C
    trunk/gcc/testsuite/g++.dg/warn/Wtype-limits.C
    trunk/gcc/testsuite/g++.dg/warn/Wunused-parm-5.C
    trunk/gcc/testsuite/g++.dg/warn/deprecated-6.C
    trunk/gcc/testsuite/g++.dg/warn/deprecated.C
    trunk/gcc/testsuite/g++.dg/warn/incomplete1.C
    trunk/gcc/testsuite/g++.dg/warn/multiple-overflow-warn-1.C
    trunk/gcc/testsuite/g++.dg/warn/multiple-overflow-warn-2.C
    trunk/gcc/testsuite/g++.dg/warn/multiple-overflow-warn-3.C
    trunk/gcc/testsuite/g++.dg/warn/overflow-warn-1.C
    trunk/gcc/testsuite/g++.dg/warn/overflow-warn-3.C
    trunk/gcc/testsuite/g++.dg/warn/overflow-warn-4.C
    trunk/gcc/testsuite/g++.dg/warn/pr12242.C
    trunk/gcc/testsuite/g++.dg/warn/pr30551-2.C
    trunk/gcc/testsuite/g++.dg/warn/pr30551.C
    trunk/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C
    trunk/gcc/testsuite/g++.old-deja/g++.bob/inherit1.C
    trunk/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
    trunk/gcc/testsuite/g++.old-deja/g++.brendan/template17.C
    trunk/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C
    trunk/gcc/testsuite/g++.old-deja/g++.jason/bool5.C
    trunk/gcc/testsuite/g++.old-deja/g++.jason/cond.C
    trunk/gcc/testsuite/g++.old-deja/g++.jason/operator.C
    trunk/gcc/testsuite/g++.old-deja/g++.jason/pmf5.C
    trunk/gcc/testsuite/g++.old-deja/g++.law/ctors5.C
    trunk/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C
    trunk/gcc/testsuite/g++.old-deja/g++.law/operators9.C
    trunk/gcc/testsuite/g++.old-deja/g++.law/temps1.C
    trunk/gcc/testsuite/g++.old-deja/g++.mike/for2.C
    trunk/gcc/testsuite/g++.old-deja/g++.mike/ns5.C
    trunk/gcc/testsuite/g++.old-deja/g++.mike/ns7.C
    trunk/gcc/testsuite/g++.old-deja/g++.mike/p10769b.C
    trunk/gcc/testsuite/g++.old-deja/g++.niklas/t120.C
    trunk/gcc/testsuite/g++.old-deja/g++.niklas/t121.C
    trunk/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C
    trunk/gcc/testsuite/g++.old-deja/g++.oliva/overload1.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/crash24.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/crash25.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/decl5.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/lineno5.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/null3.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/ptrmem7.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/typename1.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/vaarg3.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/crash10.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/crash28.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/crash38.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/explicit77.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/expr2.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/spec5.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/spec6.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/typename3.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/typename5.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/typename6.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/typename7.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/unify4.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/unify8.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/vaarg3.C
    trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb22.C
    trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C
    trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
    trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb69.C
    trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb98.C
    trunk/gcc/testsuite/gcc.dg/20031223-1.c
    trunk/gcc/testsuite/gcc.dg/940510-1.c
    trunk/gcc/testsuite/gcc.dg/990506-0.c
    trunk/gcc/testsuite/gcc.dg/Walloca-1.c
    trunk/gcc/testsuite/gcc.dg/Walloca-2.c
    trunk/gcc/testsuite/gcc.dg/Wconversion-integer.c
    trunk/gcc/testsuite/gcc.dg/Wcxx-compat-8.c
    trunk/gcc/testsuite/gcc.dg/Wimplicit-int-1.c
    trunk/gcc/testsuite/gcc.dg/Wimplicit-int-2.c
    trunk/gcc/testsuite/gcc.dg/Wimplicit-int-4.c
    trunk/gcc/testsuite/gcc.dg/Wpointer-sign-Wall.c
    trunk/gcc/testsuite/gcc.dg/Wpointer-sign-pedantic.c
    trunk/gcc/testsuite/gcc.dg/Wshadow-1.c
    trunk/gcc/testsuite/gcc.dg/Wshadow-3.c
    trunk/gcc/testsuite/gcc.dg/Wswitch-enum-error.c
    trunk/gcc/testsuite/gcc.dg/Wswitch-enum.c
    trunk/gcc/testsuite/gcc.dg/Wswitch-error.c
    trunk/gcc/testsuite/gcc.dg/Wswitch.c
    trunk/gcc/testsuite/gcc.dg/Wtype-limits-Wextra.c
    trunk/gcc/testsuite/gcc.dg/Wtype-limits.c
    trunk/gcc/testsuite/gcc.dg/Wvla-larger-than-2.c
    trunk/gcc/testsuite/gcc.dg/anon-struct-5.c
    trunk/gcc/testsuite/gcc.dg/array-10.c
    trunk/gcc/testsuite/gcc.dg/array-11.c
    trunk/gcc/testsuite/gcc.dg/array-15.c
    trunk/gcc/testsuite/gcc.dg/array-2.c
    trunk/gcc/testsuite/gcc.dg/array-8.c
    trunk/gcc/testsuite/gcc.dg/array-const-2.c
    trunk/gcc/testsuite/gcc.dg/array-const-3.c
    trunk/gcc/testsuite/gcc.dg/bitfld-1.c
    trunk/gcc/testsuite/gcc.dg/bitfld-8.c
    trunk/gcc/testsuite/gcc.dg/builtin-redefine.c
    trunk/gcc/testsuite/gcc.dg/c11-noreturn-1.c
    trunk/gcc/testsuite/gcc.dg/c11-noreturn-2.c
    trunk/gcc/testsuite/gcc.dg/c11-static-assert-3.c
    trunk/gcc/testsuite/gcc.dg/c90-arraydecl-1.c
    trunk/gcc/testsuite/gcc.dg/c90-complex-1.c
    trunk/gcc/testsuite/gcc.dg/c90-complit-1.c
    trunk/gcc/testsuite/gcc.dg/c90-const-expr-11.c
    trunk/gcc/testsuite/gcc.dg/c90-const-expr-7.c
    trunk/gcc/testsuite/gcc.dg/c90-const-expr-8.c
    trunk/gcc/testsuite/gcc.dg/c90-enum-comma-1.c
    trunk/gcc/testsuite/gcc.dg/c90-flex-array-1.c
    trunk/gcc/testsuite/gcc.dg/c90-hexfloat-1.c
    trunk/gcc/testsuite/gcc.dg/c90-idem-qual-1.c
    trunk/gcc/testsuite/gcc.dg/c90-idem-qual-2.c
    trunk/gcc/testsuite/gcc.dg/c90-idem-qual-3.c
    trunk/gcc/testsuite/gcc.dg/c90-mixdecl-1.c
    trunk/gcc/testsuite/gcc.dg/c90-restrict-1.c
    trunk/gcc/testsuite/gcc.dg/c90-return-1.c
    trunk/gcc/testsuite/gcc.dg/c99-array-nonobj-1.c
    trunk/gcc/testsuite/gcc.dg/c99-arraydecl-1.c
    trunk/gcc/testsuite/gcc.dg/c99-complex-1.c
    trunk/gcc/testsuite/gcc.dg/c99-complex-2.c
    trunk/gcc/testsuite/gcc.dg/c99-complit-2.c
    trunk/gcc/testsuite/gcc.dg/c99-const-expr-7.c
    trunk/gcc/testsuite/gcc.dg/c99-const-expr-8.c
    trunk/gcc/testsuite/gcc.dg/c99-flex-array-3.c
    trunk/gcc/testsuite/gcc.dg/c99-flex-array-7.c
    trunk/gcc/testsuite/gcc.dg/c99-flex-array-typedef-7.c
    trunk/gcc/testsuite/gcc.dg/c99-impl-decl-1.c
    trunk/gcc/testsuite/gcc.dg/c99-impl-int-1.c
    trunk/gcc/testsuite/gcc.dg/c99-impl-int-2.c
    trunk/gcc/testsuite/gcc.dg/c99-init-3.c
    trunk/gcc/testsuite/gcc.dg/c99-restrict-1.c
    trunk/gcc/testsuite/gcc.dg/c99-return-1.c
    trunk/gcc/testsuite/gcc.dg/c99-tag-1.c
    trunk/gcc/testsuite/gcc.dg/c99-tag-3.c
    trunk/gcc/testsuite/gcc.dg/call-diag-2.c
    trunk/gcc/testsuite/gcc.dg/cpp/19940712-1.c
    trunk/gcc/testsuite/gcc.dg/cpp/19951025-1.c
    trunk/gcc/testsuite/gcc.dg/cpp/19990413-1.c
    trunk/gcc/testsuite/gcc.dg/cpp/direct2.c
    trunk/gcc/testsuite/gcc.dg/cpp/direct2s.c
    trunk/gcc/testsuite/gcc.dg/cpp/pr28709.c
    trunk/gcc/testsuite/gcc.dg/cpp/pr61854-c90.c
    trunk/gcc/testsuite/gcc.dg/cpp/pr61854-c94.c
    trunk/gcc/testsuite/gcc.dg/cpp/pragma-1.c
    trunk/gcc/testsuite/gcc.dg/cpp/pragma-2.c
    trunk/gcc/testsuite/gcc.dg/cpp/trad/escaped-eof.c
    trunk/gcc/testsuite/gcc.dg/cpp/trad/literals-2.c
    trunk/gcc/testsuite/gcc.dg/cpp/warn-comments-2.c
    trunk/gcc/testsuite/gcc.dg/cpp/warn-comments-3.c
    trunk/gcc/testsuite/gcc.dg/cpp/warn-comments.c
    trunk/gcc/testsuite/gcc.dg/cpp/warn-long-long-2.c
    trunk/gcc/testsuite/gcc.dg/cpp/warn-long-long.c
    trunk/gcc/testsuite/gcc.dg/cpp/warn-redefined-2.c
    trunk/gcc/testsuite/gcc.dg/cpp/warn-redefined.c
    trunk/gcc/testsuite/gcc.dg/darwin-cfstring-2.c
    trunk/gcc/testsuite/gcc.dg/darwin-cfstring-format-1.c
    trunk/gcc/testsuite/gcc.dg/decl-9.c
    trunk/gcc/testsuite/gcc.dg/declspec-1.c
    trunk/gcc/testsuite/gcc.dg/declspec-10.c
    trunk/gcc/testsuite/gcc.dg/declspec-11.c
    trunk/gcc/testsuite/gcc.dg/declspec-13.c
    trunk/gcc/testsuite/gcc.dg/declspec-18.c
    trunk/gcc/testsuite/gcc.dg/declspec-4.c
    trunk/gcc/testsuite/gcc.dg/declspec-5.c
    trunk/gcc/testsuite/gcc.dg/declspec-6.c
    trunk/gcc/testsuite/gcc.dg/declspec-8.c
    trunk/gcc/testsuite/gcc.dg/deprecated-4.c
    trunk/gcc/testsuite/gcc.dg/deprecated.c
    trunk/gcc/testsuite/gcc.dg/dfp/composite-type.c
    trunk/gcc/testsuite/gcc.dg/empty-source-2.c
    trunk/gcc/testsuite/gcc.dg/empty-source-3.c
    trunk/gcc/testsuite/gcc.dg/format/attr-6.c
    trunk/gcc/testsuite/gcc.dg/format/branch-1.c
    trunk/gcc/testsuite/gcc.dg/format/c90-printf-1.c
    trunk/gcc/testsuite/gcc.dg/format/c90-strftime-2.c
    trunk/gcc/testsuite/gcc.dg/format/c99-strftime-1.c
    trunk/gcc/testsuite/gcc.dg/format/cmn-err-1.c
    trunk/gcc/testsuite/gcc.dg/format/few-1.c
    trunk/gcc/testsuite/gcc.dg/format/ms_branch-1.c
    trunk/gcc/testsuite/gcc.dg/format/ms_unnamed-1.c
    trunk/gcc/testsuite/gcc.dg/format/ms_va-1.c
    trunk/gcc/testsuite/gcc.dg/format/unnamed-1.c
    trunk/gcc/testsuite/gcc.dg/format/va-1.c
    trunk/gcc/testsuite/gcc.dg/format/xopen-1.c
    trunk/gcc/testsuite/gcc.dg/funcdef-var-1.c
    trunk/gcc/testsuite/gcc.dg/funcdef-var-2.c
    trunk/gcc/testsuite/gcc.dg/gnu89-const-expr-1.c
    trunk/gcc/testsuite/gcc.dg/gnu89-const-expr-2.c
    trunk/gcc/testsuite/gcc.dg/gnu90-const-expr-1.c
    trunk/gcc/testsuite/gcc.dg/gnu99-const-expr-1.c
    trunk/gcc/testsuite/gcc.dg/gnu99-const-expr-2.c
    trunk/gcc/testsuite/gcc.dg/gnu99-init-2.c
    trunk/gcc/testsuite/gcc.dg/gomp/_Atomic-5.c
    trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.24.1.c
    trunk/gcc/testsuite/gcc.dg/gomp/atomic-5.c
    trunk/gcc/testsuite/gcc.dg/gomp/linear-1.c
    trunk/gcc/testsuite/gcc.dg/gomp/pr67500.c
    trunk/gcc/testsuite/gcc.dg/init-bad-1.c
    trunk/gcc/testsuite/gcc.dg/init-bad-2.c
    trunk/gcc/testsuite/gcc.dg/init-bad-3.c
    trunk/gcc/testsuite/gcc.dg/init-string-1.c
    trunk/gcc/testsuite/gcc.dg/label-compound-stmt-1.c
    trunk/gcc/testsuite/gcc.dg/label-decl-2.c
    trunk/gcc/testsuite/gcc.dg/label-decl-4.c
    trunk/gcc/testsuite/gcc.dg/large-size-array-2.c
    trunk/gcc/testsuite/gcc.dg/large-size-array-4.c
    trunk/gcc/testsuite/gcc.dg/lvalue-6.c
    trunk/gcc/testsuite/gcc.dg/m-un-2.c
    trunk/gcc/testsuite/gcc.dg/multiple-overflow-warn-1.c
    trunk/gcc/testsuite/gcc.dg/multiple-overflow-warn-2.c
    trunk/gcc/testsuite/gcc.dg/multiple-overflow-warn-3.c
    trunk/gcc/testsuite/gcc.dg/nested-redef-1.c
    trunk/gcc/testsuite/gcc.dg/no-asm-1.c
    trunk/gcc/testsuite/gcc.dg/no-asm-3.c
    trunk/gcc/testsuite/gcc.dg/no-asm-4.c
    trunk/gcc/testsuite/gcc.dg/noncompile/20010524-1.c
    trunk/gcc/testsuite/gcc.dg/noncompile/incomplete-5.c
    trunk/gcc/testsuite/gcc.dg/noncompile/pr44517.c
    trunk/gcc/testsuite/gcc.dg/noncompile/pr52290.c
    trunk/gcc/testsuite/gcc.dg/noreturn-1.c
    trunk/gcc/testsuite/gcc.dg/overflow-warn-1.c
    trunk/gcc/testsuite/gcc.dg/overflow-warn-2.c
    trunk/gcc/testsuite/gcc.dg/overflow-warn-3.c
    trunk/gcc/testsuite/gcc.dg/overflow-warn-4.c
    trunk/gcc/testsuite/gcc.dg/parm-mismatch-1.c
    trunk/gcc/testsuite/gcc.dg/parser-pr28152-2.c
    trunk/gcc/testsuite/gcc.dg/parser-pr28152.c
    trunk/gcc/testsuite/gcc.dg/pedwarn-init.c
    trunk/gcc/testsuite/gcc.dg/pointer-arith-2.c
    trunk/gcc/testsuite/gcc.dg/pointer-arith-3.c
    trunk/gcc/testsuite/gcc.dg/pointer-arith-4.c
    trunk/gcc/testsuite/gcc.dg/pr14475.c
    trunk/gcc/testsuite/gcc.dg/pr18596-3.c
    trunk/gcc/testsuite/gcc.dg/pr18809-1.c
    trunk/gcc/testsuite/gcc.dg/pr27953.c
    trunk/gcc/testsuite/gcc.dg/pr30457.c
    trunk/gcc/testsuite/gcc.dg/pr30551-2.c
    trunk/gcc/testsuite/gcc.dg/pr30551-3.c
    trunk/gcc/testsuite/gcc.dg/pr30551-4.c
    trunk/gcc/testsuite/gcc.dg/pr30551-5.c
    trunk/gcc/testsuite/gcc.dg/pr30551-6.c
    trunk/gcc/testsuite/gcc.dg/pr30551.c
    trunk/gcc/testsuite/gcc.dg/pr36997.c
    trunk/gcc/testsuite/gcc.dg/pr41842.c
    trunk/gcc/testsuite/gcc.dg/pr48552-1.c
    trunk/gcc/testsuite/gcc.dg/pr48552-2.c
    trunk/gcc/testsuite/gcc.dg/pr59717.c
    trunk/gcc/testsuite/gcc.dg/pr61077.c
    trunk/gcc/testsuite/gcc.dg/pr61096-1.c
    trunk/gcc/testsuite/gcc.dg/pr63626.c
    trunk/gcc/testsuite/gcc.dg/pr64223-1.c
    trunk/gcc/testsuite/gcc.dg/pr64223-2.c
    trunk/gcc/testsuite/gcc.dg/pr8788-1.c
    trunk/gcc/testsuite/gcc.dg/pr8927-1.c
    trunk/gcc/testsuite/gcc.dg/pragma-darwin.c
    trunk/gcc/testsuite/gcc.dg/pragma-diag-5.c
    trunk/gcc/testsuite/gcc.dg/pragma-message.c
    trunk/gcc/testsuite/gcc.dg/redecl-1.c
    trunk/gcc/testsuite/gcc.dg/simd-1.c
    trunk/gcc/testsuite/gcc.dg/simd-5.c
    trunk/gcc/testsuite/gcc.dg/simd-6.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-fields.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-typenames.c
    trunk/gcc/testsuite/gcc.dg/struct-semi-2.c
    trunk/gcc/testsuite/gcc.dg/struct-semi-3.c
    trunk/gcc/testsuite/gcc.dg/transparent-union-3.c
    trunk/gcc/testsuite/gcc.dg/ucnid-8.c
    trunk/gcc/testsuite/gcc.dg/uninit-pr19430-O0.c
    trunk/gcc/testsuite/gcc.dg/uninit-pr19430.c
    trunk/gcc/testsuite/gcc.dg/uninit-pr20644-O0.c
    trunk/gcc/testsuite/gcc.dg/utf-dflt.c
    trunk/gcc/testsuite/gcc.dg/utf-dflt2.c
    trunk/gcc/testsuite/gcc.dg/utf16-4.c
    trunk/gcc/testsuite/gcc.dg/vla-11.c
    trunk/gcc/testsuite/gcc.dg/vla-20.c
    trunk/gcc/testsuite/gcc.dg/vla-init-1.c
    trunk/gcc/testsuite/gcc.dg/vla-init-2.c
    trunk/gcc/testsuite/gcc.dg/vla-init-3.c
    trunk/gcc/testsuite/gcc.dg/weak/weak-6.c
    trunk/gcc/testsuite/gcc.dg/weak/weak-7.c
    trunk/gcc/testsuite/gcc.dg/wtr-int-type-1.c
    trunk/gcc/testsuite/gcc.target/aarch64/mgeneral-regs_1.c
    trunk/gcc/testsuite/gcc.target/arm/polytypes.c
    trunk/gcc/testsuite/gcc.target/i386/spellcheck-options-4.c
    trunk/gcc/testsuite/gcc.target/powerpc/20030218-1.c
    trunk/gcc/testsuite/gcc.target/sh/pr21255-4.c
    trunk/gcc/testsuite/gcc.test-framework/dg-error-exp-XP.c
    trunk/gcc/testsuite/gfortran.dg/array_constructor_30.f03
    trunk/gcc/testsuite/gfortran.dg/class_30.f90
    trunk/gcc/testsuite/gfortran.dg/goacc/subarrays.f95
    trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.23.5.f90
    trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.24.1.f90
    trunk/gcc/testsuite/gfortran.dg/intrinsic_std_1.f90
    trunk/gcc/testsuite/gfortran.dg/pr70006.f90
    trunk/gcc/testsuite/gfortran.dg/warning-directive-1.F90
    trunk/gcc/testsuite/gfortran.dg/warning-directive-2.F90
    trunk/gcc/testsuite/gfortran.dg/warning-directive-3.F90
    trunk/gcc/testsuite/gfortran.dg/warning-directive-4.F90
    trunk/gcc/testsuite/obj-c++.dg/attributes/method-noreturn-1.mm
    trunk/gcc/testsuite/obj-c++.dg/class-extension-1.mm
    trunk/gcc/testsuite/obj-c++.dg/class-extension-2.mm
    trunk/gcc/testsuite/obj-c++.dg/class-protocol-1.mm
    trunk/gcc/testsuite/obj-c++.dg/cxx-ivars-1.mm
    trunk/gcc/testsuite/obj-c++.dg/duplicate-class-1.mm
    trunk/gcc/testsuite/obj-c++.dg/exceptions-3.mm
    trunk/gcc/testsuite/obj-c++.dg/exceptions-4.mm
    trunk/gcc/testsuite/obj-c++.dg/exceptions-5.mm
    trunk/gcc/testsuite/obj-c++.dg/fsf-nsstring-format-1.mm
    trunk/gcc/testsuite/obj-c++.dg/fsf-package-0.m
    trunk/gcc/testsuite/obj-c++.dg/invalid-type-1.mm
    trunk/gcc/testsuite/obj-c++.dg/method-12.mm
    trunk/gcc/testsuite/obj-c++.dg/method-13.mm
    trunk/gcc/testsuite/obj-c++.dg/method-15.mm
    trunk/gcc/testsuite/obj-c++.dg/method-16.mm
    trunk/gcc/testsuite/obj-c++.dg/method-6.mm
    trunk/gcc/testsuite/obj-c++.dg/method-7.mm
    trunk/gcc/testsuite/obj-c++.dg/property/at-property-1.mm
    trunk/gcc/testsuite/obj-c++.dg/property/at-property-14.mm
    trunk/gcc/testsuite/obj-c++.dg/property/at-property-17.mm
    trunk/gcc/testsuite/obj-c++.dg/property/at-property-21.mm
    trunk/gcc/testsuite/obj-c++.dg/property/at-property-5.mm
    trunk/gcc/testsuite/obj-c++.dg/property/dotsyntax-4.mm
    trunk/gcc/testsuite/obj-c++.dg/property/dynamic-3.mm
    trunk/gcc/testsuite/obj-c++.dg/property/dynamic-4.mm
    trunk/gcc/testsuite/obj-c++.dg/property/property-neg-1.mm
    trunk/gcc/testsuite/obj-c++.dg/property/property-neg-6.mm
    trunk/gcc/testsuite/obj-c++.dg/property/synthesize-11.mm
    trunk/gcc/testsuite/obj-c++.dg/property/synthesize-5.mm
    trunk/gcc/testsuite/obj-c++.dg/property/synthesize-6.mm
    trunk/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm
    trunk/gcc/testsuite/obj-c++.dg/protocol-qualifier-2.mm
    trunk/gcc/testsuite/obj-c++.dg/strings/strings-1.mm
    trunk/gcc/testsuite/obj-c++.dg/super-class-1.mm
    trunk/gcc/testsuite/obj-c++.dg/syntax-error-6.mm
    trunk/gcc/testsuite/obj-c++.dg/syntax-error-7.mm
    trunk/gcc/testsuite/obj-c++.dg/syntax-error-9.mm
    trunk/gcc/testsuite/obj-c++.dg/try-catch-13.mm
    trunk/gcc/testsuite/objc.dg/attributes/method-noreturn-1.m
    trunk/gcc/testsuite/objc.dg/bad-receiver-type-2.m
    trunk/gcc/testsuite/objc.dg/bad-receiver-type.m
    trunk/gcc/testsuite/objc.dg/call-super-2.m
    trunk/gcc/testsuite/objc.dg/class-2.m
    trunk/gcc/testsuite/objc.dg/class-extension-1.m
    trunk/gcc/testsuite/objc.dg/class-extension-2.m
    trunk/gcc/testsuite/objc.dg/class-protocol-1.m
    trunk/gcc/testsuite/objc.dg/desig-init-1.m
    trunk/gcc/testsuite/objc.dg/duplicate-class-1.m
    trunk/gcc/testsuite/objc.dg/exceptions-3.m
    trunk/gcc/testsuite/objc.dg/exceptions-4.m
    trunk/gcc/testsuite/objc.dg/exceptions-5.m
    trunk/gcc/testsuite/objc.dg/foreach-6.m
    trunk/gcc/testsuite/objc.dg/foreach-7.m
    trunk/gcc/testsuite/objc.dg/fsf-nsstring-format-1.m
    trunk/gcc/testsuite/objc.dg/fsf-package-0.m
    trunk/gcc/testsuite/objc.dg/invalid-type-1.m
    trunk/gcc/testsuite/objc.dg/method-11.m
    trunk/gcc/testsuite/objc.dg/method-19.m
    trunk/gcc/testsuite/objc.dg/method-2.m
    trunk/gcc/testsuite/objc.dg/method-20.m
    trunk/gcc/testsuite/objc.dg/method-5.m
    trunk/gcc/testsuite/objc.dg/method-6.m
    trunk/gcc/testsuite/objc.dg/method-7.m
    trunk/gcc/testsuite/objc.dg/method-9.m
    trunk/gcc/testsuite/objc.dg/missing-proto-3.m
    trunk/gcc/testsuite/objc.dg/private-1.m
    trunk/gcc/testsuite/objc.dg/property/at-property-1.m
    trunk/gcc/testsuite/objc.dg/property/at-property-14.m
    trunk/gcc/testsuite/objc.dg/property/at-property-17.m
    trunk/gcc/testsuite/objc.dg/property/at-property-21.m
    trunk/gcc/testsuite/objc.dg/property/at-property-5.m
    trunk/gcc/testsuite/objc.dg/property/dynamic-3.m
    trunk/gcc/testsuite/objc.dg/property/dynamic-4.m
    trunk/gcc/testsuite/objc.dg/property/property-neg-1.m
    trunk/gcc/testsuite/objc.dg/property/property-neg-6.m
    trunk/gcc/testsuite/objc.dg/property/synthesize-11.m
    trunk/gcc/testsuite/objc.dg/property/synthesize-5.m
    trunk/gcc/testsuite/objc.dg/property/synthesize-6.m
    trunk/gcc/testsuite/objc.dg/proto-hier-1.m
    trunk/gcc/testsuite/objc.dg/proto-lossage-4.m
    trunk/gcc/testsuite/objc.dg/protocol-qualifier-2.m
    trunk/gcc/testsuite/objc.dg/strings/strings-1.m
    trunk/gcc/testsuite/objc.dg/type-size-1.m
Comment 16 Tom de Vries 2017-04-21 21:15:36 UTC
Created attachment 41243 [details]
tentative patch implementing dg-save-linenr
Comment 17 Tom de Vries 2017-04-28 08:04:39 UTC
I've written the script contrib/tests-rewrite-relative-line-number.py, and committed the results of running it. The script itself is not committed, given that we're not expecting to reuse it.

I've added the dg-line directive, so hopefully most of the remaining absolute linenrs can be rewritten on a case-by-case-basis using either relative or saved line nrs.

Given that the automated part of the effort is done, marking as resolved, fixed.
Comment 18 Tom de Vries 2017-04-28 08:09:08 UTC
(In reply to Thomas Schwinge from comment #9)
> You could further optimize the script to omit "." locations: if the "dg-*"
> directive actually is placed on the appropriate line already.

I did this in a separate cleanup action, which I implemented using find and sed.

Commited in r247363 "Remove superfluous ' . ' in dg-(error|warning|message|bogus)".
Comment 19 Tom de Vries 2017-04-28 08:33:33 UTC
Filed spinoff PR80552 - "Make consecutive relative line numbers more maintainable" to capture discussion related to 'continue' line and dg-{begin,end}-same-line-output.