aboutsummaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix bitfield loads into char/short.Michael Matz2012-04-181-0/+5
| | | | | | Removes a premature optimization of char/short loads rewriting the source type. It did so also for bitfield loads, thereby removing all the shifts/maskings.
* Fix conversion in a?0:ptr.Michael Matz2012-04-181-0/+13
| | | | | | (cond ? 0 : ptr)->member wasn't handled correctly. If one arm is a null pointer constant (which also can be a pointer) the result type is that of the other arm.
* cleanup some partially broken patchesgrischka2012-04-181-2/+2
| | | | | | | | | | | | | | | | | | | - tests/Makefile: fix commit de54586d5b45800e26952ec77b4f51ad4c1e0079 This hunk it unrelated to the other changes (which are about MacOSX). It is not useful and partially wrong. Optional tests are meant to stay optional, btest would work only for i386 - tcc.h: fix commit c52d79605a3c895a16e18f0b7193f1f4b480a60f by unknown The message says it's for MINTW but the patch has obviously no effect for MINGW (which defines __GNUC__). However the patch seems useful for MSC which however needs _strto(u)i64 with underscore. - Makefile: fix commit 5280293d6b16bbe24dfda76e37f32322fa2874ca Do not build tcc.o with -DONE_SOURCE because we finally build tcc from tcc.o and libtcc.a/so
* Further changes improving the OSX build. Everything builds. libtest passes.Milutin Jovanovic2012-03-061-2/+8
| | | | | | | | | | | | | | | | | | | | Other tests still have issues, currently with weak linking. One of the primary stumbling blocks on OSX is the lack of support for mach-o binaries. Therefore all tcc usage on OSX has to be limited to elf binaries, presumably produced by tcc itself. Therefore I had to enable building of tiny_libmaker for OSX. Then changed the make to use tcc and tiny_libmaker to compile the tcclib1. In order to compile the tests, specifically the parts that use weak linking, I have had to define MACOSX_DEPLOYMENT_TARGET to 10.2, which seems like a hack, but extensive searching seems to indicate that this is the only way to make apple gcc allow weak linking. Using any other value, bigger or smaller breaks weak linking. Also added _ANSI_SOURCE define required by some OSX headers, and some cosmetic gitignore changes. I believe these changes should not impact other platforms.
* Patch attempting to build OSX TinyCC.Milutin Jovanovic2012-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Applied patch found on stackoverflow (link below). I also found some related changes that looked like logically needed. The stackoverflow changes addressed only two registers which were breaking a compile. However reading the code in the same file shows two other register accesses that, while not breaking the build, should have the same fix. http://stackoverflow.com/questions/3712902/problems-compiling-tcc-on-os-x/3713144#3713144 The test driver was changed by changing 'cp -u' into 'cp' as '-u' is not supported on mac osx. I found that osx build required the WITHOUT_LIBTCC define. I suspect the reason for this is tcc unability to handle mach-o files. In order to properly address this I had to change 'configure' to propagate target os name to Makefile. Current state is that simple tests work, but not the whole 'make test' suite runs. To the best of my knowledge, these changes should not impact other platforms.
* tcctest: switch weak_toolate proto with implgrischka2011-08-061-1/+1
| | | | gcc -O0 didn't like this.
* fixed Makefile test targetsJoe Soroka2011-07-221-1/+1
|
* re-added negative-array-size testcase and fixed fix for itJoe Soroka2011-07-221-0/+2
|
* Revert "better constant handling for expr_cond"grischka2011-07-161-2/+0
| | | | | It produced wrong code with one of my test projects. This reverts commit cd3d1a45f34be3c9a358f1743bcaf8aac897992e.
* Fix array_test: move params to local varsThomas Preud'homme2011-07-121-2/+2
| | | | | | | | | | array_test is declared and called with no parameters but defined with one parameter. Compilation succeed (definition is after the use so the compiler consider the declaration) as well as link (the function exist and has the right name) but running the test segfault on i386 platforms. This patch moves the parameter to local variable. If the intention was to call it with an array parameter then feel free to fix it again.
* handle arrays with a flexible member but no initializerJoe Soroka2011-07-111-1/+3
|
* better constant handling for expr_condJoe Soroka2011-07-111-0/+2
|
* fix self-referential token pastingJoe Soroka2011-07-081-0/+6
|
* fix end-of-scope for self-referential macrosJoe Soroka2011-07-081-2/+1
|
* make test work when LIBTCC1 not definedThomas Preud'homme2011-05-171-1/+5
| | | | | Make libtest depends on LIBTCC1 instead of ../libtcc1.a and define LIBTCC1 to $(TOP)/$(LIBTCC1) if LIBTCC1 is defined
* VLA fix [1/3]: added testcase demonstrating VLA bugJoe Soroka2011-04-081-1/+6
|
* VLA bcheck works via bound alloca; add test, remove warningJoe Soroka2011-04-061-1/+33
|
* re-apply VLA by Thomas Preud'hommeJoe Soroka2011-04-061-0/+22
|
* sizeof(struct with "flexible array member") is wrongJoe Soroka2011-03-181-0/+1
|
* fix c99 for-loop init decl scope (thanks: grischka)Joe Soroka2011-03-081-0/+2
| | | | see http://lists.nongnu.org/archive/html/tinycc-devel/2011-03/msg00005.html
* support c99 for-loop init declsJoe Soroka2011-03-072-1/+5
|
* use new weaken_symbol() to fix another real-world corner caseJoe Soroka2011-03-071-0/+3
|
* weak redefinition of a symbol should weaken the originalJoe Soroka2011-03-071-0/+4
|
* __typeof(t) should not include storage modifiers of tJoe Soroka2011-03-061-0/+5
|
* handle post-asm-label attributes on variablesJoe Soroka2011-03-031-0/+14
|
* tcc: fix weak attribute handlingJoe Soroka2011-03-021-0/+8
|
* i386-asm: support "pause" opcodeJoe Soroka2011-02-241-0/+1
|
* tccasm: support alternate .type syntaxesJoe Soroka2011-02-241-0/+14
|
* tccpp: treat gas comments in .S files as raw text, not tokensJoe Soroka2011-02-231-0/+1
|
* fix warning for tcctest.c introduced with my last commitJaroslav Kysela2011-02-221-1/+1
|
* fix another static struct init issue (arrays with unknown size at end)Jaroslav Kysela2011-02-221-26/+43
|
* Fix complex static initializers (handle additional '}' and '{' brackets)Jaroslav Kysela2011-02-221-0/+26
| | | | | | - added an example to test suite - the "warning: assignment discards qualifiers from pointer target type" is present but harmless
* Revert "Implement C99 Variable Length Arrays"Thomas Preud'homme2011-02-051-22/+0
| | | | This reverts commit a5a50eaafeea0d3ca47bc8fb6baf983743470c60.
* Revert "Disable C99 VLA when alloca is unavailable."Thomas Preud'homme2011-02-051-2/+2
| | | | This reverts commit e3e5d4ad7a475e30ea13ad1ba9f23e6210d5d431.
* Disable C99 VLA when alloca is unavailable.Thomas Preud'homme2011-02-041-2/+2
| | | | | | | | | | | | | | | * Disable C99 VLA detection when alloca is unavailable and protect the new reference to TOK_alloca in decl_initializer in order to compile and run for architecture without working alloca. Not all code of C99 VLA is commented as it would required many ifdef stanza. Just the detection is commented so that VT_VLA is never set any type and the C99 VLA code is compiled but never called. However vpush_global_sym(&func_old_type, TOK_alloca) in decl_initializer needs to be protected by an ifdef stanza as well because it uses TOK_alloca. * include alloca and C99 VLA tests according to availability of TOK_alloca instead of relying on the current architecture
* Implement C99 Variable Length ArraysThomas Preud'homme2011-02-041-0/+22
| | | | | | | Implement C99 Variable Length Arrays in tinycc: - Support VLA with multiple level (nested vla) - Update documentation with regards to VT_VLA - Add a testsuite in tcctest.c
* tcctest: plugged memleak (was polluting valgrind reports)Joe Soroka2011-02-011-0/+1
|
* tccasm: accept bracketed offset expressionsJoe Soroka2011-02-011-0/+1
|
* tccasm: accept "fmul/fadd st(0),st(n)" (dietlibc ipow/atanh)Joe Soroka2011-02-011-0/+4
|
* tccasm: allow one-line prefix+op things like "rep stosb"Joe Soroka2011-02-012-0/+61
|
* tccasm: define __ASSEMBLER__ for .S files, like gcc doesJoe Soroka2011-02-011-0/+4
|
* tccpp: fix bug in handling of recursive macrosJoe Soroka2011-02-011-0/+31
|
* weak definitions overrule non-weak prototypesJoe Soroka2011-02-012-2/+15
|
* support weak attribute on variablesJoe Soroka2011-02-011-0/+18
|
* asmtest: avoid testing against complex nop alignment in gasJoe Soroka2011-01-231-1/+2
| | | | | | | | | | | | | | | | | .align #,0x90 in gas ignores the 0x90 and outputs any kind of nop it feels like. the one avoided by this patch is a 7 byte nop, which gas has been doing since at least 1999: http://sourceware.org/ml/binutils/1999-10/msg00083.html In order to match what gas does, we would need to make code alignment target-specific, import a lot of code, and face the question: exactly which gas {version,target,tune} combo are we trying to match? see i386_align_code in: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-i386.c?annotate=1.460&cvsroot=src The smart noppery is turned on via the special casing of 0x90 at line 438 in md_do_align in: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-i386.h?annotate=1.1&cvsroot=src
* i386-asm: accept retl as a synonym for retJoe Soroka2011-01-211-0/+2
|
* accept multiple comma separated symbols for .globl/.global directives, like ↵Joe Soroka2011-01-201-0/+5
| | | | gas does
* Support struct arguments with stdarg.hShinichiro Hamaji2010-12-281-0/+23
| | | | | | | | - add __builtin_va_arg_types to check how arguments were passed - move most code of stdarg into libtcc1.c - remove __builtin_malloc and __builtin_free - add a test case based on the bug report (http://www.mail-archive.com/tinycc-devel@nongnu.org/msg03036.html)
* Test va_copy in tcctest.cShinichiro Hamaji2010-12-281-2/+4
|
* Copy tcclib.h to tests directory so GCC uses its own headers.Shinichiro Hamaji2010-12-071-1/+3
| | | | | | | http://repo.or.cz/w/tinycc.git/commit/86ffc4812952f11a35afa19b24a3e6d1a12f4490 removed this cp command. However, it was necessary to pass tests on x86-64 because include/stdarg.h is different from GCC's definition on x86-64.