| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |
|
|
|
|
| |
- added an example to test suite
- the "warning: assignment discards qualifiers from pointer target type"
is present but harmless
|
| |
|
|
|
|
|
|
| |
Add support for asm labels for variables, that is the ability to rename
a variable at assembly level with __asm__ ("newname") appended in
its declaration.
See http://gcc.gnu.org/onlinedocs/gcc-4.4.4/gcc/Asm-Labels.html for more
details.
|
| |
|
|
|
|
|
|
|
| |
- Fix function assembly label mechanism introduced in commit
9b09fc376e8c212a767c875e71ca003e3b9a0d2e to only accept alternative
name for function declaration.
- merge the code with the one introduced in commit
264a103610e3ee86b27b8cbb0e4ec81cd654d980.
- Don't memorize token for asm label but directly the asm label.
|
| |
|
|
|
| |
Fix incorrect use of basic types as bitflags and inefficiency in commit
cf36410e30b3c18be6c556158b2d0d0938f5b77d
|
| |
|
|
|
|
|
|
|
| |
Error out on static function without file scope and give an explaination
to the user
This is a rewrite of e9406c09a3212ab3f120412a6bbdacb0cdd25deb but
considering problems raised about static local function pointers in
632ee5a54076d417971ae7fa8a0c154441a71499.
|
| |
|
|
| |
This reverts commit a5a50eaafeea0d3ca47bc8fb6baf983743470c60.
|
| |
|
|
| |
This reverts commit e3e5d4ad7a475e30ea13ad1ba9f23e6210d5d431.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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 Arrays in tinycc:
- Support VLA with multiple level (nested vla)
- Update documentation with regards to VT_VLA
- Add a testsuite in tcctest.c
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
- 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)
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
* Move functions parse_asm_str and asm_label_instr from tccasm.c to
tccgen.c
* Remove CONFIG_TCC_ASM_LABEL macro as asm label are available on all
archs.
See:
http://lists.nongnu.org/archive/html/tinycc-devel/2010-09/msg00026.html
for the rationale.
|
| |
|
|
|
|
| |
Add support for asm labels for functions, that is the ability to rename
a function at assembly level with __asm__ ("newname") appended in
function declaration.
|
| |
|
|
|
|
|
| |
This bug was reported in
http://lists.gnu.org/archive/html/tinycc-devel/2010-08/msg00050.html
In this case, we should not emit any code when we cast from VT_FUNC to VT_PTR.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 433ecdfc9d1402ecf03e710de481e2063ad6de90.
The patch breaks e.g. with
for ((i = 10); --i;);
In particular to check for a type decl. this is not sufficient:
if (tok < TOK_UIDENT) {
A future approach to c99 loop variables might instead use:
if (parse_btype(...)) {
plus refactor function decl() accordingly.
|
| |
|
|
|
| |
This reverts commits 670993..d35138
Maybe these commits fixed something but also seemed to cause problems.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit e9406c09a3212ab3f120412a6bbdacb0cdd25deb.
We don't want errors for static local function pointers, such as:
{
static void (*fn)();
...
}
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Error out on static function without file scope and give an explaination
to the user
|
| |
|
|
|
|
|
| |
Unary expression can start with a parenthesis. Thus, the current test
to detect which sizeof form is being parsed is inaccurate. This patch
makes tcc able to handle things like sizeof (x)[1] where x is declared
as char x[5]; wich is a valid unary expression
|
| |
|
|
|
|
|
| |
Error out with an explicit message when trying to initialize a
character array with something that's not a literal (optionally
enclosed in braces) as per C99 6.7.8:14; thanks to Antti-Juhani
Kaijanaho <ajk@debian.org> who did all the work.
|
| |
|
|
|
|
|
| |
Sorry for that.
--
By by ... Detlef
|
| |
|
|
|
|
|
|
| |
tcc is now able to parse <stdio.h> from gcc, when
__GNUC__ is also defined
--
By by ... Detlef
|
| |
|
|
| |
We could support this for index == 0, but GCC doesn't bother, so why should we?
|
| | |
|
| |
|
|
|
| |
--
By by ... Detlef
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
If you want that, run: make NOTALLINONE=1
|
| |
|
|
| |
exception handler borrowed from k1w1. Thanks.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
main (int argc, char *argv[])
{
char *p = (char *)0x12345678ABCD000F;
int res;
res = (p != (char *)0x12345678ABCD000F);
return res;
}
|
| |
|
|
|
| |
Store (part of) the AttributeDef structure in the (int)sym-r
field of the typedef symbol (kludgy).
|
| |
|
|
|
|
|
| |
When storing structs with a memcpy call in vstore(),
so far a needless entry remaining on the vstack
sometimes resulted in an useless store generated by
save_regs() in gfunc_call() for the memcpy routine.
|