Commit Graph

  • acef4ff244 make a bound checking more compatible with Windows 64 seyko 2015-03-26 07:47:45 +03:00
  • 548a55eda5 fix for the previous commit: tcc_add_support() was used before definition seyko 2015-03-26 06:22:37 +03:00
  • a105837aae fix: enforce bcheck.o linking when -b option is used seyko 2015-03-26 06:04:36 +03:00
  • cde79a805e fix a bug #43984: tcc -run reports errno=2 seyko 2015-03-25 13:26:11 +03:00
  • 724425addf fix for a -dumpversion option: move it before -dD Options must be sorted and a long one must preceed a short one. What was before: tcc -dumpversion tcc: error: invalid option -- '-dumpversion' seyko 2015-03-23 20:58:27 +03:00
  • 8f6390061d fix for: x86_64-tcc compiled by i386-tcc is wrong A test program (must be compiled by the above version of the tcc): seyko 2015-03-23 19:24:55 +03:00
  • 8dbe129ab7 fix a gcc compiler warning for the previous commit mark a constant as long long (or -std=gnu99 is needed) seyko 2015-03-23 16:36:09 +03:00
  • c2efd7c53b revert a commit: Work around for the issue TCC doesn't handle -2147483648 properly because a tcc handle now -2147483648 properly. Look a commit: Make integer constant parsing C99 compliant seyko 2015-03-23 15:31:10 +03:00
  • bd531ec1fd A right fix for the array in struct initialization w/o '{' Parse a type if there is only one '(' before a type token. Otherwise a recursion will perform a job. seyko 2015-03-23 08:27:16 +03:00
  • 367bb6f4b7 Revert of the commit: fix for the array in struct initialization w/o '{', case 2 A right solution for this problem will follow. seyko 2015-03-23 07:40:41 +03:00
  • aba2d648f4 quick fix for the native tcc on debian/ubuntu seyko 2015-03-22 18:05:29 +03:00
  • b5d25654d8 configure: don't output CONFIG_LDDIR when build_cross = "yes" seyko 2015-03-21 07:16:33 +03:00
  • 63d068d3f2 skip 73_arm64,test on ARCH=x86-64: it fails on this ARCH seyko 2015-03-20 16:01:06 +03:00
  • 78c076a70f restore a linux 2.4.26 kernel compilation (commit 5bcc3eed7b correction) seyko 2015-03-20 10:44:26 +03:00
  • e3851d233f correction for the previous commit use "x86-64" as a directory name for the libtcc1.a installation when cross-compiling. seyko 2015-03-20 09:27:59 +03:00
  • cfaa165e62 libtcc1.a while "configure --enable-cross" build and install libtcc1.a for i386, x86_64 and arm64 (libtcc1.a for x86_64 was not installed on i386) seyko 2015-03-20 08:52:01 +03:00
  • 3dba9cc13d "configure --enable-cross" on x86: build a libtcc1.a for x86_64 seyko 2015-03-19 13:07:02 +03:00
  • e2650608cd fix to allow build tcc by build-tcc.bat move call to print_defines() from tcc.c to the libtcc.c define a print_defines() as a ST_FUNC seyko 2015-03-19 08:07:35 +03:00
  • aa812e8745 Convert some lines from ISO-8859-1 to UTF-8. Edmund Grimley Evans 2015-03-08 22:07:50 +00:00
  • 5de8b5638f .gitignore: Add lib/arm64. Edmund Grimley Evans 2015-03-10 22:38:26 +00:00
  • 0e79df499a tccgen.c: (!nocode_wanted) -> (nocode_wanted) in arm64 part. Edmund Grimley Evans 2015-03-10 22:37:36 +00:00
  • 5bcc3eed7b Add some missing nocode_wanted guard Thomas Preud'homme 2015-03-10 23:23:00 +08:00
  • 68605ab4d4 lib/Makefile: Partial revert of 896a0c881a. Edmund Grimley Evans 2015-03-10 14:08:42 +00:00
  • 4ba7e5dc5a A correction for the commit: revert a grischka patch: gdb refused to know "main" keep revert (check SHF_ALLOC) only for x86 target and keep a grishka patch for other targets seyko 2015-03-10 14:21:14 +03:00
  • 896a0c881a don't use a *-tcc to compile *.S files for ARM* A tcc for ARM* don't have an assembler. This is partial reverse of the commit build-libtcc1-by-tcc: use a new tcc to compile a libtcc1.c and alloca.S seyko 2015-03-10 13:54:12 +03:00
  • 87ec08ecc8 A native tcc for MSYS (Windows) must be i386-win-tcc.exe and not i386-tcc.exe i386-tcc.exe is a compiler for i386 Linux. A HOST_OS variable in Makefile is introduced and used to select a native compiler (which one to name as tcc.exe) seyko 2015-03-10 13:39:26 +03:00
  • 25b2779c3d x86-64: Fix stdarg for large non-float structs Michael Matz 2015-03-09 03:54:33 +01:00
  • 2eb4f4a3ba Remove incorrect comment Michael Matz 2015-03-09 01:33:42 +01:00
  • 0ecee0072d Find libtcc1.a on arm32 Michael Matz 2015-03-09 00:47:27 +01:00
  • 50899e30ab Fix stack overwrite on structure return Michael Matz 2015-03-09 00:19:59 +01:00
  • d73b488401 arm64: Implement __clear_cache. Edmund Grimley Evans 2015-03-08 00:10:44 +00:00
  • 03303628c7 tests/Makefile: Quote to avoid: /bin/sh: 1: [: !=: unexpected operator Edmund Grimley Evans 2015-03-07 18:10:45 +00:00
  • d854dede03 arm64: Optimise some integer operations with a constant operand. Edmund Grimley Evans 2015-03-07 17:03:51 +00:00
  • ac70e6b840 tccgen.c: Optimise 0<<x, 0>>x, -1>>x, x&0, x*0, x|-1, x%1. Edmund Grimley Evans 2015-03-07 11:25:27 +00:00
  • 9163393476 arm64-gen.c: In load(), do not sign-extend 32-bit VT_CONST. Edmund Grimley Evans 2015-03-07 17:29:54 +00:00
  • 8d4c861144 fix for the array in struct initialization w/o '{', case 2 a test program: seyko 2015-03-07 09:40:12 +03:00
  • 238e760a29 Add __builtin_return_address. Edmund Grimley Evans 2015-03-06 21:01:14 +00:00
  • 8764993c0d Makefile: install tcc$(EXESUF) as symlink to the $(ARCH)-tcc seyko 2015-03-06 17:13:45 +03:00
  • 65a4fbd1d4 Makefile: add dependencies for $($(I386_CROSS)_LINK), ... seyko 2015-03-06 16:19:10 +03:00
  • 883aafc6bb Makefile leftover of rev 44c6e99 Roy 2015-03-06 10:25:47 +08:00
  • d9b87c087c fixing decl_initializer() for size_only: don't eat ')' a test program: seyko 2015-03-05 20:18:25 +03:00
  • 4b92dbf923 Add a dependency for a PROGS and TCCLIBS to a Makefile seyko 2015-03-05 16:39:25 +03:00
  • 44c6e992bd Fix compiling in MinGW/MSYS Roy 2015-03-05 09:12:42 +08:00
  • 3fb8b14806 tccelf.c: File path component is "arm64", not "ARM64". Edmund Grimley Evans 2015-03-04 19:43:29 +00:00
  • 664c19ad5e partial revert of the commit 4ad186c5ef A test program: seyko 2015-03-04 16:25:51 +03:00
  • bfb7b0d959 --enable-tcc32-mingw option: build windows version on linux with i386-win-tcc --enable-tcc64-mingw option: build windows version on linux with x86_64-win-tcc seyko 2015-03-04 12:02:13 +03:00
  • 48d12e42ad gcc options and mingw: move a gcc options detection from a makefile to the configure + define XCC and XAR if mingw32 defined + use XCC and XAR in lib/Makefile if defined Try "./configure --enable-mingw32; make". This must work seyko 2015-03-04 11:47:52 +03:00
  • 76af948623 install-clean-tuning seyko 2015-03-04 11:40:33 +03:00
  • 54fc439e9e an unification of the tcc cross names for a windows produce a i386-win-mingw32-tcc i386-win-tcc x86_64-win-mingw32-tcc x86_64-win-tcc arm-win-mingw32ce-tcc arm-win-tcc seyko 2015-03-04 11:19:39 +03:00
  • 1cbb4d322b build-libtcc1-by-tcc: use a new tcc to compile a libtcc1.c and alloca.S This will allow to build a libtcc1.a even if a bootstrap compiler don't support a target arch. seyko 2015-03-04 11:08:16 +03:00
  • 7ed4341538 a libraries paths seyko 2015-03-04 10:57:13 +03:00
  • 7ec39e2288 reverse a commit a6149c6dbb: Set CONFIG_MULTIARCHDIR for cross compilers. seyko 2015-03-04 10:50:33 +03:00
  • 149c2a9cc9 a cpu option of the configure script as a method to specify a target cpu seyko 2015-03-04 10:03:40 +03:00
  • d972472c53 Disable floating-point test for ARM soft-float seyko 2015-03-04 09:52:47 +03:00
  • f1e4b2b7f3 disable-BTESTS seyko 2015-03-04 09:49:19 +03:00
  • b8925960ec correct a DllMain() declaration in dllcrt1.c and dllmain.c There is a DllMain() declaration in the mingw-runtime-4.0.3.1 and it differs from a tcc one. seyko 2015-03-03 22:51:13 +03:00
  • 7b96ddd045 win32/include/winsock2.h (look previous commit) seyko 2015-03-03 22:45:50 +03:00
  • 351e2ec334 add declaration of the "double trunc (double _x)" and winsock2.h This allow to build a windows version of the nimrod compiler. seyko 2015-03-03 22:41:55 +03:00
  • 4b61f7f04b A lrint functions in win32/include/math.h are rewrittem because tcc can't handle "t" constraint seyko 2015-03-03 22:38:31 +03:00
  • dfbb00c106 wincrt1.c: add definition of the __TRY__ if not defined Some i686-pc-mingw32-gcc don't know about __TRY__ seyko 2015-03-03 22:35:33 +03:00
  • 859ce5e47f Report a mingw as a execution environment instead of the Win32, Win64, WinCE when executing "tcc -v". Example $ ./i386-win-tcc -v tcc version 0.9.26 (i386, mingw) instead of the tcc version 0.9.26 (i386, Win32) seyko 2015-03-03 22:30:24 +03:00
  • 2e6626a4b3 Don't add a slash to the install path of the tcc in display_info() seyko 2015-03-03 21:41:22 +03:00
  • d70440b406 A 32/64 bit tcc on linux: an arch specific path for libtcc1.a Don't use /usr/local/lib/tcc/libtcc1.a for i386 and x86_64 A $(tccdir)/i386 directory was used to install a libtcc1.a but only when cross compiling. And no x86_64 directory. And this directory location was unknown inside tccelf.c seyko 2015-03-03 18:34:22 +03:00
  • 43e4a406b4 Disable floating-point test for ARM soft-float seyko 2015-03-03 17:28:13 +03:00
  • 774f0611cc arm-unused-warnings: remove problems with defined but unused wariables seyko 2015-03-03 17:16:52 +03:00
  • 6cbf4fb740 tcc_add_runtime() for a CONFIG_USE_LIBGCC case: reducing a complexity seyko 2015-03-03 17:11:18 +03:00
  • cd4f3d962d x86_64-win-tcc elfinterp: a bug correction seyko 2015-03-03 17:05:44 +03:00
  • 2d83ec7aa3 lddir-on-x86-64: let CONFIG_LDDIR=lib64 by default if TCC_TARGET_X86_64 This is done for the case when CONFIG_LDDIR is not configured. Example: ./configure --enable-cross seyko 2015-03-03 16:37:44 +03:00
  • b5f88b593a Turn on a implicit-function-declaration warning by default. seyko 2015-03-03 16:32:25 +03:00
  • 7f36abd3f2 x86_64-tcc and libtcc1.c: size_t definition is needed for a x86_64-tcc to parse memset() seyko 2015-03-03 16:29:00 +03:00
  • e374a733d6 -std=c99 option for the tcc: allow to use a tcc as a reference compiler for "make test" tcc will igmore this option. seyko 2015-03-03 16:25:02 +03:00
  • 4c8ffb353d remove a gcc warning for bcheck on x86_64 arch: conversion to pointer from integer of different size seyko 2015-03-03 16:18:24 +03:00
  • 20074d8862 Use a display_info() to output a header of the tcc help listing seyko 2015-03-03 16:08:33 +03:00
  • 2437ccdc76 A partial reverse for commit eda2c756ed seyko 2015-03-03 15:51:09 +03:00
  • c45a8695eb A reverse of the commit 14745bdeb because of the problems while compiling linux 2.4.26 A test program: /////////// typedef unsigned int __u32; static inline const __u32 __fswab32(__u32 x) { return ({ __u32 __tmp = (x) ; ___swab32(__tmp); }); } void func() { int aaa = 1; int snd_wnd = 2; int TCP_FLAG_ACK = 3; int pred_flags = (__builtin_constant_p((__u32) (((aaa << 26) | (__builtin_constant_p((__u32)((TCP_FLAG_ACK))) ? ({ __u32 __x = (((TCP_FLAG_ACK))); ((__u32)( (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); }) : __fswab32(((TCP_FLAG_ACK)))) | snd_wnd))) ? ({ __u32 __x = ((((aaa << 26) | (__builtin_constant_p((__u32)((TCP_FLAG_ACK))) ? ({ __u32 __x = (((TCP_FLAG_ACK))); ((__u32)( (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); }) : __fswab32(((TCP_FLAG_ACK)))) | snd_wnd))); ((__u32)( (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); }) : __fswab32((((aaa << 26) | (__builtin_constant_p((__u32)((TCP_FLAG_ACK))) ? ({ __u32 __x = (((TCP_FLAG_ACK))); ((__u32)( (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); }) : __fswab32(((TCP_FLAG_ACK)))) | snd_wnd)))); } //////////// error: ';' expected (got "(") seyko 2015-03-03 15:44:29 +03:00
  • 6fd4e5bace a void to void cast. Allow tcc to compile the following program /////// void func1() {} void func2() { return func1(); } ////// gcc accepts this program seyko 2015-03-03 15:39:57 +03:00
  • 09feeca5df a statement expressions with a pointer return type A test program: ////////////// int main() { void *p = ({ 0 ; ((void *)1); }); } ///////////// Porblem is introduced in a commit a80acab: Display error on statement expressions with complex return type This error is exposed when compiling a linux 2.4.26. tcc 0.9.23 can sucessfully compile this version of the linux. seyko 2015-03-03 15:29:14 +03:00
  • 1a1e9548fb iitialisation of the empty struct Current tcc don't understand an initialization of the empty struct This problem was found trying to compile a linux kernel 2.4.26 which can be compiled by tcc 0.9.23 seyko 2015-03-03 15:15:48 +03:00
  • bbf8221ec3 tcc don't understand am extern array of structs. A regression was found trying to compile a linux kernel 2.4.26 which can be compiled by tcc 0.9.23 seyko 2015-03-03 15:00:13 +03:00
  • a429d40f06 tcc_free(table_ident) in preprocess_new() if table_ident != NULL seyko 2015-03-03 14:54:46 +03:00
  • e2a8fd4520 tcc_undefine_symbol(): free an alloced symbol seyko 2015-03-03 14:50:41 +03:00
  • 8d10c5788f Add a debug info when a #line directive is handled. The problem was: a debug info for the file which contain a #line directive (for example a preprocessed one) was wrong. seyko 2015-03-03 14:46:44 +03:00
  • 09d4e4f408 Revert a grischka patch: gdb refused to know "main" It is a strange patch because before this commit a gdb is working well and after this commit there is exactly the same problem on Linux: gdb refuses to know "main" seyko 2015-03-03 14:39:27 +03:00
  • 252a151fc6 pp-many-files: don't drop a preprocessor defines when tcc going to preprocess a next file in the same pass like tcc -E one.c two.c three.c -o combined.i This will allow to speed up a compilation process by using a commamd like tcc -E *.c | tcc -o program.exe -xc - seyko 2015-03-03 14:31:47 +03:00
  • b7b9f9f511 A gcc preprocessor option -dD added With this option on a defines are included into the output (inside comments). This will allow to debug a problems like: seyko 2015-03-03 14:25:57 +03:00
  • 50cdccf3ef Added a gcc preprocessor options -P, -P1 seyko 2015-03-03 14:19:14 +03:00
  • 40418f87c7 Move a line_ref variable from tcc_preprocess() function into struct BufferedFile. This id needed for a right ouput in other places, precisely to calculate a number of empty lines which are waiting to output. seyko 2015-03-03 14:15:28 +03:00
  • 5e3e321474 A preprocessor should Interpret an input line "# NUM FILENAME" as "#line NUM FILENAME" seyko 2015-03-03 14:06:05 +03:00
  • 1706d2254b arm64-gen.c: Improve generation of stack offsets. Edmund Grimley Evans 2015-03-02 20:51:03 +00:00
  • 1d41da9590 arm64-gen.c: Rename some functions and add comments. Edmund Grimley Evans 2015-03-02 20:45:58 +00:00
  • 86e8dcd5e2 arm64: Improve constant generation, with tests. Edmund Grimley Evans 2015-03-02 20:39:28 +00:00
  • 883fd365c7 arm64-gen.c: Better explanation of relocation choice. Edmund Grimley Evans 2015-03-01 11:31:10 +00:00
  • fc119f9840 73_arm64.c: Avoid taking address of return value. Edmund Grimley Evans 2015-02-26 12:27:00 +00:00
  • 8329facdfa Add 73_arm64 for testing some arm64 things, mostly PCS. Edmund Grimley Evans 2015-02-25 22:48:25 +00:00
  • a4d43618fb arm64-gen.c: In gen_va_arg, handle the remaining HFA cases. Edmund Grimley Evans 2015-02-25 22:38:56 +00:00
  • 36bb8994dd Relicensing TinyCC Edmund Grimley Evans 2015-02-25 07:52:39 +00:00
  • 97e08be344 tests/tcctest.c: Test COMPAT_TYPE(char *, signed char *). Edmund Grimley Evans 2015-02-24 19:35:31 +00:00
  • 40f7e11c53 tccgen.c: Make sure that gen_op always returns an rvalue. Edmund Grimley Evans 2015-02-20 22:18:41 +00:00
  • 6d055312a2 aarch64: Fix -run. Michael Matz 2015-02-22 05:59:06 +01:00
  • b14ef0e24b Add arm64 (AArch64) as a target architecture. Edmund Grimley Evans 2015-02-13 18:58:31 +00:00