tcc 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +35 -0
  3. data/README.md +196 -0
  4. data/ext/tcc/extconf.rb +25 -0
  5. data/ext/tcc/tcc-0.9.26.patch +30 -0
  6. data/ext/tcc/tcc-0.9.26/COPYING +504 -0
  7. data/ext/tcc/tcc-0.9.26/Changelog +396 -0
  8. data/ext/tcc/tcc-0.9.26/Makefile +349 -0
  9. data/ext/tcc/tcc-0.9.26/README +101 -0
  10. data/ext/tcc/tcc-0.9.26/TODO +93 -0
  11. data/ext/tcc/tcc-0.9.26/VERSION +1 -0
  12. data/ext/tcc/tcc-0.9.26/arm-gen.c +2005 -0
  13. data/ext/tcc/tcc-0.9.26/c67-gen.c +2560 -0
  14. data/ext/tcc/tcc-0.9.26/coff.h +446 -0
  15. data/ext/tcc/tcc-0.9.26/config.h +8 -0
  16. data/ext/tcc/tcc-0.9.26/config.mak +28 -0
  17. data/ext/tcc/tcc-0.9.26/config.texi +1 -0
  18. data/ext/tcc/tcc-0.9.26/configure +540 -0
  19. data/ext/tcc/tcc-0.9.26/conftest.c +71 -0
  20. data/ext/tcc/tcc-0.9.26/elf.h +1731 -0
  21. data/ext/tcc/tcc-0.9.26/examples/ex1.c +8 -0
  22. data/ext/tcc/tcc-0.9.26/examples/ex2.c +98 -0
  23. data/ext/tcc/tcc-0.9.26/examples/ex3.c +24 -0
  24. data/ext/tcc/tcc-0.9.26/examples/ex4.c +26 -0
  25. data/ext/tcc/tcc-0.9.26/examples/ex5.c +8 -0
  26. data/ext/tcc/tcc-0.9.26/i386-asm.c +1498 -0
  27. data/ext/tcc/tcc-0.9.26/i386-asm.h +473 -0
  28. data/ext/tcc/tcc-0.9.26/i386-gen.c +1096 -0
  29. data/ext/tcc/tcc-0.9.26/i386-tok.h +243 -0
  30. data/ext/tcc/tcc-0.9.26/il-gen.c +667 -0
  31. data/ext/tcc/tcc-0.9.26/il-opcodes.h +251 -0
  32. data/ext/tcc/tcc-0.9.26/include/float.h +57 -0
  33. data/ext/tcc/tcc-0.9.26/include/stdarg.h +41 -0
  34. data/ext/tcc/tcc-0.9.26/include/stdbool.h +10 -0
  35. data/ext/tcc/tcc-0.9.26/include/stddef.h +28 -0
  36. data/ext/tcc/tcc-0.9.26/include/tcclib.h +78 -0
  37. data/ext/tcc/tcc-0.9.26/include/varargs.h +12 -0
  38. data/ext/tcc/tcc-0.9.26/lib/Makefile +102 -0
  39. data/ext/tcc/tcc-0.9.26/lib/alloca86-bt.S +47 -0
  40. data/ext/tcc/tcc-0.9.26/lib/alloca86.S +35 -0
  41. data/ext/tcc/tcc-0.9.26/lib/alloca86_64.S +42 -0
  42. data/ext/tcc/tcc-0.9.26/lib/bcheck.c +875 -0
  43. data/ext/tcc/tcc-0.9.26/lib/libtcc1.c +691 -0
  44. data/ext/tcc/tcc-0.9.26/libtcc.c +1941 -0
  45. data/ext/tcc/tcc-0.9.26/libtcc.h +103 -0
  46. data/ext/tcc/tcc-0.9.26/stab.def +234 -0
  47. data/ext/tcc/tcc-0.9.26/stab.h +17 -0
  48. data/ext/tcc/tcc-0.9.26/tcc-doc.html +2332 -0
  49. data/ext/tcc/tcc-0.9.26/tcc-doc.info +1151 -0
  50. data/ext/tcc/tcc-0.9.26/tcc-doc.texi +1268 -0
  51. data/ext/tcc/tcc-0.9.26/tcc.1 +415 -0
  52. data/ext/tcc/tcc-0.9.26/tcc.c +352 -0
  53. data/ext/tcc/tcc-0.9.26/tcc.h +1379 -0
  54. data/ext/tcc/tcc-0.9.26/tccasm.c +1118 -0
  55. data/ext/tcc/tcc-0.9.26/tcccoff.c +948 -0
  56. data/ext/tcc/tcc-0.9.26/tccelf.c +3129 -0
  57. data/ext/tcc/tcc-0.9.26/tccgen.c +5841 -0
  58. data/ext/tcc/tcc-0.9.26/tccpe.c +1887 -0
  59. data/ext/tcc/tcc-0.9.26/tccpp.c +3128 -0
  60. data/ext/tcc/tcc-0.9.26/tccrun.c +737 -0
  61. data/ext/tcc/tcc-0.9.26/tcctok.h +278 -0
  62. data/ext/tcc/tcc-0.9.26/tests/Makefile +199 -0
  63. data/ext/tcc/tcc-0.9.26/tests/asmtest.S +609 -0
  64. data/ext/tcc/tcc-0.9.26/tests/boundtest.c +233 -0
  65. data/ext/tcc/tcc-0.9.26/tests/gcctestsuite.sh +33 -0
  66. data/ext/tcc/tcc-0.9.26/tests/libtcc_test.c +76 -0
  67. data/ext/tcc/tcc-0.9.26/tests/tcctest.c +2713 -0
  68. data/ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.c +18 -0
  69. data/ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.expect +3 -0
  70. data/ext/tcc/tcc-0.9.26/tests/tests2/01_comment.c +14 -0
  71. data/ext/tcc/tcc-0.9.26/tests/tests2/01_comment.expect +5 -0
  72. data/ext/tcc/tcc-0.9.26/tests/tests2/02_printf.c +18 -0
  73. data/ext/tcc/tcc-0.9.26/tests/tests2/02_printf.expect +15 -0
  74. data/ext/tcc/tcc-0.9.26/tests/tests2/03_struct.c +31 -0
  75. data/ext/tcc/tcc-0.9.26/tests/tests2/03_struct.expect +6 -0
  76. data/ext/tcc/tcc-0.9.26/tests/tests2/04_for.c +15 -0
  77. data/ext/tcc/tcc-0.9.26/tests/tests2/04_for.expect +10 -0
  78. data/ext/tcc/tcc-0.9.26/tests/tests2/05_array.c +21 -0
  79. data/ext/tcc/tcc-0.9.26/tests/tests2/05_array.expect +10 -0
  80. data/ext/tcc/tcc-0.9.26/tests/tests2/06_case.c +29 -0
  81. data/ext/tcc/tcc-0.9.26/tests/tests2/06_case.expect +8 -0
  82. data/ext/tcc/tcc-0.9.26/tests/tests2/07_function.c +30 -0
  83. data/ext/tcc/tcc-0.9.26/tests/tests2/07_function.expect +4 -0
  84. data/ext/tcc/tcc-0.9.26/tests/tests2/08_while.c +24 -0
  85. data/ext/tcc/tcc-0.9.26/tests/tests2/08_while.expect +11 -0
  86. data/ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.c +24 -0
  87. data/ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.expect +11 -0
  88. data/ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.c +40 -0
  89. data/ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.expect +8 -0
  90. data/ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.c +40 -0
  91. data/ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.expect +15 -0
  92. data/ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.c +14 -0
  93. data/ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.expect +2 -0
  94. data/ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.c +20 -0
  95. data/ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.expect +5 -0
  96. data/ext/tcc/tcc-0.9.26/tests/tests2/14_if.c +21 -0
  97. data/ext/tcc/tcc-0.9.26/tests/tests2/14_if.expect +2 -0
  98. data/ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.c +21 -0
  99. data/ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.expect +10 -0
  100. data/ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.c +21 -0
  101. data/ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.expect +18 -0
  102. data/ext/tcc/tcc-0.9.26/tests/tests2/17_enum.c +29 -0
  103. data/ext/tcc/tcc-0.9.26/tests/tests2/17_enum.expect +3 -0
  104. data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.c +12 -0
  105. data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.expect +3 -0
  106. data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.h +1 -0
  107. data/ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.c +28 -0
  108. data/ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.expect +3 -0
  109. data/ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.c +24 -0
  110. data/ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.expect +6 -0
  111. data/ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.c +33 -0
  112. data/ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.expect +7 -0
  113. data/ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.c +50 -0
  114. data/ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.expect +16 -0
  115. data/ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.c +54 -0
  116. data/ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.expect +12 -0
  117. data/ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.c +28 -0
  118. data/ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.expect +18 -0
  119. data/ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.c +83 -0
  120. data/ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.expect +2 -0
  121. data/ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.c +17 -0
  122. data/ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.expect +8 -0
  123. data/ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.c +16 -0
  124. data/ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.expect +3 -0
  125. data/ext/tcc/tcc-0.9.26/tests/tests2/28_strings.c +46 -0
  126. data/ext/tcc/tcc-0.9.26/tests/tests2/28_strings.expect +19 -0
  127. data/ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.c +13 -0
  128. data/ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.expect +1 -0
  129. data/ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.c +122 -0
  130. data/ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.expect +71 -0
  131. data/ext/tcc/tcc-0.9.26/tests/tests2/31_args.c +14 -0
  132. data/ext/tcc/tcc-0.9.26/tests/tests2/31_args.expect +7 -0
  133. data/ext/tcc/tcc-0.9.26/tests/tests2/32_led.c +266 -0
  134. data/ext/tcc/tcc-0.9.26/tests/tests2/32_led.expect +4 -0
  135. data/ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.c +15 -0
  136. data/ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.expect +10 -0
  137. data/ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.c +23 -0
  138. data/ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.expect +2 -0
  139. data/ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.c +14 -0
  140. data/ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.expect +2 -0
  141. data/ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.c +21 -0
  142. data/ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.expect +20 -0
  143. data/ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.c +17 -0
  144. data/ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.expect +20 -0
  145. data/ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.c +32 -0
  146. data/ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.expect +4 -0
  147. data/ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.c +31 -0
  148. data/ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.expect +3 -0
  149. data/ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.c +52 -0
  150. data/ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.expect +27 -0
  151. data/ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.c +85 -0
  152. data/ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.expect +6 -0
  153. data/ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.c +18 -0
  154. data/ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.expect +2 -0
  155. data/ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.c +15 -0
  156. data/ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.expect +1 -0
  157. data/ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.c +17 -0
  158. data/ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.expect +1 -0
  159. data/ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.c +18 -0
  160. data/ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.expect +10 -0
  161. data/ext/tcc/tcc-0.9.26/tests/tests2/46_grep.c +564 -0
  162. data/ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.c +24 -0
  163. data/ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.expect +4 -0
  164. data/ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.c +26 -0
  165. data/ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.expect +1 -0
  166. data/ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.c +23 -0
  167. data/ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.expect +1 -0
  168. data/ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.c +29 -0
  169. data/ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.expect +20 -0
  170. data/ext/tcc/tcc-0.9.26/tests/tests2/51_static.c +30 -0
  171. data/ext/tcc/tcc-0.9.26/tests/tests2/51_static.expect +8 -0
  172. data/ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.c +27 -0
  173. data/ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.expect +9 -0
  174. data/ext/tcc/tcc-0.9.26/tests/tests2/54_goto.c +56 -0
  175. data/ext/tcc/tcc-0.9.26/tests/tests2/54_goto.expect +8 -0
  176. data/ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.c +52 -0
  177. data/ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.expect +1 -0
  178. data/ext/tcc/tcc-0.9.26/tests/tests2/LICENSE +37 -0
  179. data/ext/tcc/tcc-0.9.26/tests/tests2/Makefile +98 -0
  180. data/ext/tcc/tcc-0.9.26/texi2pod.pl +427 -0
  181. data/ext/tcc/tcc-0.9.26/win32/build-tcc.bat +60 -0
  182. data/ext/tcc/tcc-0.9.26/win32/examples/dll.c +12 -0
  183. data/ext/tcc/tcc-0.9.26/win32/examples/fib.c +23 -0
  184. data/ext/tcc/tcc-0.9.26/win32/examples/hello_dll.c +19 -0
  185. data/ext/tcc/tcc-0.9.26/win32/examples/hello_win.c +163 -0
  186. data/ext/tcc/tcc-0.9.26/win32/include/_mingw.h +139 -0
  187. data/ext/tcc/tcc-0.9.26/win32/include/assert.h +54 -0
  188. data/ext/tcc/tcc-0.9.26/win32/include/conio.h +409 -0
  189. data/ext/tcc/tcc-0.9.26/win32/include/ctype.h +281 -0
  190. data/ext/tcc/tcc-0.9.26/win32/include/dir.h +31 -0
  191. data/ext/tcc/tcc-0.9.26/win32/include/direct.h +68 -0
  192. data/ext/tcc/tcc-0.9.26/win32/include/dirent.h +135 -0
  193. data/ext/tcc/tcc-0.9.26/win32/include/dos.h +55 -0
  194. data/ext/tcc/tcc-0.9.26/win32/include/errno.h +75 -0
  195. data/ext/tcc/tcc-0.9.26/win32/include/excpt.h +123 -0
  196. data/ext/tcc/tcc-0.9.26/win32/include/fcntl.h +52 -0
  197. data/ext/tcc/tcc-0.9.26/win32/include/fenv.h +108 -0
  198. data/ext/tcc/tcc-0.9.26/win32/include/inttypes.h +297 -0
  199. data/ext/tcc/tcc-0.9.26/win32/include/io.h +418 -0
  200. data/ext/tcc/tcc-0.9.26/win32/include/limits.h +111 -0
  201. data/ext/tcc/tcc-0.9.26/win32/include/locale.h +91 -0
  202. data/ext/tcc/tcc-0.9.26/win32/include/malloc.h +175 -0
  203. data/ext/tcc/tcc-0.9.26/win32/include/math.h +777 -0
  204. data/ext/tcc/tcc-0.9.26/win32/include/mem.h +13 -0
  205. data/ext/tcc/tcc-0.9.26/win32/include/memory.h +40 -0
  206. data/ext/tcc/tcc-0.9.26/win32/include/process.h +176 -0
  207. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/conio_s.h +42 -0
  208. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/crtdbg_s.h +19 -0
  209. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/io_s.h +33 -0
  210. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/mbstring_s.h +52 -0
  211. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/search_s.h +25 -0
  212. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stdio_s.h +145 -0
  213. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stdlib_s.h +67 -0
  214. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stralign_s.h +30 -0
  215. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/string_s.h +41 -0
  216. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/sys/timeb_s.h +34 -0
  217. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/tchar_s.h +266 -0
  218. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/time_s.h +61 -0
  219. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/wchar_s.h +128 -0
  220. data/ext/tcc/tcc-0.9.26/win32/include/setjmp.h +160 -0
  221. data/ext/tcc/tcc-0.9.26/win32/include/share.h +28 -0
  222. data/ext/tcc/tcc-0.9.26/win32/include/signal.h +63 -0
  223. data/ext/tcc/tcc-0.9.26/win32/include/stdint.h +209 -0
  224. data/ext/tcc/tcc-0.9.26/win32/include/stdio.h +429 -0
  225. data/ext/tcc/tcc-0.9.26/win32/include/stdlib.h +580 -0
  226. data/ext/tcc/tcc-0.9.26/win32/include/string.h +164 -0
  227. data/ext/tcc/tcc-0.9.26/win32/include/sys/fcntl.h +13 -0
  228. data/ext/tcc/tcc-0.9.26/win32/include/sys/file.h +14 -0
  229. data/ext/tcc/tcc-0.9.26/win32/include/sys/locking.h +30 -0
  230. data/ext/tcc/tcc-0.9.26/win32/include/sys/stat.h +290 -0
  231. data/ext/tcc/tcc-0.9.26/win32/include/sys/time.h +69 -0
  232. data/ext/tcc/tcc-0.9.26/win32/include/sys/timeb.h +133 -0
  233. data/ext/tcc/tcc-0.9.26/win32/include/sys/types.h +118 -0
  234. data/ext/tcc/tcc-0.9.26/win32/include/sys/unistd.h +14 -0
  235. data/ext/tcc/tcc-0.9.26/win32/include/sys/utime.h +146 -0
  236. data/ext/tcc/tcc-0.9.26/win32/include/tchar.h +1102 -0
  237. data/ext/tcc/tcc-0.9.26/win32/include/time.h +287 -0
  238. data/ext/tcc/tcc-0.9.26/win32/include/vadefs.h +11 -0
  239. data/ext/tcc/tcc-0.9.26/win32/include/values.h +4 -0
  240. data/ext/tcc/tcc-0.9.26/win32/include/wchar.h +871 -0
  241. data/ext/tcc/tcc-0.9.26/win32/include/wctype.h +172 -0
  242. data/ext/tcc/tcc-0.9.26/win32/include/winapi/basetsd.h +149 -0
  243. data/ext/tcc/tcc-0.9.26/win32/include/winapi/basetyps.h +85 -0
  244. data/ext/tcc/tcc-0.9.26/win32/include/winapi/guiddef.h +151 -0
  245. data/ext/tcc/tcc-0.9.26/win32/include/winapi/intrin.h +11 -0
  246. data/ext/tcc/tcc-0.9.26/win32/include/winapi/poppack.h +8 -0
  247. data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack1.h +8 -0
  248. data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack2.h +8 -0
  249. data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack4.h +8 -0
  250. data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack8.h +8 -0
  251. data/ext/tcc/tcc-0.9.26/win32/include/winapi/reason.h +80 -0
  252. data/ext/tcc/tcc-0.9.26/win32/include/winapi/specstrings.h +7 -0
  253. data/ext/tcc/tcc-0.9.26/win32/include/winapi/stralign.h +154 -0
  254. data/ext/tcc/tcc-0.9.26/win32/include/winapi/tvout.h +79 -0
  255. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winbase.h +2951 -0
  256. data/ext/tcc/tcc-0.9.26/win32/include/winapi/wincon.h +301 -0
  257. data/ext/tcc/tcc-0.9.26/win32/include/winapi/windef.h +293 -0
  258. data/ext/tcc/tcc-0.9.26/win32/include/winapi/windows.h +123 -0
  259. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winerror.h +3166 -0
  260. data/ext/tcc/tcc-0.9.26/win32/include/winapi/wingdi.h +4080 -0
  261. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnetwk.h +476 -0
  262. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnls.h +765 -0
  263. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnt.h +5770 -0
  264. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winreg.h +272 -0
  265. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winuser.h +5651 -0
  266. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winver.h +160 -0
  267. data/ext/tcc/tcc-0.9.26/win32/lib/chkstk.S +191 -0
  268. data/ext/tcc/tcc-0.9.26/win32/lib/crt1.c +34 -0
  269. data/ext/tcc/tcc-0.9.26/win32/lib/dllcrt1.c +13 -0
  270. data/ext/tcc/tcc-0.9.26/win32/lib/dllmain.c +9 -0
  271. data/ext/tcc/tcc-0.9.26/win32/lib/gdi32.def +337 -0
  272. data/ext/tcc/tcc-0.9.26/win32/lib/kernel32.def +765 -0
  273. data/ext/tcc/tcc-0.9.26/win32/lib/msvcrt.def +1399 -0
  274. data/ext/tcc/tcc-0.9.26/win32/lib/user32.def +654 -0
  275. data/ext/tcc/tcc-0.9.26/win32/lib/wincrt1.c +64 -0
  276. data/ext/tcc/tcc-0.9.26/win32/tcc-win32.txt +156 -0
  277. data/ext/tcc/tcc-0.9.26/win32/tools/tiny_impdef.c +243 -0
  278. data/ext/tcc/tcc-0.9.26/win32/tools/tiny_libmaker.c +258 -0
  279. data/ext/tcc/tcc-0.9.26/x86_64-asm.h +448 -0
  280. data/ext/tcc/tcc-0.9.26/x86_64-gen.c +1701 -0
  281. data/lib/tcc.rb +291 -0
  282. data/tcc.gemspec +15 -0
  283. metadata +343 -0
@@ -0,0 +1,69 @@
1
+ /**
2
+ * This file has no copyright assigned and is placed in the Public Domain.
3
+ * This file is part of the w64 mingw-runtime package.
4
+ * No warranty is given; refer to the file DISCLAIMER within this package.
5
+ */
6
+
7
+ #ifndef _SYS_TIME_H_
8
+ #define _SYS_TIME_H_
9
+
10
+ #include <time.h>
11
+
12
+ #ifdef __cplusplus
13
+ extern "C" {
14
+ #endif
15
+
16
+ #ifndef __STRICT_ANSI__
17
+ #ifndef _TIMEVAL_DEFINED /* also in winsock[2].h */
18
+ #define _TIMEVAL_DEFINED
19
+ struct timeval {
20
+ long tv_sec;
21
+ long tv_usec;
22
+ };
23
+ #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
24
+ #define timercmp(tvp, uvp, cmp) \
25
+ (((tvp)->tv_sec != (uvp)->tv_sec) ? \
26
+ ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
27
+ ((tvp)->tv_usec cmp (uvp)->tv_usec))
28
+ #define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
29
+ #endif /* _TIMEVAL_DEFINED */
30
+
31
+ #ifndef _TIMEZONE_DEFINED /* also in sys/time.h */
32
+ #define _TIMEZONE_DEFINED
33
+ /* Provided for compatibility with code that assumes that
34
+ the presence of gettimeofday function implies a definition
35
+ of struct timezone. */
36
+ struct timezone
37
+ {
38
+ int tz_minuteswest; /* of Greenwich */
39
+ int tz_dsttime; /* type of dst correction to apply */
40
+ };
41
+
42
+ extern int __cdecl mingw_gettimeofday (struct timeval *p, struct timezone *z);
43
+
44
+ #endif
45
+
46
+ /*
47
+ Implementation as per:
48
+ The Open Group Base Specifications, Issue 6
49
+ IEEE Std 1003.1, 2004 Edition
50
+
51
+ The timezone pointer arg is ignored. Errors are ignored.
52
+ */
53
+ #ifndef _GETTIMEOFDAY_DEFINED
54
+ #define _GETTIMEOFDAY_DEFINED
55
+ int __cdecl gettimeofday(struct timeval *__restrict__,
56
+ void *__restrict__ /* tzp (unused) */);
57
+ #endif
58
+
59
+ #endif /* __STRICT_ANSI__ */
60
+
61
+ #ifdef __cplusplus
62
+ }
63
+ #endif
64
+
65
+ /* Adding timespec definition. */
66
+ #include <sys/timeb.h>
67
+
68
+
69
+ #endif /* _SYS_TIME_H_ */
@@ -0,0 +1,133 @@
1
+ /**
2
+ * This file has no copyright assigned and is placed in the Public Domain.
3
+ * This file is part of the w64 mingw-runtime package.
4
+ * No warranty is given; refer to the file DISCLAIMER within this package.
5
+ */
6
+ #ifndef _TIMEB_H_
7
+ #define _TIMEB_H_
8
+
9
+ #include <_mingw.h>
10
+
11
+ #ifndef _WIN32
12
+ #error Only Win32 target is supported!
13
+ #endif
14
+
15
+ #pragma pack(push,_CRT_PACKING)
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ #ifndef _CRTIMP
22
+ #define _CRTIMP __declspec(dllimport)
23
+ #endif
24
+
25
+ #ifndef __TINYC__ //gr
26
+ #ifdef _USE_32BIT_TIME_T
27
+ #ifdef _WIN64
28
+ #undef _USE_32BIT_TIME_T
29
+ #endif
30
+ #else
31
+ #if _INTEGRAL_MAX_BITS < 64
32
+ #define _USE_32BIT_TIME_T
33
+ #endif
34
+ #endif
35
+ #endif
36
+
37
+ #ifndef _TIME32_T_DEFINED
38
+ typedef long __time32_t;
39
+ #define _TIME32_T_DEFINED
40
+ #endif
41
+
42
+ #ifndef _TIME64_T_DEFINED
43
+ #if _INTEGRAL_MAX_BITS >= 64
44
+ typedef __int64 __time64_t;
45
+ #endif
46
+ #define _TIME64_T_DEFINED
47
+ #endif
48
+
49
+ #ifndef _TIME_T_DEFINED
50
+ #ifdef _USE_32BIT_TIME_T
51
+ typedef __time32_t time_t;
52
+ #else
53
+ typedef __time64_t time_t;
54
+ #endif
55
+ #define _TIME_T_DEFINED
56
+ #endif
57
+
58
+ #ifndef _TIMEB_DEFINED
59
+ #define _TIMEB_DEFINED
60
+
61
+ struct __timeb32 {
62
+ __time32_t time;
63
+ unsigned short millitm;
64
+ short timezone;
65
+ short dstflag;
66
+ };
67
+
68
+ #ifndef NO_OLDNAMES
69
+ struct timeb {
70
+ time_t time;
71
+ unsigned short millitm;
72
+ short timezone;
73
+ short dstflag;
74
+ };
75
+ #endif
76
+
77
+ #if _INTEGRAL_MAX_BITS >= 64
78
+ struct __timeb64 {
79
+ __time64_t time;
80
+ unsigned short millitm;
81
+ short timezone;
82
+ short dstflag;
83
+ };
84
+ #endif
85
+
86
+ #ifdef _USE_32BIT_TIME_T
87
+ #define _timeb __timeb32
88
+ //gr #define _ftime _ftime32
89
+ #define _ftime32 _ftime
90
+ #else
91
+ #define _timeb __timeb64
92
+ #define _ftime _ftime64
93
+ #endif
94
+ #endif
95
+
96
+ _CRTIMP void __cdecl _ftime32(struct __timeb32 *_Time);
97
+ #if _INTEGRAL_MAX_BITS >= 64
98
+ _CRTIMP void __cdecl _ftime64(struct __timeb64 *_Time);
99
+ #endif
100
+
101
+ #ifndef _TIMESPEC_DEFINED
102
+ #define _TIMESPEC_DEFINED
103
+ struct timespec {
104
+ time_t tv_sec; /* Seconds */
105
+ long tv_nsec; /* Nanoseconds */
106
+ };
107
+
108
+ struct itimerspec {
109
+ struct timespec it_interval; /* Timer period */
110
+ struct timespec it_value; /* Timer expiration */
111
+ };
112
+ #endif
113
+
114
+ #if !defined (RC_INVOKED) && !defined (NO_OLDNAMES)
115
+ #ifdef _USE_32BIT_TIME_T
116
+ __CRT_INLINE void __cdecl ftime(struct timeb *_Tmb) {
117
+ _ftime32((struct __timeb32 *)_Tmb);
118
+ }
119
+ #else
120
+ __CRT_INLINE void __cdecl ftime(struct timeb *_Tmb) {
121
+ _ftime64((struct __timeb64 *)_Tmb);
122
+ }
123
+ #endif
124
+ #endif
125
+
126
+ #ifdef __cplusplus
127
+ }
128
+ #endif
129
+
130
+ #pragma pack(pop)
131
+
132
+ #include <sec_api/sys/timeb_s.h>
133
+ #endif
@@ -0,0 +1,118 @@
1
+ /**
2
+ * This file has no copyright assigned and is placed in the Public Domain.
3
+ * This file is part of the w64 mingw-runtime package.
4
+ * No warranty is given; refer to the file DISCLAIMER within this package.
5
+ */
6
+ #ifndef _INC_TYPES
7
+ #define _INC_TYPES
8
+
9
+ #ifndef _WIN32
10
+ #error Only Win32 target is supported!
11
+ #endif
12
+
13
+ #include <_mingw.h>
14
+
15
+ #ifndef __TINYC__ //gr
16
+ #ifdef _USE_32BIT_TIME_T
17
+ #ifdef _WIN64
18
+ #undef _USE_32BIT_TIME_T
19
+ #endif
20
+ #else
21
+ #if _INTEGRAL_MAX_BITS < 64
22
+ #define _USE_32BIT_TIME_T
23
+ #endif
24
+ #endif
25
+ #endif
26
+
27
+ #ifndef _TIME32_T_DEFINED
28
+ #define _TIME32_T_DEFINED
29
+ typedef long __time32_t;
30
+ #endif
31
+
32
+ #ifndef _TIME64_T_DEFINED
33
+ #define _TIME64_T_DEFINED
34
+ #if _INTEGRAL_MAX_BITS >= 64
35
+ typedef __int64 __time64_t;
36
+ #endif
37
+ #endif
38
+
39
+ #ifndef _TIME_T_DEFINED
40
+ #define _TIME_T_DEFINED
41
+ #ifdef _USE_32BIT_TIME_T
42
+ typedef __time32_t time_t;
43
+ #else
44
+ typedef __time64_t time_t;
45
+ #endif
46
+ #endif
47
+
48
+ #ifndef _INO_T_DEFINED
49
+ #define _INO_T_DEFINED
50
+ typedef unsigned short _ino_t;
51
+ #ifndef NO_OLDNAMES
52
+ typedef unsigned short ino_t;
53
+ #endif
54
+ #endif
55
+
56
+ #ifndef _DEV_T_DEFINED
57
+ #define _DEV_T_DEFINED
58
+ typedef unsigned int _dev_t;
59
+ #ifndef NO_OLDNAMES
60
+ typedef unsigned int dev_t;
61
+ #endif
62
+ #endif
63
+
64
+ #ifndef _PID_T_
65
+ #define _PID_T_
66
+ #ifndef _WIN64
67
+ typedef int _pid_t;
68
+ #else
69
+ typedef __int64 _pid_t;
70
+ #endif
71
+
72
+ #ifndef NO_OLDNAMES
73
+ typedef _pid_t pid_t;
74
+ #endif
75
+ #endif /* Not _PID_T_ */
76
+
77
+ #ifndef _MODE_T_
78
+ #define _MODE_T_
79
+ typedef unsigned short _mode_t;
80
+
81
+ #ifndef NO_OLDNAMES
82
+ typedef _mode_t mode_t;
83
+ #endif
84
+ #endif /* Not _MODE_T_ */
85
+
86
+ #ifndef _OFF_T_DEFINED
87
+ #define _OFF_T_DEFINED
88
+ #ifndef _OFF_T_
89
+ #define _OFF_T_
90
+ typedef long _off_t;
91
+ #if !defined(NO_OLDNAMES) || defined(_POSIX)
92
+ typedef long off_t;
93
+ #endif
94
+ #endif
95
+ #endif
96
+
97
+ #ifndef _OFF64_T_DEFINED
98
+ #define _OFF64_T_DEFINED
99
+ typedef long long _off64_t;
100
+ #if !defined(NO_OLDNAMES) || defined(_POSIX)
101
+ typedef long long off64_t;
102
+ #endif
103
+ #endif
104
+
105
+ #ifndef _TIMESPEC_DEFINED
106
+ #define _TIMESPEC_DEFINED
107
+ struct timespec {
108
+ time_t tv_sec; /* Seconds */
109
+ long tv_nsec; /* Nanoseconds */
110
+ };
111
+
112
+ struct itimerspec {
113
+ struct timespec it_interval; /* Timer period */
114
+ struct timespec it_value; /* Timer expiration */
115
+ };
116
+ #endif
117
+
118
+ #endif
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This file has no copyright assigned and is placed in the Public Domain.
3
+ * This file is part of the w64 mingw-runtime package.
4
+ * No warranty is given; refer to the file DISCLAIMER within this package.
5
+ */
6
+ /*
7
+ * This file is part of the Mingw32 package.
8
+ *
9
+ * unistd.h maps (roughly) to io.h
10
+ */
11
+ #ifndef __STRICT_ANSI__
12
+ #include <io.h>
13
+ #endif
14
+
@@ -0,0 +1,146 @@
1
+ /**
2
+ * This file has no copyright assigned and is placed in the Public Domain.
3
+ * This file is part of the w64 mingw-runtime package.
4
+ * No warranty is given; refer to the file DISCLAIMER within this package.
5
+ */
6
+ #ifndef _INC_UTIME
7
+ #define _INC_UTIME
8
+
9
+ #ifndef _WIN32
10
+ #error Only Win32 target is supported!
11
+ #endif
12
+
13
+ #include <_mingw.h>
14
+
15
+ #pragma pack(push,_CRT_PACKING)
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ #ifndef _CRTIMP
22
+ #define _CRTIMP __declspec(dllimport)
23
+ #endif
24
+
25
+ #ifndef _WCHAR_T_DEFINED
26
+ typedef unsigned short wchar_t;
27
+ #define _WCHAR_T_DEFINED
28
+ #endif
29
+
30
+ #ifndef __TINYC__ //gr
31
+ #ifdef _USE_32BIT_TIME_T
32
+ #ifdef _WIN64
33
+ #undef _USE_32BIT_TIME_T
34
+ #endif
35
+ #else
36
+ #if _INTEGRAL_MAX_BITS < 64
37
+ #define _USE_32BIT_TIME_T
38
+ #endif
39
+ #endif
40
+ #endif
41
+
42
+ #ifndef _TIME32_T_DEFINED
43
+ #define _TIME32_T_DEFINED
44
+ typedef long __time32_t;
45
+ #endif
46
+
47
+ #ifndef _TIME64_T_DEFINED
48
+ #define _TIME64_T_DEFINED
49
+ #if _INTEGRAL_MAX_BITS >= 64
50
+ typedef __int64 __time64_t;
51
+ #endif
52
+ #endif
53
+
54
+ #ifndef _TIME_T_DEFINED
55
+ #define _TIME_T_DEFINED
56
+ #ifdef _USE_32BIT_TIME_T
57
+ typedef __time32_t time_t;
58
+ #else
59
+ typedef __time64_t time_t;
60
+ #endif
61
+ #endif
62
+
63
+ #ifndef _UTIMBUF_DEFINED
64
+ #define _UTIMBUF_DEFINED
65
+
66
+ struct _utimbuf {
67
+ time_t actime;
68
+ time_t modtime;
69
+ };
70
+
71
+ struct __utimbuf32 {
72
+ __time32_t actime;
73
+ __time32_t modtime;
74
+ };
75
+
76
+ #if _INTEGRAL_MAX_BITS >= 64
77
+ struct __utimbuf64 {
78
+ __time64_t actime;
79
+ __time64_t modtime;
80
+ };
81
+ #endif
82
+
83
+ #ifndef NO_OLDNAMES
84
+ struct utimbuf {
85
+ time_t actime;
86
+ time_t modtime;
87
+ };
88
+
89
+ struct utimbuf32 {
90
+ __time32_t actime;
91
+ __time32_t modtime;
92
+ };
93
+ #endif
94
+ #endif
95
+
96
+ _CRTIMP int __cdecl _utime32(const char *_Filename,struct __utimbuf32 *_Time);
97
+ _CRTIMP int __cdecl _futime32(int _FileDes,struct __utimbuf32 *_Time);
98
+ _CRTIMP int __cdecl _wutime32(const wchar_t *_Filename,struct __utimbuf32 *_Time);
99
+ #if _INTEGRAL_MAX_BITS >= 64
100
+ _CRTIMP int __cdecl _utime64(const char *_Filename,struct __utimbuf64 *_Time);
101
+ _CRTIMP int __cdecl _futime64(int _FileDes,struct __utimbuf64 *_Time);
102
+ _CRTIMP int __cdecl _wutime64(const wchar_t *_Filename,struct __utimbuf64 *_Time);
103
+ #endif
104
+
105
+ #ifndef RC_INVOKED
106
+ #ifdef _USE_32BIT_TIME_T
107
+ __CRT_INLINE int __cdecl _utime(const char *_Filename,struct _utimbuf *_Utimbuf) {
108
+ return _utime32(_Filename,(struct __utimbuf32 *)_Utimbuf);
109
+ }
110
+ __CRT_INLINE int __cdecl _futime(int _Desc,struct _utimbuf *_Utimbuf) {
111
+ return _futime32(_Desc,(struct __utimbuf32 *)_Utimbuf);
112
+ }
113
+ __CRT_INLINE int __cdecl _wutime(const wchar_t *_Filename,struct _utimbuf *_Utimbuf) {
114
+ return _wutime32(_Filename,(struct __utimbuf32 *)_Utimbuf);
115
+ }
116
+ #else
117
+ __CRT_INLINE int __cdecl _utime(const char *_Filename,struct _utimbuf *_Utimbuf) {
118
+ return _utime64(_Filename,(struct __utimbuf64 *)_Utimbuf);
119
+ }
120
+ __CRT_INLINE int __cdecl _futime(int _Desc,struct _utimbuf *_Utimbuf) {
121
+ return _futime64(_Desc,(struct __utimbuf64 *)_Utimbuf);
122
+ }
123
+ __CRT_INLINE int __cdecl _wutime(const wchar_t *_Filename,struct _utimbuf *_Utimbuf) {
124
+ return _wutime64(_Filename,(struct __utimbuf64 *)_Utimbuf);
125
+ }
126
+ #endif
127
+
128
+ #ifndef NO_OLDNAMES
129
+ #ifdef _USE_32BIT_TIME_T
130
+ __CRT_INLINE int __cdecl utime(const char *_Filename,struct utimbuf *_Utimbuf) {
131
+ return _utime32(_Filename,(struct __utimbuf32 *)_Utimbuf);
132
+ }
133
+ #else
134
+ __CRT_INLINE int __cdecl utime(const char *_Filename,struct utimbuf *_Utimbuf) {
135
+ return _utime64(_Filename,(struct __utimbuf64 *)_Utimbuf);
136
+ }
137
+ #endif
138
+ #endif
139
+ #endif
140
+
141
+ #ifdef __cplusplus
142
+ }
143
+ #endif
144
+
145
+ #pragma pack(pop)
146
+ #endif