re PR fortran/36132 (_gfortran_internal_pack on optional arguments)
2008-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/36132 PR fortran/29952 PR fortran/36909 * trans.c (gfc_trans_runtime_check): Allow run-time warning * besides run-time error. * trans.h (gfc_trans_runtime_check): Update declaration. * trans-array.c * (gfc_trans_array_ctor_element,gfc_trans_array_bound_check, gfc_conv_array_ref,gfc_conv_ss_startstride,gfc_trans_dummy_array_bias): Updated gfc_trans_runtime_check calls. (gfc_conv_array_parameter): Implement flag_check_array_temporaries, fix packing/unpacking for nonpresent optional actuals to optional formals. * trans-array.h (gfc_conv_array_parameter): Update declaration. * trans-expr.c (gfc_conv_substring,gfc_trans_arrayfunc_assign, gfc_conv_function_call): Updated gfc_trans_runtime_check calls. (gfc_conv_function_call): Update gfc_conv_array_parameter calls. * trans-expr.c (gfc_trans_goto): Updated gfc_trans_runtime_check calls. * trans-io.c (set_string,gfc_conv_intrinsic_repeat): Ditto. (gfc_conv_intrinsic_transfer,gfc_conv_intrinsic_loc): Same for gfc_conv_array_parameter. * trans-intrinsics.c (gfc_conv_intrinsic_bound): Ditto. * trans-decl.c (gfc_build_builtin_function_decls): Add gfor_fndecl_runtime_warning_at. * lang.opt: New option fcheck-array-temporaries. * gfortran.h (gfc_options): New flag_check_array_temporaries. * options.c (gfc_init_options, gfc_handle_option): Handle flag. * invoke.texi: New option fcheck-array-temporaries. 2008-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/36132 PR fortran/29952 PR fortran/36909 * runtime/error.c: New function runtime_error_at. * gfortran.map: Ditto. * libgfortran.h: Ditto. 2008-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/36132 PR fortran/29952 PR fortran/36909 gfortran.dg/internal_pack_4.f90: New. gfortran.dg/internal_pack_5.f90: New. gfortran.dg/array_temporaries_2.f90: New. From-SVN: r138186
This commit is contained in:
parent
5aab248830
commit
0d52899f78
22 changed files with 285 additions and 41 deletions
|
@ -285,6 +285,21 @@ runtime_error_at (const char *where, const char *message, ...)
|
|||
iexport(runtime_error_at);
|
||||
|
||||
|
||||
void
|
||||
runtime_warning_at (const char *where, const char *message, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
st_printf ("%s\n", where);
|
||||
st_printf ("Fortran runtime warning: ");
|
||||
va_start (ap, message);
|
||||
st_vprintf (message, ap);
|
||||
va_end (ap);
|
||||
st_printf ("\n");
|
||||
}
|
||||
iexport(runtime_warning_at);
|
||||
|
||||
|
||||
/* void internal_error()-- These are this-can't-happen errors
|
||||
* that indicate something deeply wrong. */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue