GNU C Library master sources branch master updated. glibc-2.28.9000-494-gc0feb73

eggert@sourceware.org eggert@sourceware.org
Thu Dec 27 19:17:00 GMT 2018


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  c0feb731d5bd063f351487c28eadaf37b33d07a5 (commit)
      from  5289f1f56b7174da6b036d24a7626d9cd658fb01 (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=c0feb731d5bd063f351487c28eadaf37b33d07a5

commit c0feb731d5bd063f351487c28eadaf37b33d07a5
Author: Paul Eggert <eggert@cs.ucla.edu>
Date:   Wed Dec 26 14:13:43 2018 -0800

    regex: simplify Gnulib port
    
    This simplifies the code, by removing stuff intended for porting
    to Gnulib but no longer needed there.
    * posix/regcomp.c [!_LIBC]: No need to put #ifdef _LIBC around
    uses of libc_hidden_def, weak_alias.
    * posix/regcomp.c, posix/regexec.c: Use __restrict rather than
    _Restrict_ except for public-facing headers.
    * posix/regex_internal.h (attribute_hidden) [!_LIBC]:
    Remove; already defined elsewhere.
    * posix/regex.c, posix/regex_internal.h:
    Use __GNUC_PREREQ instead of rolling our own.
    * posix/regex_internal.h (__GNUC_PREREQ): Remove duplicate defn.

diff --git a/ChangeLog b/ChangeLog
index ea72d5e..6967650 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	regex: simplify Gnulib port
+	This simplifies the code, by removing stuff intended for porting
+	to Gnulib but no longer needed there.
+	* posix/regcomp.c [!_LIBC]: No need to put #ifdef _LIBC around
+	uses of libc_hidden_def, weak_alias.
+	* posix/regcomp.c, posix/regexec.c: Use __restrict rather than
+	_Restrict_ except for public-facing headers.
+	* posix/regex_internal.h (attribute_hidden) [!_LIBC]:
+	Remove; already defined elsewhere.
+	* posix/regex.c, posix/regex_internal.h:
+	Use __GNUC_PREREQ instead of rolling our own.
+	* posix/regex_internal.h (__GNUC_PREREQ): Remove duplicate defn.
+
 2018-12-27  Wilco Dijkstra  <wdijkstr@arm.com>
 
 	* benchtests/bench-strlen.c (generic_strlen): New function.
diff --git a/posix/regcomp.c b/posix/regcomp.c
index 3ede12b..e03900a 100644
--- a/posix/regcomp.c
+++ b/posix/regcomp.c
@@ -233,9 +233,7 @@ re_compile_pattern (const char *pattern, size_t length,
     return NULL;
   return gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]);
 }
-#ifdef _LIBC
 weak_alias (__re_compile_pattern, re_compile_pattern)
-#endif
 
 /* Set by 're_set_syntax' to the current regexp syntax to recognize.  Can
    also be assigned to arbitrarily: each pattern buffer stores its own
@@ -260,9 +258,7 @@ re_set_syntax (reg_syntax_t syntax)
   re_syntax_options = syntax;
   return ret;
 }
-#ifdef _LIBC
 weak_alias (__re_set_syntax, re_set_syntax)
-#endif
 
 int
 re_compile_fastmap (struct re_pattern_buffer *bufp)
@@ -281,9 +277,7 @@ re_compile_fastmap (struct re_pattern_buffer *bufp)
   bufp->fastmap_accurate = 1;
   return 0;
 }
-#ifdef _LIBC
 weak_alias (__re_compile_fastmap, re_compile_fastmap)
-#endif
 
 static inline void
 __attribute__ ((always_inline))
@@ -464,7 +458,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
    the return codes and their meanings.)  */
 
 int
-regcomp (regex_t *_Restrict_ preg, const char *_Restrict_ pattern, int cflags)
+regcomp (regex_t *__restrict preg, const char *__restrict pattern, int cflags)
 {
   reg_errcode_t ret;
   reg_syntax_t syntax = ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTENDED
@@ -515,16 +509,14 @@ regcomp (regex_t *_Restrict_ preg, const char *_Restrict_ pattern, int cflags)
 
   return (int) ret;
 }
-#ifdef _LIBC
 libc_hidden_def (__regcomp)
 weak_alias (__regcomp, regcomp)
-#endif
 
 /* Returns a message corresponding to an error code, ERRCODE, returned
    from either regcomp or regexec.   We don't use PREG here.  */
 
 size_t
-regerror (int errcode, const regex_t *_Restrict_ preg, char *_Restrict_ errbuf,
+regerror (int errcode, const regex_t *__restrict preg, char *__restrict errbuf,
 	  size_t errbuf_size)
 {
   const char *msg;
@@ -555,9 +547,7 @@ regerror (int errcode, const regex_t *_Restrict_ preg, char *_Restrict_ errbuf,
 
   return msg_size;
 }
-#ifdef _LIBC
 weak_alias (__regerror, regerror)
-#endif
 
 
 #ifdef RE_ENABLE_I18N
@@ -657,10 +647,8 @@ regfree (regex_t *preg)
   re_free (preg->translate);
   preg->translate = NULL;
 }
-#ifdef _LIBC
 libc_hidden_def (__regfree)
 weak_alias (__regfree, regfree)
-#endif
 
 /* Entry points compatible with 4.2 BSD regex library.  We don't define
    them unless specifically requested.  */
diff --git a/posix/regex.c b/posix/regex.c
index a80e740..9d2071d 100644
--- a/posix/regex.c
+++ b/posix/regex.c
@@ -20,10 +20,10 @@
 #ifndef _LIBC
 # include <libc-config.h>
 
-# if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
+# if __GNUC_PREREQ (4, 6)
 #  pragma GCC diagnostic ignored "-Wsuggest-attribute=pure"
 # endif
-# if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+# if __GNUC_PREREQ (4, 3)
 #  pragma GCC diagnostic ignored "-Wold-style-definition"
 #  pragma GCC diagnostic ignored "-Wtype-limits"
 # endif
diff --git a/posix/regex_internal.h b/posix/regex_internal.h
index f4b2702..c7df419 100644
--- a/posix/regex_internal.h
+++ b/posix/regex_internal.h
@@ -144,10 +144,9 @@
 # define __mbrtowc mbrtowc
 # define __wcrtomb wcrtomb
 # define __regfree regfree
-# define attribute_hidden
 #endif /* not _LIBC */
 
-#if __GNUC__ < 3 + (__GNUC_MINOR__ < 1)
+#if !__GNUC_PREREQ (3, 1)
 # define __attribute__(arg)
 #endif
 
@@ -868,15 +867,6 @@ re_string_elem_size_at (const re_string_t *pstr, Idx idx)
 }
 #endif /* RE_ENABLE_I18N */
 
-#ifndef __GNUC_PREREQ
-# if defined __GNUC__ && defined __GNUC_MINOR__
-#  define __GNUC_PREREQ(maj, min) \
-         ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-# else
-#  define __GNUC_PREREQ(maj, min) 0
-# endif
-#endif
-
 #if __GNUC_PREREQ (3,4)
 # undef __attribute_warn_unused_result__
 # define __attribute_warn_unused_result__ \
diff --git a/posix/regexec.c b/posix/regexec.c
index ecb430d..d89c949 100644
--- a/posix/regexec.c
+++ b/posix/regexec.c
@@ -189,7 +189,7 @@ static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len);
    We return 0 if we find a match and REG_NOMATCH if not.  */
 
 int
-regexec (const regex_t *_Restrict_ preg, const char *_Restrict_ string,
+regexec (const regex_t *__restrict preg, const char *__restrict string,
 	 size_t nmatch, regmatch_t pmatch[], int eflags)
 {
   reg_errcode_t err;
@@ -232,8 +232,8 @@ __typeof__ (__regexec) __compat_regexec;
 
 int
 attribute_compat_text_section
-__compat_regexec (const regex_t *_Restrict_ preg,
-		  const char *_Restrict_ string, size_t nmatch,
+__compat_regexec (const regex_t *__restrict preg,
+		  const char *__restrict string, size_t nmatch,
 		  regmatch_t pmatch[], int eflags)
 {
   return regexec (preg, string, nmatch, pmatch,

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

Summary of changes:
 ChangeLog              |   15 +++++++++++++++
 posix/regcomp.c        |   16 ++--------------
 posix/regex.c          |    4 ++--
 posix/regex_internal.h |   12 +-----------
 posix/regexec.c        |    6 +++---
 5 files changed, 23 insertions(+), 30 deletions(-)


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



More information about the Glibc-cvs mailing list