LANGUAGES 2.2 KB

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