summaryrefslogtreecommitdiff
path: root/gcc/fortran/intrinsic.c
diff options
context:
space:
mode:
authormanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-11 15:13:33 +0000
committermanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-11 15:13:33 +0000
commit716da296ca061b7eae92924e6cec959133ce9b67 (patch)
tree6688e37de9262fa9b6efc826ef89c8b02ae776ba /gcc/fortran/intrinsic.c
parent85c1abe4be1cb2609b34e07158109d60e94b9803 (diff)
downloadgcc-716da296ca061b7eae92924e6cec959133ce9b67.tar.gz
gcc/ChangeLog:
2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * diagnostic.c (diagnostic_action_after_output): Make it extern. Take diagnostic_t argument instead of diagnostic_info. Count also DK_WERROR towards max_errors. (diagnostic_report_diagnostic): Update call according to the above. (error_recursion): Likewise. * diagnostic.h (diagnostic_action_after_output): Declare. * pretty-print.c (pp_formatted_text_data): Delete. (pp_append_r): Call output_buffer_append_r. (pp_formatted_text): Call output_buffer_formatted_text. (pp_last_position_in_text): Call output_buffer_last_position_in_text. * pretty-print.h (output_buffer_formatted_text): New. (output_buffer_append_r): New. (output_buffer_last_position_in_text): New. gcc/testsuite/ChangeLog: 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> * gfortran.dg/do_iterator.f90: Remove bogus dg-warning. gcc/fortran/ChangeLog: 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (pp_error_buffer): New static variable. (pp_warning_buffer): Make it a pointer. (gfc_output_buffer_empty_p): New. (gfc_error_init_1): Call gfc_buffer_error. (gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the buffered_p flag. (gfc_clear_warning): Likewise. (gfc_warning_check): Call gfc_clear_warning. Only check the new pp_warning_buffer if the old warning_buffer was empty. Call diagnostic_action_after_output. (gfc_error_1): Renamed from gfc_error. (gfc_error): New. (gfc_clear_error): Clear also pp_error_buffer. (gfc_error_flag_test): Check also pp_error_buffer. (gfc_error_check): Likewise. Only check the new pp_error_buffer if the old error_buffer was empty. (gfc_move_output_buffer_from_to): New. (gfc_push_error): Use it here. Take also an output_buffer as argument. (gfc_pop_error): Likewise. (gfc_free_error): Likewise. (gfc_diagnostics_init): Use XNEW and placement-new to init pp_error_buffer and pp_warning_buffer. Set flush_p to false for both pp_warning_buffer and pp_error_buffer. * Update gfc_push_error, gfc_pop_error and gfc_free_error calls according to the above changes. * Use gfc_error_1 for all gfc_error calls that use multiple locations. * Use %qs instead of '%s' for many gfc_error calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218627 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/intrinsic.c')
-rw-r--r--gcc/fortran/intrinsic.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index baaa05a43b1..5abd02d6b46 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -3815,7 +3815,7 @@ sort_actual (const char *name, gfc_actual_arglist **ap,
if (a == NULL)
goto do_sort;
- gfc_error ("Too many arguments in call to '%s' at %L", name, where);
+ gfc_error ("Too many arguments in call to %qs at %L", name, where);
return false;
keywords:
@@ -3833,14 +3833,14 @@ keywords:
gfc_error ("The argument list functions %%VAL, %%LOC or %%REF "
"are not allowed in this context at %L", where);
else
- gfc_error ("Can't find keyword named '%s' in call to '%s' at %L",
+ gfc_error ("Can't find keyword named %qs in call to %qs at %L",
a->name, name, where);
return false;
}
if (f->actual != NULL)
{
- gfc_error ("Argument '%s' appears twice in call to '%s' at %L",
+ gfc_error ("Argument %qs appears twice in call to %qs at %L",
f->name, name, where);
return false;
}
@@ -3854,7 +3854,7 @@ optional:
{
if (f->actual == NULL && f->optional == 0)
{
- gfc_error ("Missing actual argument '%s' in call to '%s' at %L",
+ gfc_error ("Missing actual argument %qs in call to %qs at %L",
f->name, name, where);
return false;
}
@@ -3926,7 +3926,7 @@ check_arglist (gfc_actual_arglist **ap, gfc_intrinsic_sym *sym,
if (!gfc_compare_types (&ts, &actual->expr->ts))
{
if (error_flag)
- gfc_error ("Type of argument '%s' in call to '%s' at %L should "
+ gfc_error ("Type of argument %qs in call to %qs at %L should "
"be %s, not %s", gfc_current_intrinsic_arg[i]->name,
gfc_current_intrinsic, &actual->expr->where,
gfc_typename (&formal->ts),
@@ -4534,14 +4534,14 @@ gfc_intrinsic_sub_interface (gfc_code *c, int error_flag)
if (gfc_do_concurrent_flag && !isym->pure)
{
- gfc_error ("Subroutine call to intrinsic '%s' in DO CONCURRENT "
+ gfc_error ("Subroutine call to intrinsic %qs in DO CONCURRENT "
"block at %L is not PURE", name, &c->loc);
return MATCH_ERROR;
}
if (!isym->pure && gfc_pure (NULL))
{
- gfc_error ("Subroutine call to intrinsic '%s' at %L is not PURE", name,
+ gfc_error ("Subroutine call to intrinsic %qs at %L is not PURE", name,
&c->loc);
return MATCH_ERROR;
}