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
@@ -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
|