2
0

symllvm.pas 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. {
  2. Copyright (c) 2014 by Florian Klaempfl
  3. Symbol table overrides for LLVM
  4. This program is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 2 of the License, or
  7. (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program; if not, write to the Free Software
  14. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  15. ****************************************************************************
  16. }
  17. unit symllvm;
  18. {$i fpcdefs.inc}
  19. interface
  20. uses
  21. globtype,
  22. symcpu;
  23. type
  24. { defs }
  25. tllvmfiledef = class(tcpufiledef)
  26. end;
  27. tllvmvariantdef = class(tcpuvariantdef)
  28. end;
  29. tllvmformaldef = class(tcpuformaldef)
  30. end;
  31. tllvmforwarddef = class(tcpuforwarddef)
  32. end;
  33. tllvmundefineddef = class(tcpuundefineddef)
  34. end;
  35. tllvmerrordef = class(tcpuerrordef)
  36. end;
  37. tllvmpointerdef = class(tcpupointerdef)
  38. end;
  39. tllvmrecorddef = class(tcpurecorddef)
  40. end;
  41. tllvmimplementedinterface = class(tcpuimplementedinterface)
  42. end;
  43. tllvmobjectdef = class(tcpuobjectdef)
  44. end;
  45. tllvmclassrefdef = class(tcpuclassrefdef)
  46. end;
  47. tllvmarraydef = class(tcpuarraydef)
  48. end;
  49. tllvmorddef = class(tcpuorddef)
  50. end;
  51. tllvmfloatdef = class(tcpufloatdef)
  52. end;
  53. tllvmprocvardef = class(tcpuprocvardef)
  54. end;
  55. tllvmprocdef = class(tcpuprocdef)
  56. end;
  57. tllvmstringdef = class(tcpustringdef)
  58. end;
  59. tllvmenumdef = class(tcpuenumdef)
  60. end;
  61. tllvmsetdef = class(tcpusetdef)
  62. end;
  63. { syms }
  64. tllvmlabelsym = class(tcpulabelsym)
  65. end;
  66. tllvmunitsym = class(tcpuunitsym)
  67. end;
  68. tllvmprogramparasym = class(tcpuprogramparasym)
  69. end;
  70. tllvmnamespacesym = class(tcpunamespacesym)
  71. end;
  72. tllvmprocsym = class(tcpuprocsym)
  73. end;
  74. tllvmtypesym = class(tcputypesym)
  75. end;
  76. tllvmfieldvarsym = class(tcpufieldvarsym)
  77. end;
  78. tllvmlocalvarsym = class(tcpulocalvarsym)
  79. end;
  80. tllvmparavarsym = class(tcpuparavarsym)
  81. end;
  82. tllvmstaticvarsym = class(tcpustaticvarsym)
  83. end;
  84. tllvmabsolutevarsym = class(tcpuabsolutevarsym)
  85. end;
  86. tllvmpropertysym = class(tcpupropertysym)
  87. end;
  88. tllvmconstsym = class(tcpuconstsym)
  89. end;
  90. tllvmenumsym = class(tcpuenumsym)
  91. end;
  92. tllvmsyssym = class(tcpusyssym)
  93. end;
  94. implementation
  95. uses
  96. symconst,symdef,symsym;
  97. begin
  98. { used tdef classes }
  99. cfiledef:=tllvmfiledef;
  100. cvariantdef:=tllvmvariantdef;
  101. cformaldef:=tllvmformaldef;
  102. cforwarddef:=tllvmforwarddef;
  103. cundefineddef:=tllvmundefineddef;
  104. cerrordef:=tllvmerrordef;
  105. cpointerdef:=tllvmpointerdef;
  106. crecorddef:=tllvmrecorddef;
  107. cimplementedinterface:=tllvmimplementedinterface;
  108. cobjectdef:=tllvmobjectdef;
  109. cclassrefdef:=tllvmclassrefdef;
  110. carraydef:=tllvmarraydef;
  111. corddef:=tllvmorddef;
  112. cfloatdef:=tllvmfloatdef;
  113. cprocvardef:=tllvmprocvardef;
  114. cprocdef:=tllvmprocdef;
  115. cstringdef:=tllvmstringdef;
  116. cenumdef:=tllvmenumdef;
  117. csetdef:=tllvmsetdef;
  118. { used tsym classes }
  119. clabelsym:=tllvmlabelsym;
  120. cunitsym:=tllvmunitsym;
  121. cprogramparasym:=tllvmprogramparasym;
  122. cnamespacesym:=tllvmnamespacesym;
  123. cprocsym:=tllvmprocsym;
  124. ctypesym:=tllvmtypesym;
  125. cfieldvarsym:=tllvmfieldvarsym;
  126. clocalvarsym:=tllvmlocalvarsym;
  127. cparavarsym:=tllvmparavarsym;
  128. cstaticvarsym:=tllvmstaticvarsym;
  129. cabsolutevarsym:=tllvmabsolutevarsym;
  130. cpropertysym:=tllvmpropertysym;
  131. cconstsym:=tllvmconstsym;
  132. cenumsym:=tllvmenumsym;
  133. csyssym:=tllvmsyssym;
  134. end.