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,28 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
#include <math.h>
|
3
|
+
|
4
|
+
int main()
|
5
|
+
{
|
6
|
+
printf("%f\n", sin(0.12));
|
7
|
+
printf("%f\n", cos(0.12));
|
8
|
+
printf("%f\n", tan(0.12));
|
9
|
+
printf("%f\n", asin(0.12));
|
10
|
+
printf("%f\n", acos(0.12));
|
11
|
+
printf("%f\n", atan(0.12));
|
12
|
+
printf("%f\n", sinh(0.12));
|
13
|
+
printf("%f\n", cosh(0.12));
|
14
|
+
printf("%f\n", tanh(0.12));
|
15
|
+
printf("%f\n", exp(0.12));
|
16
|
+
printf("%f\n", fabs(-0.12));
|
17
|
+
printf("%f\n", log(0.12));
|
18
|
+
printf("%f\n", log10(0.12));
|
19
|
+
printf("%f\n", pow(0.12, 0.12));
|
20
|
+
printf("%f\n", sqrt(0.12));
|
21
|
+
printf("%f\n", round(12.34));
|
22
|
+
printf("%f\n", ceil(12.34));
|
23
|
+
printf("%f\n", floor(12.34));
|
24
|
+
|
25
|
+
return 0;
|
26
|
+
}
|
27
|
+
|
28
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|
@@ -0,0 +1,83 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
|
3
|
+
int array[16];
|
4
|
+
|
5
|
+
//Swap integer values by array indexes
|
6
|
+
void swap(int a, int b)
|
7
|
+
{
|
8
|
+
int tmp = array[a];
|
9
|
+
array[a] = array[b];
|
10
|
+
array[b] = tmp;
|
11
|
+
}
|
12
|
+
|
13
|
+
//Partition the array into two halves and return the
|
14
|
+
//index about which the array is partitioned
|
15
|
+
int partition(int left, int right)
|
16
|
+
{
|
17
|
+
int pivotIndex = left;
|
18
|
+
int pivotValue = array[pivotIndex];
|
19
|
+
int index = left;
|
20
|
+
int i;
|
21
|
+
|
22
|
+
swap(pivotIndex, right);
|
23
|
+
for(i = left; i < right; i++)
|
24
|
+
{
|
25
|
+
if(array[i] < pivotValue)
|
26
|
+
{
|
27
|
+
swap(i, index);
|
28
|
+
index += 1;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
swap(right, index);
|
32
|
+
|
33
|
+
return index;
|
34
|
+
}
|
35
|
+
|
36
|
+
//Quicksort the array
|
37
|
+
void quicksort(int left, int right)
|
38
|
+
{
|
39
|
+
if(left >= right)
|
40
|
+
return;
|
41
|
+
|
42
|
+
int index = partition(left, right);
|
43
|
+
quicksort(left, index - 1);
|
44
|
+
quicksort(index + 1, right);
|
45
|
+
}
|
46
|
+
|
47
|
+
int main()
|
48
|
+
{
|
49
|
+
int i;
|
50
|
+
|
51
|
+
array[0] = 62;
|
52
|
+
array[1] = 83;
|
53
|
+
array[2] = 4;
|
54
|
+
array[3] = 89;
|
55
|
+
array[4] = 36;
|
56
|
+
array[5] = 21;
|
57
|
+
array[6] = 74;
|
58
|
+
array[7] = 37;
|
59
|
+
array[8] = 65;
|
60
|
+
array[9] = 33;
|
61
|
+
array[10] = 96;
|
62
|
+
array[11] = 38;
|
63
|
+
array[12] = 53;
|
64
|
+
array[13] = 16;
|
65
|
+
array[14] = 74;
|
66
|
+
array[15] = 55;
|
67
|
+
|
68
|
+
for (i = 0; i < 16; i++)
|
69
|
+
printf("%d ", array[i]);
|
70
|
+
|
71
|
+
printf("\n");
|
72
|
+
|
73
|
+
quicksort(0, 15);
|
74
|
+
|
75
|
+
for (i = 0; i < 16; i++)
|
76
|
+
printf("%d ", array[i]);
|
77
|
+
|
78
|
+
printf("\n");
|
79
|
+
|
80
|
+
return 0;
|
81
|
+
}
|
82
|
+
|
83
|
+
/* 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
|
+
printf("%d\n", '\1');
|
6
|
+
printf("%d\n", '\10');
|
7
|
+
printf("%d\n", '\100');
|
8
|
+
printf("%d\n", '\x01');
|
9
|
+
printf("%d\n", '\x0e');
|
10
|
+
printf("%d\n", '\x10');
|
11
|
+
printf("%d\n", '\x40');
|
12
|
+
printf("test \x40\n");
|
13
|
+
|
14
|
+
return 0;
|
15
|
+
}
|
16
|
+
|
17
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
#include <string.h>
|
3
|
+
#include <strings.h>
|
4
|
+
|
5
|
+
int main()
|
6
|
+
{
|
7
|
+
char a[10];
|
8
|
+
|
9
|
+
strcpy(a, "hello");
|
10
|
+
printf("%s\n", a);
|
11
|
+
|
12
|
+
strncpy(a, "gosh", 2);
|
13
|
+
printf("%s\n", a);
|
14
|
+
|
15
|
+
printf("%d\n", strcmp(a, "apple") > 0);
|
16
|
+
printf("%d\n", strcmp(a, "goere") > 0);
|
17
|
+
printf("%d\n", strcmp(a, "zebra") < 0);
|
18
|
+
|
19
|
+
printf("%d\n", strlen(a));
|
20
|
+
|
21
|
+
strcat(a, "!");
|
22
|
+
printf("%s\n", a);
|
23
|
+
|
24
|
+
printf("%d\n", strncmp(a, "apple", 2) > 0);
|
25
|
+
printf("%d\n", strncmp(a, "goere", 2) == 0);
|
26
|
+
printf("%d\n", strncmp(a, "goerg", 2) == 0);
|
27
|
+
printf("%d\n", strncmp(a, "zebra", 2) < 0);
|
28
|
+
|
29
|
+
printf("%s\n", index(a, 'o'));
|
30
|
+
printf("%s\n", rindex(a, 'l'));
|
31
|
+
printf("%d\n", rindex(a, 'x') == NULL);
|
32
|
+
|
33
|
+
memset(&a[1], 'r', 4);
|
34
|
+
printf("%s\n", a);
|
35
|
+
|
36
|
+
memcpy(&a[2], a, 2);
|
37
|
+
printf("%s\n", a);
|
38
|
+
|
39
|
+
printf("%d\n", memcmp(a, "apple", 4) > 0);
|
40
|
+
printf("%d\n", memcmp(a, "grgr", 4) == 0);
|
41
|
+
printf("%d\n", memcmp(a, "zebra", 4) < 0);
|
42
|
+
|
43
|
+
return 0;
|
44
|
+
}
|
45
|
+
|
46
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|
@@ -0,0 +1 @@
|
|
1
|
+
bcdef
|
@@ -0,0 +1,122 @@
|
|
1
|
+
/* example from http://barnyard.syr.edu/quickies/hanoi.c */
|
2
|
+
|
3
|
+
/* hanoi.c: solves the tower of hanoi problem. (Programming exercise.) */
|
4
|
+
/* By Terry R. McConnell (12/2/97) */
|
5
|
+
/* Compile: cc -o hanoi hanoi.c */
|
6
|
+
|
7
|
+
/* This program does no error checking. But then, if it's right,
|
8
|
+
it's right ... right ? */
|
9
|
+
|
10
|
+
|
11
|
+
/* The original towers of hanoi problem seems to have been originally posed
|
12
|
+
by one M. Claus in 1883. There is a popular legend that goes along with
|
13
|
+
it that has been often repeated and paraphrased. It goes something like this:
|
14
|
+
In the great temple at Benares there are 3 golden spikes. On one of them,
|
15
|
+
God placed 64 disks increasing in size from bottom to top, at the beginning
|
16
|
+
of time. Since then, and to this day, the priest on duty constantly transfers
|
17
|
+
disks, one at a time, in such a way that no larger disk is ever put on top
|
18
|
+
of a smaller one. When the disks have been transferred entirely to another
|
19
|
+
spike the Universe will come to an end in a large thunderclap.
|
20
|
+
|
21
|
+
This paraphrases the original legend due to DeParville, La Nature, Paris 1884,
|
22
|
+
Part I, 285-286. For this and further information see: Mathematical
|
23
|
+
Recreations & Essays, W.W. Rouse Ball, MacMillan, NewYork, 11th Ed. 1967,
|
24
|
+
303-305.
|
25
|
+
*
|
26
|
+
*
|
27
|
+
*/
|
28
|
+
|
29
|
+
#include <stdio.h>
|
30
|
+
#include <stdlib.h>
|
31
|
+
|
32
|
+
#define TRUE 1
|
33
|
+
#define FALSE 0
|
34
|
+
|
35
|
+
/* This is the number of "disks" on tower A initially. Taken to be 64 in the
|
36
|
+
* legend. The number of moves required, in general, is 2^N - 1. For N = 64,
|
37
|
+
* this is 18,446,744,073,709,551,615 */
|
38
|
+
#define N 4
|
39
|
+
|
40
|
+
/* These are the three towers. For example if the state of A is 0,1,3,4, that
|
41
|
+
* means that there are three discs on A of sizes 1, 3, and 4. (Think of right
|
42
|
+
* as being the "down" direction.) */
|
43
|
+
int A[N], B[N], C[N];
|
44
|
+
|
45
|
+
void Hanoi(int,int*,int*,int*);
|
46
|
+
|
47
|
+
/* Print the current configuration of A, B, and C to the screen */
|
48
|
+
void PrintAll()
|
49
|
+
{
|
50
|
+
int i;
|
51
|
+
|
52
|
+
printf("A: ");
|
53
|
+
for(i=0;i<N;i++)printf(" %d ",A[i]);
|
54
|
+
printf("\n");
|
55
|
+
|
56
|
+
printf("B: ");
|
57
|
+
for(i=0;i<N;i++)printf(" %d ",B[i]);
|
58
|
+
printf("\n");
|
59
|
+
|
60
|
+
printf("C: ");
|
61
|
+
for(i=0;i<N;i++)printf(" %d ",C[i]);
|
62
|
+
printf("\n");
|
63
|
+
printf("------------------------------------------\n");
|
64
|
+
return;
|
65
|
+
}
|
66
|
+
|
67
|
+
/* Move the leftmost nonzero element of source to dest, leave behind 0. */
|
68
|
+
/* Returns the value moved (not used.) */
|
69
|
+
int Move(int *source, int *dest)
|
70
|
+
{
|
71
|
+
int i,j;
|
72
|
+
|
73
|
+
while (i<N && (source[i])==0) i++;
|
74
|
+
while (j<N && (dest[j])==0) j++;
|
75
|
+
|
76
|
+
dest[j-1] = source[i];
|
77
|
+
source[i] = 0;
|
78
|
+
PrintAll(); /* Print configuration after each move. */
|
79
|
+
return dest[j-1];
|
80
|
+
}
|
81
|
+
|
82
|
+
|
83
|
+
/* Moves first n nonzero numbers from source to dest using the rules of Hanoi.
|
84
|
+
Calls itself recursively.
|
85
|
+
*/
|
86
|
+
void Hanoi(int n,int *source, int *dest, int *spare)
|
87
|
+
{
|
88
|
+
int i;
|
89
|
+
if(n==1){
|
90
|
+
Move(source,dest);
|
91
|
+
return;
|
92
|
+
}
|
93
|
+
|
94
|
+
Hanoi(n-1,source,spare,dest);
|
95
|
+
Move(source,dest);
|
96
|
+
Hanoi(n-1,spare,dest,source);
|
97
|
+
return;
|
98
|
+
}
|
99
|
+
|
100
|
+
int main()
|
101
|
+
{
|
102
|
+
int i;
|
103
|
+
|
104
|
+
/* initialize the towers */
|
105
|
+
for(i=0;i<N;i++)A[i]=i+1;
|
106
|
+
for(i=0;i<N;i++)B[i]=0;
|
107
|
+
for(i=0;i<N;i++)C[i]=0;
|
108
|
+
|
109
|
+
printf("Solution of Tower of Hanoi Problem with %d Disks\n\n",N);
|
110
|
+
|
111
|
+
/* Print the starting state */
|
112
|
+
printf("Starting state:\n");
|
113
|
+
PrintAll();
|
114
|
+
printf("\n\nSubsequent states:\n\n");
|
115
|
+
|
116
|
+
/* Do it! Use A = Source, B = Destination, C = Spare */
|
117
|
+
Hanoi(N,A,B,C);
|
118
|
+
|
119
|
+
return 0;
|
120
|
+
}
|
121
|
+
|
122
|
+
/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
|
@@ -0,0 +1,71 @@
|
|
1
|
+
Solution of Tower of Hanoi Problem with 4 Disks
|
2
|
+
|
3
|
+
Starting state:
|
4
|
+
A: 1 2 3 4
|
5
|
+
B: 0 0 0 0
|
6
|
+
C: 0 0 0 0
|
7
|
+
------------------------------------------
|
8
|
+
|
9
|
+
|
10
|
+
Subsequent states:
|
11
|
+
|
12
|
+
A: 0 2 3 4
|
13
|
+
B: 0 0 0 0
|
14
|
+
C: 0 0 0 1
|
15
|
+
------------------------------------------
|
16
|
+
A: 0 0 3 4
|
17
|
+
B: 0 0 0 2
|
18
|
+
C: 0 0 0 1
|
19
|
+
------------------------------------------
|
20
|
+
A: 0 0 3 4
|
21
|
+
B: 0 0 1 2
|
22
|
+
C: 0 0 0 0
|
23
|
+
------------------------------------------
|
24
|
+
A: 0 0 0 4
|
25
|
+
B: 0 0 1 2
|
26
|
+
C: 0 0 0 3
|
27
|
+
------------------------------------------
|
28
|
+
A: 0 0 1 4
|
29
|
+
B: 0 0 0 2
|
30
|
+
C: 0 0 0 3
|
31
|
+
------------------------------------------
|
32
|
+
A: 0 0 1 4
|
33
|
+
B: 0 0 0 0
|
34
|
+
C: 0 0 2 3
|
35
|
+
------------------------------------------
|
36
|
+
A: 0 0 0 4
|
37
|
+
B: 0 0 0 0
|
38
|
+
C: 0 1 2 3
|
39
|
+
------------------------------------------
|
40
|
+
A: 0 0 0 0
|
41
|
+
B: 0 0 0 4
|
42
|
+
C: 0 1 2 3
|
43
|
+
------------------------------------------
|
44
|
+
A: 0 0 0 0
|
45
|
+
B: 0 0 1 4
|
46
|
+
C: 0 0 2 3
|
47
|
+
------------------------------------------
|
48
|
+
A: 0 0 0 2
|
49
|
+
B: 0 0 1 4
|
50
|
+
C: 0 0 0 3
|
51
|
+
------------------------------------------
|
52
|
+
A: 0 0 1 2
|
53
|
+
B: 0 0 0 4
|
54
|
+
C: 0 0 0 3
|
55
|
+
------------------------------------------
|
56
|
+
A: 0 0 1 2
|
57
|
+
B: 0 0 3 4
|
58
|
+
C: 0 0 0 0
|
59
|
+
------------------------------------------
|
60
|
+
A: 0 0 0 2
|
61
|
+
B: 0 0 3 4
|
62
|
+
C: 0 0 0 1
|
63
|
+
------------------------------------------
|
64
|
+
A: 0 0 0 0
|
65
|
+
B: 0 2 3 4
|
66
|
+
C: 0 0 0 1
|
67
|
+
------------------------------------------
|
68
|
+
A: 0 0 0 0
|
69
|
+
B: 1 2 3 4
|
70
|
+
C: 0 0 0 0
|
71
|
+
------------------------------------------
|