From f2942ea4dd6da2fb288214764c0be02e859d4177 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Tue, 12 Jul 2005 10:35:00 +0000 Subject: [PATCH] merge from gcc --- include/ChangeLog | 5 +++++ include/xregex2.h | 8 +++++++- libiberty/ChangeLog | 10 ++++++++++ libiberty/floatformat.c | 7 +++++++ libiberty/pexecute.c | 4 ++-- libiberty/regex.c | 2 +- 6 files changed, 32 insertions(+), 4 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index d557750465..063e082cb0 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2005-07-12 Ben Elliston + + * xregex2.h (regexec): Qualify this prototype with __extension__ + when compiling with GNU C. + 2005-07-07 Kaveh R. Ghazi * dis-asm.h (fprintf_ftype): Add format attribute. diff --git a/include/xregex2.h b/include/xregex2.h index 358f31e437..d3d0da14a9 100644 --- a/include/xregex2.h +++ b/include/xregex2.h @@ -1,6 +1,9 @@ /* Definitions for data structures and routines for the regular expression library, version 0.12. - Copyright (C) 1985,1989-1993,1995-1998, 2000 Free Software Foundation, Inc. + + Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993, 1995, 1996, 1997, + 1998, 2000, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. @@ -533,6 +536,9 @@ extern int regcomp (regex_t *__restrict __preg, const char *__restrict __pattern, int __cflags); +#if (__GNUC__) +__extension__ +#endif extern int regexec (const regex_t *__restrict __preg, const char *__restrict __string, size_t __nmatch, regmatch_t __pmatch[__restrict_arr], diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index dc55ff2e54..e2cbeb4741 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,13 @@ +2005-07-12 Ben Elliston + + * floatformat.c (floatformat_to_double): Add a comment about a + potential source of warnings when compiling this file. + +2005-07-12 Ben Elliston + + * pexecute.c (pexecute): Cast string litrals to char *. + * regex.c (re_comp): Cast a call to gettext() to char *. + 2005-07-07 Kelley Cook * config.table: Delete file. Move former contents into ... diff --git a/libiberty/floatformat.c b/libiberty/floatformat.c index 41000f459e..e466f53a7a 100644 --- a/libiberty/floatformat.c +++ b/libiberty/floatformat.c @@ -306,6 +306,13 @@ floatformat_to_double (const struct floatformat *fmt, mant_bits_left -= mant_bits; } + /* On certain systems (such as GNU/Linux), the use of the + INFINITY macro below may generate a warning that can not be + silenced due to a bug in GCC (PR preprocessor/11931). The + preprocessor fails to recognise the __extension__ keyword in + conjunction with the GNU/C99 extension for hexadecimal + floating point constants and will issue a warning when + compiling with -pedantic. */ if (nan) dto = NAN; else diff --git a/libiberty/pexecute.c b/libiberty/pexecute.c index 60a280b8e4..cce6e300c5 100644 --- a/libiberty/pexecute.c +++ b/libiberty/pexecute.c @@ -47,7 +47,7 @@ pexecute (const char *program, char * const *argv, const char *pname, { if (pex != NULL) { - *errmsg_fmt = "pexecute already in progress"; + *errmsg_fmt = (char *) "pexecute already in progress"; *errmsg_arg = NULL; return -1; } @@ -58,7 +58,7 @@ pexecute (const char *program, char * const *argv, const char *pname, { if (pex == NULL) { - *errmsg_fmt = "pexecute not in progress"; + *errmsg_fmt = (char *) "pexecute not in progress"; *errmsg_arg = NULL; return -1; } diff --git a/libiberty/regex.c b/libiberty/regex.c index 9d3e532a59..b7be99d25b 100644 --- a/libiberty/regex.c +++ b/libiberty/regex.c @@ -7814,7 +7814,7 @@ re_comp (const char *s) if (!s) { if (!re_comp_buf.buffer) - return gettext ("No previous regular expression"); + return (char *) gettext ("No previous regular expression"); return 0; }