if (expr->expr_type == EXPR_NULL && expr->ts.type == BT_UNKNOWN)
{
- *msg = "NULL() is not interoperable";
+ *msg = _("NULL() is not interoperable");
return false;
}
if (expr->ts.type == BT_BOZ)
{
- *msg = "BOZ literal constant";
+ *msg = _("BOZ literal constant");
return false;
}
if (expr->ts.type == BT_CLASS)
{
- *msg = "Expression is polymorphic";
+ *msg = _("Expression is polymorphic");
return false;
}
if (expr->ts.type == BT_DERIVED && !expr->ts.u.derived->attr.is_bind_c
&& !expr->ts.u.derived->ts.is_iso_c)
{
- *msg = "Expression is a noninteroperable derived type";
+ *msg = _("Expression is a noninteroperable derived type");
return false;
}
if (expr->ts.type == BT_PROCEDURE)
{
- *msg = "Procedure unexpected as argument";
+ *msg = _("Procedure unexpected as argument");
return false;
}
for (i = 0; gfc_logical_kinds[i].kind; i++)
if (gfc_logical_kinds[i].kind == expr->ts.kind)
return true;
- *msg = "Extension to use a non-C_Bool-kind LOGICAL";
+ *msg = _("Extension to use a non-C_Bool-kind LOGICAL");
return false;
}
if (gfc_notification_std (GFC_STD_GNU) && expr->ts.type == BT_CHARACTER
&& expr->ts.kind != 1)
{
- *msg = "Extension to use a non-C_CHAR-kind CHARACTER";
+ *msg = _("Extension to use a non-C_CHAR-kind CHARACTER");
return false;
}
&& expr->ts.u.cl
&& !gfc_length_one_character_type_p (&expr->ts))
{
- *msg = "Type shall have a character length of 1";
+ *msg = _("Type shall have a character length of 1");
return false;
}
}
if (gfc_is_coarray (expr))
{
- *msg = "Coarrays are not interoperable";
+ *msg = _("Coarrays are not interoperable");
return false;
}
gfc_array_ref *ar = gfc_find_array_ref (expr);
if (ar->type == AR_FULL && ar->as->type == AS_ASSUMED_SIZE)
{
- *msg = "Assumed-size arrays are not interoperable";
+ *msg = _("Assumed-size arrays are not interoperable");
return false;
}
}
gfc_symbol *symbol;
gfc_typespec *last_ts;
mpz_t offset;
- const char *msg = "F18(R841): data-implied-do object at %L is neither an "
- "array-element nor a scalar-structure-component";
symbol = lvalue->symtree->n.sym;
init = symbol->value;
violates F18(R841). If the error is removed, the expected result
is obtained. Leaving the code in place ensures a clean error
recovery. */
- gfc_error (msg, &lvalue->where);
+ gfc_error ("data-implied-do object at %L is neither an array-element "
+ "nor a scalar-structure-component (F2018: R841)",
+ &lvalue->where);
/* This breaks with the other reference types in that the output
constructor has to be of type COMPLEX, whereas the lvalue is
static bool
resolve_fl_variable (gfc_symbol *sym, int mp_flag)
{
- const char *auto_save_msg = "Automatic object %qs at %L cannot have the "
- "SAVE attribute";
+ const char *auto_save_msg = G_("Automatic object %qs at %L cannot have the "
+ "SAVE attribute");
if (!resolve_fl_var_and_proc (sym, mp_flag))
return false;
/* Since the pair of objects is not of the same type, mixed or
non-default sequences can be rejected. */
- msg = "Sequence %s with mixed components in EQUIVALENCE "
- "statement at %L with different type objects";
+ msg = G_("Sequence %s with mixed components in EQUIVALENCE "
+ "statement at %L with different type objects");
if ((object ==2
&& last_eq_type == SEQ_MIXED
&& last_where
&& !gfc_notify_std (GFC_STD_GNU, msg, sym->name, &e->where)))
continue;
- msg = "Non-default type object or sequence %s in EQUIVALENCE "
- "statement at %L with objects of different type";
+ msg = G_("Non-default type object or sequence %s in EQUIVALENCE "
+ "statement at %L with objects of different type");
if ((object ==2
&& last_eq_type == SEQ_NONDEFAULT
&& last_where
&& !gfc_notify_std (GFC_STD_GNU, msg, sym->name, &e->where)))
continue;
- msg ="Non-CHARACTER object %qs in default CHARACTER "
- "EQUIVALENCE statement at %L";
+ msg = G_("Non-CHARACTER object %qs in default CHARACTER "
+ "EQUIVALENCE statement at %L");
if (last_eq_type == SEQ_CHARACTER
&& eq_type != SEQ_CHARACTER
&& !gfc_notify_std (GFC_STD_GNU, msg, sym->name, &e->where))
continue;
- msg ="Non-NUMERIC object %qs in default NUMERIC "
- "EQUIVALENCE statement at %L";
+ msg = G_("Non-NUMERIC object %qs in default NUMERIC "
+ "EQUIVALENCE statement at %L");
if (last_eq_type == SEQ_NUMERIC
&& eq_type != SEQ_NUMERIC
&& !gfc_notify_std (GFC_STD_GNU, msg, sym->name, &e->where))
}
else if (UNLIKELY (c == 'x' || c == 'X'))
gfc_warning_now (OPT_Wsurprising,
- "Ignoring '!$omx' vendor-extension sentinel at %C");
+ "Ignoring %<!$omx%> vendor-extension sentinel at %C");
return false;
}
}
}
if (!found)
- gfc_error ("%qs specified in 'allocate' clause at %L but not "
+ gfc_error ("%qs specified in %<allocate%> clause at %L but not "
"in an explicit privatization clause",
alloc_nl->sym->name, &alloc_nl->where);
}
{
if (!search_ns->proc_name->attr.function
&& !search_ns->proc_name->attr.subroutine)
- gfc_error ("The base name for 'declare variant' must be "
+ gfc_error ("The base name for %<declare variant%> must be "
"specified at %L ", &odv->where);
else
error_found = false;