Patchwork [bootstrap] Tentative fix for PR 54281

login
register
mail settings
Submitter Diego Novillo
Date Aug. 16, 2012, 6:29 p.m.
Message ID <502D3C00.30707@google.com>
Download mbox | patch
Permalink /patch/178070/
State New
Headers show

Comments

Diego Novillo - Aug. 16, 2012, 6:29 p.m.
I have reverted my original fix and propose this one.  My fix caused 
build failures in Ada (which includes system.h inside 'extern "C"' 
blocks) and it also breaks in-tree isl/cloog.

Richi, I've tried building my own 4.1, but it doesn't build on my 
system.  Could you try this patch?  It includes libintl.h before 
undefining the names, this way the inclusion done from gmp.h turns into 
a nop.


Thanks.  Diego.

commit 96e3d8108901c6f94fa3b0f2de769370688836cb
Author: Diego Novillo <dnovillo@google.com>
Date:   Thu Aug 16 14:27:49 2012 -0400

     2012-08-16   Diego Novillo  <dnovillo@google.com>

         PR bootstrap/54281
         * intl.h: Always include libintl.h.
Joseph S. Myers - Aug. 16, 2012, 6:46 p.m.
On Thu, 16 Aug 2012, Diego Novillo wrote:

> diff --git a/gcc/intl.h b/gcc/intl.h
> index c4db354..745fefd 100644
> --- a/gcc/intl.h
> +++ b/gcc/intl.h
> @@ -27,8 +27,8 @@
>  # define setlocale(category, locale) (locale)
>  #endif
> 
> -#ifdef ENABLE_NLS
>  #include <libintl.h>
> +#ifdef ENABLE_NLS

I'm not sure it's safe to assume libintl.h exists on all hosts (e.g. 
MinGW) unless ENABLE_NLS.  (If ENABLE_NLS, the intl/ directory will have 
built that header if the host didn't have it.)

Patch

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a8ff00d..5252122 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@ 
  2012-08-16   Diego Novillo  <dnovillo@google.com>

+       PR bootstrap/54281
+       * intl.h: Always include libintl.h.
+
+2012-08-16   Diego Novillo  <dnovillo@google.com>
+
         Revert

         PR bootstrap/54281
diff --git a/gcc/intl.h b/gcc/intl.h
index c4db354..745fefd 100644
--- a/gcc/intl.h
+++ b/gcc/intl.h
@@ -27,8 +27,8 @@ 
  # define setlocale(category, locale) (locale)
  #endif

-#ifdef ENABLE_NLS
  #include <libintl.h>
+#ifdef ENABLE_NLS
  extern void gcc_init_libintl (void);
  extern size_t gcc_gettext_width (const char *);
  #else