[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Floating/Double issue on arm64 in mob

From: Shachaf Ben-Kiki
Subject: Re: [Tinycc-devel] Floating/Double issue on arm64 in mob
Date: Mon, 4 Nov 2019 23:14:54 -0800

On Mon, Nov 4, 2019 at 10:52 PM Charles Lohr <address@hidden> 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
> address@hidden
> 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?)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]