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.
- checksums.yaml +7 -0
- data/LICENSE +35 -0
- data/README.md +196 -0
- data/ext/tcc/extconf.rb +25 -0
- data/ext/tcc/tcc-0.9.26.patch +30 -0
- data/ext/tcc/tcc-0.9.26/COPYING +504 -0
- data/ext/tcc/tcc-0.9.26/Changelog +396 -0
- data/ext/tcc/tcc-0.9.26/Makefile +349 -0
- data/ext/tcc/tcc-0.9.26/README +101 -0
- data/ext/tcc/tcc-0.9.26/TODO +93 -0
- data/ext/tcc/tcc-0.9.26/VERSION +1 -0
- data/ext/tcc/tcc-0.9.26/arm-gen.c +2005 -0
- data/ext/tcc/tcc-0.9.26/c67-gen.c +2560 -0
- data/ext/tcc/tcc-0.9.26/coff.h +446 -0
- data/ext/tcc/tcc-0.9.26/config.h +8 -0
- data/ext/tcc/tcc-0.9.26/config.mak +28 -0
- data/ext/tcc/tcc-0.9.26/config.texi +1 -0
- data/ext/tcc/tcc-0.9.26/configure +540 -0
- data/ext/tcc/tcc-0.9.26/conftest.c +71 -0
- data/ext/tcc/tcc-0.9.26/elf.h +1731 -0
- data/ext/tcc/tcc-0.9.26/examples/ex1.c +8 -0
- data/ext/tcc/tcc-0.9.26/examples/ex2.c +98 -0
- data/ext/tcc/tcc-0.9.26/examples/ex3.c +24 -0
- data/ext/tcc/tcc-0.9.26/examples/ex4.c +26 -0
- data/ext/tcc/tcc-0.9.26/examples/ex5.c +8 -0
- data/ext/tcc/tcc-0.9.26/i386-asm.c +1498 -0
- data/ext/tcc/tcc-0.9.26/i386-asm.h +473 -0
- data/ext/tcc/tcc-0.9.26/i386-gen.c +1096 -0
- data/ext/tcc/tcc-0.9.26/i386-tok.h +243 -0
- data/ext/tcc/tcc-0.9.26/il-gen.c +667 -0
- data/ext/tcc/tcc-0.9.26/il-opcodes.h +251 -0
- data/ext/tcc/tcc-0.9.26/include/float.h +57 -0
- data/ext/tcc/tcc-0.9.26/include/stdarg.h +41 -0
- data/ext/tcc/tcc-0.9.26/include/stdbool.h +10 -0
- data/ext/tcc/tcc-0.9.26/include/stddef.h +28 -0
- data/ext/tcc/tcc-0.9.26/include/tcclib.h +78 -0
- data/ext/tcc/tcc-0.9.26/include/varargs.h +12 -0
- data/ext/tcc/tcc-0.9.26/lib/Makefile +102 -0
- data/ext/tcc/tcc-0.9.26/lib/alloca86-bt.S +47 -0
- data/ext/tcc/tcc-0.9.26/lib/alloca86.S +35 -0
- data/ext/tcc/tcc-0.9.26/lib/alloca86_64.S +42 -0
- data/ext/tcc/tcc-0.9.26/lib/bcheck.c +875 -0
- data/ext/tcc/tcc-0.9.26/lib/libtcc1.c +691 -0
- data/ext/tcc/tcc-0.9.26/libtcc.c +1941 -0
- data/ext/tcc/tcc-0.9.26/libtcc.h +103 -0
- data/ext/tcc/tcc-0.9.26/stab.def +234 -0
- data/ext/tcc/tcc-0.9.26/stab.h +17 -0
- data/ext/tcc/tcc-0.9.26/tcc-doc.html +2332 -0
- data/ext/tcc/tcc-0.9.26/tcc-doc.info +1151 -0
- data/ext/tcc/tcc-0.9.26/tcc-doc.texi +1268 -0
- data/ext/tcc/tcc-0.9.26/tcc.1 +415 -0
- data/ext/tcc/tcc-0.9.26/tcc.c +352 -0
- data/ext/tcc/tcc-0.9.26/tcc.h +1379 -0
- data/ext/tcc/tcc-0.9.26/tccasm.c +1118 -0
- data/ext/tcc/tcc-0.9.26/tcccoff.c +948 -0
- data/ext/tcc/tcc-0.9.26/tccelf.c +3129 -0
- data/ext/tcc/tcc-0.9.26/tccgen.c +5841 -0
- data/ext/tcc/tcc-0.9.26/tccpe.c +1887 -0
- data/ext/tcc/tcc-0.9.26/tccpp.c +3128 -0
- data/ext/tcc/tcc-0.9.26/tccrun.c +737 -0
- data/ext/tcc/tcc-0.9.26/tcctok.h +278 -0
- data/ext/tcc/tcc-0.9.26/tests/Makefile +199 -0
- data/ext/tcc/tcc-0.9.26/tests/asmtest.S +609 -0
- data/ext/tcc/tcc-0.9.26/tests/boundtest.c +233 -0
- data/ext/tcc/tcc-0.9.26/tests/gcctestsuite.sh +33 -0
- data/ext/tcc/tcc-0.9.26/tests/libtcc_test.c +76 -0
- data/ext/tcc/tcc-0.9.26/tests/tcctest.c +2713 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.c +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/01_comment.c +14 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/01_comment.expect +5 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/02_printf.c +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/02_printf.expect +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/03_struct.c +31 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/03_struct.expect +6 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/04_for.c +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/04_for.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/05_array.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/05_array.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/06_case.c +29 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/06_case.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/07_function.c +30 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/07_function.expect +4 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/08_while.c +24 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/08_while.expect +11 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.c +24 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.expect +11 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.c +40 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.c +40 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.expect +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.c +14 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.c +20 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.expect +5 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/14_if.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/14_if.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.expect +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/17_enum.c +29 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/17_enum.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.c +12 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.h +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.c +28 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.c +24 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.expect +6 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.c +33 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.expect +7 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.c +50 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.expect +16 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.c +54 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.expect +12 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.c +28 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.expect +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.c +83 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.c +17 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.c +16 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/28_strings.c +46 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/28_strings.expect +19 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.c +13 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.c +122 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.expect +71 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/31_args.c +14 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/31_args.expect +7 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/32_led.c +266 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/32_led.expect +4 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.c +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.c +23 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.c +14 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.expect +20 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.c +17 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.expect +20 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.c +32 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.expect +4 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.c +31 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.c +52 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.expect +27 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.c +85 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.expect +6 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.c +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.c +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.c +17 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.c +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/46_grep.c +564 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.c +24 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.expect +4 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.c +26 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.c +23 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.c +29 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.expect +20 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/51_static.c +30 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/51_static.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.c +27 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.expect +9 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/54_goto.c +56 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/54_goto.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.c +52 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/LICENSE +37 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/Makefile +98 -0
- data/ext/tcc/tcc-0.9.26/texi2pod.pl +427 -0
- data/ext/tcc/tcc-0.9.26/win32/build-tcc.bat +60 -0
- data/ext/tcc/tcc-0.9.26/win32/examples/dll.c +12 -0
- data/ext/tcc/tcc-0.9.26/win32/examples/fib.c +23 -0
- data/ext/tcc/tcc-0.9.26/win32/examples/hello_dll.c +19 -0
- data/ext/tcc/tcc-0.9.26/win32/examples/hello_win.c +163 -0
- data/ext/tcc/tcc-0.9.26/win32/include/_mingw.h +139 -0
- data/ext/tcc/tcc-0.9.26/win32/include/assert.h +54 -0
- data/ext/tcc/tcc-0.9.26/win32/include/conio.h +409 -0
- data/ext/tcc/tcc-0.9.26/win32/include/ctype.h +281 -0
- data/ext/tcc/tcc-0.9.26/win32/include/dir.h +31 -0
- data/ext/tcc/tcc-0.9.26/win32/include/direct.h +68 -0
- data/ext/tcc/tcc-0.9.26/win32/include/dirent.h +135 -0
- data/ext/tcc/tcc-0.9.26/win32/include/dos.h +55 -0
- data/ext/tcc/tcc-0.9.26/win32/include/errno.h +75 -0
- data/ext/tcc/tcc-0.9.26/win32/include/excpt.h +123 -0
- data/ext/tcc/tcc-0.9.26/win32/include/fcntl.h +52 -0
- data/ext/tcc/tcc-0.9.26/win32/include/fenv.h +108 -0
- data/ext/tcc/tcc-0.9.26/win32/include/inttypes.h +297 -0
- data/ext/tcc/tcc-0.9.26/win32/include/io.h +418 -0
- data/ext/tcc/tcc-0.9.26/win32/include/limits.h +111 -0
- data/ext/tcc/tcc-0.9.26/win32/include/locale.h +91 -0
- data/ext/tcc/tcc-0.9.26/win32/include/malloc.h +175 -0
- data/ext/tcc/tcc-0.9.26/win32/include/math.h +777 -0
- data/ext/tcc/tcc-0.9.26/win32/include/mem.h +13 -0
- data/ext/tcc/tcc-0.9.26/win32/include/memory.h +40 -0
- data/ext/tcc/tcc-0.9.26/win32/include/process.h +176 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/conio_s.h +42 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/crtdbg_s.h +19 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/io_s.h +33 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/mbstring_s.h +52 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/search_s.h +25 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stdio_s.h +145 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stdlib_s.h +67 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stralign_s.h +30 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/string_s.h +41 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/sys/timeb_s.h +34 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/tchar_s.h +266 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/time_s.h +61 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/wchar_s.h +128 -0
- data/ext/tcc/tcc-0.9.26/win32/include/setjmp.h +160 -0
- data/ext/tcc/tcc-0.9.26/win32/include/share.h +28 -0
- data/ext/tcc/tcc-0.9.26/win32/include/signal.h +63 -0
- data/ext/tcc/tcc-0.9.26/win32/include/stdint.h +209 -0
- data/ext/tcc/tcc-0.9.26/win32/include/stdio.h +429 -0
- data/ext/tcc/tcc-0.9.26/win32/include/stdlib.h +580 -0
- data/ext/tcc/tcc-0.9.26/win32/include/string.h +164 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/fcntl.h +13 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/file.h +14 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/locking.h +30 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/stat.h +290 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/time.h +69 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/timeb.h +133 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/types.h +118 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/unistd.h +14 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/utime.h +146 -0
- data/ext/tcc/tcc-0.9.26/win32/include/tchar.h +1102 -0
- data/ext/tcc/tcc-0.9.26/win32/include/time.h +287 -0
- data/ext/tcc/tcc-0.9.26/win32/include/vadefs.h +11 -0
- data/ext/tcc/tcc-0.9.26/win32/include/values.h +4 -0
- data/ext/tcc/tcc-0.9.26/win32/include/wchar.h +871 -0
- data/ext/tcc/tcc-0.9.26/win32/include/wctype.h +172 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/basetsd.h +149 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/basetyps.h +85 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/guiddef.h +151 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/intrin.h +11 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/poppack.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack1.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack2.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack4.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack8.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/reason.h +80 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/specstrings.h +7 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/stralign.h +154 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/tvout.h +79 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winbase.h +2951 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/wincon.h +301 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/windef.h +293 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/windows.h +123 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winerror.h +3166 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/wingdi.h +4080 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnetwk.h +476 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnls.h +765 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnt.h +5770 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winreg.h +272 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winuser.h +5651 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winver.h +160 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/chkstk.S +191 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/crt1.c +34 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/dllcrt1.c +13 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/dllmain.c +9 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/gdi32.def +337 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/kernel32.def +765 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/msvcrt.def +1399 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/user32.def +654 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/wincrt1.c +64 -0
- data/ext/tcc/tcc-0.9.26/win32/tcc-win32.txt +156 -0
- data/ext/tcc/tcc-0.9.26/win32/tools/tiny_impdef.c +243 -0
- data/ext/tcc/tcc-0.9.26/win32/tools/tiny_libmaker.c +258 -0
- data/ext/tcc/tcc-0.9.26/x86_64-asm.h +448 -0
- data/ext/tcc/tcc-0.9.26/x86_64-gen.c +1701 -0
- data/lib/tcc.rb +291 -0
- data/tcc.gemspec +15 -0
- metadata +343 -0
data/lib/tcc.rb
ADDED
@@ -0,0 +1,291 @@
|
|
1
|
+
# Modified based on the version generated by ffi-gen.
|
2
|
+
|
3
|
+
require 'ffi'
|
4
|
+
|
5
|
+
module TCC
|
6
|
+
extend FFI::Library
|
7
|
+
|
8
|
+
# Find libtcc.so
|
9
|
+
lib_paths = [File.join(File.dirname(caller[0]), '../ext/tcc/build/lib'), '/usr/lib', '/usr/local/lib']
|
10
|
+
libtcc_path = lib_paths.product(%w(libtcc.so libtcc1.so)).map {|*names| File.join(*names)}.find {|path| File.exists?(path)}
|
11
|
+
raise "Can not find libtcc.so" unless libtcc_path
|
12
|
+
ffi_lib libtcc_path
|
13
|
+
|
14
|
+
OUTPUT_MEMORY = 0
|
15
|
+
OUTPUT_EXE = 1
|
16
|
+
OUTPUT_DLL = 2
|
17
|
+
OUTPUT_OBJ = 3
|
18
|
+
OUTPUT_PREPROCESS = 4
|
19
|
+
|
20
|
+
class Error < RuntimeError; end
|
21
|
+
|
22
|
+
# High-level, OO-style TCCState. Example:
|
23
|
+
#
|
24
|
+
# state = TCC::State.new
|
25
|
+
# state.compile_string(code)
|
26
|
+
# state.run
|
27
|
+
# state.destroy
|
28
|
+
#
|
29
|
+
# Equivalent plain libtcc code:
|
30
|
+
#
|
31
|
+
# state = TCC::new
|
32
|
+
# TCC.compile_string(state, code)
|
33
|
+
# TCC.run(state)
|
34
|
+
# TCC.delete(state)
|
35
|
+
class State
|
36
|
+
DEFAULT_ERROR_CALLBACK = FFI::Function.new(:void, [:pointer, :string], proc {|_, msg| raise TCC::Error, msg})
|
37
|
+
|
38
|
+
def initialize(output_type = TCC::OUTPUT_MEMORY)
|
39
|
+
@state = TCC.send :new
|
40
|
+
set_output_type output_type
|
41
|
+
set_error_func(nil, DEFAULT_ERROR_CALLBACK)
|
42
|
+
ObjectSpace.define_finalizer(self, proc { TCC.delete(@state) unless @state.nil? })
|
43
|
+
end
|
44
|
+
|
45
|
+
def compile(code)
|
46
|
+
compile_string(code)
|
47
|
+
end
|
48
|
+
|
49
|
+
def destroy
|
50
|
+
TCC.delete @state
|
51
|
+
@state = nil
|
52
|
+
end
|
53
|
+
|
54
|
+
def get_function(name, param_types = [], return_type = :void)
|
55
|
+
FFI::Function.new(return_type, param_types, get_symbol(name))
|
56
|
+
end
|
57
|
+
|
58
|
+
def relocate
|
59
|
+
relocate_auto
|
60
|
+
self
|
61
|
+
end
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
def self.delegate_to_libtcc(name)
|
66
|
+
define_method(name) do |*params|
|
67
|
+
raise TCC::Error, 'Cannot reuse a destroyed TCC::State' unless @state
|
68
|
+
# Normalize argv for 'run' method
|
69
|
+
params = State::normalize_argv(params) if name == :run
|
70
|
+
result = TCC.send name, @state, *params
|
71
|
+
# Return self sometimes to make chainning possible
|
72
|
+
%w(add compile define set undefine).include?(name.to_s.split('_', 2)[0]) ? self : result
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def self.normalize_argv(argv)
|
77
|
+
return [0, nil] if argv.nil? || argv == []
|
78
|
+
argv = argv[0] while argv.is_a?(Array) && argv.size == 1
|
79
|
+
if argv.is_a?(Array) && argv.all? {|s| s.is_a?(String)}
|
80
|
+
# Convert [String] to FFI::MemoryPointer
|
81
|
+
pointer = FFI::MemoryPointer.new(:pointer, argv.size)
|
82
|
+
pointer.write_array_of_pointer(argv.map {|arg| FFI::MemoryPointer.from_string(arg.to_s)})
|
83
|
+
[argv.size, pointer]
|
84
|
+
else
|
85
|
+
# Leave it as-is
|
86
|
+
argv
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
class RawTCCState < FFI::Struct
|
92
|
+
layout :dummy, :char
|
93
|
+
end
|
94
|
+
|
95
|
+
def self.attach_function(name, symbol, param_types, *_)
|
96
|
+
begin
|
97
|
+
super
|
98
|
+
return if param_types.first != RawTCCState || [:delegate, :relocate].include?(name)
|
99
|
+
# Add method to TCC::State to make it OO. Note 'delete' should be called via
|
100
|
+
# high-level 'destroy' method. 'relocate' is replaced with 'relocate_auto'.
|
101
|
+
State.delegate_to_libtcc name
|
102
|
+
rescue FFI::NotFoundError => e
|
103
|
+
(class << self; self; end).class_eval { define_method(name) { |*_| raise e } }
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
|
108
|
+
# create a new TCC compilation context
|
109
|
+
#
|
110
|
+
# @method new()
|
111
|
+
# @return [RawTCCState]
|
112
|
+
# @scope class
|
113
|
+
attach_function :new, :tcc_new, [], RawTCCState
|
114
|
+
|
115
|
+
# free a TCC compilation context
|
116
|
+
#
|
117
|
+
# @method delete(s)
|
118
|
+
# @param [RawTCCState] s
|
119
|
+
# @return [nil]
|
120
|
+
# @scope class
|
121
|
+
attach_function :delete, :tcc_delete, [RawTCCState], :void
|
122
|
+
|
123
|
+
# set CONFIG_TCCDIR at runtime
|
124
|
+
#
|
125
|
+
# @method set_lib_path(s, path)
|
126
|
+
# @param [RawTCCState] s
|
127
|
+
# @param [String] path
|
128
|
+
# @return [nil]
|
129
|
+
# @scope class
|
130
|
+
attach_function :set_lib_path, :tcc_set_lib_path, [RawTCCState, :string], :void
|
131
|
+
|
132
|
+
# set error/warning display callback
|
133
|
+
#
|
134
|
+
# @method set_error_func(s, error_opaque, error_func)
|
135
|
+
# @param [RawTCCState] s
|
136
|
+
# @param [FFI::Pointer(*Void)] error_opaque
|
137
|
+
# @param [FFI::Pointer(*)] error_func
|
138
|
+
# @return [nil]
|
139
|
+
# @scope class
|
140
|
+
attach_function :set_error_func, :tcc_set_error_func, [RawTCCState, :pointer, :pointer], :void
|
141
|
+
|
142
|
+
# set options as from command line (multiple supported)
|
143
|
+
#
|
144
|
+
# @method set_options(s, str)
|
145
|
+
# @param [RawTCCState] s
|
146
|
+
# @param [String] str
|
147
|
+
# @return [Integer]
|
148
|
+
# @scope class
|
149
|
+
attach_function :set_options, :tcc_set_options, [RawTCCState, :string], :int
|
150
|
+
|
151
|
+
# add include path
|
152
|
+
#
|
153
|
+
# @method add_include_path(s, pathname)
|
154
|
+
# @param [RawTCCState] s
|
155
|
+
# @param [String] pathname
|
156
|
+
# @return [Integer]
|
157
|
+
# @scope class
|
158
|
+
attach_function :add_include_path, :tcc_add_include_path, [RawTCCState, :string], :int
|
159
|
+
|
160
|
+
# add in system include path
|
161
|
+
#
|
162
|
+
# @method add_sysinclude_path(s, pathname)
|
163
|
+
# @param [RawTCCState] s
|
164
|
+
# @param [String] pathname
|
165
|
+
# @return [Integer]
|
166
|
+
# @scope class
|
167
|
+
attach_function :add_sysinclude_path, :tcc_add_sysinclude_path, [RawTCCState, :string], :int
|
168
|
+
|
169
|
+
# define preprocessor symbol 'sym'. Can put optional value
|
170
|
+
#
|
171
|
+
# @method define_symbol(s, sym, value)
|
172
|
+
# @param [RawTCCState] s
|
173
|
+
# @param [String] sym
|
174
|
+
# @param [String] value
|
175
|
+
# @return [nil]
|
176
|
+
# @scope class
|
177
|
+
attach_function :define_symbol, :tcc_define_symbol, [RawTCCState, :string, :string], :void
|
178
|
+
|
179
|
+
# undefine preprocess symbol 'sym'
|
180
|
+
#
|
181
|
+
# @method undefine_symbol(s, sym)
|
182
|
+
# @param [RawTCCState] s
|
183
|
+
# @param [String] sym
|
184
|
+
# @return [nil]
|
185
|
+
# @scope class
|
186
|
+
attach_function :undefine_symbol, :tcc_undefine_symbol, [RawTCCState, :string], :void
|
187
|
+
|
188
|
+
# add a file (C file, dll, object, library, ld script). Return -1 if error.
|
189
|
+
#
|
190
|
+
# @method add_file(s, filename)
|
191
|
+
# @param [RawTCCState] s
|
192
|
+
# @param [String] filename
|
193
|
+
# @return [Integer]
|
194
|
+
# @scope class
|
195
|
+
attach_function :add_file, :tcc_add_file, [RawTCCState, :string], :int
|
196
|
+
|
197
|
+
# compile a string containing a C source. Return -1 if error.
|
198
|
+
#
|
199
|
+
# @method compile_string(s, buf)
|
200
|
+
# @param [RawTCCState] s
|
201
|
+
# @param [String] buf
|
202
|
+
# @return [Integer]
|
203
|
+
# @scope class
|
204
|
+
attach_function :compile_string, :tcc_compile_string, [RawTCCState, :string], :int
|
205
|
+
|
206
|
+
# set output type. MUST BE CALLED before any compilation
|
207
|
+
#
|
208
|
+
# @method set_output_type(s, output_type)
|
209
|
+
# @param [RawTCCState] s
|
210
|
+
# @param [Integer] output_type
|
211
|
+
# @return [Integer]
|
212
|
+
# @scope class
|
213
|
+
attach_function :set_output_type, :tcc_set_output_type, [RawTCCState, :int], :int
|
214
|
+
|
215
|
+
# equivalent to -Lpath option
|
216
|
+
#
|
217
|
+
# @method add_library_path(s, pathname)
|
218
|
+
# @param [RawTCCState] s
|
219
|
+
# @param [String] pathname
|
220
|
+
# @return [Integer]
|
221
|
+
# @scope class
|
222
|
+
attach_function :add_library_path, :tcc_add_library_path, [RawTCCState, :string], :int
|
223
|
+
|
224
|
+
# the library name is the same as the argument of the '-l' option
|
225
|
+
#
|
226
|
+
# @method add_library(s, libraryname)
|
227
|
+
# @param [RawTCCState] s
|
228
|
+
# @param [String] libraryname
|
229
|
+
# @return [Integer]
|
230
|
+
# @scope class
|
231
|
+
attach_function :add_library, :tcc_add_library, [RawTCCState, :string], :int
|
232
|
+
|
233
|
+
# add a symbol to the compiled program
|
234
|
+
#
|
235
|
+
# @method add_symbol(s, name, val)
|
236
|
+
# @param [RawTCCState] s
|
237
|
+
# @param [String] name
|
238
|
+
# @param [FFI::Pointer(*Void)] val
|
239
|
+
# @return [Integer]
|
240
|
+
# @scope class
|
241
|
+
attach_function :add_symbol, :tcc_add_symbol, [RawTCCState, :string, :pointer], :int
|
242
|
+
|
243
|
+
# output an executable, library or object file. DO NOT call
|
244
|
+
# tcc_relocate() before.
|
245
|
+
#
|
246
|
+
# @method output_file(s, filename)
|
247
|
+
# @param [RawTCCState] s
|
248
|
+
# @param [String] filename
|
249
|
+
# @return [Integer]
|
250
|
+
# @scope class
|
251
|
+
attach_function :output_file, :tcc_output_file, [RawTCCState, :string], :int
|
252
|
+
|
253
|
+
# link and run main() function and return its value. DO NOT call
|
254
|
+
# tcc_relocate() before.
|
255
|
+
#
|
256
|
+
# @method run(s, argc, argv)
|
257
|
+
# @param [RawTCCState] s
|
258
|
+
# @param [Integer] argc
|
259
|
+
# @param [FFI::Pointer(**CharS)] argv
|
260
|
+
# @return [Integer]
|
261
|
+
# @scope class
|
262
|
+
attach_function :run, :tcc_run, [RawTCCState, :int, :pointer], :int
|
263
|
+
|
264
|
+
# do all relocations (needed before using tcc_get_symbol())
|
265
|
+
#
|
266
|
+
# @method relocate(s1, ptr)
|
267
|
+
# @param [RawTCCState] s1
|
268
|
+
# @param [FFI::Pointer(*Void)] ptr
|
269
|
+
# @return [Integer]
|
270
|
+
# @scope class
|
271
|
+
attach_function :relocate, :tcc_relocate, [RawTCCState, :pointer], :int
|
272
|
+
|
273
|
+
# Same as `tcc_relocate(s1, TCC_RELOCATE_AUTO)`
|
274
|
+
#
|
275
|
+
# @method relocate_auto(s1)
|
276
|
+
# @param [RawTCCState] s1
|
277
|
+
# @return [Integer]
|
278
|
+
# @scope class
|
279
|
+
attach_function :relocate_auto, :tcc_relocate_auto, [RawTCCState], :int
|
280
|
+
|
281
|
+
# return symbol value or NULL if not found
|
282
|
+
#
|
283
|
+
# @method get_symbol(s, name)
|
284
|
+
# @param [RawTCCState] s
|
285
|
+
# @param [String] name
|
286
|
+
# @return [FFI::Pointer(*Void)]
|
287
|
+
# @scope class
|
288
|
+
attach_function :get_symbol, :tcc_get_symbol, [RawTCCState, :string], :pointer
|
289
|
+
|
290
|
+
end
|
291
|
+
|
data/tcc.gemspec
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'tcc'
|
3
|
+
s.version = '0.1.0'
|
4
|
+
s.summary = 'libtcc (library of Tiny C Compiler) wrapper.'
|
5
|
+
s.description = 'Tiny C Compiler is a small and fast C compiler, which makes C behavor like a script language. This is the Ruby wrapper for its library, libtcc.'
|
6
|
+
s.authors = ['Jun Wu', 'TinyCC develoeprs']
|
7
|
+
s.email = 'quark@lihdd.net'
|
8
|
+
s.homepage = 'https://github.com/quark-zju/ruby-libtcc'
|
9
|
+
s.licenses = ['BSD', 'LGPL']
|
10
|
+
s.require_paths = ['lib']
|
11
|
+
s.files = %w[LICENSE README.md tcc.gemspec lib/tcc.rb ext/tcc/tcc-0.9.26.patch ext/tcc/extconf.rb]
|
12
|
+
s.files += Dir.glob('ext/tcc/tcc-0.9.26/**/*')
|
13
|
+
s.extensions = %w[ext/tcc/extconf.rb]
|
14
|
+
s.add_dependency 'ffi', '~> 1.9.0'
|
15
|
+
end
|
metadata
ADDED
@@ -0,0 +1,343 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tcc
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jun Wu
|
8
|
+
- TinyCC develoeprs
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-10-30 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: ffi
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ~>
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.9.0
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 1.9.0
|
28
|
+
description: Tiny C Compiler is a small and fast C compiler, which makes C behavor
|
29
|
+
like a script language. This is the Ruby wrapper for its library, libtcc.
|
30
|
+
email: quark@lihdd.net
|
31
|
+
executables: []
|
32
|
+
extensions:
|
33
|
+
- ext/tcc/extconf.rb
|
34
|
+
extra_rdoc_files: []
|
35
|
+
files:
|
36
|
+
- LICENSE
|
37
|
+
- README.md
|
38
|
+
- tcc.gemspec
|
39
|
+
- lib/tcc.rb
|
40
|
+
- ext/tcc/tcc-0.9.26.patch
|
41
|
+
- ext/tcc/extconf.rb
|
42
|
+
- ext/tcc/tcc-0.9.26/il-gen.c
|
43
|
+
- ext/tcc/tcc-0.9.26/tcc.1
|
44
|
+
- ext/tcc/tcc-0.9.26/lib/Makefile
|
45
|
+
- ext/tcc/tcc-0.9.26/lib/alloca86.S
|
46
|
+
- ext/tcc/tcc-0.9.26/lib/libtcc1.c
|
47
|
+
- ext/tcc/tcc-0.9.26/lib/alloca86-bt.S
|
48
|
+
- ext/tcc/tcc-0.9.26/lib/bcheck.c
|
49
|
+
- ext/tcc/tcc-0.9.26/lib/alloca86_64.S
|
50
|
+
- ext/tcc/tcc-0.9.26/README
|
51
|
+
- ext/tcc/tcc-0.9.26/tccasm.c
|
52
|
+
- ext/tcc/tcc-0.9.26/config.h
|
53
|
+
- ext/tcc/tcc-0.9.26/texi2pod.pl
|
54
|
+
- ext/tcc/tcc-0.9.26/libtcc.c
|
55
|
+
- ext/tcc/tcc-0.9.26/tcc-doc.html
|
56
|
+
- ext/tcc/tcc-0.9.26/config.mak
|
57
|
+
- ext/tcc/tcc-0.9.26/coff.h
|
58
|
+
- ext/tcc/tcc-0.9.26/c67-gen.c
|
59
|
+
- ext/tcc/tcc-0.9.26/win32/lib/wincrt1.c
|
60
|
+
- ext/tcc/tcc-0.9.26/win32/lib/msvcrt.def
|
61
|
+
- ext/tcc/tcc-0.9.26/win32/lib/crt1.c
|
62
|
+
- ext/tcc/tcc-0.9.26/win32/lib/kernel32.def
|
63
|
+
- ext/tcc/tcc-0.9.26/win32/lib/dllmain.c
|
64
|
+
- ext/tcc/tcc-0.9.26/win32/lib/user32.def
|
65
|
+
- ext/tcc/tcc-0.9.26/win32/lib/dllcrt1.c
|
66
|
+
- ext/tcc/tcc-0.9.26/win32/lib/chkstk.S
|
67
|
+
- ext/tcc/tcc-0.9.26/win32/lib/gdi32.def
|
68
|
+
- ext/tcc/tcc-0.9.26/win32/build-tcc.bat
|
69
|
+
- ext/tcc/tcc-0.9.26/win32/tcc-win32.txt
|
70
|
+
- ext/tcc/tcc-0.9.26/win32/tools/tiny_libmaker.c
|
71
|
+
- ext/tcc/tcc-0.9.26/win32/tools/tiny_impdef.c
|
72
|
+
- ext/tcc/tcc-0.9.26/win32/include/fcntl.h
|
73
|
+
- ext/tcc/tcc-0.9.26/win32/include/conio.h
|
74
|
+
- ext/tcc/tcc-0.9.26/win32/include/assert.h
|
75
|
+
- ext/tcc/tcc-0.9.26/win32/include/direct.h
|
76
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/intrin.h
|
77
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/wingdi.h
|
78
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/winbase.h
|
79
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/winuser.h
|
80
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/reason.h
|
81
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack2.h
|
82
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack4.h
|
83
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/stralign.h
|
84
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/specstrings.h
|
85
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/poppack.h
|
86
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/winnls.h
|
87
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/windef.h
|
88
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/tvout.h
|
89
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/winreg.h
|
90
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/basetsd.h
|
91
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/guiddef.h
|
92
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/winnt.h
|
93
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack8.h
|
94
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/winver.h
|
95
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/basetyps.h
|
96
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/windows.h
|
97
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/wincon.h
|
98
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/winerror.h
|
99
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack1.h
|
100
|
+
- ext/tcc/tcc-0.9.26/win32/include/winapi/winnetwk.h
|
101
|
+
- ext/tcc/tcc-0.9.26/win32/include/fenv.h
|
102
|
+
- ext/tcc/tcc-0.9.26/win32/include/values.h
|
103
|
+
- ext/tcc/tcc-0.9.26/win32/include/share.h
|
104
|
+
- ext/tcc/tcc-0.9.26/win32/include/wchar.h
|
105
|
+
- ext/tcc/tcc-0.9.26/win32/include/inttypes.h
|
106
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/fcntl.h
|
107
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/timeb.h
|
108
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/unistd.h
|
109
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/stat.h
|
110
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/file.h
|
111
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/time.h
|
112
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/utime.h
|
113
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/locking.h
|
114
|
+
- ext/tcc/tcc-0.9.26/win32/include/sys/types.h
|
115
|
+
- ext/tcc/tcc-0.9.26/win32/include/io.h
|
116
|
+
- ext/tcc/tcc-0.9.26/win32/include/stdlib.h
|
117
|
+
- ext/tcc/tcc-0.9.26/win32/include/limits.h
|
118
|
+
- ext/tcc/tcc-0.9.26/win32/include/wctype.h
|
119
|
+
- ext/tcc/tcc-0.9.26/win32/include/dirent.h
|
120
|
+
- ext/tcc/tcc-0.9.26/win32/include/string.h
|
121
|
+
- ext/tcc/tcc-0.9.26/win32/include/excpt.h
|
122
|
+
- ext/tcc/tcc-0.9.26/win32/include/_mingw.h
|
123
|
+
- ext/tcc/tcc-0.9.26/win32/include/process.h
|
124
|
+
- ext/tcc/tcc-0.9.26/win32/include/vadefs.h
|
125
|
+
- ext/tcc/tcc-0.9.26/win32/include/malloc.h
|
126
|
+
- ext/tcc/tcc-0.9.26/win32/include/signal.h
|
127
|
+
- ext/tcc/tcc-0.9.26/win32/include/stdio.h
|
128
|
+
- ext/tcc/tcc-0.9.26/win32/include/time.h
|
129
|
+
- ext/tcc/tcc-0.9.26/win32/include/dir.h
|
130
|
+
- ext/tcc/tcc-0.9.26/win32/include/locale.h
|
131
|
+
- ext/tcc/tcc-0.9.26/win32/include/errno.h
|
132
|
+
- ext/tcc/tcc-0.9.26/win32/include/math.h
|
133
|
+
- ext/tcc/tcc-0.9.26/win32/include/memory.h
|
134
|
+
- ext/tcc/tcc-0.9.26/win32/include/mem.h
|
135
|
+
- ext/tcc/tcc-0.9.26/win32/include/tchar.h
|
136
|
+
- ext/tcc/tcc-0.9.26/win32/include/dos.h
|
137
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/stdio_s.h
|
138
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/io_s.h
|
139
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/stralign_s.h
|
140
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/mbstring_s.h
|
141
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/time_s.h
|
142
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/wchar_s.h
|
143
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/tchar_s.h
|
144
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/crtdbg_s.h
|
145
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/search_s.h
|
146
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/string_s.h
|
147
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/sys/timeb_s.h
|
148
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/conio_s.h
|
149
|
+
- ext/tcc/tcc-0.9.26/win32/include/sec_api/stdlib_s.h
|
150
|
+
- ext/tcc/tcc-0.9.26/win32/include/stdint.h
|
151
|
+
- ext/tcc/tcc-0.9.26/win32/include/setjmp.h
|
152
|
+
- ext/tcc/tcc-0.9.26/win32/include/ctype.h
|
153
|
+
- ext/tcc/tcc-0.9.26/win32/examples/fib.c
|
154
|
+
- ext/tcc/tcc-0.9.26/win32/examples/dll.c
|
155
|
+
- ext/tcc/tcc-0.9.26/win32/examples/hello_dll.c
|
156
|
+
- ext/tcc/tcc-0.9.26/win32/examples/hello_win.c
|
157
|
+
- ext/tcc/tcc-0.9.26/stab.h
|
158
|
+
- ext/tcc/tcc-0.9.26/stab.def
|
159
|
+
- ext/tcc/tcc-0.9.26/libtcc.h
|
160
|
+
- ext/tcc/tcc-0.9.26/Makefile
|
161
|
+
- ext/tcc/tcc-0.9.26/configure
|
162
|
+
- ext/tcc/tcc-0.9.26/tccpe.c
|
163
|
+
- ext/tcc/tcc-0.9.26/i386-tok.h
|
164
|
+
- ext/tcc/tcc-0.9.26/tccrun.c
|
165
|
+
- ext/tcc/tcc-0.9.26/tcccoff.c
|
166
|
+
- ext/tcc/tcc-0.9.26/tcc.c
|
167
|
+
- ext/tcc/tcc-0.9.26/elf.h
|
168
|
+
- ext/tcc/tcc-0.9.26/conftest.c
|
169
|
+
- ext/tcc/tcc-0.9.26/tccgen.c
|
170
|
+
- ext/tcc/tcc-0.9.26/i386-asm.c
|
171
|
+
- ext/tcc/tcc-0.9.26/tccelf.c
|
172
|
+
- ext/tcc/tcc-0.9.26/tccpp.c
|
173
|
+
- ext/tcc/tcc-0.9.26/include/float.h
|
174
|
+
- ext/tcc/tcc-0.9.26/include/stddef.h
|
175
|
+
- ext/tcc/tcc-0.9.26/include/stdarg.h
|
176
|
+
- ext/tcc/tcc-0.9.26/include/stdbool.h
|
177
|
+
- ext/tcc/tcc-0.9.26/include/varargs.h
|
178
|
+
- ext/tcc/tcc-0.9.26/include/tcclib.h
|
179
|
+
- ext/tcc/tcc-0.9.26/examples/ex1.c
|
180
|
+
- ext/tcc/tcc-0.9.26/examples/ex5.c
|
181
|
+
- ext/tcc/tcc-0.9.26/examples/ex4.c
|
182
|
+
- ext/tcc/tcc-0.9.26/examples/ex2.c
|
183
|
+
- ext/tcc/tcc-0.9.26/examples/ex3.c
|
184
|
+
- ext/tcc/tcc-0.9.26/i386-asm.h
|
185
|
+
- ext/tcc/tcc-0.9.26/config.texi
|
186
|
+
- ext/tcc/tcc-0.9.26/tcc-doc.texi
|
187
|
+
- ext/tcc/tcc-0.9.26/i386-gen.c
|
188
|
+
- ext/tcc/tcc-0.9.26/tcc.h
|
189
|
+
- ext/tcc/tcc-0.9.26/COPYING
|
190
|
+
- ext/tcc/tcc-0.9.26/TODO
|
191
|
+
- ext/tcc/tcc-0.9.26/il-opcodes.h
|
192
|
+
- ext/tcc/tcc-0.9.26/x86_64-gen.c
|
193
|
+
- ext/tcc/tcc-0.9.26/tcc-doc.info
|
194
|
+
- ext/tcc/tcc-0.9.26/tcctok.h
|
195
|
+
- ext/tcc/tcc-0.9.26/tests/tcctest.c
|
196
|
+
- ext/tcc/tcc-0.9.26/tests/gcctestsuite.sh
|
197
|
+
- ext/tcc/tcc-0.9.26/tests/asmtest.S
|
198
|
+
- ext/tcc/tcc-0.9.26/tests/Makefile
|
199
|
+
- ext/tcc/tcc-0.9.26/tests/libtcc_test.c
|
200
|
+
- ext/tcc/tcc-0.9.26/tests/boundtest.c
|
201
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.c
|
202
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.c
|
203
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.c
|
204
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.c
|
205
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.expect
|
206
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/18_include.c
|
207
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.expect
|
208
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/01_comment.expect
|
209
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/17_enum.c
|
210
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/51_static.c
|
211
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.expect
|
212
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.expect
|
213
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.c
|
214
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/14_if.c
|
215
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/06_case.c
|
216
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/05_array.c
|
217
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.expect
|
218
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.c
|
219
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.c
|
220
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.expect
|
221
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.c
|
222
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.expect
|
223
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.c
|
224
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.c
|
225
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/54_goto.c
|
226
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.expect
|
227
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.c
|
228
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.expect
|
229
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.c
|
230
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.c
|
231
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/Makefile
|
232
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.c
|
233
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.expect
|
234
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.expect
|
235
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.c
|
236
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.c
|
237
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.expect
|
238
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.expect
|
239
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.c
|
240
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/04_for.c
|
241
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.expect
|
242
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/14_if.expect
|
243
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/07_function.c
|
244
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.c
|
245
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.expect
|
246
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.c
|
247
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/03_struct.expect
|
248
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.expect
|
249
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/28_strings.c
|
250
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.expect
|
251
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.c
|
252
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/05_array.expect
|
253
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/06_case.expect
|
254
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.c
|
255
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.expect
|
256
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/18_include.h
|
257
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.c
|
258
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.expect
|
259
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.c
|
260
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/32_led.c
|
261
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.expect
|
262
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/46_grep.c
|
263
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/08_while.expect
|
264
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.c
|
265
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.expect
|
266
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.expect
|
267
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.c
|
268
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.c
|
269
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.expect
|
270
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.c
|
271
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/28_strings.expect
|
272
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/31_args.expect
|
273
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.expect
|
274
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/08_while.c
|
275
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/01_comment.c
|
276
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.c
|
277
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.expect
|
278
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.expect
|
279
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/02_printf.expect
|
280
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/LICENSE
|
281
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/07_function.expect
|
282
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.expect
|
283
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.expect
|
284
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.c
|
285
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.c
|
286
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.c
|
287
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.expect
|
288
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/32_led.expect
|
289
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/04_for.expect
|
290
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.expect
|
291
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.c
|
292
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.c
|
293
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.expect
|
294
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.c
|
295
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.expect
|
296
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.expect
|
297
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.expect
|
298
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/02_printf.c
|
299
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/51_static.expect
|
300
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.expect
|
301
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.c
|
302
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.expect
|
303
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/31_args.c
|
304
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/18_include.expect
|
305
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.expect
|
306
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.c
|
307
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/03_struct.c
|
308
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/17_enum.expect
|
309
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.c
|
310
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.c
|
311
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.expect
|
312
|
+
- ext/tcc/tcc-0.9.26/tests/tests2/54_goto.expect
|
313
|
+
- ext/tcc/tcc-0.9.26/VERSION
|
314
|
+
- ext/tcc/tcc-0.9.26/x86_64-asm.h
|
315
|
+
- ext/tcc/tcc-0.9.26/Changelog
|
316
|
+
- ext/tcc/tcc-0.9.26/arm-gen.c
|
317
|
+
homepage: https://github.com/quark-zju/ruby-libtcc
|
318
|
+
licenses:
|
319
|
+
- BSD
|
320
|
+
- LGPL
|
321
|
+
metadata: {}
|
322
|
+
post_install_message:
|
323
|
+
rdoc_options: []
|
324
|
+
require_paths:
|
325
|
+
- lib
|
326
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
327
|
+
requirements:
|
328
|
+
- - '>='
|
329
|
+
- !ruby/object:Gem::Version
|
330
|
+
version: '0'
|
331
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
332
|
+
requirements:
|
333
|
+
- - '>='
|
334
|
+
- !ruby/object:Gem::Version
|
335
|
+
version: '0'
|
336
|
+
requirements: []
|
337
|
+
rubyforge_project:
|
338
|
+
rubygems_version: 2.0.2
|
339
|
+
signing_key:
|
340
|
+
specification_version: 4
|
341
|
+
summary: libtcc (library of Tiny C Compiler) wrapper.
|
342
|
+
test_files: []
|
343
|
+
has_rdoc:
|