Remove __long_double_t

Message ID alpine.DEB.2.20.1708042242100.19430@digraph.polyomino.org.uk
State New, archived
Headers

Commit Message

Joseph Myers Aug. 4, 2017, 10:42 p.m. UTC
  sys/cdefs.h has a macro __long_double_t used in two places in glibc.
long double is a standard part of C since C89; there is no need for
such an alias for it.  This patch removes that macro and uses long
double directly everywhere.  As an implementation-namespace,
undocumented symbol, it should not be considered part of the API for
users, and codesearch.debian.net shows no sign of it being used
outside glibc in a way that would break with this patch.

Tested for x86_64.

2017-08-04  Joseph Myers  <joseph@codesourcery.com>

	* misc/sys/cdefs.h (__long_double_t): Remove.
	* stdio-common/printf_fp.c (__printf_fp_l): Use long double
	instead of __long_double_t,
	* stdlib/strfmon_l.c (__vstrfmon_l): Likewise.
  

Comments

Joseph Myers Aug. 7, 2017, 7:53 p.m. UTC | #1
Now committed.
  
Zack Weinberg Aug. 7, 2017, 8:17 p.m. UTC | #2
On Mon, Aug 7, 2017 at 3:53 PM, Joseph Myers <joseph@codesourcery.com> wrote:
> Now committed.

Sorry, I meant to respond to this.

I would bet that __long_double_t was inherited from the pre-C89 BSD
<sys/cdefs.h>, and I don't believe we have ever encouraged direct use
of that header, so this seems fine to me.

zw
  

Patch

diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 06523bf..b3e7f3b 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -102,7 +102,6 @@ 
 
 /* This is not a typedef so `const __ptr_t' does the right thing.  */
 #define __ptr_t void *
-#define __long_double_t  long double
 
 
 /* C++ needs to know that types and declarations are C, not C++.  */
diff --git a/stdio-common/printf_fp.c b/stdio-common/printf_fp.c
index 514b698..3ed4037 100644
--- a/stdio-common/printf_fp.c
+++ b/stdio-common/printf_fp.c
@@ -217,7 +217,7 @@  __printf_fp_l (FILE *fp, locale_t loc,
   union
     {
       double dbl;
-      __long_double_t ldbl;
+      long double ldbl;
 #if __HAVE_DISTINCT_FLOAT128
       _Float128 f128;
 #endif
diff --git a/stdlib/strfmon_l.c b/stdlib/strfmon_l.c
index 69ca9d5..98554df 100644
--- a/stdlib/strfmon_l.c
+++ b/stdlib/strfmon_l.c
@@ -100,7 +100,7 @@  __vstrfmon_l (char *s, size_t maxsize, locale_t loc, const char *format,
       union
       {
 	double dbl;
-	__long_double_t ldbl;
+	long double ldbl;
       }
       fpnum;
       int int_format;