intl.c (fake_ngettext): New function.

2010-02-14  Marco Poletti  <poletti.marco@gmail.com>

	* intl.c (fake_ngettext): New function.
	* intl.h (fake_ngettext): Declare.
	(ngettext): Define macro.
	* collect2.c (notice_translated): New function.
	(main): Use notice_translated and ngettext.
	* collect2.h (notice_translated): Declare.

From-SVN: r156762
This commit is contained in:
Marco Poletti 2010-02-14 19:44:07 +00:00 committed by Joseph Myers
parent e4a20ced34
commit 0f667308a9
5 changed files with 51 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2010-02-14 Marco Poletti <poletti.marco@gmail.com>
* intl.c (fake_ngettext): New function.
* intl.h (fake_ngettext): Declare.
(ngettext): Define macro.
* collect2.c (notice_translated): New function.
(main): Use notice_translated and ngettext.
* collect2.h (notice_translated): Declare.
2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
* reorg.c (delete_computation): Comment fixes.

View File

@ -430,6 +430,17 @@ notice (const char *cmsgid, ...)
va_end (ap);
}
/* Notify user of a non-error, without translating the format string. */
void
notice_translated (const char *cmsgid, ...)
{
va_list ap;
va_start (ap, cmsgid);
vfprintf (stderr, cmsgid, ap);
va_end (ap);
}
/* Die when sys call fails. */
void
@ -1809,9 +1820,18 @@ main (int argc, char **argv)
if (debug)
{
notice ("%d constructor(s) found\n", constructors.number);
notice ("%d destructor(s) found\n", destructors.number);
notice ("%d frame table(s) found\n", frame_tables.number);
notice_translated (ngettext ("%d constructor found\n",
"%d constructors found\n",
constructors.number),
constructors.number);
notice_translated (ngettext ("%d destructor found\n",
"%d destructors found\n",
destructors.number),
destructors.number);
notice_translated (ngettext("%d frame table found\n",
"%d frame tables found\n",
frame_tables.number),
frame_tables.number);
}
/* If the scan exposed nothing of special interest, there's no need to

View File

@ -41,6 +41,7 @@ extern char *temporary_firstobj;
extern int vflag, debug;
extern void error (const char *, ...) ATTRIBUTE_PRINTF_1;
extern void notice_translated (const char *, ...) ATTRIBUTE_PRINTF_1;
extern void notice (const char *, ...) ATTRIBUTE_PRINTF_1;
extern void fatal (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
extern void fatal_perror (const char *, ...)

View File

@ -121,6 +121,19 @@ gcc_gettext_width (const char *msgstr)
#endif /* ENABLE_NLS */
#ifndef ENABLE_NLS
const char *
fake_ngettext (const char *singular, const char *plural, unsigned long n)
{
if (n == 1UL)
return singular;
return plural;
}
#endif
/* Return the indent for successive lines, using the width of
the STR. STR must have been translated already. The string
must be freed by the caller. */

View File

@ -38,8 +38,13 @@ extern size_t gcc_gettext_width (const char *);
# define bindtextdomain(domain, directory) (domain)
# undef gettext
# define gettext(msgid) (msgid)
# define ngettext(singular,plural,n) fake_ngettext(singular,plural,n)
# define gcc_init_libintl() /* nothing */
# define gcc_gettext_width(s) strlen(s)
extern const char *fake_ngettext(const char *singular,const char *plural,
unsigned long int n);
#endif
#ifndef _