Commit f1685b7c by Zack Weinberg

bad.c: Include intl.h.

	* bad.c: Include intl.h.
	(FFEBAD_MSGS1, FFEBAD_MSGS2): Replace by FFEBAD_MSG, SHORT,
	LONG.  Adjust definitions to work with exgettext.
	(ffebad_start_): Translate all error messages.
	(ffebad_finish): Mark constant strings for translation.
	* bad.h: Use FFEBAD_MSG.  Adjust prototype of ffebad_start_
	and definitions of ffebad_start_msg, ffebad_start_msg_lex to
	work with exgettext.
	* bad.def: Use FFEBAD_MSG, SHORT, LONG throughout.

	* com.c: Include intl.h.
	(lang_print_error_function): Always use ffeinfo_kind_message
	to get the kind label for a non-nested construct.  Translate
	it.  Translate constant strings.
	* info.c (FFEINFO_KIND): Adjust definition to work with exgettext.
	* info-k.def: Block xgettext from slurping copyright notice
	into gcc.pot.  Adjust strings for their sole use, in com.c.

	* Make-lang.in (f/bad.o, f/com.o): Depend on intl.h.

From-SVN: r49123
parent bd571ffc
2001-01-14 David Billinghurst <David.Billinghurst@riotinto.com> 2002-01-22 Zack Weinberg <zack@codesourcery.com>
PR fortran/3807 * bad.c: Include intl.h.
* f/intrin.c (ffeintrin_check_): Allow for case of intrinsic (FFEBAD_MSGS1, FFEBAD_MSGS2): Replace by FFEBAD_MSG, SHORT,
control string have COL-spec an integer > 0. LONG. Adjust definitions to work with exgettext.
(ffebad_start_): Translate all error messages.
(ffebad_finish): Mark constant strings for translation.
* bad.h: Use FFEBAD_MSG. Adjust prototype of ffebad_start_
and definitions of ffebad_start_msg, ffebad_start_msg_lex to
work with exgettext.
* bad.def: Use FFEBAD_MSG, SHORT, LONG throughout.
* com.c: Include intl.h.
(lang_print_error_function): Always use ffeinfo_kind_message
to get the kind label for a non-nested construct. Translate
it. Translate constant strings.
* info.c (FFEINFO_KIND): Adjust definition to work with exgettext.
* info-k.def: Block xgettext from slurping copyright notice
into gcc.pot. Adjust strings for their sole use, in com.c.
* Make-lang.in (f/bad.o, f/com.o): Depend on intl.h.
2002-01-14 David Billinghurst <David.Billinghurst@riotinto.com>
PR fortran/3807
* f/intrin.c (ffeintrin_check_): Allow for case of intrinsic
control string have COL-spec an integer > 0.
2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk> 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
...@@ -46,7 +68,7 @@ Sun Dec 16 16:08:57 2001 Joseph S. Myers <jsm28@cam.ac.uk> ...@@ -46,7 +68,7 @@ Sun Dec 16 16:08:57 2001 Joseph S. Myers <jsm28@cam.ac.uk>
Sun Dec 16 10:36:51 2001 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Sun Dec 16 10:36:51 2001 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Make-lang.in (f/version.o): Depend on f/version.h. * Make-lang.in (f/version.o): Depend on f/version.h.
* version.c: Include ansidecl.h and f/version.h. * version.c: Include ansidecl.h and f/version.h.
Sun Dec 16 08:52:48 2001 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Sun Dec 16 08:52:48 2001 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
......
...@@ -350,7 +350,7 @@ f/bad.o: f/bad.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/bad.h f/bad.def f/where.h \ ...@@ -350,7 +350,7 @@ f/bad.o: f/bad.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/bad.h f/bad.def f/where.h \
glimits.h f/top.h f/malloc.h flags.h f/com.h f/com-rt.def $(TREE_H) f/bld.h \ glimits.h f/top.h f/malloc.h flags.h f/com.h f/com-rt.def $(TREE_H) f/bld.h \
f/bld-op.def f/bit.h f/info.h f/info-b.def f/info-k.def f/info-w.def \ f/bld-op.def f/bit.h f/info.h f/info-b.def f/info-k.def f/info-w.def \
f/target.h f/lex.h f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h \ f/target.h f/lex.h f/type.h f/intrin.h f/intrin.def f/lab.h f/symbol.h \
f/symbol.def f/equiv.h f/storag.h f/global.h f/name.h toplev.h f/symbol.def f/equiv.h f/storag.h f/global.h f/name.h toplev.h intl.h
f/bit.o: f/bit.c f/proj.h $(CONFIG_H) $(SYSTEM_H) glimits.h f/bit.h \ f/bit.o: f/bit.c f/proj.h $(CONFIG_H) $(SYSTEM_H) glimits.h f/bit.h \
f/malloc.h f/malloc.h
f/bld.o: f/bld.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/bld.h f/bld-op.def f/bit.h \ f/bld.o: f/bld.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/bld.h f/bld-op.def f/bit.h \
...@@ -364,7 +364,7 @@ f/com.o: f/com.c f/proj.h $(CONFIG_H) $(SYSTEM_H) flags.h $(RTL_H) $(TREE_H) \ ...@@ -364,7 +364,7 @@ f/com.o: f/com.c f/proj.h $(CONFIG_H) $(SYSTEM_H) flags.h $(RTL_H) $(TREE_H) \
f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/intrin.h \ f/bad.def f/where.h glimits.h f/top.h f/lex.h f/type.h f/intrin.h \
f/intrin.def f/lab.h f/symbol.h f/symbol.def f/equiv.h f/storag.h f/global.h \ f/intrin.def f/lab.h f/symbol.h f/symbol.def f/equiv.h f/storag.h f/global.h \
f/name.h f/expr.h f/implic.h f/src.h f/st.h $(GGC_H) toplev.h diagnostic.h \ f/name.h f/expr.h f/implic.h f/src.h f/st.h $(GGC_H) toplev.h diagnostic.h \
langhooks.h langhooks-def.h langhooks.h langhooks-def.h intl.h
f/data.o: f/data.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/data.h f/bld.h f/bld-op.def \ f/data.o: f/data.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/data.h f/bld.h f/bld-op.def \
f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \ f/bit.h f/malloc.h f/com.h f/com-rt.def $(TREE_H) f/info.h f/info-b.def \
f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \ f/info-k.def f/info-w.def f/target.h f/bad.h f/bad.def f/where.h glimits.h \
......
/* bad.c -- Implementation File (module.c template V1.0) /* bad.c -- Implementation File (module.c template V1.0)
Copyright (C) 1995 Free Software Foundation, Inc. Copyright (C) 1995, 2002 Free Software Foundation, Inc.
Contributed by James Craig Burley. Contributed by James Craig Burley.
This file is part of GNU Fortran. This file is part of GNU Fortran.
...@@ -42,6 +42,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -42,6 +42,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "com.h" #include "com.h"
#include "toplev.h" #include "toplev.h"
#include "where.h" #include "where.h"
#include "intl.h"
/* Externals defined here. */ /* Externals defined here. */
...@@ -70,15 +71,18 @@ struct _ffebad_message_ ...@@ -70,15 +71,18 @@ struct _ffebad_message_
static const struct _ffebad_message_ ffebad_messages_[] static const struct _ffebad_message_ ffebad_messages_[]
= =
{ {
#define FFEBAD_MSGS1(KWD,SEV,MSG) { SEV, MSG }, #define FFEBAD_MSG(kwd,sev,msgid) { sev, msgid },
#if FFEBAD_LONG_MSGS_ == 0 #if FFEBAD_LONG_MSGS_ == 0
#define FFEBAD_MSGS2(KWD,SEV,LMSG,SMSG) { SEV, SMSG }, #define LONG(m)
#define SHORT(m) m
#else #else
#define FFEBAD_MSGS2(KWD,SEV,LMSG,SMSG) { SEV, LMSG }, #define LONG(m) m
#define SHORT(m)
#endif #endif
#include "bad.def" #include "bad.def"
#undef FFEBAD_MSGS1 #undef FFEBAD_MSG
#undef FFEBAD_MSGS2 #undef LONG
#undef SHORT
}; };
static struct static struct
...@@ -161,7 +165,7 @@ ffebad_severity (ffebad errnum) ...@@ -161,7 +165,7 @@ ffebad_severity (ffebad errnum)
bool bool
ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev, ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev,
const char *message) const char *msgid)
{ {
unsigned char i; unsigned char i;
...@@ -174,12 +178,12 @@ ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev, ...@@ -174,12 +178,12 @@ ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev,
if (errnum != FFEBAD) if (errnum != FFEBAD)
{ {
ffebad_severity_ = ffebad_messages_[errnum].severity; ffebad_severity_ = ffebad_messages_[errnum].severity;
ffebad_message_ = ffebad_messages_[errnum].message; ffebad_message_ = gettext (ffebad_messages_[errnum].message);
} }
else else
{ {
ffebad_severity_ = sev; ffebad_severity_ = sev;
ffebad_message_ = message; ffebad_message_ = gettext (msgid);
} }
switch (ffebad_severity_) switch (ffebad_severity_)
...@@ -379,15 +383,15 @@ ffebad_finish () ...@@ -379,15 +383,15 @@ ffebad_finish ()
switch (ffebad_severity_) switch (ffebad_severity_)
{ {
case FFEBAD_severityINFORMATIONAL: case FFEBAD_severityINFORMATIONAL:
s = "note:"; s = _("note:");
break; break;
case FFEBAD_severityWARNING: case FFEBAD_severityWARNING:
s = "warning:"; s = _("warning:");
break; break;
case FFEBAD_severitySEVERE: case FFEBAD_severitySEVERE:
s = "fatal:"; s = _("fatal:");
break; break;
default: default:
...@@ -429,7 +433,7 @@ ffebad_finish () ...@@ -429,7 +433,7 @@ ffebad_finish ()
pointer); pointer);
last_line_num = ln; last_line_num = ln;
last_col_num = cn; last_col_num = cn;
s = "(continued):"; s = _("(continued):");
} }
else else
{ {
...@@ -479,14 +483,14 @@ ffebad_finish () ...@@ -479,14 +483,14 @@ ffebad_finish ()
if ((index < 0) || (index >= FFEBAD_MAX_)) if ((index < 0) || (index >= FFEBAD_MAX_))
{ {
bufi = ffebad_bufputs_ (buf, bufi, "[REPORT BUG!!] %"); bufi = ffebad_bufputs_ (buf, bufi, _("[REPORT BUG!!] %"));
bufi = ffebad_bufputc_ (buf, bufi, c); bufi = ffebad_bufputc_ (buf, bufi, c);
} }
else else
{ {
s = ffebad_string_[index]; s = ffebad_string_[index];
if (s == NULL) if (s == NULL)
bufi = ffebad_bufputs_ (buf, bufi, "[REPORT BUG!!]"); bufi = ffebad_bufputs_ (buf, bufi, _("[REPORT BUG!!]"));
else else
bufi = ffebad_bufputs_ (buf, bufi, s); bufi = ffebad_bufputs_ (buf, bufi, s);
} }
...@@ -497,7 +501,7 @@ ffebad_finish () ...@@ -497,7 +501,7 @@ ffebad_finish ()
if ((index < 0) || (index >= FFEBAD_MAX_)) if ((index < 0) || (index >= FFEBAD_MAX_))
{ {
bufi = ffebad_bufputs_ (buf, bufi, "[REPORT BUG!!] %"); bufi = ffebad_bufputs_ (buf, bufi, _("[REPORT BUG!!] %"));
bufi = ffebad_bufputc_ (buf, bufi, c); bufi = ffebad_bufputc_ (buf, bufi, c);
} }
else else
...@@ -518,7 +522,7 @@ ffebad_finish () ...@@ -518,7 +522,7 @@ ffebad_finish ()
bufi = ffebad_bufputc_ (buf, bufi, '%'); bufi = ffebad_bufputc_ (buf, bufi, '%');
else else
{ {
bufi = ffebad_bufputs_ (buf, bufi, "[REPORT BUG!!]"); bufi = ffebad_bufputs_ (buf, bufi, _("[REPORT BUG!!]"));
bufi = ffebad_bufputc_ (buf, bufi, '%'); bufi = ffebad_bufputc_ (buf, bufi, '%');
bufi = ffebad_bufputc_ (buf, bufi, c); bufi = ffebad_bufputc_ (buf, bufi, c);
} }
......
/* bad.h -- Public #include File (module.h template V1.0) /* bad.h -- Public #include File (module.h template V1.0)
Copyright (C) 1995 Free Software Foundation, Inc. Copyright (C) 1995, 2002 Free Software Foundation, Inc.
Contributed by James Craig Burley. Contributed by James Craig Burley.
This file is part of GNU Fortran. This file is part of GNU Fortran.
...@@ -34,11 +34,9 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -34,11 +34,9 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
typedef enum typedef enum
{ {
#define FFEBAD_MSGS1(KWD,SEV,MSG) KWD, #define FFEBAD_MSG(KWD,SEV,MSG) KWD,
#define FFEBAD_MSGS2(KWD,SEV,LMSG,SMSG) KWD,
#include "bad.def" #include "bad.def"
#undef FFEBAD_MSGS1 #undef FFEBAD_MSG
#undef FFEBAD_MSGS2
FFEBAD FFEBAD
} ffebad; } ffebad;
...@@ -82,7 +80,7 @@ void ffebad_init_0 (void); ...@@ -82,7 +80,7 @@ void ffebad_init_0 (void);
bool ffebad_is_fatal (ffebad errnum); bool ffebad_is_fatal (ffebad errnum);
ffebadSeverity ffebad_severity (ffebad errnum); ffebadSeverity ffebad_severity (ffebad errnum);
bool ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev, bool ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev,
const char *message); const char *msgid);
void ffebad_string (const char *string); void ffebad_string (const char *string);
/* Define macros. */ /* Define macros. */
...@@ -95,8 +93,8 @@ void ffebad_string (const char *string); ...@@ -95,8 +93,8 @@ void ffebad_string (const char *string);
#define ffebad_set_inhibit(f) (ffebad_is_inhibited_ = (f)) #define ffebad_set_inhibit(f) (ffebad_is_inhibited_ = (f))
#define ffebad_start(e) ffebad_start_ (FALSE, (e), FFEBAD_severity, NULL) #define ffebad_start(e) ffebad_start_ (FALSE, (e), FFEBAD_severity, NULL)
#define ffebad_start_lex(e) ffebad_start_ (TRUE, (e), FFEBAD_severity, NULL) #define ffebad_start_lex(e) ffebad_start_ (TRUE, (e), FFEBAD_severity, NULL)
#define ffebad_start_msg(m,s) ffebad_start_ (FALSE, FFEBAD, (s), (m)) #define ffebad_start_msg(msgid,s) ffebad_start_ (FALSE, FFEBAD, (s), (msgid))
#define ffebad_start_msg_lex(m,s) ffebad_start_ (TRUE, FFEBAD, (s), (m)) #define ffebad_start_msg_lex(msgid,s) ffebad_start_ (TRUE, FFEBAD, (s), (msgid))
#define ffebad_terminate_0() #define ffebad_terminate_0()
#define ffebad_terminate_1() #define ffebad_terminate_1()
#define ffebad_terminate_2() #define ffebad_terminate_2()
......
...@@ -89,6 +89,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -89,6 +89,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "convert.h" #include "convert.h"
#include "ggc.h" #include "ggc.h"
#include "diagnostic.h" #include "diagnostic.h"
#include "intl.h"
#include "langhooks.h" #include "langhooks.h"
#include "langhooks-def.h" #include "langhooks-def.h"
...@@ -13669,33 +13670,12 @@ lang_print_error_function (diagnostic_context *context __attribute__((unused)), ...@@ -13669,33 +13670,12 @@ lang_print_error_function (diagnostic_context *context __attribute__((unused)),
if (ffecom_nested_entry_ == NULL) if (ffecom_nested_entry_ == NULL)
{ {
s = ffecom_primary_entry_; s = ffecom_primary_entry_;
switch (ffesymbol_kind (s)) kind = _(ffeinfo_kind_message (ffesymbol_kind (s)));
{
case FFEINFO_kindFUNCTION:
kind = "function";
break;
case FFEINFO_kindSUBROUTINE:
kind = "subroutine";
break;
case FFEINFO_kindPROGRAM:
kind = "program";
break;
case FFEINFO_kindBLOCKDATA:
kind = "block-data";
break;
default:
kind = ffeinfo_kind_message (ffesymbol_kind (s));
break;
}
} }
else else
{ {
s = ffecom_nested_entry_; s = ffecom_nested_entry_;
kind = "statement function"; kind = _("In statement function");
} }
} }
...@@ -13705,12 +13685,12 @@ lang_print_error_function (diagnostic_context *context __attribute__((unused)), ...@@ -13705,12 +13685,12 @@ lang_print_error_function (diagnostic_context *context __attribute__((unused)),
fprintf (stderr, "%s: ", file); fprintf (stderr, "%s: ", file);
if (s == NULL) if (s == NULL)
fprintf (stderr, "Outside of any program unit:\n"); fprintf (stderr, _("Outside of any program unit:\n"));
else else
{ {
const char *name = ffesymbol_text (s); const char *name = ffesymbol_text (s);
fprintf (stderr, "In %s `%s':\n", kind, name); fprintf (stderr, "%s `%s':\n", kind, name);
} }
last_g = g; last_g = g;
......
/* info-k.def -- Public #include File (module.h template V1.0) /* info-k.def -- Public #include File (module.h template V1.0)
Copyright (C) 1995 Free Software Foundation, Inc. Copyright (C) 1995, 2002 Free Software Foundation, Inc.
Contributed by James Craig Burley. Contributed by James Craig Burley.
This file is part of GNU Fortran. This file is part of GNU Fortran.
...@@ -25,13 +25,17 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -25,13 +25,17 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
Modifications: Modifications:
*/ */
FFEINFO_KIND (FFEINFO_kindNONE, "an unknown kind", "") #
FFEINFO_KIND (FFEINFO_kindENTITY, "an entity", "e") /* Kind messages are used in diagnostic location reports of the
FFEINFO_KIND (FFEINFO_kindFUNCTION, "a function", "f") form "<file>: In function `foo': <error message>". */
FFEINFO_KIND (FFEINFO_kindSUBROUTINE, "a subroutine", "u")
FFEINFO_KIND (FFEINFO_kindPROGRAM, "a program", "p") FFEINFO_KIND (FFEINFO_kindNONE, "In unknown kind", "")
FFEINFO_KIND (FFEINFO_kindBLOCKDATA, "a block-data unit", "b") FFEINFO_KIND (FFEINFO_kindENTITY, "In entity", "e")
FFEINFO_KIND (FFEINFO_kindCOMMON, "a common block", "c") FFEINFO_KIND (FFEINFO_kindFUNCTION, "In function", "f")
FFEINFO_KIND (FFEINFO_kindCONSTRUCT, "a construct", ":") FFEINFO_KIND (FFEINFO_kindSUBROUTINE, "In subroutine", "u")
FFEINFO_KIND (FFEINFO_kindNAMELIST, "a namelist", "n") FFEINFO_KIND (FFEINFO_kindPROGRAM, "In program", "p")
FFEINFO_KIND (FFEINFO_kindANY, "anything", "~") FFEINFO_KIND (FFEINFO_kindBLOCKDATA, "In block-data unit", "b")
FFEINFO_KIND (FFEINFO_kindCOMMON, "In common block", "c")
FFEINFO_KIND (FFEINFO_kindCONSTRUCT, "In construct", ":")
FFEINFO_KIND (FFEINFO_kindNAMELIST, "In namelist", "n")
FFEINFO_KIND (FFEINFO_kindANY, "In anything", "~")
/* info.c -- Implementation File (module.c template V1.0) /* info.c -- Implementation File (module.c template V1.0)
Copyright (C) 1995 Free Software Foundation, Inc. Copyright (C) 1995, 2002 Free Software Foundation, Inc.
Contributed by James Craig Burley. Contributed by James Craig Burley.
This file is part of GNU Fortran. This file is part of GNU Fortran.
...@@ -65,7 +65,7 @@ static const char *const ffeinfo_basictype_string_[] ...@@ -65,7 +65,7 @@ static const char *const ffeinfo_basictype_string_[]
static const char *const ffeinfo_kind_message_[] static const char *const ffeinfo_kind_message_[]
= =
{ {
#define FFEINFO_KIND(KWD,LNAM,SNAM) LNAM, #define FFEINFO_KIND(kwd,msgid,snam) msgid,
#include "info-k.def" #include "info-k.def"
#undef FFEINFO_KIND #undef FFEINFO_KIND
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment