This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Building GENERIC trees and passing the symbol table
- From: Paul Brook <paul at codesourcery dot com>
- To: cs1tc at bath dot ac dot uk
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 12 Mar 2004 17:24:56 +0000
- Subject: Re: Building GENERIC trees and passing the symbol table
- Organization: CodeSourcery
- References: <002501c40853$efae45a0$0200a8c0@tcrick>
> > Hi again, the thing about GENERIC is that it's not all that
> > documented, however there were a thread about this a while
> > ago on the gcc mailinglist, search through the archives and
> > you will find a mail which states ' if it's not in these
> > files then it's not GENERIC, ( and some files are named, fx.
> > tree.h and some more ). I dare not give you an answer
> > straight from my head because the probability of error is too large.
> >
> > / Lars Segerlund.
>
> Lovely, thanks for the pointer - I'll check out treelang in gcc-3.5 as
> well.
tree.def contains a definitions of the tree nodes, tree.h contains macros for
accessing them.
I wouldn't look too closely at either 3.5 or treelang. IIRC treelang has been
removed on tree-ssa because the current implementation is so worthless.
> Also related to this, what is required with respect to the availability of
> the symbol table? Would I have to pass my symbol table along with the
> GENERIC tree? Does the symbol table have to be in any particular structure
> or format?
I think you basically just need to build and attach BLOCK nodes (containing
declchains) to BIND_EXPR nodes.
That's what we do in gfortran anyway. See {push,pop}level and gfc_finish block
in fortran/.
Paul