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