On Mon, Nov 4, 2019 at 10:52 PM Charles Lohr <loh...@gmail.com> wrote: > > Using default settings, in hash 96f1fb1, current mob head, I am having an > internal compiler assert on arm64. The following program causes an assert. > There are other cases but the assert remains the same. > > float fd; > int main() > { > if( fd < 5.5 ) return 1; > return 0; > } > > root@omitted:~/apps/cnovr/lib/tinycc# ./tcc failtest.c -Iinclude > tcc: arm64-gen.c:1781: gen_cvt_ftof: Assertion `f == VT_FLOAT || f == > VT_DOUBLE || f == VT_LDOUBLE' failed. > Aborted > > Digging a little further, turns out f is of type 4104. I'm not sure what the > best path forward here is. Any clues? > _______________________________________________ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
4104 is 0x1008, i.e. VT_FLOAT|VT_EXTERN. It looks like most of the other backends mask VT_BTYPE (the basic type, without storage modifiers) from t and vtop[0].type.t, so that would probably be the simplest fix here. (What's the process for sending patches?) Shachaf _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel