From 0bedf4fb30066e5e1d4342a1d3914dae7d37cba7 Mon Sep 17 00:00:00 2001 From: obrien Date: Thu, 26 Aug 1999 09:30:50 +0000 Subject: Virgin import of gcc from EGCS 1.1.2 --- contrib/gcc/LANGUAGES | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 contrib/gcc/LANGUAGES (limited to 'contrib/gcc/LANGUAGES') diff --git a/contrib/gcc/LANGUAGES b/contrib/gcc/LANGUAGES new file mode 100644 index 0000000..bce134c --- /dev/null +++ b/contrib/gcc/LANGUAGES @@ -0,0 +1,79 @@ +Right now there is no documentation for the GCC tree -> rtl interfaces +(or more generally the interfaces for adding new languages). + +Such documentation would be of great benefit to the project. Until such +time as we can formally start documenting the interface this file will +serve as a repository for information on these interface and any incompatable +changes we've made. + +Jun 10, 1998: + The interface to lang_decode_option has changed. It now uses and argc/argv + interface to allow for options that use more than one input string. The new + declaration is: int lang_decode_option (int argc, char** argv). It now + returns the number of input strings processed, or 0 if the option is + unknown. + +Jun 7, 1998: + Front-ends must now define lang_init_options. It is safe for this + function to do nothing. See c-lang.c. + +Apr 21, 1998: + Front ends which link with c-common or other files from the C/C++ + front-ends may need to handle TI types. Look for references to + [unsigned]int_DI_type_node in your front end. If you have references + to these variables, you'll need up update the front end. + + To update the front end you must mirror all the code which currently + deals with intDI_type_node to also handle intTI_type_node. + + +Apr 7, 1998: + The interface between toplev.c and the language front ends for opening the + source file has changed: + + o init_lex() has been renamed to init_parse (char *filename) where filename + is the name of the source file. + o The code in toplev.c which opened the source file should be moved to + the new init_parse function. + o toplev.c now calls finish_parse() instead of closing the source file + using fclose(). This should now be done in finish_parse, if necessary. + +Apr 1, 1998: + Front-ends must now define lang_print_xnode. It is safe for this + function to do nothing. See c-lang.c. + +Feb 1, 1998: + + GCC used to store structure sizes & offsets to elements as bitsize + quantities. This causes problems because a structure can only be + (target memsize / 8) bytes long (this may effect arrays too). This + is particularly problematical on machines with small address spaces. + + So: + + All trees that represent sizes in bits should have a TREE_TYPE of + bitsizetype (rather than sizetype). + + Accordingly, when such values are computed / initialized, care has to + be takes to use / compute the proper type. + + When a size in bits is converted into a size in bytes, which is expressed + in trees, care should be taken to change the tree's type again to sizetype. + + We've updated C, C++, Fortran & Objective-C to work with the new + scheme. Other languages will need to be updated accordingly. + Contact amylaar@cygnus.com for additional information. + +?? 1997: + + In an effort to decrease cache thrashing and useless loads we've changed the + third argument to the DEFTREECODE macro to be a single char. This will + effect languages that defined their own tree codes (usually in a .def file). + + Old way: + + DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", "d", 0) + + New way: + + DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0) -- cgit v1.1