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.27.9000-39-g383e87c


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  383e87c96b9eee3b4b2d78dbeeaa8e2c0db35feb (commit)
      from  d92c2759976600decd8353730a5b5ce30c2758d8 (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=383e87c96b9eee3b4b2d78dbeeaa8e2c0db35feb

commit 383e87c96b9eee3b4b2d78dbeeaa8e2c0db35feb
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Feb 6 21:48:35 2018 +0000

    Fix non-__GNUC__ definitions of __inline and __restrict (bug 17721).
    
    Bug 17721 reports that the non-__GNUC__ definitions of __inline and
    __restrict are suboptimal, in that they are defined to empty when they
    could be defined to inline and restrict for appropriate language
    versions.  This patch makes those fixes.
    
    Tested for x86_64 (however, I have not done any testing with an actual
    non-__GNUC__ compiler and it's likely such compilers may have other
    problems with glibc headers).
    
    	[BZ #17721]
    	* misc/sys/cdefs.h [!__GNUC__ && (__cplusplus || (__STDC_VERSION__
    	&& __STDC_VERSION__ >= 199901L))] (__inline): Define to inline.
    	[!__GNUC_PREREQ (2,92) && __STDC_VERSION__ && __STDC_VERSION__ >=
    	199901L] (__restrict): Define to restrict.

diff --git a/ChangeLog b/ChangeLog
index e19e415..62e2718 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2018-02-06  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #17721]
+	* misc/sys/cdefs.h [!__GNUC__ && (__cplusplus || (__STDC_VERSION__
+	&& __STDC_VERSION__ >= 199901L))] (__inline): Define to inline.
+	[!__GNUC_PREREQ (2,92) && __STDC_VERSION__ && __STDC_VERSION__ >=
+	199901L] (__restrict): Define to restrict.
+
 	[BZ #19667]
 	* string/testcopy.c: Include <support/support.h>.  Do not include
 	<malloc.h>.  Use <support/test-driver.c>.
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index af103fd..e80a45c 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -72,7 +72,12 @@
 
 #else	/* Not GCC.  */
 
-# define __inline		/* No inline functions.  */
+# if (defined __cplusplus						\
+      || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
+#  define __inline	inline
+# else
+#  define __inline		/* No inline functions.  */
+# endif
 
 # define __THROW
 # define __THROWNL
@@ -368,7 +373,11 @@
 
 /* __restrict is known in EGCS 1.2 and above. */
 #if !__GNUC_PREREQ (2,92)
-# define __restrict	/* Ignore */
+# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#  define __restrict	restrict
+# else
+#  define __restrict	/* Ignore */
+# endif
 #endif
 
 /* ISO C99 also allows to declare arrays as non-overlapping.  The syntax is

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

Summary of changes:
 ChangeLog        |    6 ++++++
 misc/sys/cdefs.h |   13 +++++++++++--
 2 files changed, 17 insertions(+), 2 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]