Hi,
Thanks a lot for the reply. No, I am not using any specific tree_code
definitions and I have included tree.h in the pass file.
I dont know if some code will help, but, this is what I am doing

gcc-svn/gcc/tree-boud.c
...
static GTY(( is_param(union tree_code) )) htab_t boud_ins = NULL;
...
#include "gt-tree-boud.h"
<EOF>

The generated gt-tree-boud.h in the build/gcc directory looks like,
const struct ggc_root_tab gt_ggc_r_gt_tree_boud_h[] = {
  {
    &boud_ins,
    1,
    sizeof(boud_ins),
    &gt_ggc_m_P9tree_code4htab,
    &gt_pch_n_P9tree_code4htab
  },
  LAST_GGC_ROOT_TAB
};

The function `gt_pch_n_P9tree_code4htab' and
`gt_ggc_m_P9tree_code4htab' are defined in build/gcc/gtypes-desc.c
which references `gt_ggc_mx_tree_code'. And I dont know where this is
coming from, gtypes-desc only has an extern definition. Do you think I
need to include some library (which has its definition) in the
Makefile for compiling tree-boud.o ?

Thanks,
Aravinda

On Sun, Nov 1, 2009 at 3:27 PM, Laurynas Biveinis
<laurynas.bivei...@gmail.com> wrote:
>
> Hi,
>
> It's hard to tell. The normal definition of tree_code is enum in
> tree.h and it is an atomic type with respect GCC garbage collection.
> But the names like gt_gcc_mx_tree_code suggest that GCC internals try
> to treat it as a struct or some other non atomic type.  Any chance
> that your source does not include tree.h and defines some tree_code
> type of its own?
>
> 2009/10/27 Aravinda <aravindakida...@gmail.com>:
> > Hi,
> >
> > I am writing a new pass for gcc that uses the GTY markers,
> > 1. I have included the source file in GTFILES_H in gcc/Makefile.in.
> > 2. I have the gt-path.h mentioned in the compilation for source file
> > 3. I have the #include "gt-path.h" at the very end of the code of source 
> > file.
> >
> > I see the gt-path.h is getting created in the build/gcc directory. But
> > I am getting the below error. Is there something I am missing in the
> > Makefile, I tried to look at a similar example of tree-mudflap.c that
> > uses GTY markers, I do not see any difference in the steps I have
> > followed. I havent done gcc dev before, so I'd really appreciate any
> > help in this regard.
> >
> > main.o tree-browser.o libbackend.a ../libcpp/libcpp.a
> > ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a
> > ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a   -lmpfr -lgmp
> > -rdynamic -ldl
> > libbackend.a(gtype-desc.o): In function `gt_ggc_m_P9tree_code4htab':
> > /home/aravinda/svnbuild/gcc/gtype-desc.c:1968: undefined reference to
> > `gt_ggc_mx_tree_code'
> > libbackend.a(gtype-desc.o): In function `gt_pch_n_P9tree_code4htab':
> > /home/aravinda/svnbuild/gcc/gtype-desc.c:4133: undefined reference to
> > `gt_pch_nx_tree_code'
> > collect2: ld returned 1 exit status
> > make[3]: *** [cc1-dummy] Error 1
> > Thanks,
> > Aravinda
> >
>
>
>
> --
> Laurynas

Reply via email to