------- 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