https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107064

            Bug ID: 107064
           Summary: gcc/config/t-i386 depends are incomplete:
                    /gcc/config/i386/i386-builtins.h:25:10:      fatal
                    error: i386-builtin-types.inc: No such file or
                    directory
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at gcc dot gnu.org
  Target Milestone: ---

Filing https://gcc.gnu.org/pipermail/gcc-patches/2022-September/601708.html as
a bug to make sure it does not get lost.

i386-builtin-types.inc is included indirectly via i386-builtins.h
into 4 files: i386.cc i386-builtins.cc i386-expand.cc i386-features.cc

Only i386.cc dependency was present in gcc/config/t-i386 makefile.

As a result parallel builds occasionally fail as:

    g++ ... -o i386-builtins.o ...
../../gcc-13-20220911/gcc/config/i386/i386-builtins.cc
    In file included from
../../gcc-13-20220911/gcc/config/i386/i386-builtins.cc:92:
    ../../gcc-13-20220911/gcc/config/i386/i386-builtins.h:25:10:
     fatal error: i386-builtin-types.inc: No such file or directory
       25 | #include "i386-builtin-types.inc"
          |          ^~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    make[3]: *** [../../gcc-13-20220911/gcc/config/i386/t-i386:54:
i386-builtins.o]
      Error 1 shuffle=1663349189

gcc/
        * config/i386/t-i386: Add build-time dependencies against
        i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
        i386-features.o.
---
 gcc/config/i386/t-i386 | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index 4e2a0efc615..ffdbbdfe8ce 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -62,7 +62,12 @@ i386-features.o: $(srcdir)/config/i386/i386-features.cc
        $(COMPILE) $<
        $(POSTCOMPILE)

+# i386-builtin-types.inc is included into i386-builtins.h.
+# Below are direct users of i386-builtins.h:
 i386.o: i386-builtin-types.inc
+i386-builtins.o: i386-builtin-types.inc
+i386-expand.o: i386-builtin-types.inc
+i386-features.o: i386-builtin-types.inc

 i386-builtin-types.inc: s-i386-bt ; @true
 s-i386-bt: $(srcdir)/config/i386/i386-builtin-types.awk \

Reply via email to