From owner-svn-src-head@FreeBSD.ORG Mon Apr 9 16:53:42 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9FA01106566B; Mon, 9 Apr 2012 16:53:42 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 61CC78FC20; Mon, 9 Apr 2012 16:53:42 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q39GrZI9013233; Mon, 9 Apr 2012 12:53:35 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q39GrZEo013232; Mon, 9 Apr 2012 12:53:35 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Date: Mon, 9 Apr 2012 12:53:35 -0400 From: David Schultz To: Tijl Coosemans Message-ID: <20120409165335.GA13177@zim.MIT.EDU> Mail-Followup-To: Tijl Coosemans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201203041400.q24E0WcS037398@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201203041400.q24E0WcS037398@svn.freebsd.org> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r232491 - in head/sys: amd64/include i386/include pc98/include x86/include X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 16:53:42 -0000 On Sun, Mar 04, 2012, Tijl Coosemans wrote: > Log: > Copy amd64 float.h to x86 and merge with i386 float.h. Replace > amd64/i386/pc98 float.h with stubs. [...] > --- head/sys/amd64/include/float.h Sun Mar 4 12:52:48 2012 (r232490, copy source) > +++ head/sys/x86/include/float.h Sun Mar 4 14:00:32 2012 (r232491) > @@ -42,7 +42,11 @@ __END_DECLS > #define FLT_RADIX 2 /* b */ > #define FLT_ROUNDS __flt_rounds() > #if __ISO_C_VISIBLE >= 1999 > +#ifdef _LP64 > #define FLT_EVAL_METHOD 0 /* no promotions */ > +#else > +#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ > +#endif > #define DECIMAL_DIG 21 /* max precision in decimal digits */ > #endif The implication of this code is that FLT_EVAL_METHOD depends on the size of a long, which it does not. Instead, it depends on whether SSE2 support is guaranteed to be present. If anything, the test should be something like #ifndef __i386__. By the way, the #defines for single- and double-precision are effectively MI and should be in, e.g., ieee754_float.h. I can send some old patches to that effect if someone wants to clean them up and commit them.