From patchwork Thu Aug 16 19:12:56 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bootstrap] Tentative fix for PR 54281 Date: Thu, 16 Aug 2012 09:12:56 -0000 From: Diego Novillo X-Patchwork-Id: 178078 Message-Id: <502D4638.40009@google.com> To: "Joseph S. Myers" Cc: Magnus Fromreide , gcc-patches@gcc.gnu.org, Richard Guenther , "Iyer, Balaji V" On 12-08-16 15:00 , Diego Novillo wrote: > On 12-08-16 14:46 , Joseph S. Myers wrote: >> 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 >>> +#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.) > > I wonder if we couldn't simply '#define _LIBINTL_H 1' in the #else > branch then. Something like this (though it seems a bit hacky to me): This is the patch I'm currently testing. I need someone with a very old toolchain (4.1 or earlier) to also give this a try (the original problem does not occur in g++ more recent than 4.1). Thanks. Diego. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8ff00d..8798b8f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2012-08-16 Diego Novillo + PR bootstrap/54281 + * intl.h: Prevent libintl.h from being included when + ENABLE_NLS is not set. + +2012-08-16 Diego Novillo + Revert PR bootstrap/54281 diff --git a/gcc/intl.h b/gcc/intl.h index c4db354..e10e357 100644 --- a/gcc/intl.h +++ b/gcc/intl.h @@ -32,6 +32,11 @@ extern void gcc_init_libintl (void); extern size_t gcc_gettext_width (const char *); #else +/* Prevent libintl.h from being included, since we are truncating + some functions (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54281). */ +# ifndef _LIBINTL_H +# define _LIBINTL_H 1 +# endif /* Stubs. */ # undef textdomain # define textdomain(domain) (domain)