https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38573

--- Comment #7 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
intrinsic.c contains a similar error message:

  if (!gfc_check_intrinsic_standard (isym, &symstd, false, loc)
      && !sym->attr.artificial)
    {
      if (sym->attr.proc == PROC_UNKNOWN && warn_intrinsics_std)
        gfc_warning_now (OPT_Wintrinsics_std, "The intrinsic %qs at %L is not "
                         "included in the selected standard but %s and %qs
will"
                         " be treated as if declared EXTERNAL.  Use an"
                         " appropriate -std=* option or define"
                         " -fall-intrinsics to allow this intrinsic.",
                         sym->name, &loc, symstd, sym->name);

      return false;

The use of the word 'but' here probably should be the start of a new sentence.
In this example parenthesis were not used to enclose the -std= and the
-fall-intrinsics.

Also in this same source file we have:

  switch (isym->standard)
    {
    case GFC_STD_F77:
      symstd_msg = "available since Fortran 77";
      break;

    case GFC_STD_F95_OBS:
      symstd_msg = "obsolescent in Fortran 95";
      break;

    case GFC_STD_F95_DEL:
      symstd_msg = "deleted in Fortran 95";
      break;

    case GFC_STD_F95:
      symstd_msg = "new in Fortran 95";
      break;

    case GFC_STD_F2003:
      symstd_msg = "new in Fortran 2003";
      break;

    case GFC_STD_F2008:
      symstd_msg = "new in Fortran 2008";
      break;

    case GFC_STD_F2008_TS:
      symstd_msg = "new in TS 29113/TS 18508";
      break;

    case GFC_STD_GNU:
      symstd_msg = "a GNU Fortran extension";
      break;

    case GFC_STD_LEGACY:
      symstd_msg = "for backward compatibility";
      break;

    default:
      gfc_internal_error ("Invalid standard code on intrinsic %qs (%d)",
                          isym->name, isym->standard);
    }

 --- snip ---

  /* Otherwise, fail.  */
  if (symstd)
    *symstd = _(symstd_msg);
  return false;

Where the mark is on the symstd_msg after it is set to one of the above cases. 
Are you saying this does not work?  Does the translation mark need to be on all
and not in one place?

Reply via email to