------- Comment #14 from rguenther at suse dot de  2010-09-03 09:06 -------
Subject: Re:  -fcompare-debug failure at -O3

On Fri, 3 Sep 2010, aoliva at gcc dot gnu dot org wrote:

> ------- Comment #13 from aoliva at gcc dot gnu dot org  2010-09-03 08:59 
> -------
> The different types arise when, say, we copyprop a const-unqualified variable
> into a MEM_REF that used to reference a const-qualified temp.  The top-level
> const qualifications are irrelevant at that point, for we're dealing with
> rvalues of pointer types.  I'm experimenting with simply dropping the
> TYPE_QUALS test from tree-pretty-print.  This fixed the pt.c -fcompare-debug
> problem.  Richard, is there any reason for top-level qualifiers to be relevant
> in MEM_REF operands?

Hmm, not really.  But in the end at some point I want to drop the
fancy printing of MEM_REFs.

What you can do is instead of

            dump_generic_node (buffer, TREE_TYPE (TREE_OPERAND (node, 1)),
                               spc, flags | TDF_SLIM, false);

do

            dump_generic_node (buffer, TYPE_MAIN_VARIANT (TREE_TYPE 
(TREE_OPERAND (node, 1))),
                               spc, flags | TDF_SLIM, false);

as that is what matters.  Or even better, see if the issue goes away
when you change the gimplifier to use the main variant in the first
place.  That's sth I would prefer - not sure why I missed that.

Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45419

Reply via email to