This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] FYI: GENERIC vs. C front end dependencies for G95
- From: Steven Bosscher <s dot bosscher at student dot tudelft dot nl>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 05 Jun 2003 11:15:28 +0200
- Subject: [tree-ssa] FYI: GENERIC vs. C front end dependencies for G95
Hi,
Ever since we began working on it, the G95 backend interface has had
dependcies on files from the C front end. We needed those when tree-ssa
was still doing SIMPLE, and the whole "language-independent" tree IR had
C-isms in it everywhere (trees could only be expanded if you used
c_expand_body!). Back then you always had to include at least
c-common.h and link with various C front end files.
Since the introduction of GENERIC, all the tree codes we required are in
tree.h, and the function trees can be expaned with expand_expr. When
the discussions started about moving the C front end to its own
directory, I decided to try and see if we could now get about without
any dependencies on the C front end. The last patch went in yesterday,
and G95 is now almost completely independent of the C front end. Hurray!!
There are still a few hacks we need to be able to successfully build
G95. These are related to the use of C-specific types in
builtin-types.def. We have to define intmax_type_node, string_type_node
and const_string_type_node. We just set them to some random type node
because we never use the builtins that need those type nodes in their
definition. The Java front end needs similar hacks, see java/builtins.c
(tree-ssa-branch, of course).
But if you compare it to one year ago, when we had to link to c-common,
c-semantics, c-decl, c-typeck and c-dump, you can see the improvement.
Thanks Jason for coming up with GENERIC/GIMPLE! :-)
Gr.
Steven