Hi,

On Thu, 24 Mar 2016, Steffen Nurpmeso wrote:

|>   tcc: x86_64-gen.c:421: load: Assertion `((ft & VT_BTYPE) == VT_IN\
|>   T) || ((ft & VT_BTYPE) == VT_LLONG) || ((ft & VT_BTYPE) == VT_PTR\
|>   ) || ((ft & VT_BTYPE) == VT_ENUM) || ((ft & VT_BTYPE) == VT_FUNC)\
|>   ' failed.
|>   /bin/sh: line 3: 20505 Aborted                 (core dumped) /hom\
|>   e/sdaoden/usr/opt/tcc-mob/bin/tcc -Wall -Wextra -pedantic -b -g -\
|>   I/home/sdaoden/usr/include -I/usr/local/include -I/usr/include -c tty.c
|
|Can't reproduce, please provide a testcase.

I still can.  I'll attach a heavily vaporised variant of the
source in question, just run "make build" and it should happen --
...
 tcc: x86_64-gen.c:421: load: Assertion `((ft & VT_BTYPE) == VT_INT) || ((ft & VT_BTYPE) == 
VT_LLONG) || ((ft & VT_BTYPE) == VT_PTR) || ((ft & VT_BTYPE) == VT_ENUM) || ((ft & 
VT_BTYPE) == VT_FUNC)' failed.
 /bin/sh: line 3: 22918 Aborted                 (core dumped) 
/home/sdaoden/usr/opt/tcc-mob/bin/tcc -Wall -Wextra -pedantic -b -g 
-I/home/sdaoden/usr/include -I/usr/local/include -I/usr/include -c tty.c

Thanks for the testcase.  The problem is ideosyncratic use of volatile:

  char c;
  char volatile vc;
  vc = c;

Here volatile doesn't make much sense, but tripped TCCs assertions.
Fixed in mob.  Thanks again for the report.


Ciao,
Michael.

_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to