[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Bug in tcc
From: |
Bernhard Fischer |
Subject: |
Re: [Tinycc-devel] Bug in tcc |
Date: |
Wed, 28 Sep 2005 21:08:42 +0200 |
User-agent: |
Mutt/1.5.9i |
On Wed, Sep 28, 2005 at 08:41:28PM +0200, Bernhard Fischer wrote:
>On Wed, Sep 28, 2005 at 09:36:02AM +0200, Sven Oliver Moll wrote:
>>On Wed, 28 Sep 2005, PerfectDark wrote:
>>
>>>>>>Just try to compile (tcc -c) following file:
>>>>>>
>>>>>>//-------------------------------------------
>>>>>>//begin
>>>>>>void foo(SomethingUnknownType* x)
>>>>>>{
>>>>>>}
>>>>>>//end
>>>>>>//-------------------------------------------
>>[...]
>>>
>>>May be all that bugs (see my next ask in list) because I use non-patched
>>>tcc (tcc-0.9.23), or windows version has something bug...
>>>
>>>Even though I could compile tcc by tcc and simple windows applications
>>>(GDI and console). Tcc crushes if it meet that code (see my question).
>>>
>>>If you know how I can fix it, tell me please.
>
>Can you try the attached patch, please an let me know if it fixed that
>particular thing?
erm, no. I thought that 0.9.23 had a plain tokcstr there, but it hasn't.
Sven,
what does 'bt' say for the segfault below?
>>(gdb) run -c foo.c
>>Starting program: /home/svolli/tcc/tcc-0.9.23/tcc -c foo.c
>>
>>Program received signal SIGSEGV, Segmentation fault.
>>0x0804bc2f in sym_push (v=42, type=0x80804ac, r=498, c=12) at tcc.c:1766
>>1766 s->prev_tok = *ps;
>>(gdb) quit
>>The program is running. Exit anyway? (y or n) y
>>$ cat foo.c
>>void foo(unknown *x)
>>{
>>}
>>
>>I'd say that ps is NULL in this case, but that's a rough guess.
>>Hope this helps.
>>
>>Greetings from Germany,
>>SvOlli
>>--
>>| _______ |
>>| ( /\ | There's no feeling any greater
>>|__)v\/lli a.k.a.| Than to shoot first and ask questions later
>>|Sven Oliver Moll| -- "Weird Al" Yankovic, "Trigger Happy"
>diff -rup tinycc.oorig/tcc.c tinycc.tmp/tcc.c
>--- tinycc.oorig/tcc.c 2005-09-05 23:04:12.000000000 +0200
>+++ tinycc.tmp/tcc.c 2005-09-28 20:38:40.000000000 +0200
>@@ -1452,7 +1452,8 @@ void warning(const char *fmt, ...)
> void skip(int c)
> {
> if (tok != c)
>- error("'%c' expected", c);
>+ error("syntax error before %c token. '%c' expected but saw \"%s\"",
>+ tok, c, tokcstr.data);
> next();
> }
>