Bug 28561 - Broken dependencies
Summary: Broken dependencies
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.2.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-31 23:47 UTC by Volker Reichelt
Modified: 2017-03-20 11:47 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Volker Reichelt 2006-07-31 23:47:52 UTC
We've got some broken dependencies in the Makefiles:

The definitions of REGS_H and BASIC_BLOCK_H in Makefile.in contain
varray.h instead of $(VARRAY_H).
Fixing this results in circular dependencies:
make then reports problems with build/gencondmd.o:

  make[2]: Circular build/gencondmd.o <- insn-flags.h dependency dropped.

The problem boils down to the following dependencies:

  build/gencondmd.o : ... $(REGS_H) ...

  REGS_H: ... $(VARRAY_H) ... $(BASIC_BLOCK_H) ...
  BASIC_BLOCK_H: ... $(VARRAY_H) ...
  VARRAY_H = ... $(TM_H)

And $(TM_H) shouldn't be included by gen*.


A second problem is that the #includes in a couple of header files
don't really match the dependencies, e.g. in:

  basic-block.h
  c-common.h
  cgraph.h
  ddg.h
  expr.h
  ggc.h
  lambda.h
  regs.h
  tree-dump.h
  tree.h
Comment 1 Andrew Pinski 2008-12-28 21:25:11 UTC
Is this still true?
Comment 2 Volker Reichelt 2017-03-20 11:47:32 UTC
This is not an issue anymore.