This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
define_constants and tm.h
- From: Bernd Jendrissek <berndj at prism dot co dot za>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 26 Jan 2005 16:12:28 +0200
- Subject: define_constants and tm.h
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'm (very) lazily working on a port to 16-bit x86, and I had been using
define_constants values throughout my target header (tm.h - really
i86.h), but since a few months ago I haven't been able to build GCC as
insn-constants.h isn't yet available by the time tm.h gets included.
In fact, now it seems like a circular dependency (???):
make: Entering directory `/mnt/disk2/src/gcc-i86/gcc'
gcc -c -g -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I/mnt/disk2/src/gcc/gcc -I/mnt/disk2/src/gcc/gcc/build -I/mnt/disk2/src/gcc/gcc/../include -I/mnt/disk2/src/gcc/gcc/../libcpp/include \
-o build/rtl.o /mnt/disk2/src/gcc/gcc/rtl.c
/mnt/disk2/src/gcc/gcc/rtl.c:33:28: insn-constants.h: No such file or directory
/mnt/disk2/src/gcc/gcc/rtl.c: In function `copy_rtx':
/mnt/disk2/src/gcc/gcc/rtl.c:225: error: `FLAGS_REG' undeclared (first use in this function)
/mnt/disk2/src/gcc/gcc/rtl.c:225: error: (Each undeclared identifier is reported only once
/mnt/disk2/src/gcc/gcc/rtl.c:225: error: for each function it appears in.)
make: *** [build/rtl.o] Error 1
make: Leaving directory `/mnt/disk2/src/gcc-i86/gcc'
Indeed, looking throught the makefile reveals that genconstants depends
on $(BUILD_RTL), which in turn depends on rtl.c, which in turn
#include's both tm.h and insn-constants.h!
Is there something I don't understand?
Oh, and how the hell are the other ports using define_constants building
genconstants if there really is a circular dependency?
bernd
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQFB96VF/FmLrNfLpjMRAjaJAJ9bCQAexCj8s80lwhmUOtqxXTLUTwCgqD+W
3Msq7q+7uve/uqCGoTfByFg=
=FSjB
-----END PGP SIGNATURE-----