On Thu, 25 Apr 2019, Jakub Jelinek wrote: > On Thu, Apr 25, 2019 at 01:09:00PM +0200, Rainer Orth wrote: > > > cp/ > > > * call.c (null_ptr_cst_p): Order checks according to expensiveness. > > > (conversion_null_warnings): Likewise. > > > * typeck.c (same_type_ignoring_top_level_qualifiers_p): Return > > > early if type1 == type2. > > > > this patch caused > > > > +XPASS: g++.dg/warn/Wunused-var-35.C -std=gnu++98 bug (test for warnings, line 14) > > > > First seen on i386-pc-solaris2.11 and sparc-sun-solaris2.11, according > > to gcc-testresults everywhere. Confirmed by reverting the patch locally > > and re-testing the affected testcase. > > I can reproduce that too, seems to be the > @@ -6896,8 +6897,8 @@ > } > /* Handle zero as null pointer warnings for cases other > than EQ_EXPR and NE_EXPR */ > - else if (null_ptr_cst_p (expr) && > - (TYPE_PTR_OR_PTRMEM_P (totype) || NULLPTR_TYPE_P (totype))) > + else if ((TYPE_PTR_OR_PTRMEM_P (totype) || NULLPTR_TYPE_P (totype)) > + && null_ptr_cst_p (expr)) > { > location_t loc = get_location_for_expr_unwinding_for_system_header (expr); > maybe_warn_zero_as_null_pointer_constant (expr, loc); > hunk. The Wunused-var-35.C patch hasn't been posted to gcc-patches, but > judging from the corresponding PR, I'd say the right thing is below. > > Regtested on x86_64-linux and i686-linux, ok for trunk? The patch would be obvious but I wonder how the above can change anything... (but I can reproduce with even only that change) Richard. > 2019-04-25 Jakub Jelinek > > PR c++/44648 > * g++.dg/warn/Wunused-var-35.C: Remove xfail. > > --- gcc/testsuite/g++.dg/warn/Wunused-var-35.C.jj 2019-02-04 09:44:31.365413407 +0100 > +++ gcc/testsuite/g++.dg/warn/Wunused-var-35.C 2019-04-25 13:24:49.717065815 +0200 > @@ -11,9 +11,8 @@ int main() > else > return 1; > > - if (const bool b2 = 1) // { dg-warning "\\\[-Wunused-variable\\\]" "bug" { xfail c++98_only } } > + if (const bool b2 = 1) // { dg-warning "\\\[-Wunused-variable\\\]" } > return 0; > else > return 1; > } > - > > > Jakub > -- Richard Biener SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer, Mary Higgins, Sri Rasiah; HRB 21284 (AG Nürnberg)