1 Right now there is no documentation for the GCC tree -> rtl interfaces
2 (or more generally the interfaces for adding new languages).
4 Such documentation would be of great benefit to the project. Until such
5 time as we can formally start documenting the interface this file will
6 serve as a repository for information on these interface and any incompatable
10 The interface between toplev.c and the language front ends for opening the
11 source file has changed:
13 o init_lex() has been renamed to init_parse (char *filename) where filename
14 is the name of the source file.
15 o The code in toplev.c which opened the source file should be moved to
16 the new init_parse function.
17 o toplev.c now calls finish_parse() instead of closing the source file
18 using fclose(). This should now be done in finish_parse, if necessary.
21 Front-ends must now define lang_print_xnode. It is safe for this
22 function to do nothing. See c-lang.c.
26 GCC used to store structure sizes & offsets to elements as bitsize
27 quantities. This causes problems because a structure can only be
28 (target memsize / 8) bytes long (this may effect arrays too). This
29 is particularly problematical on machines with small address spaces.
33 All trees that represent sizes in bits should have a TREE_TYPE of
34 bitsizetype (rather than sizetype).
36 Accordingly, when such values are computed / initialized, care has to
37 be takes to use / compute the proper type.
39 When a size in bits is converted into a size in bytes, which is expressed
40 in trees, care should be taken to change the tree's type again to sizetype.
42 We've updated C, C++, Fortran & Objective-C to work with the new
43 scheme. Other languages will need to be updated accordingly.
44 Contact amylaar@cygnus.com for additional information.
48 In an effort to decrease cache thrashing and useless loads we've changed the
49 third argument to the DEFTREECODE macro to be a single char. This will
50 effect languages that defined their own tree codes (usually in a .def file).
54 DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", "d", 0)
58 DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0)