This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.24-567-g7699988


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  769998892d4f39d912fbe147eca9a3e89318cffc (commit)
      from  ef83c83a257226d470a939434c7193e2a1fd4f82 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=769998892d4f39d912fbe147eca9a3e89318cffc

commit 769998892d4f39d912fbe147eca9a3e89318cffc
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Dec 30 13:41:40 2016 +0000

    Define __intmax_t, __uintmax_t in bits/types.h.
    
    TS 18661-1 defines *fromfp* functions, which are declared in math.h
    and whose return types are intmax_t and uintmax_t, without allowing
    math.h to define those typedefs.  (This is similar to e.g. ISO C
    declaring vprintf in stdio.h without allowing that header to define
    va_list.)  Thus, math.h needs to access those typedefs under internal
    names.
    
    This patch accordingly arranges for bits/types.h (which defines only
    internal names, not public *_t typedefs) to define __intmax_t and
    __uintmax_t.  stdint.h is made to use bits/types.h and define intmax_t
    and uintmax_t using __intmax_t and __uintmax_t, to avoid duplication
    of information.  (It would be reasonable to define more of the types
    in stdint.h - and in sys/types.h, where it duplicates such types -
    using information already available in bits/types.h.)  The idea is
    that the subsequent addition of fromfp functions would then make
    math.h include bits/types.h and use __intmax_t and __uintmax_t as the
    return types of those functions.
    
    Tested for x86_64 and x86 (testsuite, and that installed stripped
    shared libraries are unchanged by the patch).
    
    	* bits/types.h (__intmax_t): New typedef.
    	(__uintmax_t): Likewise.
    	* sysdeps/generic/stdint.h: Include <bits/types.h>.
    	(intmax_t): Define using __intmax_t.
    	(uintmax_t): Define using __uintmax_t.

diff --git a/ChangeLog b/ChangeLog
index ad20821..abb3696 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2016-12-30  Joseph Myers  <joseph@codesourcery.com>
 
+	* bits/types.h (__intmax_t): New typedef.
+	(__uintmax_t): Likewise.
+	* sysdeps/generic/stdint.h: Include <bits/types.h>.
+	(intmax_t): Define using __intmax_t.
+	(uintmax_t): Define using __uintmax_t.
+
 	* support/Makefile (tests-special): Make definition conditional on
 	[$(run-built-tests) = yes].
 	($(objpfx)tst-support_record_failure-2.out): Make rule conditional
diff --git a/bits/types.h b/bits/types.h
index 01753bd..8c8fe9f 100644
--- a/bits/types.h
+++ b/bits/types.h
@@ -56,6 +56,15 @@ __extension__ typedef long long int __quad_t;
 __extension__ typedef unsigned long long int __u_quad_t;
 #endif
 
+/* Largest integral types.  */
+#if __WORDSIZE == 64
+typedef long int __intmax_t;
+typedef unsigned long int __uintmax_t;
+#else
+__extension__ typedef long long int __intmax_t;
+__extension__ typedef unsigned long long int __uintmax_t;
+#endif
+
 
 /* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
    macros for each of the OS types we define below.  The definitions
diff --git a/sysdeps/generic/stdint.h b/sysdeps/generic/stdint.h
index 8e4347c..4db6e1c 100644
--- a/sysdeps/generic/stdint.h
+++ b/sysdeps/generic/stdint.h
@@ -24,6 +24,7 @@
 
 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
 #include <bits/libc-header-start.h>
+#include <bits/types.h>
 #include <bits/wchar.h>
 #include <bits/wordsize.h>
 
@@ -131,15 +132,8 @@ typedef unsigned int		uintptr_t;
 
 
 /* Largest integral types.  */
-#if __WORDSIZE == 64
-typedef long int		intmax_t;
-typedef unsigned long int	uintmax_t;
-#else
-__extension__
-typedef long long int		intmax_t;
-__extension__
-typedef unsigned long long int	uintmax_t;
-#endif
+typedef __intmax_t		intmax_t;
+typedef __uintmax_t		uintmax_t;
 
 
 # if __WORDSIZE == 64

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                |    6 ++++++
 bits/types.h             |    9 +++++++++
 sysdeps/generic/stdint.h |   12 +++---------
 3 files changed, 18 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]