Hello,

With both the most current git commit (b082659) and version 0.9.27, on Ubuntu 
16.04 on x86-64, when compiling the provided input addrof_addrof.i, TCC stops 
abruptly with the message below:

$ cat addrof_addrof.i
void f(void) {
  int i;
  char *p;
  p + &&b[i];
}
$ ./tcc addrof_addrof.i
tcc: x86_64-gen.c:441: load: Assertion `((ft & VT_BTYPE) == VT_INT) || ((ft & 
VT_BTYPE) == VT_LLONG) || ((ft & VT_BTYPE) == VT_PTR) || ((ft & VT_BTYPE) == 
VT_FUNC)' failed.
Aborted

I believe that it is interpreting &&b as the address of a label, a GCC 
extension to ease the implementation of interpreters and, according to 
https://bellard.org/tcc/tcc-doc.html , supported by TCC.

Pascal

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

Reply via email to