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,14 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
|
3
|
+
int main(int argc, char **argv)
|
4
|
+
{
|
5
|
+
int Count;
|
6
|
+
|
7
|
+
printf("hello world %d\n", argc);
|
8
|
+
for (Count = 0; Count < argc; Count++)
|
9
|
+
printf("arg %d: %s\n", Count, argv[Count]);
|
10
|
+
|
11
|
+
return 0;
|
12
|
+
}
|
13
|
+
|
14
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|
@@ -0,0 +1,266 @@
|
|
1
|
+
/* example from http://barnyard.syr.edu/quickies/led.c */
|
2
|
+
|
3
|
+
/* led.c: print out number as if on 7 line led display. I.e., write integer
|
4
|
+
given on command line like this:
|
5
|
+
_ _ _
|
6
|
+
| _| _| |_| |_
|
7
|
+
| |_ _| | _| etc.
|
8
|
+
|
9
|
+
We assume the terminal behaves like a classical teletype. So the top
|
10
|
+
lines of all digits have to be printed first, then the middle lines of
|
11
|
+
all digits, etc.
|
12
|
+
|
13
|
+
By Terry R. McConnell
|
14
|
+
|
15
|
+
compile: cc -o led led.c
|
16
|
+
|
17
|
+
If you just want to link in the subroutine print_led that does all the
|
18
|
+
work, compile with -DNO_MAIN, and declare the following in any source file
|
19
|
+
that uses the call:
|
20
|
+
|
21
|
+
extern void print_led(unsigned long x, char *buf);
|
22
|
+
|
23
|
+
Bug: you cannot call repeatedly to print more than one number to a line.
|
24
|
+
That would require curses or some other terminal API that allows moving the
|
25
|
+
cursor to a previous line.
|
26
|
+
|
27
|
+
*/
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
#include <stdlib.h>
|
32
|
+
#include <stdio.h>
|
33
|
+
|
34
|
+
#define MAX_DIGITS 32
|
35
|
+
#define NO_MAIN
|
36
|
+
|
37
|
+
|
38
|
+
/* Print the top line of the digit d into buffer.
|
39
|
+
Does not null terminate buffer. */
|
40
|
+
|
41
|
+
void topline(int d, char *p){
|
42
|
+
|
43
|
+
*p++ = ' ';
|
44
|
+
switch(d){
|
45
|
+
|
46
|
+
/* all these have _ on top line */
|
47
|
+
|
48
|
+
case 0:
|
49
|
+
case 2:
|
50
|
+
case 3:
|
51
|
+
case 5:
|
52
|
+
case 7:
|
53
|
+
case 8:
|
54
|
+
case 9:
|
55
|
+
*p++ = '_';
|
56
|
+
break;
|
57
|
+
default:
|
58
|
+
*p++=' ';
|
59
|
+
|
60
|
+
}
|
61
|
+
*p++=' ';
|
62
|
+
}
|
63
|
+
|
64
|
+
/* Print the middle line of the digit d into the buffer.
|
65
|
+
Does not null terminate. */
|
66
|
+
|
67
|
+
void midline(int d, char *p){
|
68
|
+
|
69
|
+
switch(d){
|
70
|
+
|
71
|
+
/* those that have leading | on middle line */
|
72
|
+
|
73
|
+
case 0:
|
74
|
+
case 4:
|
75
|
+
case 5:
|
76
|
+
case 6:
|
77
|
+
case 8:
|
78
|
+
case 9:
|
79
|
+
*p++='|';
|
80
|
+
break;
|
81
|
+
default:
|
82
|
+
*p++=' ';
|
83
|
+
}
|
84
|
+
switch(d){
|
85
|
+
|
86
|
+
/* those that have _ on middle line */
|
87
|
+
|
88
|
+
case 2:
|
89
|
+
case 3:
|
90
|
+
case 4:
|
91
|
+
case 5:
|
92
|
+
case 6:
|
93
|
+
case 8:
|
94
|
+
case 9:
|
95
|
+
*p++='_';
|
96
|
+
break;
|
97
|
+
default:
|
98
|
+
*p++=' ';
|
99
|
+
|
100
|
+
}
|
101
|
+
switch(d){
|
102
|
+
|
103
|
+
/* those that have closing | on middle line */
|
104
|
+
|
105
|
+
case 0:
|
106
|
+
case 1:
|
107
|
+
case 2:
|
108
|
+
case 3:
|
109
|
+
case 4:
|
110
|
+
case 7:
|
111
|
+
case 8:
|
112
|
+
case 9:
|
113
|
+
*p++='|';
|
114
|
+
break;
|
115
|
+
default:
|
116
|
+
*p++=' ';
|
117
|
+
|
118
|
+
}
|
119
|
+
}
|
120
|
+
|
121
|
+
/* Print the bottom line of the digit d. Does not null terminate. */
|
122
|
+
|
123
|
+
void botline(int d, char *p){
|
124
|
+
|
125
|
+
|
126
|
+
switch(d){
|
127
|
+
|
128
|
+
/* those that have leading | on bottom line */
|
129
|
+
|
130
|
+
case 0:
|
131
|
+
case 2:
|
132
|
+
case 6:
|
133
|
+
case 8:
|
134
|
+
*p++='|';
|
135
|
+
break;
|
136
|
+
default:
|
137
|
+
*p++=' ';
|
138
|
+
}
|
139
|
+
switch(d){
|
140
|
+
|
141
|
+
/* those that have _ on bottom line */
|
142
|
+
|
143
|
+
case 0:
|
144
|
+
case 2:
|
145
|
+
case 3:
|
146
|
+
case 5:
|
147
|
+
case 6:
|
148
|
+
case 8:
|
149
|
+
*p++='_';
|
150
|
+
break;
|
151
|
+
default:
|
152
|
+
*p++=' ';
|
153
|
+
|
154
|
+
}
|
155
|
+
switch(d){
|
156
|
+
|
157
|
+
/* those that have closing | on bottom line */
|
158
|
+
|
159
|
+
case 0:
|
160
|
+
case 1:
|
161
|
+
case 3:
|
162
|
+
case 4:
|
163
|
+
case 5:
|
164
|
+
case 6:
|
165
|
+
case 7:
|
166
|
+
case 8:
|
167
|
+
case 9:
|
168
|
+
*p++='|';
|
169
|
+
break;
|
170
|
+
default:
|
171
|
+
*p++=' ';
|
172
|
+
|
173
|
+
}
|
174
|
+
}
|
175
|
+
|
176
|
+
/* Write the led representation of integer to string buffer. */
|
177
|
+
|
178
|
+
void print_led(unsigned long x, char *buf)
|
179
|
+
{
|
180
|
+
|
181
|
+
int i=0,n;
|
182
|
+
static int d[MAX_DIGITS];
|
183
|
+
|
184
|
+
|
185
|
+
/* extract digits from x */
|
186
|
+
|
187
|
+
n = ( x == 0L ? 1 : 0 ); /* 0 is a digit, hence a special case */
|
188
|
+
|
189
|
+
while(x){
|
190
|
+
d[n++] = (int)(x%10L);
|
191
|
+
if(n >= MAX_DIGITS)break;
|
192
|
+
x = x/10L;
|
193
|
+
}
|
194
|
+
|
195
|
+
/* print top lines of all digits */
|
196
|
+
|
197
|
+
for(i=n-1;i>=0;i--){
|
198
|
+
topline(d[i],buf);
|
199
|
+
buf += 3;
|
200
|
+
*buf++=' ';
|
201
|
+
}
|
202
|
+
*buf++='\n'; /* move teletype to next line */
|
203
|
+
|
204
|
+
/* print middle lines of all digits */
|
205
|
+
|
206
|
+
for(i=n-1;i>=0;i--){
|
207
|
+
midline(d[i],buf);
|
208
|
+
buf += 3;
|
209
|
+
*buf++=' ';
|
210
|
+
}
|
211
|
+
*buf++='\n';
|
212
|
+
|
213
|
+
/* print bottom lines of all digits */
|
214
|
+
|
215
|
+
for(i=n-1;i>=0;i--){
|
216
|
+
botline(d[i],buf);
|
217
|
+
buf += 3;
|
218
|
+
*buf++=' ';
|
219
|
+
}
|
220
|
+
*buf++='\n';
|
221
|
+
*buf='\0';
|
222
|
+
}
|
223
|
+
|
224
|
+
int main()
|
225
|
+
{
|
226
|
+
char buf[5*MAX_DIGITS];
|
227
|
+
print_led(1234567, buf);
|
228
|
+
printf("%s\n",buf);
|
229
|
+
|
230
|
+
return 0;
|
231
|
+
}
|
232
|
+
|
233
|
+
#ifndef NO_MAIN
|
234
|
+
int main(int argc, char **argv)
|
235
|
+
{
|
236
|
+
|
237
|
+
int i=0,n;
|
238
|
+
long x;
|
239
|
+
static int d[MAX_DIGITS];
|
240
|
+
char buf[5*MAX_DIGITS];
|
241
|
+
|
242
|
+
if(argc != 2){
|
243
|
+
fprintf(stderr,"led: usage: led integer\n");
|
244
|
+
return 1;
|
245
|
+
}
|
246
|
+
|
247
|
+
/* fetch argument from command line */
|
248
|
+
|
249
|
+
x = atol(argv[1]);
|
250
|
+
|
251
|
+
/* sanity check */
|
252
|
+
|
253
|
+
if(x<0){
|
254
|
+
fprintf(stderr,"led: %d must be non-negative\n",x);
|
255
|
+
return 1;
|
256
|
+
}
|
257
|
+
|
258
|
+
print_led(x,buf);
|
259
|
+
printf("%s\n",buf);
|
260
|
+
|
261
|
+
return 0;
|
262
|
+
|
263
|
+
}
|
264
|
+
#endif
|
265
|
+
|
266
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
|
3
|
+
int main()
|
4
|
+
{
|
5
|
+
int a[4];
|
6
|
+
|
7
|
+
a[0] = 12;
|
8
|
+
a[1] = 23;
|
9
|
+
a[2] = 34;
|
10
|
+
a[3] = 45;
|
11
|
+
|
12
|
+
printf("%d %d %d %d\n", a[0], a[1], a[2], a[3]);
|
13
|
+
|
14
|
+
int b[4];
|
15
|
+
|
16
|
+
b = a;
|
17
|
+
|
18
|
+
printf("%d %d %d %d\n", b[0], b[1], b[2], b[3]);
|
19
|
+
|
20
|
+
return 0;
|
21
|
+
}
|
22
|
+
|
23
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
|
3
|
+
int main()
|
4
|
+
{
|
5
|
+
int Count;
|
6
|
+
|
7
|
+
int Array[10] = { 12, 34, 56, 78, 90, 123, 456, 789, 8642, 9753 };
|
8
|
+
|
9
|
+
for (Count = 0; Count < 10; Count++)
|
10
|
+
printf("%d: %d\n", Count, Array[Count]);
|
11
|
+
|
12
|
+
int Array2[10] = { 12, 34, 56, 78, 90, 123, 456, 789, 8642, 9753, };
|
13
|
+
|
14
|
+
for (Count = 0; Count < 10; Count++)
|
15
|
+
printf("%d: %d\n", Count, Array2[Count]);
|
16
|
+
|
17
|
+
|
18
|
+
return 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
|
3
|
+
int main()
|
4
|
+
{
|
5
|
+
char Buf[100];
|
6
|
+
int Count;
|
7
|
+
|
8
|
+
for (Count = 1; Count <= 20; Count++)
|
9
|
+
{
|
10
|
+
sprintf(Buf, "->%02d<-\n", Count);
|
11
|
+
printf("%s", Buf);
|
12
|
+
}
|
13
|
+
|
14
|
+
return 0;
|
15
|
+
}
|
16
|
+
|
17
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|