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