From c18b1b0bc78c27257cfc8448581564337412f567 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 8 Apr 2023 12:05:04 +0200 Subject: [PATCH] riscv: Fix genrvv-type-indexer dependencies I've noticed make: Circular build/genrvv-type-indexer.o <- gtype-desc.h dependency dropped. The following patch fixes that. The RTL_BASE_H variable includes a lot of headers which the generator doesn't include, including gtype-desc.h. I've preprocessed it and checked all gcc/libiberty headers against what is included in the other dependency variables and here is what I found: 1) coretypes.h includes align.h, poly-int.h and poly-int-types.h which weren't listed (most of dependencies are thankfully done automatically, so it isn't that big deal except for these generators and the like) 2) system.h includes filenames.h (already listed) but filenames.h includes hashtab.h; instead of adding FILENAMES_H I've just added the dependency to SYSTEM_H 3) $(RTL_BASE_H) wasn't really needed at all and insn-modes.h is already included in $(CORETYPES_H) 2023-04-08 Jakub Jelinek * Makefile.in (CORETYPES_H): Depend on align.h, poly-int.h and poly-int-types.h. (SYSTEM_H): Depend on $(HASHTAB_H). * config/riscv/t-riscv (build/genrvv-type-indexer.o): Remove unused dependency on $(RTL_BASE_H), remove redundant dependency on insn-modes.h. --- gcc/Makefile.in | 6 ++++-- gcc/config/riscv/t-riscv | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index d8b76d8..ad9a5d9 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -945,7 +945,8 @@ TARGET_DEF_H = target-def.h target-hooks-def.h $(HOOKS_H) targhooks.h C_TARGET_DEF_H = c-family/c-target-def.h c-family/c-target-hooks-def.h \ $(TREE_H) $(C_COMMON_H) $(HOOKS_H) common/common-targhooks.h CORETYPES_H = coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h \ - insn-modes-inline.h $(MACHMODE_H) double-int.h + insn-modes-inline.h $(MACHMODE_H) double-int.h align.h poly-int.h \ + poly-int-types.h RTL_BASE_H = $(CORETYPES_H) rtl.h rtl.def reg-notes.def \ insn-notes.def $(INPUT_H) $(REAL_H) statistics.h $(VEC_H) \ $(FIXED_VALUE_H) alias.h $(HASHTAB_H) @@ -998,7 +999,8 @@ C_COMMON_H = c-family/c-common.h c-family/c-common.def $(TREE_H) \ C_PRAGMA_H = c-family/c-pragma.h $(CPPLIB_H) C_TREE_H = c/c-tree.h $(C_COMMON_H) $(DIAGNOSTIC_H) SYSTEM_H = system.h hwint.h $(srcdir)/../include/libiberty.h \ - $(srcdir)/../include/safe-ctype.h $(srcdir)/../include/filenames.h + $(srcdir)/../include/safe-ctype.h $(srcdir)/../include/filenames.h \ + $(HASHTAB_H) PREDICT_H = predict.h predict.def CPPLIB_H = $(srcdir)/../libcpp/include/line-map.h \ $(srcdir)/../libcpp/include/cpplib.h diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv index 6e326fc..1252d6f 100644 --- a/gcc/config/riscv/t-riscv +++ b/gcc/config/riscv/t-riscv @@ -102,8 +102,8 @@ $(common_out_file): $(srcdir)/config/riscv/riscv-cores.def \ $(srcdir)/config/riscv/riscv-protos.h \ $(srcdir)/config/riscv/riscv-subset.h -build/genrvv-type-indexer.o: $(srcdir)/config/riscv/genrvv-type-indexer.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ - $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) insn-modes.h +build/genrvv-type-indexer.o: $(srcdir)/config/riscv/genrvv-type-indexer.cc $(BCONFIG_H) $(SYSTEM_H) \ + $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) build/genrvv-type-indexer$(build_exeext): build/genrvv-type-indexer.o +$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ \ -- 2.7.4