This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Error in tconfig.h while make gnatlib
- From: Pee Seeumpornroj <pee at MIT dot EDU>
- To: gcc-help at gcc dot gnu dot org
- Date: Mon, 17 Nov 2003 14:12:21 -0500
- Subject: Error in tconfig.h while make gnatlib
Dear gcc,
I'm trying to build a cross compiler from i686-linux-pc to powerpc-elf. I ran into this error while compiling gnat library:
make[2]: Entering directory `/home/pee/XComp_source/CrossGNAT/script/build-gcc/gcc/ada/rts'
../../xgcc -B../../ -c -DCROSS_COMPILE -DIN_GCC `echo -g -O2 -fexceptions -DIN_RTS |sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'` -I. -I.. -I../.. -I/home/pee/XComp_source/CrossGNAT/script/gcc-3.3.2/gcc/ada -I/home/pee/XComp_source/CrossGNAT/script/gcc-3.3.2/gcc/ada/.. -I/home/pee/XComp_source/CrossGNAT/script/gcc-3.3.2/gcc/ada/../config -I/home/pee/XComp_source/CrossGNAT/script/gcc-3.3.2/gcc/ada/../../include -I./../.. adaint.c
In file included from adaint.c:60:
../../tconfig.h:6: error: two types specified in one empty declaration
adaint.c: In function `__gnat_readdir':
adaint.c:743: warning: initialization makes pointer from integer without a cast
adaint.c: In function `__gnat_get_env_value_ptr':
adaint.c:1120: warning: assignment makes pointer from integer without a cast
adaint.c: In function `__gnat_locate_exec_on_path':
adaint.c:1834: warning: initialization makes pointer from integer without a cast
make[2]: *** [adaint.o] Error 1
make[2]: Leaving directory `/home/pee/XComp_source/CrossGNAT/script/build-gcc/gcc/ada/rts'
make[1]: *** [gnatlib] Error 2
make[1]: Leaving directory `/home/pee/XComp_source/CrossGNAT/script/build-gcc/gcc/ada'
make: *** [gnatlib] Error 2
Here is my tconfig.h:
#ifdef IN_GCC
/* Provide three core typedefs used by everything, if we are compiling
GCC. These used to be found in rtl.h and tree.h, but this is no
longer practical. Providing these here rather that system.h allows
the typedefs to be used everywhere within GCC. */
struct rtx_def;
typedef struct rtx_def *rtx;
struct rtvec_def;
typedef struct rtvec_def *rtvec;
union tree_node;
typedef union tree_node *tree;
#endif
#define GTY(x)
#ifdef IN_GCC
# include "ansidecl.h"
# include "rs6000/rs6000.h"
# include "dbxelf.h"
# include "elfos.h"
# include "svr4.h"
# include "freebsd-spec.h"
# include "rs6000/sysv4.h"
# include "defaults.h"
#endif
#ifndef POSIX
# define POSIX
#endif
tconfig.h looks right to me. rtx_def, rtvec_def, and tree_node are declared early so that they can be used in all gcc files (http://gcc.gnu.org/ml/gcc-patches/2002-01/msg00003.html). Does anyone know how to fix this problem? Thank you very much!
Pee