|
From: | Pascal Cuoq |
Subject: | [Tinycc-devel] Assertion failed when compiling p + &&b[i] |
Date: | Wed, 6 Mar 2019 21:24:35 +0000 |
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
|
[Prev in Thread] | Current Thread | [Next in Thread] |