Thank youuuu!!! This is some great stuff. It's getting so rare I run into compiler bugs with TinyCC now.
On Fri, Nov 8, 2019 at 1:59 AM Christian Jullien <eli...@orange.fr> wrote: > I added a test case in 22_floating_point.c and pushed the suggested fix in > mod. > > > > Christian > > > > *From:* Christian Jullien [mailto:eli...@orange.fr] > *Sent:* Tuesday, November 05, 2019 08:14 > *To:* 'tinycc-devel@nongnu.org' > *Subject:* RE: [Tinycc-devel] Floating/Double issue on arm64 in mob > > > > I confirm this BUG which appends on my FC31 Rpi aarch64. > > > > I “think” 4104 can be interpreted as VT_EXTERN | VT_FLOAT (i.e 0x00001000 > | 0x8) > > > > Quickly trying following diff looks to fix this issue (and makes the whole > test suite still happy). I let maintainers tell me if it is the right fix > to apply. > > > > diff --git a/arm64-gen.c b/arm64-gen.c > > index 5606271..5cd9e6b 100644 > > --- a/arm64-gen.c > > +++ b/arm64-gen.c > > @@ -1775,7 +1775,8 @@ ST_FUNC void gen_cvt_ftoi(int t) > > > > ST_FUNC void gen_cvt_ftof(int t) > > { > > - int f = vtop[0].type.t; > > + int f = vtop[0].type.t & VT_BTYPE; > > + > > assert(t == VT_FLOAT || t == VT_DOUBLE || t == VT_LDOUBLE); > > assert(f == VT_FLOAT || f == VT_DOUBLE || f == VT_LDOUBLE); > > if (t == f) > > > > > > *From:* Tinycc-devel [mailto:tinycc-devel-bounces+eligis= > orange...@nongnu.org] *On Behalf Of *Charles Lohr > *Sent:* Tuesday, November 05, 2019 07:52 > *To:* tinycc-devel@nongnu.org > *Subject:* [Tinycc-devel] Floating/Double issue on arm64 in mob > > > > 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 >
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel