diff options
author | fxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-03 16:44:15 +0000 |
---|---|---|
committer | fxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-03 16:44:15 +0000 |
commit | 18f0b7df705aaa6f409645ea592934f2525e6333 (patch) | |
tree | 50eb90c08b7f37c0d1ff93a565a55dd6872e3e21 /gcc/fortran/trans-io.c | |
parent | d7b60d9d8dad006dd5fdcdee0fe049d90da6d8fe (diff) | |
download | gcc-18f0b7df705aaa6f409645ea592934f2525e6333.tar.gz |
PR fortran/31675
* libgfortran.h: New file.
* iso-fortran-env.def: Use macros in the new header instead of
hardcoded integer constants.
* Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
fortran/libgfortran.h.
* gfortran.h (GFC_STD_*, GFC_FPE_*, options_convert,
ioerror_codes): Remove.
* trans.c (ERROR_ALLOCATION): Remove.
(gfc_call_malloc, gfc_allocate_with_status,
gfc_allocate_array_with_status): Use LIBERROR_ALLOCATION.
* trans-types.h (GFC_DTYPE_*): Remove.
* trans-decl.c (gfc_generate_function_code): Use
GFC_CONVERT_NATIVE instead of CONVERT_NATIVE.
* trans-io.c (set_parameter_value, set_parameter_ref): Use
LIBERROR_* macros instead of IOERROR_ macros.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Use
LIBERROR_END and LIBERROR_EOR instead of hardcoded constants.
* options.c (gfc_init_options): Use GFC_CONVERT_NATIVE instead of
CONVERT_NATIVE.
(gfc_handle_option): Use GFC_CONVERT_* macros instead of CONVERT_*.
* libgfortran.h: Include gcc/fortran/libgfortran.h.
Remove M_PI, GFC_MAX_DIMENSIONS, GFC_DTYPE_*, GFC_NUM_RANK_BITS,
error_codes, GFC_STD_*, GFC_FPE_* and unit_convert.
* runtime/environ.c (variable_table): Use GFC_*_UNIT_NUMBER instead
of hardcoded constants.
(do_parse, init_unformatted): Use GFC_CONVERT_* macros instead of
CONVERT_*.
* runtime/string.c (find_option): Use LIBERROR_BAD_OPTION instead
of ERROR_BAD_OPTION.
* runtime/error.c (translate_error, generate_error): Use
LIBERROR_* macros instead of ERROR_*.
* io/file_pos.c (formatted_backspace, unformatted_backspace,
st_backspace, st_rewind, st_flush): Rename macros.
* io/open.c (convert_opt, edit_modes, new_unit, already_open,
st_open): Likewise.
* io/close.c (st_close): Likewise.
* io/list_read.c (next_char, convert_integer, parse_repeat,
read_logical, read_integer, read_character, parse_real,
check_type, list_formatted_read_scalar, namelist_read,
nml_err_ret): Likewise.
* io/read.c (convert_real, read_l, read_decimal, read_radix,
read_f): Likewise.
* io/inquire.c (inquire_via_unit): Likewise.
* io/unit.c (get_internal_unit): Likewise.
* io/transfer.c (read_sf, read_block, read_block_direct,
write_block, write_buf, unformatted_read, unformatted_write,
formatted_transfer_scalar, us_read, us_write, data_transfer_init,
skip_record, next_record_r, write_us_marker, next_record_w_unf,
next_record_w, finalize_transfer, st_read, st_write_done):
Likewise.
* io/format.c (format_error): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128050 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-io.c')
-rw-r--r-- | gcc/fortran/trans-io.c | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c index 80646cd0819..289c2d2e2fc 100644 --- a/gcc/fortran/trans-io.c +++ b/gcc/fortran/trans-io.c @@ -457,18 +457,15 @@ set_parameter_value (stmtblock_t *block, tree var, enum iofield type, if (type == IOPARM_common_unit && e->ts.kind != 4) { tree cond, max; - ioerror_codes bad_unit; int i; - bad_unit = IOERROR_BAD_UNIT; - /* Don't evaluate the UNIT number multiple times. */ se.expr = gfc_evaluate_now (se.expr, &se.pre); /* UNIT numbers should be nonnegative. */ cond = fold_build2 (LT_EXPR, boolean_type_node, se.expr, build_int_cst (TREE_TYPE (se.expr),0)); - gfc_trans_io_runtime_check (cond, var, bad_unit, + gfc_trans_io_runtime_check (cond, var, LIBERROR_BAD_UNIT, "Negative unit number in I/O statement", &se.pre); @@ -477,7 +474,7 @@ set_parameter_value (stmtblock_t *block, tree var, enum iofield type, max = gfc_conv_mpz_to_tree (gfc_integer_kinds[i].huge, 4); cond = fold_build2 (GT_EXPR, boolean_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), max)); - gfc_trans_io_runtime_check (cond, var, bad_unit, + gfc_trans_io_runtime_check (cond, var, LIBERROR_BAD_UNIT, "Unit number in I/O statement too large", &se.pre); @@ -519,14 +516,10 @@ set_parameter_ref (stmtblock_t *block, stmtblock_t *postblock, addr = convert (TREE_TYPE (p->field), build_fold_addr_expr (se.expr)); /* If this is for the iostat variable initialize the - user variable to IOERROR_OK which is zero. */ + user variable to LIBERROR_OK which is zero. */ if (type == IOPARM_common_iostat) - { - ioerror_codes ok; - ok = IOERROR_OK; - gfc_add_modify_expr (block, se.expr, - build_int_cst (TREE_TYPE (se.expr), ok)); - } + gfc_add_modify_expr (block, se.expr, + build_int_cst (TREE_TYPE (se.expr), LIBERROR_OK)); } else { @@ -537,14 +530,10 @@ set_parameter_ref (stmtblock_t *block, stmtblock_t *postblock, st_parameter_field[type].name); /* If this is for the iostat variable, initialize the - user variable to IOERROR_OK which is zero. */ + user variable to LIBERROR_OK which is zero. */ if (type == IOPARM_common_iostat) - { - ioerror_codes ok; - ok = IOERROR_OK; - gfc_add_modify_expr (block, tmpvar, - build_int_cst (TREE_TYPE (tmpvar), ok)); - } + gfc_add_modify_expr (block, tmpvar, + build_int_cst (TREE_TYPE (tmpvar), LIBERROR_OK)); addr = build_fold_addr_expr (tmpvar); /* After the I/O operation, we set the variable from the temporary. */ |