From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19236 invoked by alias); 27 Mar 2012 07:17:39 -0000 Received: (qmail 19208 invoked by uid 22791); 27 Mar 2012 07:17:34 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-iy0-f175.google.com (HELO mail-iy0-f175.google.com) (209.85.210.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 27 Mar 2012 07:17:18 +0000 Received: by iaag37 with SMTP id g37so10002337iaa.20 for ; Tue, 27 Mar 2012 00:17:18 -0700 (PDT) MIME-Version: 1.0 Received: by 10.50.106.168 with SMTP id gv8mr7672658igb.25.1332832637877; Tue, 27 Mar 2012 00:17:17 -0700 (PDT) Received: by 10.42.165.132 with HTTP; Tue, 27 Mar 2012 00:17:17 -0700 (PDT) In-Reply-To: References: Date: Tue, 27 Mar 2012 07:17:00 -0000 Message-ID: Subject: Re: [patch][RFC] bail out after front-end errors From: Richard Guenther To: Steven Bosscher Cc: GCC Mailing List , GCC Patches Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-03/txt/msg01699.txt.bz2 On Mon, Mar 26, 2012 at 10:56 PM, Steven Bosscher w= rote: > Hello, > > This patch is one way to address PR44982. I see no good reason to > cgraph_finalize_compilation_unit if there were parse errors. As Richi > already pointed out, GCC traditionally has proceeded after parse > errors to preserve warnings and errors we generate from the middle-end > and during semantic analysis. But it seems to me that those warnings > are not very meaningful after parse errors (-Wuninitialized after a > parse error??), and errors from the middle end are mostly for exotic > code (involving asm()s and the like). Bailing out after parse errors > is therefore IMHO the right thing to do for the common case. > > Thoughts? Comments? Conceptually it makes sense. Did you check whether allowing the FE too proceed to final_write_globals but stop before cgraph_finalize_compilation_unit preserves any errors? I would expect that maybe FE global variable diagostics are defered until that? It would be nice to finally move the call to cgraph_finalize_compilation_unit to the middle-end ... (warning, if you try that you run into an issue with the Java frontend ... = :/) Richard. > If the consensus is that this patch goes in, I'll also have to do some > work on the test suite, because some warnings and errors disappear. > List attached below. A lot of errors and warnings from g++ disappear. > I suspect this is because they are only issued during gimplification. > That is something I'll have to address before this patch could go in. > Before I spend the effort, I'd like to know if there is consensus on > the general direction proposed here... ;-) > > Ciao! > Steven > > > > Index: toplev.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- toplev.c =A0 =A0(revision 185813) > +++ toplev.c =A0 =A0(working copy) > @@ -561,9 +561,14 @@ compile_file (void) > =A0 /* Compilation is now finished except for writing > =A0 =A0 =A0what's left of the symbol table output. =A0*/ > > - =A0if (flag_syntax_only || flag_wpa) > + =A0/* If all we have to do is syntax checking, or if there were parse > + =A0 =A0 errors, stop here. =A0*/ > + =A0if (flag_syntax_only || seen_error ()) > =A0 =A0 return; > > + =A0if (flag_wpa) > + =A0 =A0return; > + > =A0 timevar_start (TV_PHASE_GENERATE); > > =A0 ggc_protect_identifiers =3D false; > @@ -571,12 +576,6 @@ compile_file (void) > =A0 /* This must also call cgraph_finalize_compilation_unit. =A0*/ > =A0 lang_hooks.decls.final_write_globals (); > > - =A0if (seen_error ()) > - =A0 =A0{ > - =A0 =A0 =A0timevar_stop (TV_PHASE_GENERATE); > - =A0 =A0 =A0return; > - =A0 =A0} > - > =A0 /* Compilation unit is finalized. =A0When producing non-fat LTO objec= t, we are > =A0 =A0 =A0basically finished. =A0*/ > =A0 if (in_lto_p || !flag_lto || flag_fat_lto_objects) > > > New failing tests: >> FAIL: gcc.dg/asm-7.c =A0(test for errors, line 15) >> FAIL: gcc.dg/asm-7.c =A0(test for errors, line 16) >> FAIL: gcc.dg/declspec-10.c =A0(test for warnings, line 19) >> FAIL: gcc.dg/declspec-11.c =A0(test for warnings, line 19) >> FAIL: gcc.dg/declspec-9.c =A0(test for errors, line 20) >> FAIL: gcc.dg/gnu99-static-1.c =A0(test for errors, line 21) >> FAIL: gcc.dg/gnu99-static-1.c =A0(test for errors, line 25) >> FAIL: gcc.dg/pr48552-1.c =A0(test for errors, line 16) >> FAIL: gcc.dg/pr48552-1.c =A0(test for errors, line 40) >> FAIL: gcc.dg/pr48552-1.c =A0(test for errors, line 52) >> FAIL: gcc.dg/pr48552-2.c =A0(test for errors, line 16) >> FAIL: gcc.dg/pr48552-2.c =A0(test for errors, line 40) >> FAIL: gcc.dg/pr48552-2.c =A0(test for errors, line 52) >> FAIL: gcc.dg/redecl-10.c =A0(test for warnings, line 15) >> FAIL: gcc.dg/redecl-10.c =A0(test for warnings, line 29) >> FAIL: gcc.dg/gomp/block-2.c =A0(test for errors, line 14) >> FAIL: gcc.dg/gomp/block-2.c =A0(test for errors, line 16) >> FAIL: gcc.dg/gomp/block-7.c =A0(test for errors, line 9) >> FAIL: gcc.dg/gomp/block-7.c =A0(test for errors, line 10) >> FAIL: gcc.dg/gomp/block-7.c =A0(test for errors, line 11) >> FAIL: gcc.dg/gomp/block-7.c =A0(test for errors, line 15) >> FAIL: gcc.dg/gomp/block-7.c =A0(test for errors, line 16) >> FAIL: gcc.dg/gomp/block-7.c =A0(test for errors, line 17) >> FAIL: gcc.dg/gomp/pr27415.c =A0(test for errors, line 9) >> FAIL: gcc.dg/gomp/pr27415.c =A0(test for errors, line 28) >> FAIL: gcc.dg/gomp/pr27415.c =A0(test for errors, line 37) >> FAIL: c-c++-common/tm/safe-3.c (internal compiler error) >> FAIL: c-c++-common/tm/safe-3.c (test for excess errors) >> FAIL: gcc.dg/tm/pr52141.c (internal compiler error) >> FAIL: gcc.dg/tm/pr52141.c (test for excess errors) >> FAIL: g++.dg/cpp0x/constexpr-ex1.C =A0(test for warnings, line 17) >> FAIL: g++.dg/cpp0x/constexpr-function2.C =A0(test for warnings, line 46) >> FAIL: g++.dg/cpp0x/constexpr-neg1.C =A0(test for warnings, line 5) >> FAIL: g++.dg/cpp0x/lambda/lambda-ctor-neg.C =A0(test for warnings, line = 15) >> FAIL: g++.dg/cpp0x/lambda/lambda-ctor-neg.C not an aggregate (test for e= rrors, line 16) >> FAIL: g++.dg/cpp0x/lambda/lambda-ctor-neg.C deleted default ctor (test f= or errors, line 17) >> FAIL: g++.dg/cpp0x/lambda/lambda-ctor-neg.C deleted assignment op (test = for errors, line 18) >> FAIL: g++.dg/cpp0x/lambda/lambda-field-names.C no member named i (test f= or errors, line 11) >> FAIL: g++.dg/cpp0x/noexcept15.C =A0(test for errors, line 16) >> FAIL: g++.dg/cpp0x/pr47416.C =A0(test for errors, line 187) >> FAIL: g++.dg/cpp0x/pr47416.C =A0(test for warnings, line 213) >> FAIL: g++.dg/cpp0x/pr47416.C =A0(test for warnings, line 223) >> FAIL: g++.dg/cpp0x/static_assert2.C =A0(test for errors, line 14) >> FAIL: g++.dg/cpp0x/union1.C =A0(test for errors, line 17) >> FAIL: g++.dg/cpp0x/union1.C =A0(test for errors, line 18) >> FAIL: g++.dg/cpp0x/union1.C =A0(test for errors, line 28) >> FAIL: g++.dg/cpp0x/union1.C =A0(test for errors, line 29) >> FAIL: g++.dg/cpp0x/vt-37737-2.C =A0(test for warnings, line 4) >> FAIL: g++.dg/cpp0x/vt-37737-2.C =A0(test for errors, line 6) >> FAIL: g++.dg/cpp0x/vt-37737-2.C candidate note (test for warnings, line = 6) >> FAIL: g++.dg/ext/case-range2.C -std=3Dgnu++98 =A0(test for errors, line = 14) >> FAIL: g++.dg/ext/case-range2.C -std=3Dgnu++98 =A0(test for errors, line = 15) >> FAIL: g++.dg/ext/case-range2.C -std=3Dgnu++98 =A0(test for warnings, lin= e 25) >> FAIL: g++.dg/ext/case-range2.C -std=3Dgnu++11 =A0(test for errors, line = 14) >> FAIL: g++.dg/ext/case-range2.C -std=3Dgnu++11 =A0(test for errors, line = 15) >> FAIL: g++.dg/ext/case-range2.C -std=3Dgnu++11 =A0(test for warnings, lin= e 25) >> FAIL: g++.dg/init/pr42844.C -std=3Dc++98 =A0(test for warnings, line 44) >> FAIL: g++.dg/init/pr42844.C -std=3Dc++98 =A0(test for warnings, line 46) >> FAIL: g++.dg/init/pr42844.C -std=3Dc++98 =A0(test for errors, line 51) >> FAIL: g++.dg/init/pr42844.C -std=3Dc++11 =A0(test for warnings, line 44) >> FAIL: g++.dg/init/pr42844.C -std=3Dc++11 =A0(test for warnings, line 46) >> FAIL: g++.dg/init/pr42844.C -std=3Dc++11 =A0(test for errors, line 51) >> FAIL: g++.dg/parse/template18.C -std=3Dc++98 =A0(test for errors, line 4= 7) >> FAIL: g++.dg/parse/template18.C -std=3Dc++98 =A0(test for warnings, line= 52) >> FAIL: g++.dg/parse/template18.C -std=3Dc++11 =A0(test for errors, line 4= 7) >> FAIL: g++.dg/parse/template18.C -std=3Dc++11 =A0(test for warnings, line= 52) >> FAIL: g++.dg/parse/typename7.C -std=3Dc++98 =A0(test for warnings, line = 10) >> FAIL: g++.dg/parse/typename7.C -std=3Dc++98 =A0(test for warnings, line = 11) >> FAIL: g++.dg/parse/typename7.C -std=3Dc++98 candidate note (test for war= nings, line 12) >> FAIL: g++.dg/parse/typename7.C -std=3Dc++98 candidate note (test for war= nings, line 22) >> FAIL: g++.dg/parse/typename7.C -std=3Dc++11 =A0(test for warnings, line = 10) >> FAIL: g++.dg/parse/typename7.C -std=3Dc++11 =A0(test for warnings, line = 11) >> FAIL: g++.dg/parse/typename7.C -std=3Dc++11 candidate note (test for war= nings, line 12) >> FAIL: g++.dg/parse/typename7.C -std=3Dc++11 candidate note (test for war= nings, line 22) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++98 =A0(test for warnings, line 22) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++98 =A0(test for errors, line 27) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++98 matching (test for errors, line 33) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++98 candidate note (test for warnings,= line 33) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++98 =A0(test for warnings, line 37) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++11 =A0(test for warnings, line 22) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++11 =A0(test for errors, line 27) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++11 matching (test for errors, line 33) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++11 candidate note (test for warnings,= line 33) >> FAIL: g++.dg/tc1/dr152.C -std=3Dc++11 =A0(test for warnings, line 37) >> FAIL: g++.dg/tc1/dr166.C -std=3Dc++98 =A0(test for errors, line 27) >> FAIL: g++.dg/tc1/dr166.C -std=3Dc++98 =A0(test for warnings, line 35) >> FAIL: g++.dg/tc1/dr166.C -std=3Dc++98 =A0(test for errors, line 44) >> FAIL: g++.dg/tc1/dr166.C -std=3Dc++98 =A0(test for errors, line 45) >> FAIL: g++.dg/tc1/dr166.C -std=3Dc++11 =A0(test for warnings, line 50) >> FAIL: g++.dg/template/access2.C -std=3Dc++98 =A0(test for errors, line 8) >> FAIL: g++.dg/template/access2.C -std=3Dc++98 =A0(test for errors, line 1= 3) >> FAIL: g++.dg/template/access2.C -std=3Dc++98 =A0(test for warnings, line= 19) >> FAIL: g++.dg/template/access2.C -std=3Dc++11 =A0(test for errors, line 8) >> FAIL: g++.dg/template/access2.C -std=3Dc++11 =A0(test for errors, line 1= 3) >> FAIL: g++.dg/template/access2.C -std=3Dc++11 =A0(test for warnings, line= 19) >> FAIL: g++.dg/template/crash107.C -std=3Dgnu++98 =A0(test for warnings, l= ine 13) >> FAIL: g++.dg/template/crash107.C -std=3Dgnu++98 =A0(test for warnings, l= ine 20) >> FAIL: g++.dg/template/crash107.C -std=3Dgnu++11 =A0(test for warnings, l= ine 13) >> FAIL: g++.dg/template/crash107.C -std=3Dgnu++11 =A0(test for warnings, l= ine 20) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 =A0(test for errors= , line 86) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 =A0(test for errors= , line 110) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 candidate note (tes= t for warnings, line 110) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 =A0(test for errors= , line 112) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 candidate note (tes= t for warnings, line 112) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 =A0(test for errors= , line 115) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 candidate note (tes= t for warnings, line 115) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 =A0(test for errors= , line 123) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++98 candidate note (tes= t for warnings, line 123) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++11 =A0(test for errors= , line 110) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++11 candidate note (tes= t for warnings, line 110) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++11 =A0(test for errors= , line 112) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++11 candidate note (tes= t for warnings, line 112) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++11 =A0(test for errors= , line 115) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++11 candidate note (tes= t for warnings, line 115) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++11 =A0(test for errors= , line 123) >> FAIL: g++.dg/template/dependent-expr5.C -std=3Dc++11 candidate note (tes= t for warnings, line 123) >> FAIL: g++.dg/template/error15.C -std=3Dc++98 =A0(test for errors, line 2= 1) >> FAIL: g++.dg/template/error15.C -std=3Dc++11 =A0(test for errors, line 2= 1) >> FAIL: g++.dg/template/error43.C -std=3Dc++98 =A0(test for warnings, line= 9) >> FAIL: g++.dg/template/error43.C -std=3Dc++11 =A0(test for warnings, line= 9) >> FAIL: g++.dg/template/friend31.C -std=3Dc++98 =A0(test for errors, line = 13) >> FAIL: g++.dg/template/friend31.C -std=3Dc++98 =A0(test for errors, line = 18) >> FAIL: g++.dg/template/friend31.C -std=3Dc++11 =A0(test for errors, line = 13) >> FAIL: g++.dg/template/friend31.C -std=3Dc++11 =A0(test for errors, line = 18) >> FAIL: g++.dg/template/instantiate3.C -std=3Dc++98 =A0(test for errors, l= ine 13) >> FAIL: g++.dg/template/instantiate3.C -std=3Dc++11 =A0(test for errors, l= ine 13) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++98 =A0(test for errors, lin= e 39) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++98 =A0(test for errors, lin= e 45) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++98 =A0(test for errors, lin= e 51) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++98 =A0(test for errors, lin= e 57) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++98 =A0(test for errors, lin= e 63) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++98 =A0(test for errors, lin= e 83) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for errors, lin= e 107) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for warnings, l= ine 119) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for warnings, l= ine 120) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for warnings, l= ine 121) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for warnings, l= ine 122) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for warnings, l= ine 123) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for warnings, l= ine 124) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for warnings, l= ine 127) >> FAIL: g++.dg/template/memfriend7.C -std=3Dc++11 =A0(test for warnings, l= ine 131) >> FAIL: g++.dg/template/nontype12.C -std=3Dc++98 =A0(test for errors, line= 27) >> FAIL: g++.dg/template/nontype12.C -std=3Dc++98 =A0(test for warnings, li= ne 30) >> FAIL: g++.dg/template/nontype12.C -std=3Dc++98 =A0(test for warnings, li= ne 34) >> FAIL: g++.dg/template/nontype12.C -std=3Dc++11 =A0(test for errors, line= 27) >> FAIL: g++.dg/template/nontype12.C -std=3Dc++11 =A0(test for warnings, li= ne 30) >> FAIL: g++.dg/template/nontype12.C -std=3Dc++11 =A0(test for warnings, li= ne 34) >> FAIL: g++.dg/template/pseudodtor3.C -std=3Dc++98 =A0(test for errors, li= ne 14) >> FAIL: g++.dg/template/pseudodtor3.C -std=3Dc++98 =A0(test for errors, li= ne 22) >> FAIL: g++.dg/template/pseudodtor3.C -std=3Dc++98 =A0(test for errors, li= ne 31) >> FAIL: g++.dg/template/pseudodtor3.C -std=3Dc++98 =A0(test for errors, li= ne 40) >> FAIL: g++.dg/template/pseudodtor3.C -std=3Dc++11 =A0(test for errors, li= ne 14) >> FAIL: g++.dg/template/pseudodtor3.C -std=3Dc++11 =A0(test for errors, li= ne 22) >> FAIL: g++.dg/template/pseudodtor3.C -std=3Dc++11 =A0(test for errors, li= ne 31) >> FAIL: g++.dg/template/pseudodtor3.C -std=3Dc++11 =A0(test for errors, li= ne 40) >> FAIL: g++.dg/template/using16.C -std=3Dc++98 =A0(test for errors, line 1= 4) >> FAIL: g++.dg/template/using16.C -std=3Dc++98 =A0(test for errors, line 2= 5) >> FAIL: g++.dg/template/using16.C -std=3Dc++98 =A0(test for warnings, line= 29) >> FAIL: g++.dg/template/using16.C -std=3Dc++11 =A0(test for errors, line 1= 4) >> FAIL: g++.dg/template/using16.C -std=3Dc++11 =A0(test for errors, line 2= 5) >> FAIL: g++.dg/template/using16.C -std=3Dc++11 =A0(test for warnings, line= 29) >> FAIL: g++.dg/template/virtual3.C -std=3Dc++98 =A0(test for errors, line = 8) >> FAIL: g++.dg/gomp/block-1.C -std=3Dc++98 =A0(test for warnings, line 7) >> FAIL: g++.dg/gomp/block-1.C -std=3Dc++98 =A0(test for warnings, line 9) >> FAIL: g++.dg/gomp/block-1.C -std=3Dc++11 =A0(test for warnings, line 7) >> FAIL: g++.dg/gomp/block-1.C -std=3Dc++11 =A0(test for warnings, line 9) >> FAIL: g++.dg/gomp/block-2.C -std=3Dc++98 =A0(test for warnings, line 14) >> FAIL: g++.dg/gomp/block-2.C -std=3Dc++98 =A0(test for warnings, line 16) >> FAIL: g++.dg/gomp/block-2.C -std=3Dc++11 =A0(test for warnings, line 14) >> FAIL: g++.dg/gomp/block-2.C -std=3Dc++11 =A0(test for warnings, line 16) >> FAIL: g++.dg/gomp/block-3.C -std=3Dc++98 =A0(test for warnings, line 21) >> FAIL: g++.dg/gomp/block-3.C -std=3Dc++98 =A0(test for warnings, line 26) >> FAIL: g++.dg/gomp/block-3.C -std=3Dc++98 =A0(test for warnings, line 30) >> FAIL: g++.dg/gomp/block-3.C -std=3Dc++11 =A0(test for warnings, line 21) >> FAIL: g++.dg/gomp/block-3.C -std=3Dc++11 =A0(test for warnings, line 26) >> FAIL: g++.dg/gomp/block-3.C -std=3Dc++11 =A0(test for warnings, line 30) >> FAIL: g++.dg/gomp/block-5.C -std=3Dc++98 =A0(test for warnings, line 7) >> FAIL: g++.dg/gomp/block-5.C -std=3Dc++11 =A0(test for warnings, line 7) >> FAIL: g++.dg/gomp/for-19.C -std=3Dgnu++98 =A0(test for errors, line 11) >> FAIL: g++.dg/gomp/for-19.C -std=3Dgnu++98 =A0(test for errors, line 29) >> FAIL: g++.dg/gomp/for-19.C -std=3Dgnu++98 =A0(test for warnings, line 37) >> FAIL: g++.dg/gomp/for-19.C -std=3Dgnu++98 =A0(test for warnings, line 40) >> FAIL: g++.dg/gomp/for-19.C -std=3Dgnu++11 =A0(test for errors, line 11) >> FAIL: g++.dg/gomp/for-19.C -std=3Dgnu++11 =A0(test for errors, line 29) >> FAIL: g++.dg/gomp/for-19.C -std=3Dgnu++11 =A0(test for warnings, line 37) >> FAIL: g++.dg/gomp/for-19.C -std=3Dgnu++11 =A0(test for warnings, line 40) >> FAIL: g++.dg/gomp/pr27415.C -std=3Dc++98 =A0(test for errors, line 9) >> FAIL: g++.dg/gomp/pr27415.C -std=3Dc++98 =A0(test for errors, line 28) >> FAIL: g++.dg/gomp/pr27415.C -std=3Dc++98 =A0(test for errors, line 38) >> FAIL: g++.dg/gomp/pr27415.C -std=3Dc++11 =A0(test for errors, line 9) >> FAIL: g++.dg/gomp/pr27415.C -std=3Dc++11 =A0(test for errors, line 28) >> FAIL: g++.dg/gomp/pr27415.C -std=3Dc++11 =A0(test for errors, line 38) >> FAIL: c-c++-common/tm/safe-3.c -std=3Dgnu++98 (internal compiler error) >> FAIL: c-c++-common/tm/safe-3.c -std=3Dgnu++98 (test for excess errors) >> FAIL: c-c++-common/tm/safe-3.c -std=3Dgnu++11 (internal compiler error) >> FAIL: c-c++-common/tm/safe-3.c -std=3Dgnu++11 (test for excess errors) >> FAIL: g++.dg/tm/noexcept-2.C =A0(test for errors, line 7) >> FAIL: g++.dg/tm/noexcept-2.C =A0(test for errors, line 8) >> FAIL: g++.old-deja/g++.eh/spec6.C -std=3Dc++98 =A0(test for errors, line= 24) >> FAIL: g++.old-deja/g++.eh/spec6.C -std=3Dc++98 =A0(test for warnings, li= ne 28) >> FAIL: g++.old-deja/g++.eh/spec6.C -std=3Dc++11 =A0(test for errors, line= 24) >> FAIL: g++.old-deja/g++.eh/spec6.C -std=3Dc++11 =A0(test for warnings, li= ne 28) >> FAIL: g++.old-deja/g++.jason/report.C -std=3Dgnu++98 =A0(test for warnin= gs, line 36) >> FAIL: g++.old-deja/g++.jason/report.C -std=3Dgnu++98 =A0(test for warnin= gs, line 65) >> FAIL: g++.old-deja/g++.jason/report.C -std=3Dgnu++11 =A0(test for warnin= gs, line 36) >> FAIL: g++.old-deja/g++.jason/report.C -std=3Dgnu++11 =A0(test for warnin= gs, line 65) >> FAIL: g++.old-deja/g++.mike/net31.C -std=3Dc++98 =A0(test for errors, li= ne 43) >> FAIL: g++.old-deja/g++.mike/net31.C -std=3Dc++11 =A0(test for errors, li= ne 43) >> FAIL: g++.old-deja/g++.niklas/t135.C -std=3Dc++98 =A0(test for errors, l= ine 11) >> FAIL: g++.old-deja/g++.niklas/t135.C -std=3Dc++98 =A0(test for errors, l= ine 19) >> FAIL: g++.old-deja/g++.niklas/t135.C -std=3Dc++11 =A0(test for errors, l= ine 11) >> FAIL: g++.old-deja/g++.niklas/t135.C -std=3Dc++11 =A0(test for errors, l= ine 19) >> FAIL: g++.old-deja/g++.oliva/delete1.C -std=3Dc++98 =A0(test for warning= s, line 31) >> FAIL: g++.old-deja/g++.other/friend1.C -std=3Dc++98 =A0(test for errors,= line 63) >> FAIL: g++.old-deja/g++.other/friend1.C -std=3Dc++98 =A0(test for errors,= line 82) >> FAIL: g++.old-deja/g++.other/friend1.C -std=3Dc++11 =A0(test for errors,= line 63) >> FAIL: g++.old-deja/g++.other/friend1.C -std=3Dc++11 =A0(test for errors,= line 82) >> FAIL: g++.old-deja/g++.other/friend4.C -std=3Dc++98 =A0(test for errors,= line 13) >> FAIL: g++.old-deja/g++.other/friend4.C -std=3Dc++98 =A0(test for errors,= line 17) >> FAIL: g++.old-deja/g++.other/friend4.C -std=3Dc++98 =A0(test for errors,= line 18) >> FAIL: g++.old-deja/g++.other/friend4.C -std=3Dc++11 =A0(test for errors,= line 13) >> FAIL: g++.old-deja/g++.other/friend4.C -std=3Dc++11 =A0(test for errors,= line 17) >> FAIL: g++.old-deja/g++.other/friend4.C -std=3Dc++11 =A0(test for errors,= line 18) >> FAIL: g++.old-deja/g++.other/lineno1.C -std=3Dgnu++98 =A0(test for error= s, line 9) >> FAIL: g++.old-deja/g++.other/lineno1.C -std=3Dgnu++11 =A0(test for error= s, line 9) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 =A0(test for warnin= gs, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 pass (test for warn= ings, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 abort (test for war= nings, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 =A0(test for warnin= gs, line 28) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 abort (test for war= nings, line 28) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 promote (test for w= arnings, line 30) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 abort (test for war= nings, line 30) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 =A0(test for warnin= gs, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 pass (test for warn= ings, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 abort (test for war= nings, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 =A0(test for warnin= gs, line 28) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 abort (test for war= nings, line 28) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 promote (test for w= arnings, line 30) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 abort (test for war= nings, line 30) >> FAIL: g++.old-deja/g++.pt/crash36.C -std=3Dc++98 =A0(test for errors, li= ne 6) >> FAIL: g++.old-deja/g++.pt/crash36.C -std=3Dc++98 =A0(test for warnings, = line 16) >> FAIL: g++.old-deja/g++.pt/crash36.C -std=3Dc++11 =A0(test for errors, li= ne 6) >> FAIL: g++.old-deja/g++.pt/crash36.C -std=3Dc++11 =A0(test for warnings, = line 16) >> FAIL: g++.old-deja/g++.pt/explicit70.C -std=3Dc++98 no def (test for err= ors, line 43) >> FAIL: g++.old-deja/g++.pt/explicit70.C -std=3Dc++98 inst (test for warni= ngs, line 43) >> FAIL: g++.old-deja/g++.pt/explicit70.C -std=3Dc++11 no def (test for err= ors, line 43) >> FAIL: g++.old-deja/g++.pt/explicit70.C -std=3Dc++11 inst (test for warni= ngs, line 43) >> FAIL: g++.old-deja/g++.pt/instantiate8.C -std=3Dc++98 =A0(test for error= s, line 36) >> FAIL: g++.old-deja/g++.pt/instantiate8.C -std=3Dc++11 =A0(test for error= s, line 36) >> FAIL: g++.old-deja/g++.pt/vaarg3.C -std=3Dc++98 =A0(test for errors, lin= e 17) >> FAIL: g++.old-deja/g++.pt/vaarg3.C -std=3Dc++98 inst (test for warnings,= line 24) >> FAIL: g++.old-deja/g++.pt/vaarg3.C -std=3Dc++11 =A0(test for errors, lin= e 17) >> FAIL: g++.old-deja/g++.pt/vaarg3.C -std=3Dc++11 inst (test for warnings,= line 24) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 45) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 47) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 51) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 52) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 56) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 45) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 47) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 51) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 52) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 56) >> FAIL: objc.dg/property/dotsyntax-17.m -fgnu-runtime =A0(test for errors,= line 56) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 =A0(test for warnin= gs, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 pass (test for warn= ings, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 abort (test for war= nings, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 =A0(test for warnin= gs, line 28) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 abort (test for war= nings, line 28) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 promote (test for w= arnings, line 30) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++98 abort (test for war= nings, line 30) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 =A0(test for warnin= gs, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 pass (test for warn= ings, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 abort (test for war= nings, line 24) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 =A0(test for warnin= gs, line 28) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 abort (test for war= nings, line 28) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 promote (test for w= arnings, line 30) >> FAIL: g++.old-deja/g++.other/vaarg3.C -std=3Dgnu++11 abort (test for war= nings, line 30) >> FAIL: g++.old-deja/g++.pt/crash36.C -std=3Dc++98 =A0(test for errors, li= ne 6) >> FAIL: g++.old-deja/g++.pt/crash36.C -std=3Dc++98 =A0(test for warnings, = line 16) >> FAIL: g++.old-deja/g++.pt/crash36.C -std=3Dc++11 =A0(test for errors, li= ne 6) >> FAIL: g++.old-deja/g++.pt/crash36.C -std=3Dc++11 =A0(test for warnings, = line 16) >> FAIL: g++.old-deja/g++.pt/explicit70.C -std=3Dc++98 no def (test for err= ors, line 43) >> FAIL: g++.old-deja/g++.pt/explicit70.C -std=3Dc++98 inst (test for warni= ngs, line 43) >> FAIL: g++.old-deja/g++.pt/explicit70.C -std=3Dc++11 no def (test for err= ors, line 43) >> FAIL: g++.old-deja/g++.pt/explicit70.C -std=3Dc++11 inst (test for warni= ngs, line 43) >> FAIL: g++.old-deja/g++.pt/instantiate8.C -std=3Dc++98 =A0(test for error= s, line 36) >> FAIL: g++.old-deja/g++.pt/instantiate8.C -std=3Dc++11 =A0(test for error= s, line 36) >> FAIL: g++.old-deja/g++.pt/vaarg3.C -std=3Dc++98 =A0(test for errors, lin= e 17) >> FAIL: g++.old-deja/g++.pt/vaarg3.C -std=3Dc++98 inst (test for warnings,= line 24) >> FAIL: g++.old-deja/g++.pt/vaarg3.C -std=3Dc++11 =A0(test for errors, lin= e 17) >> FAIL: g++.old-deja/g++.pt/vaarg3.C -std=3Dc++11 inst (test for warnings,= line 24) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 45) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 47) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 51) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 52) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++98 =A0(test for errors,= line 56) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 45) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 47) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 51) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 52) >> FAIL: g++.old-deja/g++.robertl/eb109.C -std=3Dc++11 =A0(test for errors,= line 56) >> FAIL: objc.dg/property/dotsyntax-17.m -fgnu-runtime =A0(test for errors,= line 56) >> FAIL: objc.dg/property/dotsyntax-17.m -fgnu-runtime =A0(test for errors,= line 58) >> FAIL: objc.dg/property/dotsyntax-17.m -fgnu-runtime =A0(test for errors,= line 60) >> FAIL: objc.dg/property/dotsyntax-17.m -fgnu-runtime =A0(test for errors,= line 62) >> FAIL: 20_util/unique_ptr/cons/ptr_deleter_neg.cc =A0(test for errors, li= ne 37) >> FAIL: 20_util/unique_ptr/cons/ptr_deleter_neg.cc =A0(test for errors, li= ne 47)