This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/20623] ICE: fold check: original tree changed by fold with --enable-checking=fold



------- Comment #26 from spop at gcc dot gnu dot org  2007-06-21 18:21 -------
Subject: Re:  ICE: fold check: original tree changed by fold with
--enable-checking=fold

Just to sum it up, and for asking for advice,
attached is the patch that I'm bootstrapping and testing now.

> Another thing would be to note where we call this helper from fold() routines
> and not set the flag only for those callers which should be safe.  We'd need
> another flag argument to the function or another wrapper.
>

In another version of this patch, I replaced all the callers from the
folder, to use a gcc_assert (TREE_ADDRESSABLE (base) == 1), and this
failed because some calls from the C front-end used that function and
did not have set their addressable flag (yet?).  This resulted in all
the fails left in the second part of the bug.

With the attached patch, fold functions do not set that flag, and this
solves the remaining fails.  I'm bootstrapping and testing all
languages again with fold checking.

Sebastian


------- Comment #27 from spop at gcc dot gnu dot org  2007-06-21 18:21 -------
Created an attachment (id=13760)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13760&action=view)


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]