Hi Grischka, Using your advice, I added #if !defined(TCC_TARGET_ARM) around all code directly or indirectly using ldouble_long which solved warning. If you agree, I'll push this change on mod but IMHO it should be done the other way, #if defined(<targets-that-need-it>)
jullien@sims3:~/tinycc $ git diff diff --git a/lib/libtcc1.c b/lib/libtcc1.c index 9195489..9353d9a 100644 --- a/lib/libtcc1.c +++ b/lib/libtcc1.c @@ -76,6 +76,7 @@ typedef long double XFtype; #define EXPLD(fp) (fp.l.upper & 0x7fff) #define SIGNLD(fp) ((fp.l.upper) & 0x8000) +#if !defined(TCC_TARGET_ARM) /* only for x86 */ union ldouble_long { long double ld; @@ -84,6 +85,7 @@ union ldouble_long { unsigned short upper; } l; }; +#endif union double_long { double d; @@ -550,6 +552,7 @@ unsigned long long __fixunssfdi (float a1) return 0; } +#if !defined(TCC_TARGET_ARM) unsigned long long __fixunsdfdi (double a1) { register union double_long dl1; @@ -598,24 +601,25 @@ unsigned long long __fixunsxfdi (long double a1) return 0; } -long long __fixsfdi (float a1) +long long __fixdfdi (double a1) { long long ret; int s; - ret = __fixunssfdi((s = a1 >= 0) ? a1 : -a1); + ret = __fixunsdfdi((s = a1 >= 0) ? a1 : -a1); return s ? ret : -ret; } -long long __fixdfdi (double a1) +long long __fixxfdi (long double a1) { long long ret; int s; - ret = __fixunsdfdi((s = a1 >= 0) ? a1 : -a1); + ret = __fixunsxfdi((s = a1 >= 0) ? a1 : -a1); return s ? ret : -ret; } +#endif -long long __fixxfdi (long double a1) +long long __fixsfdi (float a1) { long long ret; int s; - ret = __fixunsxfdi((s = a1 >= 0) ? a1 : -a1); + ret = __fixunssfdi((s = a1 >= 0) ? a1 : -a1); return s ? ret : -ret; } -----Original Message----- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of grischka Sent: vendredi 5 mai 2017 15:05 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] Annoying new warning Christian JULLIEN wrote: > Grischka, > > it was my first attempt with fprintf+exit(0) but I found that none was available in libtcc. > > I vote for _xxx_abort(const char* msg); > > Christian Nope. Just #ifdef out the entire function. --- grischka _______________________________________________ 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