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.

Reply via email to