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,172 @@
|
|
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_WCTYPE
|
7
|
+
#define _INC_WCTYPE
|
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 _WCTYPE_T_DEFINED
|
31
|
+
typedef unsigned short wint_t;
|
32
|
+
typedef unsigned short wctype_t;
|
33
|
+
#define _WCTYPE_T_DEFINED
|
34
|
+
#endif
|
35
|
+
|
36
|
+
#ifndef WEOF
|
37
|
+
#define WEOF (wint_t)(0xFFFF)
|
38
|
+
#endif
|
39
|
+
|
40
|
+
#ifndef _CRT_CTYPEDATA_DEFINED
|
41
|
+
#define _CRT_CTYPEDATA_DEFINED
|
42
|
+
#ifndef _CTYPE_DISABLE_MACROS
|
43
|
+
|
44
|
+
#ifndef __PCTYPE_FUNC
|
45
|
+
#define __PCTYPE_FUNC __pctype_func()
|
46
|
+
#ifdef _MSVCRT_
|
47
|
+
#define __pctype_func() (_pctype)
|
48
|
+
#else
|
49
|
+
#define __pctype_func() (*_imp___pctype)
|
50
|
+
#endif
|
51
|
+
#endif
|
52
|
+
|
53
|
+
#ifndef _pctype
|
54
|
+
#ifdef _MSVCRT_
|
55
|
+
extern unsigned short *_pctype;
|
56
|
+
#else
|
57
|
+
extern unsigned short **_imp___pctype;
|
58
|
+
#define _pctype (*_imp___pctype)
|
59
|
+
#endif
|
60
|
+
#endif
|
61
|
+
|
62
|
+
#endif
|
63
|
+
#endif
|
64
|
+
|
65
|
+
#ifndef _CRT_WCTYPEDATA_DEFINED
|
66
|
+
#define _CRT_WCTYPEDATA_DEFINED
|
67
|
+
#ifndef _CTYPE_DISABLE_MACROS
|
68
|
+
#ifndef _wctype
|
69
|
+
#ifdef _MSVCRT_
|
70
|
+
extern unsigned short *_wctype;
|
71
|
+
#else
|
72
|
+
extern unsigned short **_imp___wctype;
|
73
|
+
#define _wctype (*_imp___wctype)
|
74
|
+
#endif
|
75
|
+
#endif
|
76
|
+
|
77
|
+
#ifndef _pwctype
|
78
|
+
#ifdef _MSVCRT_
|
79
|
+
extern unsigned short *_pwctype;
|
80
|
+
#else
|
81
|
+
extern unsigned short **_imp___pwctype;
|
82
|
+
#define _pwctype (*_imp___pwctype)
|
83
|
+
#define __pwctype_func() (*_imp___pwctype)
|
84
|
+
#endif
|
85
|
+
#endif
|
86
|
+
#endif
|
87
|
+
#endif
|
88
|
+
|
89
|
+
#define _UPPER 0x1
|
90
|
+
#define _LOWER 0x2
|
91
|
+
#define _DIGIT 0x4
|
92
|
+
#define _SPACE 0x8
|
93
|
+
|
94
|
+
#define _PUNCT 0x10
|
95
|
+
#define _CONTROL 0x20
|
96
|
+
#define _BLANK 0x40
|
97
|
+
#define _HEX 0x80
|
98
|
+
|
99
|
+
#define _LEADBYTE 0x8000
|
100
|
+
#define _ALPHA (0x0100|_UPPER|_LOWER)
|
101
|
+
|
102
|
+
#ifndef _WCTYPE_DEFINED
|
103
|
+
#define _WCTYPE_DEFINED
|
104
|
+
|
105
|
+
int __cdecl iswalpha(wint_t);
|
106
|
+
int __cdecl iswupper(wint_t);
|
107
|
+
int __cdecl iswlower(wint_t);
|
108
|
+
int __cdecl iswdigit(wint_t);
|
109
|
+
int __cdecl iswxdigit(wint_t);
|
110
|
+
int __cdecl iswspace(wint_t);
|
111
|
+
int __cdecl iswpunct(wint_t);
|
112
|
+
int __cdecl iswalnum(wint_t);
|
113
|
+
int __cdecl iswprint(wint_t);
|
114
|
+
int __cdecl iswgraph(wint_t);
|
115
|
+
int __cdecl iswcntrl(wint_t);
|
116
|
+
int __cdecl iswascii(wint_t);
|
117
|
+
int __cdecl isleadbyte(int);
|
118
|
+
wint_t __cdecl towupper(wint_t);
|
119
|
+
wint_t __cdecl towlower(wint_t);
|
120
|
+
int __cdecl iswctype(wint_t,wctype_t);
|
121
|
+
_CRTIMP int __cdecl __iswcsymf(wint_t);
|
122
|
+
_CRTIMP int __cdecl __iswcsym(wint_t);
|
123
|
+
int __cdecl is_wctype(wint_t,wctype_t);
|
124
|
+
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES)
|
125
|
+
int __cdecl isblank(int _C);
|
126
|
+
#endif
|
127
|
+
#endif
|
128
|
+
|
129
|
+
#ifndef _WCTYPE_INLINE_DEFINED
|
130
|
+
#define _WCTYPE_INLINE_DEFINED
|
131
|
+
#ifndef __cplusplus
|
132
|
+
#define iswalpha(_c) (iswctype(_c,_ALPHA))
|
133
|
+
#define iswupper(_c) (iswctype(_c,_UPPER))
|
134
|
+
#define iswlower(_c) (iswctype(_c,_LOWER))
|
135
|
+
#define iswdigit(_c) (iswctype(_c,_DIGIT))
|
136
|
+
#define iswxdigit(_c) (iswctype(_c,_HEX))
|
137
|
+
#define iswspace(_c) (iswctype(_c,_SPACE))
|
138
|
+
#define iswpunct(_c) (iswctype(_c,_PUNCT))
|
139
|
+
#define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT))
|
140
|
+
#define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT))
|
141
|
+
#define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT))
|
142
|
+
#define iswcntrl(_c) (iswctype(_c,_CONTROL))
|
143
|
+
#define iswascii(_c) ((unsigned)(_c) < 0x80)
|
144
|
+
#define isleadbyte(c) (__pctype_func()[(unsigned char)(c)] & _LEADBYTE)
|
145
|
+
#else
|
146
|
+
__CRT_INLINE int __cdecl iswalpha(wint_t _C) {return (iswctype(_C,_ALPHA)); }
|
147
|
+
__CRT_INLINE int __cdecl iswupper(wint_t _C) {return (iswctype(_C,_UPPER)); }
|
148
|
+
__CRT_INLINE int __cdecl iswlower(wint_t _C) {return (iswctype(_C,_LOWER)); }
|
149
|
+
__CRT_INLINE int __cdecl iswdigit(wint_t _C) {return (iswctype(_C,_DIGIT)); }
|
150
|
+
__CRT_INLINE int __cdecl iswxdigit(wint_t _C) {return (iswctype(_C,_HEX)); }
|
151
|
+
__CRT_INLINE int __cdecl iswspace(wint_t _C) {return (iswctype(_C,_SPACE)); }
|
152
|
+
__CRT_INLINE int __cdecl iswpunct(wint_t _C) {return (iswctype(_C,_PUNCT)); }
|
153
|
+
__CRT_INLINE int __cdecl iswalnum(wint_t _C) {return (iswctype(_C,_ALPHA|_DIGIT)); }
|
154
|
+
__CRT_INLINE int __cdecl iswprint(wint_t _C) {return (iswctype(_C,_BLANK|_PUNCT|_ALPHA|_DIGIT)); }
|
155
|
+
__CRT_INLINE int __cdecl iswgraph(wint_t _C) {return (iswctype(_C,_PUNCT|_ALPHA|_DIGIT)); }
|
156
|
+
__CRT_INLINE int __cdecl iswcntrl(wint_t _C) {return (iswctype(_C,_CONTROL)); }
|
157
|
+
__CRT_INLINE int __cdecl iswascii(wint_t _C) {return ((unsigned)(_C) < 0x80); }
|
158
|
+
__CRT_INLINE int __cdecl isleadbyte(int _C) {return (__pctype_func()[(unsigned char)(_C)] & _LEADBYTE); }
|
159
|
+
#endif
|
160
|
+
#endif
|
161
|
+
|
162
|
+
typedef wchar_t wctrans_t;
|
163
|
+
wint_t __cdecl towctrans(wint_t,wctrans_t);
|
164
|
+
wctrans_t __cdecl wctrans(const char *);
|
165
|
+
wctype_t __cdecl wctype(const char *);
|
166
|
+
|
167
|
+
#ifdef __cplusplus
|
168
|
+
}
|
169
|
+
#endif
|
170
|
+
|
171
|
+
#pragma pack(pop)
|
172
|
+
#endif
|
@@ -0,0 +1,149 @@
|
|
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 _BASETSD_H_
|
7
|
+
#define _BASETSD_H_
|
8
|
+
|
9
|
+
#if (defined(__x86_64) || defined(__ia64__)) && !defined(RC_INVOKED)
|
10
|
+
typedef unsigned __int64 POINTER_64_INT;
|
11
|
+
#else
|
12
|
+
typedef unsigned long POINTER_64_INT;
|
13
|
+
#endif
|
14
|
+
|
15
|
+
#define POINTER_32
|
16
|
+
#define POINTER_64
|
17
|
+
#define FIRMWARE_PTR
|
18
|
+
|
19
|
+
#ifdef __cplusplus
|
20
|
+
extern "C" {
|
21
|
+
#endif
|
22
|
+
|
23
|
+
typedef signed char INT8,*PINT8;
|
24
|
+
typedef signed short INT16,*PINT16;
|
25
|
+
typedef signed int INT32,*PINT32;
|
26
|
+
typedef signed __int64 INT64,*PINT64;
|
27
|
+
typedef unsigned char UINT8,*PUINT8;
|
28
|
+
typedef unsigned short UINT16,*PUINT16;
|
29
|
+
typedef unsigned int UINT32,*PUINT32;
|
30
|
+
typedef unsigned __int64 UINT64,*PUINT64;
|
31
|
+
typedef signed int LONG32,*PLONG32;
|
32
|
+
typedef unsigned int ULONG32,*PULONG32;
|
33
|
+
typedef unsigned int DWORD32,*PDWORD32;
|
34
|
+
|
35
|
+
#ifndef _W64
|
36
|
+
#define _W64
|
37
|
+
#endif
|
38
|
+
|
39
|
+
#ifdef _WIN64
|
40
|
+
typedef __int64 INT_PTR,*PINT_PTR;
|
41
|
+
typedef unsigned __int64 UINT_PTR,*PUINT_PTR;
|
42
|
+
typedef __int64 LONG_PTR,*PLONG_PTR;
|
43
|
+
typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
|
44
|
+
#define __int3264 __int64
|
45
|
+
#else
|
46
|
+
typedef int INT_PTR,*PINT_PTR;
|
47
|
+
typedef unsigned int UINT_PTR,*PUINT_PTR;
|
48
|
+
typedef long LONG_PTR,*PLONG_PTR;
|
49
|
+
typedef unsigned long ULONG_PTR,*PULONG_PTR;
|
50
|
+
#define __int3264 __int32
|
51
|
+
#endif
|
52
|
+
|
53
|
+
#ifdef _WIN64
|
54
|
+
#define ADDRESS_TAG_BIT 0x40000000000ULL
|
55
|
+
typedef __int64 SHANDLE_PTR;
|
56
|
+
typedef unsigned __int64 HANDLE_PTR;
|
57
|
+
typedef unsigned int UHALF_PTR,*PUHALF_PTR;
|
58
|
+
typedef int HALF_PTR,*PHALF_PTR;
|
59
|
+
|
60
|
+
static __inline unsigned long HandleToULong(const void *h) { return((unsigned long) (ULONG_PTR) h); }
|
61
|
+
static __inline long HandleToLong(const void *h) { return((long) (LONG_PTR) h); }
|
62
|
+
static __inline void *ULongToHandle(const unsigned long h) { return((void *) (UINT_PTR) h); }
|
63
|
+
static __inline void *LongToHandle(const long h) { return((void *) (INT_PTR) h); }
|
64
|
+
static __inline unsigned long PtrToUlong(const void *p) { return((unsigned long) (ULONG_PTR) p); }
|
65
|
+
static __inline unsigned int PtrToUint(const void *p) { return((unsigned int) (UINT_PTR) p); }
|
66
|
+
static __inline unsigned short PtrToUshort(const void *p) { return((unsigned short) (unsigned long) (ULONG_PTR) p); }
|
67
|
+
static __inline long PtrToLong(const void *p) { return((long) (LONG_PTR) p); }
|
68
|
+
static __inline int PtrToInt(const void *p) { return((int) (INT_PTR) p); }
|
69
|
+
static __inline short PtrToShort(const void *p) { return((short) (long) (LONG_PTR) p); }
|
70
|
+
static __inline void *IntToPtr(const int i) { return((void *)(INT_PTR)i); }
|
71
|
+
static __inline void *UIntToPtr(const unsigned int ui) { return((void *)(UINT_PTR)ui); }
|
72
|
+
static __inline void *LongToPtr(const long l) { return((void *)(LONG_PTR)l); }
|
73
|
+
static __inline void *ULongToPtr(const unsigned long ul) { return((void *)(ULONG_PTR)ul); }
|
74
|
+
|
75
|
+
#define PtrToPtr64(p) ((void *) p)
|
76
|
+
#define Ptr64ToPtr(p) ((void *) p)
|
77
|
+
#define HandleToHandle64(h) (PtrToPtr64(h))
|
78
|
+
#define Handle64ToHandle(h) (Ptr64ToPtr(h))
|
79
|
+
|
80
|
+
static __inline void *Ptr32ToPtr(const void *p) { return (void *)p; }
|
81
|
+
static __inline void *Handle32ToHandle(const void *h) { return((void *) h); }
|
82
|
+
static __inline void *PtrToPtr32(const void *p) { return((void *) (ULONG_PTR) p); }
|
83
|
+
|
84
|
+
#define HandleToHandle32(h) (PtrToPtr32(h))
|
85
|
+
#else
|
86
|
+
|
87
|
+
#define ADDRESS_TAG_BIT 0x80000000UL
|
88
|
+
|
89
|
+
typedef unsigned short UHALF_PTR,*PUHALF_PTR;
|
90
|
+
typedef short HALF_PTR,*PHALF_PTR;
|
91
|
+
typedef long SHANDLE_PTR;
|
92
|
+
typedef unsigned long HANDLE_PTR;
|
93
|
+
|
94
|
+
#define HandleToULong(h) ((ULONG)(ULONG_PTR)(h))
|
95
|
+
#define HandleToLong(h) ((LONG)(LONG_PTR) (h))
|
96
|
+
#define ULongToHandle(ul) ((HANDLE)(ULONG_PTR) (ul))
|
97
|
+
#define LongToHandle(h) ((HANDLE)(LONG_PTR) (h))
|
98
|
+
#define PtrToUlong(p) ((ULONG)(ULONG_PTR) (p))
|
99
|
+
#define PtrToLong(p) ((LONG)(LONG_PTR) (p))
|
100
|
+
#define PtrToUint(p) ((UINT)(UINT_PTR) (p))
|
101
|
+
#define PtrToInt(p) ((INT)(INT_PTR) (p))
|
102
|
+
#define PtrToUshort(p) ((unsigned short)(ULONG_PTR)(p))
|
103
|
+
#define PtrToShort(p) ((short)(LONG_PTR)(p))
|
104
|
+
#define IntToPtr(i) ((VOID *)(INT_PTR)((int)i))
|
105
|
+
#define UIntToPtr(ui) ((VOID *)(UINT_PTR)((unsigned int)ui))
|
106
|
+
#define LongToPtr(l) ((VOID *)(LONG_PTR)((long)l))
|
107
|
+
#define ULongToPtr(ul) ((VOID *)(ULONG_PTR)((unsigned long)ul))
|
108
|
+
|
109
|
+
static __inline void *PtrToPtr64(const void *p) { return((void *) (ULONG_PTR)p); }
|
110
|
+
static __inline void *Ptr64ToPtr(const void *p) { return((void *) (ULONG_PTR) p); }
|
111
|
+
static __inline void *HandleToHandle64(const void *h) { return((void *) h); }
|
112
|
+
static __inline void *Handle64ToHandle(const void *h) { return((void *) (ULONG_PTR) h); }
|
113
|
+
|
114
|
+
#define Ptr32ToPtr(p) ((void *) p)
|
115
|
+
#define Handle32ToHandle(h) (Ptr32ToPtr(h))
|
116
|
+
#define PtrToPtr32(p) ((void *) p)
|
117
|
+
#define HandleToHandle32(h) (PtrToPtr32(h))
|
118
|
+
#endif
|
119
|
+
|
120
|
+
#define HandleToUlong(h) HandleToULong(h)
|
121
|
+
#define UlongToHandle(ul) ULongToHandle(ul)
|
122
|
+
#define UlongToPtr(ul) ULongToPtr(ul)
|
123
|
+
#define UintToPtr(ui) UIntToPtr(ui)
|
124
|
+
|
125
|
+
#define MAXUINT_PTR (~((UINT_PTR)0))
|
126
|
+
#define MAXINT_PTR ((INT_PTR)(MAXUINT_PTR >> 1))
|
127
|
+
#define MININT_PTR (~MAXINT_PTR)
|
128
|
+
|
129
|
+
#define MAXULONG_PTR (~((ULONG_PTR)0))
|
130
|
+
#define MAXLONG_PTR ((LONG_PTR)(MAXULONG_PTR >> 1))
|
131
|
+
#define MINLONG_PTR (~MAXLONG_PTR)
|
132
|
+
|
133
|
+
#define MAXUHALF_PTR ((UHALF_PTR)~0)
|
134
|
+
#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
|
135
|
+
#define MINHALF_PTR (~MAXHALF_PTR)
|
136
|
+
|
137
|
+
typedef ULONG_PTR SIZE_T,*PSIZE_T;
|
138
|
+
typedef LONG_PTR SSIZE_T,*PSSIZE_T;
|
139
|
+
typedef ULONG_PTR DWORD_PTR,*PDWORD_PTR;
|
140
|
+
typedef __int64 LONG64,*PLONG64;
|
141
|
+
typedef unsigned __int64 ULONG64,*PULONG64;
|
142
|
+
typedef unsigned __int64 DWORD64,*PDWORD64;
|
143
|
+
typedef ULONG_PTR KAFFINITY;
|
144
|
+
typedef KAFFINITY *PKAFFINITY;
|
145
|
+
|
146
|
+
#ifdef __cplusplus
|
147
|
+
}
|
148
|
+
#endif
|
149
|
+
#endif
|
@@ -0,0 +1,85 @@
|
|
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
|
+
#if !defined(_BASETYPS_H_)
|
7
|
+
#define _BASETYPS_H_
|
8
|
+
|
9
|
+
#ifdef __cplusplus
|
10
|
+
#define EXTERN_C extern "C"
|
11
|
+
#else
|
12
|
+
#define EXTERN_C extern
|
13
|
+
#endif
|
14
|
+
|
15
|
+
#define STDMETHODCALLTYPE WINAPI
|
16
|
+
#define STDMETHODVCALLTYPE __cdecl
|
17
|
+
|
18
|
+
#define STDAPICALLTYPE WINAPI
|
19
|
+
#define STDAPIVCALLTYPE __cdecl
|
20
|
+
|
21
|
+
#define STDAPI EXTERN_C HRESULT WINAPI
|
22
|
+
#define STDAPI_(type) EXTERN_C type WINAPI
|
23
|
+
|
24
|
+
#define STDMETHODIMP HRESULT WINAPI
|
25
|
+
#define STDMETHODIMP_(type) type WINAPI
|
26
|
+
|
27
|
+
#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
|
28
|
+
#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
|
29
|
+
|
30
|
+
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
|
31
|
+
#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE
|
32
|
+
|
33
|
+
#if defined(__cplusplus) && !defined(CINTERFACE)
|
34
|
+
|
35
|
+
#define __STRUCT__ struct
|
36
|
+
#define STDMETHOD(method) virtual HRESULT WINAPI method
|
37
|
+
#define STDMETHOD_(type,method) virtual type WINAPI method
|
38
|
+
#define STDMETHODV(method) virtual HRESULT STDMETHODVCALLTYPE method
|
39
|
+
#define STDMETHODV_(type,method) virtual type STDMETHODVCALLTYPE method
|
40
|
+
#define PURE = 0
|
41
|
+
#define THIS_
|
42
|
+
#define THIS void
|
43
|
+
#define DECLARE_INTERFACE(iface) __STRUCT__ iface
|
44
|
+
#define DECLARE_INTERFACE_(iface,baseiface) __STRUCT__ iface : public baseiface
|
45
|
+
#else
|
46
|
+
|
47
|
+
#ifndef __OBJC__
|
48
|
+
#define interface struct
|
49
|
+
#endif
|
50
|
+
|
51
|
+
#define STDMETHOD(method) HRESULT (WINAPI *method)
|
52
|
+
#define STDMETHOD_(type,method) type (WINAPI *method)
|
53
|
+
#define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE *method)
|
54
|
+
#define STDMETHODV_(type,method) type (STDMETHODVCALLTYPE *method)
|
55
|
+
|
56
|
+
#define PURE
|
57
|
+
#define THIS_ INTERFACE *This,
|
58
|
+
#define THIS INTERFACE *This
|
59
|
+
#ifdef CONST_VTABLE
|
60
|
+
#define DECLARE_INTERFACE(iface) typedef struct iface { \
|
61
|
+
const struct iface##Vtbl *lpVtbl; } iface; \
|
62
|
+
typedef const struct iface##Vtbl iface##Vtbl; \
|
63
|
+
const struct iface##Vtbl
|
64
|
+
#else
|
65
|
+
#define DECLARE_INTERFACE(iface) typedef struct iface { \
|
66
|
+
struct iface##Vtbl *lpVtbl; \
|
67
|
+
} iface; \
|
68
|
+
typedef struct iface##Vtbl iface##Vtbl; \
|
69
|
+
struct iface##Vtbl
|
70
|
+
#endif
|
71
|
+
#define DECLARE_INTERFACE_(iface,baseiface) DECLARE_INTERFACE(iface)
|
72
|
+
#endif
|
73
|
+
|
74
|
+
#include <guiddef.h>
|
75
|
+
|
76
|
+
#ifndef _ERROR_STATUS_T_DEFINED
|
77
|
+
#define _ERROR_STATUS_T_DEFINED
|
78
|
+
typedef unsigned long error_status_t;
|
79
|
+
#endif
|
80
|
+
|
81
|
+
#ifndef _WCHAR_T_DEFINED
|
82
|
+
typedef unsigned short wchar_t;
|
83
|
+
#define _WCHAR_T_DEFINED
|
84
|
+
#endif
|
85
|
+
#endif
|
@@ -0,0 +1,151 @@
|
|
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 GUID_DEFINED
|
7
|
+
#define GUID_DEFINED
|
8
|
+
typedef struct _GUID {
|
9
|
+
unsigned long Data1;
|
10
|
+
unsigned short Data2;
|
11
|
+
unsigned short Data3;
|
12
|
+
unsigned char Data4[8 ];
|
13
|
+
} GUID;
|
14
|
+
#endif
|
15
|
+
|
16
|
+
#ifndef FAR
|
17
|
+
#define FAR
|
18
|
+
#endif
|
19
|
+
|
20
|
+
#ifndef DECLSPEC_SELECTANY
|
21
|
+
#define DECLSPEC_SELECTANY __declspec(selectany)
|
22
|
+
#endif
|
23
|
+
|
24
|
+
#ifndef EXTERN_C
|
25
|
+
#ifdef __cplusplus
|
26
|
+
#define EXTERN_C extern "C"
|
27
|
+
#else
|
28
|
+
#define EXTERN_C extern
|
29
|
+
#endif
|
30
|
+
#endif
|
31
|
+
|
32
|
+
#ifdef DEFINE_GUID
|
33
|
+
#undef DEFINE_GUID
|
34
|
+
#endif
|
35
|
+
|
36
|
+
#ifdef INITGUID
|
37
|
+
#ifdef __cplusplus
|
38
|
+
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID DECLSPEC_SELECTANY name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
|
39
|
+
#else
|
40
|
+
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID DECLSPEC_SELECTANY name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
|
41
|
+
#endif
|
42
|
+
#else
|
43
|
+
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID name
|
44
|
+
#endif
|
45
|
+
|
46
|
+
#define DEFINE_OLEGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
|
47
|
+
|
48
|
+
#ifndef _GUIDDEF_H_
|
49
|
+
#define _GUIDDEF_H_
|
50
|
+
|
51
|
+
#ifndef __LPGUID_DEFINED__
|
52
|
+
#define __LPGUID_DEFINED__
|
53
|
+
typedef GUID *LPGUID;
|
54
|
+
#endif
|
55
|
+
|
56
|
+
#ifndef __LPCGUID_DEFINED__
|
57
|
+
#define __LPCGUID_DEFINED__
|
58
|
+
typedef const GUID *LPCGUID;
|
59
|
+
#endif
|
60
|
+
|
61
|
+
#ifndef __IID_DEFINED__
|
62
|
+
#define __IID_DEFINED__
|
63
|
+
|
64
|
+
typedef GUID IID;
|
65
|
+
typedef IID *LPIID;
|
66
|
+
#define IID_NULL GUID_NULL
|
67
|
+
#define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
|
68
|
+
typedef GUID CLSID;
|
69
|
+
typedef CLSID *LPCLSID;
|
70
|
+
#define CLSID_NULL GUID_NULL
|
71
|
+
#define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
|
72
|
+
typedef GUID FMTID;
|
73
|
+
typedef FMTID *LPFMTID;
|
74
|
+
#define FMTID_NULL GUID_NULL
|
75
|
+
#define IsEqualFMTID(rfmtid1,rfmtid2) IsEqualGUID(rfmtid1,rfmtid2)
|
76
|
+
|
77
|
+
#ifdef __midl_proxy
|
78
|
+
#define __MIDL_CONST
|
79
|
+
#else
|
80
|
+
#define __MIDL_CONST const
|
81
|
+
#endif
|
82
|
+
|
83
|
+
#ifndef _REFGUID_DEFINED
|
84
|
+
#define _REFGUID_DEFINED
|
85
|
+
#ifdef __cplusplus
|
86
|
+
#define REFGUID const GUID &
|
87
|
+
#else
|
88
|
+
#define REFGUID const GUID *__MIDL_CONST
|
89
|
+
#endif
|
90
|
+
#endif
|
91
|
+
|
92
|
+
#ifndef _REFIID_DEFINED
|
93
|
+
#define _REFIID_DEFINED
|
94
|
+
#ifdef __cplusplus
|
95
|
+
#define REFIID const IID &
|
96
|
+
#else
|
97
|
+
#define REFIID const IID *__MIDL_CONST
|
98
|
+
#endif
|
99
|
+
#endif
|
100
|
+
|
101
|
+
#ifndef _REFCLSID_DEFINED
|
102
|
+
#define _REFCLSID_DEFINED
|
103
|
+
#ifdef __cplusplus
|
104
|
+
#define REFCLSID const IID &
|
105
|
+
#else
|
106
|
+
#define REFCLSID const IID *__MIDL_CONST
|
107
|
+
#endif
|
108
|
+
#endif
|
109
|
+
|
110
|
+
#ifndef _REFFMTID_DEFINED
|
111
|
+
#define _REFFMTID_DEFINED
|
112
|
+
#ifdef __cplusplus
|
113
|
+
#define REFFMTID const IID &
|
114
|
+
#else
|
115
|
+
#define REFFMTID const IID *__MIDL_CONST
|
116
|
+
#endif
|
117
|
+
#endif
|
118
|
+
#endif
|
119
|
+
|
120
|
+
#ifndef _SYS_GUID_OPERATORS_
|
121
|
+
#define _SYS_GUID_OPERATORS_
|
122
|
+
#include <string.h>
|
123
|
+
|
124
|
+
#ifdef __cplusplus
|
125
|
+
__inline int InlineIsEqualGUID(REFGUID rguid1,REFGUID rguid2) {
|
126
|
+
return (((unsigned long *) &rguid1)[0]==((unsigned long *) &rguid2)[0] && ((unsigned long *) &rguid1)[1]==((unsigned long *) &rguid2)[1] &&
|
127
|
+
((unsigned long *) &rguid1)[2]==((unsigned long *) &rguid2)[2] && ((unsigned long *) &rguid1)[3]==((unsigned long *) &rguid2)[3]);
|
128
|
+
}
|
129
|
+
__inline int IsEqualGUID(REFGUID rguid1,REFGUID rguid2) { return !memcmp(&rguid1,&rguid2,sizeof(GUID)); }
|
130
|
+
#else
|
131
|
+
#define InlineIsEqualGUID(rguid1,rguid2) (((unsigned long *) rguid1)[0]==((unsigned long *) rguid2)[0] && ((unsigned long *) rguid1)[1]==((unsigned long *) rguid2)[1] && ((unsigned long *) rguid1)[2]==((unsigned long *) rguid2)[2] && ((unsigned long *) rguid1)[3]==((unsigned long *) rguid2)[3])
|
132
|
+
#define IsEqualGUID(rguid1,rguid2) (!memcmp(rguid1,rguid2,sizeof(GUID)))
|
133
|
+
#endif
|
134
|
+
|
135
|
+
#ifdef __INLINE_ISEQUAL_GUID
|
136
|
+
#undef IsEqualGUID
|
137
|
+
#define IsEqualGUID(rguid1,rguid2) InlineIsEqualGUID(rguid1,rguid2)
|
138
|
+
#endif
|
139
|
+
|
140
|
+
#define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
|
141
|
+
#define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
|
142
|
+
|
143
|
+
#if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_
|
144
|
+
#define _SYS_GUID_OPERATOR_EQ_
|
145
|
+
#ifdef __cplusplus
|
146
|
+
__inline int operator==(REFGUID guidOne,REFGUID guidOther) { return IsEqualGUID(guidOne,guidOther); }
|
147
|
+
__inline int operator!=(REFGUID guidOne,REFGUID guidOther) { return !(guidOne==guidOther); }
|
148
|
+
#endif
|
149
|
+
#endif
|
150
|
+
#endif
|
151
|
+
#endif
|