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