The DOC/DOC0/DOC1 are like keywords to be placed into the warning
message. They shouldn't be translated as they can referenced directly
in the specific processor architectural options. So, I will use %qs
for them, and fix the other signalized problems.
Thank you

On Wed, Apr 17, 2019 at 2:25 PM Jakub Jelinek <ja...@redhat.com> wrote:
>
> On Wed, Apr 17, 2019 at 02:09:33PM +0300, Claudiu Zissulescu wrote:
> >    /* Warn for unimplemented PIC in pre-ARC700 cores, and disable flag_pic. 
> >  */
> >    if (flag_pic && TARGET_ARC600_FAMILY)
> >      {
> >        warning (0,
> > -            "PIC is not supported for %s. Generating non-PIC code only..",
> > +            "PIC is not supported for %s.  Generating non-PIC code only",
> >              arc_cpu_string);
>
> I believe this is undesirable too.  Either use something like
> "PIC is not supported for %s; generating non-PIC code only"
> or split that into two messages
> if (warning (0, "PIC is not supported for %s", arc_cpu_string))
>   inform (input_location, "generating non-PIC code only");
>
> > @@ -1222,26 +1222,26 @@ arc_override_options (void)
> >    do {                                                               \
> >      if ((!(arc_selected_cpu->arch_info->flags & CODE))               \
> >       && (VAR == VAL))                                        \
> > -      error ("Option %s=%s is not available for %s CPU.",    \
> > +      error ("option %s=%s is not available for %s CPU",     \
> >            DOC0, DOC1, arc_selected_cpu->name);               \
>
> I think another complaint in the PR was that it is unclear what
> those DOC0/DOC1/DOC strings stand for, if they are keywords on what
> one writes on the command line or similar (then it should be quoted,
> %qs or %<%s=%s%>), if it is something different, then maybe it is
> not the right thing to construct a translatable sentence from that
> error/warning gmsgid string and one or more words that are inserted
> somewhere into the sentence.  At least for the ARC_OPT the latter seems to
> be the case, given e.g.:
> ARC_OPT (FL_LL64,     (1ULL << 5), MASK_LL64,              "double 
> load/store")
> ARC_OPT (FL_BS,       (1ULL << 6), MASK_BARREL_SHIFTER,    "barrel shifter")
> Is barrel shifter a keyword, or just random words added into the sentence?
> If the latter, then the translators might want to translate that too, but in
> that case together with the surroundings too.
> ARC_OPT (FL_SPFP,     (1ULL << 12), MASK_SPFP_COMPACT_SET, "single precission 
> FPX")
> ARC_OPT (FL_DPFP,     (1ULL << 13), MASK_DPFP_COMPACT_SET, "double precission 
> FPX")
> has spelling errors,
> s/precission/precision/g
>
> >      if ((arc_selected_cpu->arch_info->dflags & CODE)         \
> >       && (VAR != DEFAULT_##VAR)                               \
> >       && (VAR != VAL))                                        \
> > -      warning (0, "Option %s is ignored, the default value %s"       \
> > -            " is considered for %s CPU.", DOC0, DOC1,        \
> > +      warning (0, "option %s is ignored, the default value %s"       \
> > +            " is considered for %s CPU", DOC0, DOC1,         \
> >              arc_selected_cpu->name);                         \
> >   } while (0);
> >  #define ARC_OPT(NAME, CODE, MASK, DOC)                               \
> >    do {                                                               \
> >      if ((!(arc_selected_cpu->arch_info->flags & CODE))               \
> >       && (target_flags & MASK))                               \
> > -      error ("Option %s is not available for %s CPU",                \
> > +      error ("option %s is not available for %s CPU",                \
> >            DOC, arc_selected_cpu->name);                      \
> >      if ((arc_selected_cpu->arch_info->dflags & CODE)         \
> >       && (target_flags_explicit & MASK)                       \
> >       && (!(target_flags & MASK)))                            \
> > -      warning (0, "Unset option %s is ignored, it is always" \
> > -            " enabled for %s CPU.", DOC,                     \
> > +      warning (0, "unset option %s is ignored, it is always" \
> > +            " enabled for %s CPU", DOC,                      \
> >              arc_selected_cpu->name);                         \
> >    } while (0);
> >
> > @@ -7268,7 +7268,8 @@ check_if_valid_regno_const (rtx *operands, int opno)
> >      case CONST_INT :
> >        return true;
> >      default:
> > -     error ("register number must be a compile-time constant. Try giving 
> > higher optimization levels");
> > +     error ("register number must be a compile-time constant.  "
> > +            "Try giving higher optimization levels");
>
> Similarly to the above case.
>
>         Jakub

Reply via email to