public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* 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).