From owner-svn-src-all@freebsd.org  Sat Aug 12 18:28:03 2017
Return-Path: <owner-svn-src-all@freebsd.org>
Delivered-To: svn-src-all@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87A2DDC3B7C;
 Sat, 12 Aug 2017 18:28:03 +0000 (UTC)
 (envelope-from rlibby@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5722B6C01C;
 Sat, 12 Aug 2017 18:28:03 +0000 (UTC)
 (envelope-from rlibby@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7CIS2b9013816;
 Sat, 12 Aug 2017 18:28:02 GMT (envelope-from rlibby@FreeBSD.org)
Received: (from rlibby@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7CIS2RY013813;
 Sat, 12 Aug 2017 18:28:02 GMT (envelope-from rlibby@FreeBSD.org)
Message-Id: <201708121828.v7CIS2RY013813@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: rlibby set sender to
 rlibby@FreeBSD.org using -f
From: Ryan Libby <rlibby@FreeBSD.org>
Date: Sat, 12 Aug 2017 18:28:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r322435 - head/lib/msun/src
X-SVN-Group: head
X-SVN-Commit-Author: rlibby
X-SVN-Commit-Paths: head/lib/msun/src
X-SVN-Commit-Revision: 322435
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 12 Aug 2017 18:28:03 -0000

Author: rlibby
Date: Sat Aug 12 18:28:02 2017
New Revision: 322435
URL: https://svnweb.freebsd.org/changeset/base/322435

Log:
  Revert r322418, LDBL_MAX_EXP unsuitable for macro pasting on some arches
  
  Either need a different way to spell HALF_LDBL_MAX, or a different way
  to spell LDBL_MAX_EXP, or a different approach.
  
  Reported by:	ian

Modified:
  head/lib/msun/src/catrigl.c
  head/lib/msun/src/math_private.h
  head/lib/msun/src/s_csqrtl.c

Modified: head/lib/msun/src/catrigl.c
==============================================================================
--- head/lib/msun/src/catrigl.c	Sat Aug 12 18:11:41 2017	(r322434)
+++ head/lib/msun/src/catrigl.c	Sat Aug 12 18:28:02 2017	(r322435)
@@ -307,7 +307,7 @@ clog_for_large_values(long double complex z)
 		ay = t;
 	}
 
-	if (ax >= HALF_LDBL_MAX)
+	if (ax > LDBL_MAX / 2)
 		return (CMPLXL(logl(hypotl(x / m_e, y / m_e)) + 1,
 		    atan2l(y, x)));
 

Modified: head/lib/msun/src/math_private.h
==============================================================================
--- head/lib/msun/src/math_private.h	Sat Aug 12 18:11:41 2017	(r322434)
+++ head/lib/msun/src/math_private.h	Sat Aug 12 18:28:02 2017	(r322435)
@@ -272,15 +272,6 @@ do {								\
 #define	LD80C(m, ex, v)	{ .e = (v), }
 #endif
 
-/*
- * XXX LDBL_MAX is broken on i386.  If the precise value of LDBL_MAX is not
- * needed, this may be worked around by instead referring to a proxy, such
- * as HALF_LDBL_MAX, below.  HALF_LDBL_MAX is approximately LDBL_MAX / 2,
- * actually just greater than.  Note that 2 * HALF_LDBL_MAX will always
- * overflow to infinity, regardless of the precision and rounding modes.
- */
-#define	HALF_LDBL_MAX	__CONCAT(__CONCAT(0x0.8p, LDBL_MAX_EXP), L)
-
 #ifdef FLT_EVAL_METHOD
 /*
  * Attempt to get strict C99 semantics for assignment with non-C99 compilers.

Modified: head/lib/msun/src/s_csqrtl.c
==============================================================================
--- head/lib/msun/src/s_csqrtl.c	Sat Aug 12 18:11:41 2017	(r322434)
+++ head/lib/msun/src/s_csqrtl.c	Sat Aug 12 18:28:02 2017	(r322435)
@@ -43,7 +43,7 @@ __FBSDID("$FreeBSD$");
 #pragma	STDC CX_LIMITED_RANGE	ON
 
 /* We risk spurious overflow for components >= LDBL_MAX / (1 + sqrt(2)). */
-#define	THRESH	(HALF_LDBL_MAX / 1.207106781186547524400844362104849L)
+#define	THRESH	(LDBL_MAX / 2.414213562373095048801688724209698L)
 
 long double complex
 csqrtl(long double complex z)