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