This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Making fold-const sane WRT symbol visibilities
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, "Joseph S. Myers" <joseph at codesourcery dot com>, Richard Biener <rguenther at suse dot de>, gcc-patches at gcc dot gnu dot org, law at redhat dot com, jason at redhat dot com
- Date: Mon, 14 Jul 2014 10:36:18 +0200
- Subject: Re: [RFC] Making fold-const sane WRT symbol visibilities
- Authentication-results: sourceware.org; auth=none
- References: <20140624055954 dot GA27803 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1406240927510 dot 29270 at zhemvz dot fhfr dot qr> <20140624182540 dot GC5997 at atrey dot karlin dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1406251006580 dot 29270 at zhemvz dot fhfr dot qr> <Pine dot LNX dot 4 dot 64 dot 1406251545040 dot 12113 at digraph dot polyomino dot org dot uk> <20140713221428 dot GA15955 at kam dot mff dot cuni dot cz> <mvmion0pcjn dot fsf at hawking dot suse dot de>
> Jan Hubicka <hubicka@ucw.cz> writes:
>
> > * cgraph.h (symtab_node): Add nonzero_address.
> > (decl_in_symtab_p): Break out from ...
> > (symtab_get_node): ... here.
> > * fold-const.c: Include cgraph.h
> > (tree_single_nonzero_warnv_p): Use symtab to determine
> > if symbol is non-zero.
> > * symtab.c (symtab_node::nonzero_address): New method.
> >
> > * gcc.dg/pr36901.h: Simplify because non-zero symbol folding no
> > longer happens during parsing.
> > * gcc.dg/pr44024.c: Update template.
> > * g++.dg/tree-ssa/nonzero-2.C: New testcase.
> > * g++.dg/tree-ssa/nonzero-1.C: New testcase.
> > * gcc.dg/tree-ssa/nonzero-1.c: New testcase.
>
> FAIL: g++.dg/cpp0x/static_assert9.C -std=c++11 (test for excess errors)
> Excess errors:
> /daten/aranym/gcc/gcc-20140714/gcc/testsuite/g++.dg/cpp0x/static_assert9.C:5:1: error: non-constant condition for static assertion
> /daten/aranym/gcc/gcc-20140714/gcc/testsuite/g++.dg/cpp0x/static_assert9.C:5:1: error: '(f != 0u)' is not a constant expression
Ah, sorry, missed this one. I think the error is correct (based on earlier discussion we can
not really expect addresses of symbols to be non-NULL), so I would just update the testcase?
Honza
>
> Andreas.
>
> --
> Andreas Schwab, SUSE Labs, schwab@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."