Fortran : Fortran translation issues PR52279

Martin Sebor msebor@gmail.com
Wed Jul 1 17:56:19 GMT 2020


Hi Mark,

I suspect this change may be behind a bootstrap failure I'm seeing.
My guess is that the hint needs to be a pointer rather than an array.

Thanks
Martin

In file included from /ssd/test/src/gcc/trunk/gcc/fortran/gfortran.h:52,
                  from /ssd/test/src/gcc/trunk/gcc/fortran/check.c:32:
/ssd/test/src/gcc/trunk/gcc/fortran/check.c: In function ‘bool 
gfc_invalid_boz(const char*, locus*)’:
/ssd/test/src/gcc/trunk/gcc/intl.h:51:27: error: initializer fails to 
determine size of ‘hint’
    51 | # define _(msgid) gettext (msgid)
       |                   ~~~~~~~~^~~~~~~
/ssd/test/src/gcc/trunk/gcc/fortran/check.c:70:23: note: in expansion of 
macro ‘_’
    70 |   const char hint[] = _(" [see %<-fno-allow-invalid-boz%>]");
       |                       ^
/ssd/test/src/gcc/trunk/gcc/intl.h:51:27: error: array must be 
initialized with a brace-enclosed initializer
    51 | # define _(msgid) gettext (msgid)
       |                   ~~~~~~~~^~~~~~~
/ssd/test/src/gcc/trunk/gcc/fortran/check.c:70:23: note: in expansion of 
macro ‘_’
    70 |   const char hint[] = _(" [see %<-fno-allow-invalid-boz%>]");
       |                       ^


On 6/30/20 6:59 AM, Mark Eggleston wrote:
> ping!
> 
> On 25/06/2020 07:28, Mark Eggleston wrote:
>> Patch to fix PR52279.  Marked strings that are indirectly used in 
>> error and warning messages so that they are marked for translation.
>>
>> OK to commit?
>>
>> Commit message:
>>
>> Fortran  : Fortran translation issues PR52279
>>
>> Mark strings for translation by enclosing in G_() and _().
>>
>> 2020-06-24  Mark Eggleston <markeggleston@gcc.gnu.org>
>>
>> gcc/fortran/
>>
>>     PR fortran/52279
>>     * arith.c (reduce_binary_aa): Mark for translation the string
>>     parameter to gfc_check_conformance with G_().
>>     * check.c (gfc_invalid_boz): Mark hint for translation using
>>     _().  (gfc_check_achar): Mark for translation the message
>>     parameter to gfc_invalid_boz using G_(). (gfc_check_char):
>>     Mark for translation the message parameter to gfc_invalid_boz
>>     using G_().  (gfc_check_complex): Mark for translation the
>>     message parameter to gfc_invalid_boz using G_().
>>     (gfc_check_float): Mark for translation the message
>>         parameter to gfc_invalid_boz using G_(). (check_rest): Mark
>>     for translation the string parameter to gfc_check_conformance
>>     with _().  (gfc_check_minloc_maxloc): Mark for translation
>>     the string parameter to gfc_check_conformance with _().
>>     (gfc_check_findloc): Mark for translation the string parameter
>>     to gfc_check_conformance with _(). (check_reduction): Mark
>>         for translation the string parameter to gfc_check_conformance
>>         with _().  (gfc_check_pack): Mark for translation the string
>>     parameter to gfc_check_conformance with _().
>>     * decl.c (match_old_style_init): Mark for translation the
>>     message parameter to gfc_invalid_boz using G_().
>>     * decl.c (gfc_check_assign): Mark for translation the string
>>     parameter to gfc_check_conformance with _().
>>     * intrinsic.c (check_specific): Mark for translation the string
>>     parameter to gfc_check_conformance with _().
>>     (gfc_check_intrinsic_standard): Mark symstd_msg strings for
>>     translation using G_(). No need to mark symstd_msg for
>>     translation in call to gfc_warning or when setting symstd.
>>     * io.c (check_open_constraints):  Mark strings for translation
>>     using G_() in all calls to warn_or_error. (match_io_element):
>>     Mark for translation the message parameter to gfc_invalid_boz
>>         using G_().
>>     * primary.c (match_boz_constant): Mark for translation the
>>     message parameter to gfc_invalid_boz using G_().
>>     * resolve.c (resolve_elemental_actual):  Mark for translation
>>     the string parameter to gfc_check_conformance with _().
>>     (resolve_operator):  Mark for translation the string parameter
>>     to gfc_check_conformance with _().  Mark translation strings
>>     assigned to msg using G_() for use in a call to cfg_warning.
>>



More information about the Gcc-patches mailing list