https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111021
--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Kewen Lin <li...@gcc.gnu.org>: https://gcc.gnu.org/g:8353b9c5f5af0e65cb04fcbb7325d6a566006cd4 commit r14-3322-g8353b9c5f5af0e65cb04fcbb7325d6a566006cd4 Author: Kewen Lin <li...@linux.ibm.com> Date: Fri Aug 18 05:03:40 2023 -0500 Makefile.in: Make TM_P_H depend on $(TREE_H) [PR111021] As PR111021 shows, the below ${port}-protos.h include tree.h for code_helper and tree_code: arm/arm-protos.h:#include "tree.h" cris/cris-protos.h:#include "tree.h" (H-P removed this in r14-3218) microblaze/microblaze-protos.h:#include "tree.h" rl78/rl78-protos.h:#include "tree.h" stormy16/stormy16-protos.h:#include "tree.h" , when compiling build/gencondmd.cc, the include hierarchy makes it depend on tm_p.h -> ${port}-protos.h -> tree.h, which further includes (depends on) some files that are generated during the building, such as: all-tree.def, tree-check.h and so on. The previous commit r14-3215 should already force build/gencondmd.cc to depend on ${TREE_H}, so the reported build failure should be gone. But for a long term maintenance, especially one day some build/xxx.cc requires tm_p.h but not recog.h, the ${TREE_H} dependence could be missed and a build failure will show up. So this patch is to make TM_P_H depend on $(TREE_H), any new build/xxx.cc depending on tm_p.h will be able to consider ${TREE_H}. It's tested with cross-builds for the affected ports with steps: 1) dropped the fix r14-3215; 2) reproduced the build failure with serial build; 3) applied this patch, serial built and verified all passed; 4) added back r14-3215, serial built and verified all passed; PR bootstrap/111021 gcc/ChangeLog: * Makefile.in (TM_P_H): Add $(TREE_H) as dependence.