qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Maciej W. Rozycki" <macro@linux-mips.org>
To: Leon Alrae <leon.alrae@imgtec.com>
Cc: qemu-devel@nongnu.org, Aurelien Jarno <aurelien@aurel32.net>,
	Thomas Schwinge <thomas@codesourcery.com>
Subject: Re: [Qemu-devel] [PATCH v2 3/7] softfloat: Convert `*_default_nan' variables into inline functions
Date: Fri, 30 Jan 2015 16:02:58 +0000 (GMT)	[thread overview]
Message-ID: <alpine.LFD.2.11.1501301556390.28301@eddie.linux-mips.org> (raw)
In-Reply-To: <54CB909F.9010506@imgtec.com>

On Fri, 30 Jan 2015, Leon Alrae wrote:

> > @@ -760,6 +760,6 @@ static inline int float128_is_any_nan(fl
> >  /*----------------------------------------------------------------------------
> >  | The pattern for a default generated quadruple-precision NaN.
> >  *----------------------------------------------------------------------------*/
> > -extern const float128 float128_default_nan;
> > +__inline__ float128 float128_default_nan(void);
> >  
> 
> Unfortunately clang complains about it and eventually it won't link:
> 
>   CC    aarch64-softmmu/target-arm/helper-a64.o
> In file included from /qemu/target-arm/helper-a64.c:20:
> In file included from /qemu/target-arm/cpu.h:37:
> In file included from /qemu/include/qemu-common.h:120:
> In file included from /qemu/include/qemu/bswap.h:8:
> /qemu/include/fpu/softfloat.h:485:20: warning: inline function
> 'float32_default_nan' is not defined [-Wundefined-inline]
> __inline__ float32 float32_default_nan(void);
>                    ^
> /qemu/target-arm/helper-a64.c:345:19: note: used here
>             nan = float32_default_nan();
>                   ^
> In file included from /qemu/target-arm/helper-a64.c:20:
> In file included from /qemu/target-arm/cpu.h:37:
> In file included from /qemu/include/qemu-common.h:120:
> In file included from /qemu/include/qemu/bswap.h:8:
> /qemu/include/fpu/softfloat.h:597:20: warning: inline function
> 'float64_default_nan' is not defined [-Wundefined-inline]
> __inline__ float64 float64_default_nan(void);
>                    ^
> /qemu/target-arm/helper-a64.c:374:19: note: used here
>             nan = float64_default_nan();
>                   ^
> 2 warnings generated.
>   CC    aarch64-softmmu/target-arm/gdbstub64.o
>   CC    aarch64-softmmu/target-arm/crypto_helper.o
>   GEN   trace/generated-helpers.c
>   CC    aarch64-softmmu/trace/generated-helpers.o
>   LINK  aarch64-softmmu/qemu-system-aarch64
> fpu/softfloat.o: In function `commonNaNToFloat64':
> /qemu/fpu/softfloat-specialize.h:796: undefined reference to
> `float64_default_nan'
> /qemu/fpu/softfloat-specialize.h:805: undefined reference to
> `float64_default_nan'
> fpu/softfloat.o: In function `commonNaNToFloatx80':
> /qemu/fpu/softfloat-specialize.h:1007: undefined reference to
> `floatx80_default_nan'
> /qemu/fpu/softfloat-specialize.h:1014: undefined reference to
> `floatx80_default_nan'

 Hmm, so perhaps my idea for a later improvement:

>  Eventually we might want to move the new inline functions into a
> separate header to be included from softfloat.h instead of softfloat.c,
> but let's make changes one step at a time.

will actually have to be made right away.  I suspect GCC is more liberal 
here due to its convoluted extern/static/inline semantics history.  
Sigh...

  Maciej

  reply	other threads:[~2015-01-30 16:03 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-09  1:54 [Qemu-devel] [PATCH 0/7] MIPS: IEEE 754-2008 features support Maciej W. Rozycki
2014-12-09  1:54 ` [Qemu-devel] [PATCH 1/7] softfloat: Fix sNaN handling in FP conversion operations Maciej W. Rozycki
2015-01-29 14:51   ` Leon Alrae
2015-02-05 16:37   ` Peter Maydell
2015-02-05 16:38     ` Peter Maydell
2015-02-06 14:37     ` Maciej W. Rozycki
2015-02-06 14:45       ` Peter Maydell
2015-02-06 19:35         ` Maciej W. Rozycki
2015-02-08 12:12           ` Maciej W. Rozycki
2014-12-09  1:54 ` [Qemu-devel] [PATCH 2/7] softfloat: Simplify `floatx80ToCommonNaN' function Maciej W. Rozycki
2015-01-28 16:15   ` Leon Alrae
2014-12-09  1:55 ` [Qemu-devel] [PATCH 3/7] softfloat: Convert `*_default_nan' variables into inline functions Maciej W. Rozycki
2014-12-12 19:34   ` [Qemu-devel] [PATCH v2 " Maciej W. Rozycki
2015-01-30 14:09     ` Leon Alrae
2015-01-30 16:02       ` Maciej W. Rozycki [this message]
2015-01-30 16:55         ` Peter Maydell
2015-01-31 11:56           ` Maciej W. Rozycki
2015-01-31 12:52             ` Peter Maydell
2015-01-31 14:58               ` Maciej W. Rozycki
2015-02-03 15:43         ` Richard Henderson
2014-12-09  1:55 ` [Qemu-devel] [PATCH 4/7] softfloat: Add SoftFloat status parameter to `*_nan' functions Maciej W. Rozycki
2014-12-09  1:55 ` [Qemu-devel] [PATCH 5/7] softfloat: Rework `*_is_*_nan' functions Maciej W. Rozycki
2014-12-12 19:35   ` [Qemu-devel] [PATCH v2 " Maciej W. Rozycki
2015-02-05 16:42     ` Peter Maydell
2014-12-09  1:55 ` [Qemu-devel] [PATCH 6/7] softfloat: Add SoftFloat status `nan2008_mode' flag Maciej W. Rozycki
2014-12-12 19:35   ` [Qemu-devel] [PATCH v2 " Maciej W. Rozycki
2015-02-05 17:00     ` Peter Maydell
2015-02-05 19:07       ` Maciej W. Rozycki
2014-12-09  1:56 ` [Qemu-devel] [PATCH 7/7] target-mips: Add IEEE 754-2008 features support Maciej W. Rozycki
2015-02-09 17:10   ` Leon Alrae
2015-02-09 20:55     ` Maciej W. Rozycki
2015-02-10 10:44       ` Leon Alrae
2015-02-10 14:30         ` Maciej W. Rozycki
2015-02-10 17:21           ` Leon Alrae
2015-02-17 13:55   ` Maciej W. Rozycki
2014-12-09  9:20 ` [Qemu-devel] [PATCH 0/7] MIPS: " Peter Maydell
2014-12-09 12:28   ` Maciej W. Rozycki
2014-12-09 12:41     ` Peter Maydell
2014-12-09 18:16       ` Maciej W. Rozycki
2015-01-30 11:59 ` Peter Maydell
2015-01-30 13:47   ` Maciej W. Rozycki
     [not found]     ` <54CE9614.2060805@codesourcery.com>
2015-02-03 16:28       ` Thomas Schwinge
2015-02-03 22:30         ` Maciej W. Rozycki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.2.11.1501301556390.28301@eddie.linux-mips.org \
    --to=macro@linux-mips.org \
    --cc=aurelien@aurel32.net \
    --cc=leon.alrae@imgtec.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thomas@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).