https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111021
Kewen Lin <linkw at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu.org,
| |rsandifo at gcc dot gnu.org
--- Comment #6 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Hans-Peter Nilsson from comment #5)
> (In reply to Hans-Peter Nilsson from comment #4)
> > (In reply to Andrew Pinski from comment #1)
> > > https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627435.html
> >
> > Nope, that just fixes recog.h. See the quoted error; it's the patched
> > *-protos.h.
Thanks for clarifying, yeah, some ${port}-protos.h includes tree.h in that
commit.
>
> ...but I'm "guessing" that it will appear to work even for the
> tm-protos.h-on-tree.h dependency, just incidentally.
It can work for this build failure on build/gencondmd.o since the same required
dependency on tree.h is supported by checking the dependence of recog.h, but
the concern is that one day some file just includes tm_p.h but not recog.h, the
issue will show up again. I'm thinking how to deal with the problems on
${port}-protos.h, adding $(TREE_H) in TM_P is an alternative, but not sure if
people would think it's an overkill since the current affected ports are:
gcc/config/arm/arm-protos.h:#include "tree.h" /* For ERROR_MARK. */
gcc/config/cris/cris-protos.h:#include "tree.h" /* For ERROR_MARK. */
gcc/config/microblaze/microblaze-protos.h:#include "tree.h" /* For ERROR_MARK.
*/
gcc/config/rl78/rl78-protos.h:#include "tree.h" /* For ERROR_MARK. */
gcc/config/stormy16/stormy16-protos.h:#include "tree.h" /* For ERROR_MARK. */
I checked the existing tm_p_file_list and tm_p_include_list which are specific
for port, but tm_p_include_list is generated based on tm_p_file_list, it seems
not for this purpose.
Hi Richi & Richard, what do you think of this?
btw, thanks for the suggestion on "defaulting to NULL or something" in ML, but
I guess a default value like zero rather than ERROR_MARK has to base on the
assertion that the default value is equal to ERROR_MARK, IMHO it isn't quite
maintainable.