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.
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
Look forward to incorporating the changes made by the script.
Created attachment 41058 [details] tested patch
Created attachment 41059 [details] Result from running script
(In reply to Tom de Vries from comment #3) > Created attachment 41058 [details] > tested patch tested in combination with fix for PR80220.
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.
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.)
(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).
You could further optimize the script to omit "." locations: if the "dg-*" directive actually is placed on the appropriate line already.
(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 } */
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 } */
(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 } */
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.
Created attachment 41217 [details] Result from running updated script Untested for now.
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
Created attachment 41243 [details] tentative patch implementing dg-save-linenr
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.
(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)".
Filed spinoff PR80552 - "Make consecutive relative line numbers more maintainable" to capture discussion related to 'continue' line and dg-{begin,end}-same-line-output.