* MinGW compilation warnings in libiberty's xstrndup.c @ 2017-05-08 15:37 Eli Zaretskii 2017-05-19 15:27 ` Pedro Alves ` (2 more replies) 0 siblings, 3 replies; 14+ messages in thread From: Eli Zaretskii @ 2017-05-08 15:37 UTC (permalink / raw) To: gcc-patches; +Cc: gdb-patches When compiling libiberty (as part of GDB) with MinGW on MS-Windows, I see the following warning: gcc -c -DHAVE_CONFIG_H -O2 -gdwarf-4 -g3 -D__USE_MINGW_ACCESS -I. -I./../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic -D_GNU_SOURCE ./xstrndup.c -o xstrndup.o ./xstrndup.c: In function 'xstrndup': ./xstrndup.c:51:16: warning: implicit declaration of function 'strnlen' [-Wimplicit-function-declaration] size_t len = strnlen (s, n); ^ This happens because libiberty.h uses incorrect guards for the prototype of strnlen: #if defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN extern size_t strnlen (const char *, size_t); #endif It should use HAVE_STRNLEN instead, because that's the only strnlen-related macro defined in config.g when strnlen is probed by the configure script. Thanks. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-08 15:37 MinGW compilation warnings in libiberty's xstrndup.c Eli Zaretskii @ 2017-05-19 15:27 ` Pedro Alves 2017-05-19 15:47 ` Eli Zaretskii 2017-05-19 22:28 ` DJ Delorie 2017-05-26 21:49 ` DJ Delorie 2 siblings, 1 reply; 14+ messages in thread From: Pedro Alves @ 2017-05-19 15:27 UTC (permalink / raw) To: Eli Zaretskii, gcc-patches; +Cc: gdb-patches, Thomas Schwinge [Adding Thomas] On 05/08/2017 04:30 PM, Eli Zaretskii wrote: > When compiling libiberty (as part of GDB) with MinGW on MS-Windows, I > see the following warning: > > gcc -c -DHAVE_CONFIG_H -O2 -gdwarf-4 -g3 -D__USE_MINGW_ACCESS -I. -I./../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic -D_GNU_SOURCE ./xstrndup.c -o xstrndup.o > ./xstrndup.c: In function 'xstrndup': > ./xstrndup.c:51:16: warning: implicit declaration of function 'strnlen' [-Wimplicit-function-declaration] > size_t len = strnlen (s, n); > ^ > > This happens because libiberty.h uses incorrect guards for the > prototype of strnlen: > > #if defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN > extern size_t strnlen (const char *, size_t); > #endif > > It should use HAVE_STRNLEN instead, because that's the only > strnlen-related macro defined in config.g when strnlen is probed by > the configure script. Looks like the declaration check got added to gcc's configure, but not elsewhere, with: commit d968efeac356364c01445013a1a3660e5087cb15 Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> AuthorDate: Tue Jun 10 09:45:00 2014 +0000 [PR lto/61334] Declare prototype for strnlen, if needed. include/ * libiberty.h [defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN] (strnlen): New prototype. gcc/ * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen prototype. * config.in: Regenerate. * configure: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211401 138bc75d-0d04-0410-961f-82ee72b054a4 But then, xstrndup.c has at the top: #ifdef HAVE_STRING_H #include <string.h> #else # ifdef HAVE_STRINGS_H # include <strings.h> # endif #endif So I would expect your build to pick the strnlen declaration from one of the string.h or strings.h mingw headers. Why didn't it? Thanks, Pedro Alves ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-19 15:27 ` Pedro Alves @ 2017-05-19 15:47 ` Eli Zaretskii 2017-05-19 16:08 ` Pedro Alves 0 siblings, 1 reply; 14+ messages in thread From: Eli Zaretskii @ 2017-05-19 15:47 UTC (permalink / raw) To: Pedro Alves; +Cc: gcc-patches, gdb-patches, thomas > Cc: gdb-patches@sourceware.org, Thomas Schwinge <thomas@codesourcery.com> > From: Pedro Alves <palves@redhat.com> > Date: Fri, 19 May 2017 16:22:55 +0100 > > But then, xstrndup.c has at the top: > > #ifdef HAVE_STRING_H > #include <string.h> > #else > # ifdef HAVE_STRINGS_H > # include <strings.h> > # endif > #endif > > So I would expect your build to pick the strnlen declaration from > one of the string.h or strings.h mingw headers. Why didn't it? Because MinGW doesn't have it, not unless you build a program that will require one of the newer versions of the Windows C runtime library. That's why libiberty's strnlen is being compiled in the MinGW build in the first place. Specifically, the MinGW headers do provide a prototype for strnlen if the program defines __MSVCRT_VERSION__ to be a high enough version, or defines _POSIX_C_SOURCE >= 200809L, but none of these is set by default, and is not a good idea, as explained above, for a program that needs to run on a wide variety of OS versions. IOW, libiberty shouldn't rely on the system headers to provide a strnlen prototype when libiberty's strnlen is being included in the library as a replacement. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-19 15:47 ` Eli Zaretskii @ 2017-05-19 16:08 ` Pedro Alves 0 siblings, 0 replies; 14+ messages in thread From: Pedro Alves @ 2017-05-19 16:08 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gcc-patches, gdb-patches, thomas On 05/19/2017 04:40 PM, Eli Zaretskii wrote: >> Cc: gdb-patches@sourceware.org, Thomas Schwinge <thomas@codesourcery.com> >> From: Pedro Alves <palves@redhat.com> >> Date: Fri, 19 May 2017 16:22:55 +0100 >> >> But then, xstrndup.c has at the top: >> >> #ifdef HAVE_STRING_H >> #include <string.h> >> #else >> # ifdef HAVE_STRINGS_H >> # include <strings.h> >> # endif >> #endif >> >> So I would expect your build to pick the strnlen declaration from >> one of the string.h or strings.h mingw headers. Why didn't it? > > Because MinGW doesn't have it, not unless you build a program that > will require one of the newer versions of the Windows C runtime > library. That's why libiberty's strnlen is being compiled in the > MinGW build in the first place. OK, I didn't realize there was a strnlen replacement too. > > Specifically, the MinGW headers do provide a prototype for strnlen if > the program defines __MSVCRT_VERSION__ to be a high enough version, or > defines _POSIX_C_SOURCE >= 200809L, but none of these is set by > default, and is not a good idea, as explained above, for a program > that needs to run on a wide variety of OS versions. > > IOW, libiberty shouldn't rely on the system headers to provide a > strnlen prototype when libiberty's strnlen is being included in the > library as a replacement. OK, I guess then we're up to figuring out which direction to go. Either an AC_CHECK_DECL is missing on libiberty's configure, or the original patch really wanted AC_CHECK_FUNC instead of AC_CHECK_DECL. Or something else, I only look at libiberty's configury every couple of years and forget how this is all supposed to work in between. Thanks, Pedro Alves ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-08 15:37 MinGW compilation warnings in libiberty's xstrndup.c Eli Zaretskii 2017-05-19 15:27 ` Pedro Alves @ 2017-05-19 22:28 ` DJ Delorie 2017-05-19 22:31 ` Pedro Alves 2017-05-26 21:49 ` DJ Delorie 2 siblings, 1 reply; 14+ messages in thread From: DJ Delorie @ 2017-05-19 22:28 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gcc-patches, gdb-patches Eli Zaretskii <eliz@gnu.org> writes: > It should use HAVE_STRNLEN instead, because that's the only > strnlen-related macro defined in config.g when strnlen is probed by > the configure script. Ah, but gcc's configure defines HAVE_DECL_STRNLEN. Header guards need to be coordinated across all the users, not just libiberty. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-19 22:28 ` DJ Delorie @ 2017-05-19 22:31 ` Pedro Alves 2017-05-19 22:56 ` DJ Delorie 0 siblings, 1 reply; 14+ messages in thread From: Pedro Alves @ 2017-05-19 22:31 UTC (permalink / raw) To: DJ Delorie, Eli Zaretskii; +Cc: gcc-patches, gdb-patches On 05/19/2017 10:56 PM, DJ Delorie wrote: > > Eli Zaretskii <eliz@gnu.org> writes: >> It should use HAVE_STRNLEN instead, because that's the only >> strnlen-related macro defined in config.g when strnlen is probed by >> the configure script. > > Ah, but gcc's configure defines HAVE_DECL_STRNLEN. Header guards need > to be coordinated across all the users, not just libiberty. > The "user" in this case is libiberty itself. Thanks, Pedro Alves ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-19 22:31 ` Pedro Alves @ 2017-05-19 22:56 ` DJ Delorie 2017-05-19 23:22 ` Pedro Alves 0 siblings, 1 reply; 14+ messages in thread From: DJ Delorie @ 2017-05-19 22:56 UTC (permalink / raw) To: Pedro Alves; +Cc: eliz, gcc-patches, gdb-patches Right, I meant, libiberty's configure, gcc's configure, binutils' configure, and gdb's configure, all need to agree on whether strnlen is a HAVE or a HAVE_DECL type symbol. If they don't, the header can't provide "one" working solution. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-19 22:56 ` DJ Delorie @ 2017-05-19 23:22 ` Pedro Alves 2017-05-20 1:25 ` DJ Delorie 0 siblings, 1 reply; 14+ messages in thread From: Pedro Alves @ 2017-05-19 23:22 UTC (permalink / raw) To: DJ Delorie; +Cc: eliz, gcc-patches, gdb-patches On 05/19/2017 11:31 PM, DJ Delorie wrote: > > Right, I meant, libiberty's configure, gcc's configure, binutils' > configure, and gdb's configure, all need to agree on whether strnlen is > a HAVE or a HAVE_DECL type symbol. If they don't, the header can't > provide "one" working solution. > Ah, yeah. AFAICS, all the declaration checks in libiberty.h are HAVE_DECL checks. This suggests to me that this declaration guard should be HAVE_DECL too [1]. BTW, I once proposed a new libiberty.m4 file that all libiberty clients would source so that these checks are all centralized. Here: https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00580.html And follow up here: https://gcc.gnu.org/ml/gcc-patches/2015-02/msg01712.html Leading to (as, gold, ld, gdb and libiberty/ itself converted): https://github.com/palves/gdb/commits/palves/libiberty_m4 I never tried adjusting gcc, but even if it wouldn't work there, it'd still be a net win. Wonder what others think of that approach. Thanks, Pedro Alves ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-19 23:22 ` Pedro Alves @ 2017-05-20 1:25 ` DJ Delorie 2017-05-22 16:28 ` Pedro Alves 0 siblings, 1 reply; 14+ messages in thread From: DJ Delorie @ 2017-05-20 1:25 UTC (permalink / raw) To: Pedro Alves; +Cc: eliz, gcc-patches, gdb-patches, richard.guenther, thomas Pedro Alves <palves@redhat.com> writes: > Ah, yeah. AFAICS, all the declaration checks in libiberty.h are > HAVE_DECL checks. This suggests to me that this declaration guard > should be HAVE_DECL too [1]. Except the ones in the $funcs list, which includes strnlen. I think in the old days, we didn't put in declarations at all... until "char *" became a different size than "int" and we started needing them. So some functions in libiberty are HAVE_DECL and others are still HAVE. Ah, found it, this commit is incomplete: https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00784.html It changes gcc's configure but nobody else's (and now we have an answer to the three-year-old question "why don't we have a more liberal commit policy?" ;) which breaks both libiberty and libgfortran. > BTW, I once proposed a new libiberty.m4 file that all libiberty > clients would source so that these checks are all centralized. I have no philosophical problem with that type of change, but I have the usual fear of touching anything in libiberty that's been around this long ;-) (this bug being a prime example of how subtle an incorrect change can be) (and honestly, my upstream attention is elsewhere these days) ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-20 1:25 ` DJ Delorie @ 2017-05-22 16:28 ` Pedro Alves 0 siblings, 0 replies; 14+ messages in thread From: Pedro Alves @ 2017-05-22 16:28 UTC (permalink / raw) To: DJ Delorie; +Cc: eliz, gcc-patches, gdb-patches, richard.guenther, thomas On 05/20/2017 01:38 AM, DJ Delorie wrote: > > Pedro Alves <palves@redhat.com> writes: >> Ah, yeah. AFAICS, all the declaration checks in libiberty.h are >> HAVE_DECL checks. This suggests to me that this declaration guard >> should be HAVE_DECL too [1]. > > Except the ones in the $funcs list, which includes strnlen. I think in > the old days, we didn't put in declarations at all... until "char *" > became a different size than "int" and we started needing them. Running: $ grep HAVE_ libiberty/config.h | sed 's/DECL_//g'| sort | uniq -c | sort -n on the build I have handy shows: ... 2 #define HAVE_ASPRINTF 1 2 #define HAVE_BASENAME 1 2 #define HAVE_CALLOC 1 2 #define HAVE_FFS 1 2 #define HAVE_SBRK 1 2 #define HAVE_SNPRINTF 1 2 #define HAVE_STRTOL 1 2 #define HAVE_STRTOLL 1 2 #define HAVE_STRTOUL 1 2 #define HAVE_STRTOULL 1 2 #define HAVE_STRVERSCMP 1 2 #define HAVE_VASPRINTF 1 "2" means above means each FOO symbol above has both HAVE_FOO and HAVE_DECL_FOO defines: $ grep "HAVE.*_SNPRINTF" config.h #define HAVE_DECL_SNPRINTF 1 #define HAVE_SNPRINTF 1 > > So some functions in libiberty are HAVE_DECL and others are still HAVE. But I don't see any HAVE check in libiberty.h (for function symbols), only HAVE_DECL ones: $ grep HAVE libiberty.h /* HAVE_DECL_* is a three-state macro: undefined, 0 or 1. If it is #if !HAVE_DECL_BASENAME || defined (__DragonFly__) || defined (HAVE_DECL_BASENAME) autoconf which would result in HAVE_DECL_BASENAME being set. */ #if defined (HAVE_DECL_FFS) && !HAVE_DECL_FFS #if defined(HAVE_DECL_ASPRINTF) && !HAVE_DECL_ASPRINTF #if !HAVE_DECL_VASPRINTF #if defined(HAVE_DECL_SNPRINTF) && !HAVE_DECL_SNPRINTF #if defined(HAVE_DECL_VSNPRINTF) && !HAVE_DECL_VSNPRINTF #if defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN #if defined(HAVE_DECL_STRVERSCMP) && !HAVE_DECL_STRVERSCMP #if defined(HAVE_DECL_STRTOL) && !HAVE_DECL_STRTOL #if defined(HAVE_DECL_STRTOUL) && !HAVE_DECL_STRTOUL #if defined(HAVE_LONG_LONG) && defined(HAVE_DECL_STRTOLL) && !HAVE_DECL_STRTOLL #if defined(HAVE_LONG_LONG) && defined(HAVE_DECL_STRTOULL) && !HAVE_DECL_STRTOULL #if defined(HAVE_DECL_STRVERSCMP) && !HAVE_DECL_STRVERSCMP Nor in other headers under include/, while at it. Are you looking elsewhere perhaps? Based on the above, it looks to me like the non-HAVE_DECL HAVE symbols are implementation detail to libiberty, side effect of the checks used to determine whether a replacement is necessary. > > Ah, found it, this commit is incomplete: > > https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00784.html > > It changes gcc's configure but nobody else's (and now we have an answer > to the three-year-old question "why don't we have a more liberal commit > policy?" ;) which breaks both libiberty and libgfortran. Yeah, that exactly the sort of thing that gets fixed by design by having a centralized libiberty.m4 file. > >> BTW, I once proposed a new libiberty.m4 file that all libiberty >> clients would source so that these checks are all centralized. > > I have no philosophical problem with that type of change, but I have the > usual fear of touching anything in libiberty that's been around this > long ;-) > > (this bug being a prime example of how subtle an incorrect change can be) > > (and honestly, my upstream attention is elsewhere these days) > Thanks, Pedro Alves ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-08 15:37 MinGW compilation warnings in libiberty's xstrndup.c Eli Zaretskii 2017-05-19 15:27 ` Pedro Alves 2017-05-19 22:28 ` DJ Delorie @ 2017-05-26 21:49 ` DJ Delorie 2017-05-28 18:31 ` Eli Zaretskii 2 siblings, 1 reply; 14+ messages in thread From: DJ Delorie @ 2017-05-26 21:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gcc-patches, gdb-patches Please try this patch: Index: config.in =================================================================== --- config.in (revision 248482) +++ config.in (working copy) @@ -76,12 +76,16 @@ #undef HAVE_DECL_SBRK /* Define to 1 if you have the declaration of `snprintf', and to 0 if you don't. */ #undef HAVE_DECL_SNPRINTF +/* Define to 1 if you have the declaration of `strnlen', and to 0 if you + don't. */ +#undef HAVE_DECL_STRNLEN + /* Define to 1 if you have the declaration of `strtol', and to 0 if you don't. */ #undef HAVE_DECL_STRTOL /* Define to 1 if you have the declaration of `strtoll', and to 0 if you don't. */ Index: configure =================================================================== --- configure (revision 248482) +++ configure (working copy) @@ -5861,12 +5861,22 @@ else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOULL $ac_have_decl _ACEOF +ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" +if test "x$ac_cv_have_decl_strnlen" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNLEN $ac_have_decl +_ACEOF $as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h $as_echo "#define HAVE_SYS_NERR 1" >>confdefs.h @@ -7002,12 +7012,23 @@ else fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRVERSCMP $ac_have_decl _ACEOF + ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" +if test "x$ac_cv_have_decl_strnlen" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNLEN $ac_have_decl +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether canonicalize_file_name must be declared" >&5 $as_echo_n "checking whether canonicalize_file_name must be declared... " >&6; } if test "${libiberty_cv_decl_needed_canonicalize_file_name+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext Index: configure.ac =================================================================== --- configure.ac (revision 248482) +++ configure.ac (working copy) @@ -413,13 +413,13 @@ if test "x" = "y"; then stpcpy stpncpy strcasecmp strchr strdup \ strerror strncasecmp strndup strnlen strrchr strsignal strstr strtod \ strtol strtoul strtoll strtoull strverscmp sysconf sysctl sysmp \ table times tmpnam \ vasprintf vfprintf vprintf vsprintf \ wait3 wait4 waitpid) - AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf, strtol, strtoul, strtoll, strtoull]) + AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf, strtol, strtoul, strtoll, strtoull, strnlen]) AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.]) AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.]) AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.]) fi # For each of these functions, if the host does not provide the @@ -686,12 +686,13 @@ if test -z "${setobjs}"; then AC_CHECK_FUNCS($checkfuncs) AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf]) AC_CHECK_DECLS([calloc, getenv, getopt, malloc, realloc, sbrk]) AC_CHECK_DECLS([strtol, strtoul, strtoll, strtoull]) AC_CHECK_DECLS([strverscmp]) + AC_CHECK_DECLS([strnlen]) libiberty_NEED_DECLARATION(canonicalize_file_name) fi # Figure out which version of pexecute to use. case "${host}" in *-*-mingw* | *-*-winnt*) pexecute=pex-win32 ;; ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-26 21:49 ` DJ Delorie @ 2017-05-28 18:31 ` Eli Zaretskii 2017-05-31 6:17 ` DJ Delorie 0 siblings, 1 reply; 14+ messages in thread From: Eli Zaretskii @ 2017-05-28 18:31 UTC (permalink / raw) To: DJ Delorie; +Cc: gcc-patches, gdb-patches > From: DJ Delorie <dj@redhat.com> > Cc: gcc-patches@gcc.gnu.org, gdb-patches@sourceware.org > Date: Fri, 26 May 2017 17:34:12 -0400 > > > Please try this patch: Seems to work fine, thanks. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-28 18:31 ` Eli Zaretskii @ 2017-05-31 6:17 ` DJ Delorie 2017-05-31 6:55 ` Eli Zaretskii 0 siblings, 1 reply; 14+ messages in thread From: DJ Delorie @ 2017-05-31 6:17 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gcc-patches, gdb-patches Eli Zaretskii <eliz@gnu.org> writes: > Seems to work fine, thanks. Checked into gcc trunk then :-) ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: MinGW compilation warnings in libiberty's xstrndup.c 2017-05-31 6:17 ` DJ Delorie @ 2017-05-31 6:55 ` Eli Zaretskii 0 siblings, 0 replies; 14+ messages in thread From: Eli Zaretskii @ 2017-05-31 6:55 UTC (permalink / raw) To: DJ Delorie; +Cc: gcc-patches, gdb-patches > From: DJ Delorie <dj@redhat.com> > Cc: gcc-patches@gcc.gnu.org, gdb-patches@sourceware.org > Date: Wed, 31 May 2017 00:17:14 -0400 > > > Eli Zaretskii <eliz@gnu.org> writes: > > Seems to work fine, thanks. > > Checked into gcc trunk then :-) Thanks! ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2017-05-31 6:49 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-05-08 15:37 MinGW compilation warnings in libiberty's xstrndup.c Eli Zaretskii 2017-05-19 15:27 ` Pedro Alves 2017-05-19 15:47 ` Eli Zaretskii 2017-05-19 16:08 ` Pedro Alves 2017-05-19 22:28 ` DJ Delorie 2017-05-19 22:31 ` Pedro Alves 2017-05-19 22:56 ` DJ Delorie 2017-05-19 23:22 ` Pedro Alves 2017-05-20 1:25 ` DJ Delorie 2017-05-22 16:28 ` Pedro Alves 2017-05-26 21:49 ` DJ Delorie 2017-05-28 18:31 ` Eli Zaretskii 2017-05-31 6:17 ` DJ Delorie 2017-05-31 6:55 ` Eli Zaretskii
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).