Home | History | Annotate | Line # | Download | only in gcc
LANGUAGES revision 1.1.1.1.4.2
      1  1.1.1.1.4.2  yamt Right now there is no documentation for the GCC tree -> rtl interfaces
      2  1.1.1.1.4.2  yamt (or more generally the interfaces for adding new languages).
      3  1.1.1.1.4.2  yamt 
      4  1.1.1.1.4.2  yamt Such documentation would be of great benefit to the project.  Until such
      5  1.1.1.1.4.2  yamt time as we can formally start documenting the interface this file will
      6  1.1.1.1.4.2  yamt serve as a repository for information on these interface and any incompatable
      7  1.1.1.1.4.2  yamt changes we've made.
      8  1.1.1.1.4.2  yamt 
      9  1.1.1.1.4.2  yamt 2004-09-09:
     10  1.1.1.1.4.2  yamt   In an effort to decrease execution time, single char tree code
     11  1.1.1.1.4.2  yamt   classes were changed to enumerated values.
     12  1.1.1.1.4.2  yamt 
     13  1.1.1.1.4.2  yamt   Old way:
     14  1.1.1.1.4.2  yamt 
     15  1.1.1.1.4.2  yamt     DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0)
     16  1.1.1.1.4.2  yamt 
     17  1.1.1.1.4.2  yamt   New way:
     18  1.1.1.1.4.2  yamt 
     19  1.1.1.1.4.2  yamt     DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", tcc_declaration, 0)
     20  1.1.1.1.4.2  yamt 
     21  1.1.1.1.4.2  yamt 2001-02-26:
     22  1.1.1.1.4.2  yamt   A DECL_INITIAL of NULL_TREE or error_mark_node in a VAR_DECL is no longer
     23  1.1.1.1.4.2  yamt   taken to signify a tentative definition which should not be emitted until
     24  1.1.1.1.4.2  yamt   end-of-file.  Frontends which want that behavior should set
     25  1.1.1.1.4.2  yamt   DECL_DEFER_OUTPUT before calling rest_of_decl_compilation.
     26  1.1.1.1.4.2  yamt 
     27  1.1.1.1.4.2  yamt Feb 1, 1998:
     28  1.1.1.1.4.2  yamt 
     29  1.1.1.1.4.2  yamt   GCC used to store structure sizes & offsets to elements as bitsize
     30  1.1.1.1.4.2  yamt   quantities.  This causes problems because a structure can only be
     31  1.1.1.1.4.2  yamt   (target memsize / 8) bytes long (this may effect arrays too).  This
     32  1.1.1.1.4.2  yamt   is particularly problematical on machines with small address spaces.
     33  1.1.1.1.4.2  yamt 
     34  1.1.1.1.4.2  yamt   So:
     35  1.1.1.1.4.2  yamt 
     36  1.1.1.1.4.2  yamt     All trees that represent sizes in bits should have a TREE_TYPE of
     37  1.1.1.1.4.2  yamt     bitsizetype (rather than sizetype).
     38  1.1.1.1.4.2  yamt 
     39  1.1.1.1.4.2  yamt     Accordingly, when such values are computed / initialized, care has to
     40  1.1.1.1.4.2  yamt     be takes to use / compute the proper type.
     41  1.1.1.1.4.2  yamt 
     42  1.1.1.1.4.2  yamt     When a size in bits is converted into a size in bytes, which is expressed
     43  1.1.1.1.4.2  yamt     in trees, care should be taken to change the tree's type again to sizetype.
     44  1.1.1.1.4.2  yamt 
     45  1.1.1.1.4.2  yamt ?? 1997:
     46  1.1.1.1.4.2  yamt 
     47  1.1.1.1.4.2  yamt   In an effort to decrease cache thrashing and useless loads we've changed the
     48  1.1.1.1.4.2  yamt   third argument to the DEFTREECODE macro to be a single char.  This will
     49  1.1.1.1.4.2  yamt   affect languages that defined their own tree codes (usually in a .def file).
     50  1.1.1.1.4.2  yamt 
     51  1.1.1.1.4.2  yamt   Old way:
     52  1.1.1.1.4.2  yamt 
     53  1.1.1.1.4.2  yamt     DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", "d", 0)
     54  1.1.1.1.4.2  yamt 
     55  1.1.1.1.4.2  yamt   New way:
     56  1.1.1.1.4.2  yamt 
     57  1.1.1.1.4.2  yamt     DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0)
     58  1.1.1.1.4.2  yamt 
     59  1.1.1.1.4.2  yamt 
     61  1.1.1.1.4.2  yamt Copyright (C) 1998, 2001, 2002, 2004 Free Software Foundation, Inc.
     62  1.1.1.1.4.2  yamt 
     63  1.1.1.1.4.2  yamt Copying and distribution of this file, with or without modification,
     64  1.1.1.1.4.2  yamt are permitted in any medium without royalty provided the copyright
     65                    notice and this notice are preserved.
     66