diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2007-09-03 16:44:15 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2007-09-03 16:44:15 +0000 |
commit | d74b97cc7e574d56c7542f40a76b151e7088829b (patch) | |
tree | 50eb90c08b7f37c0d1ff93a565a55dd6872e3e21 /gcc/fortran/trans.c | |
parent | 4392a547f5434b483090f592c6a723a4377b8535 (diff) | |
download | gcc-d74b97cc7e574d56c7542f40a76b151e7088829b.zip gcc-d74b97cc7e574d56c7542f40a76b151e7088829b.tar.gz gcc-d74b97cc7e574d56c7542f40a76b151e7088829b.tar.bz2 |
re PR fortran/31675 (Fortran front-end and libgfortran should have a common header file)
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.
From-SVN: r128050
Diffstat (limited to 'gcc/fortran/trans.c')
-rw-r--r-- | gcc/fortran/trans.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index 1113e80..b9fd2df 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -473,11 +473,6 @@ gfc_call_malloc (stmtblock_t * block, tree type, tree size) return res; } -/* The status variable of allocate statement is set to ERROR_ALLOCATION - when the allocation wasn't successful. This value needs to be kept in - sync with libgfortran/libgfortran.h. */ -#define ERROR_ALLOCATION 5014 - /* Allocate memory, using an optional status argument. This function follows the following pseudo-code: @@ -495,7 +490,7 @@ gfc_call_malloc (stmtblock_t * block, tree type, tree size) { if (stat) { - *stat = ERROR_ALLOCATION; + *stat = LIBERROR_ALLOCATION; newmem = NULL; } else @@ -508,7 +503,7 @@ gfc_call_malloc (stmtblock_t * block, tree type, tree size) if (newmem == NULL) { if (stat) - *stat = ERROR_ALLOCATION; + *stat = LIBERROR_ALLOCATION; else runtime_error ("Out of memory"); } @@ -558,7 +553,7 @@ gfc_allocate_with_status (stmtblock_t * block, tree size, tree status) gfc_start_block (&set_status_block); gfc_add_modify_expr (&set_status_block, build1 (INDIRECT_REF, status_type, status), - build_int_cst (status_type, ERROR_ALLOCATION)); + build_int_cst (status_type, LIBERROR_ALLOCATION)); gfc_add_modify_expr (&set_status_block, res, build_int_cst (pvoid_type_node, 0)); @@ -589,7 +584,7 @@ gfc_allocate_with_status (stmtblock_t * block, tree size, tree status) build_int_cst (status_type, 0)); tmp2 = fold_build2 (MODIFY_EXPR, status_type, build1 (INDIRECT_REF, status_type, status), - build_int_cst (status_type, ERROR_ALLOCATION)); + build_int_cst (status_type, LIBERROR_ALLOCATION)); tmp = fold_build3 (COND_EXPR, void_type_node, cond, tmp, tmp2); } @@ -627,7 +622,7 @@ gfc_allocate_with_status (stmtblock_t * block, tree size, tree status) { free (mem); mem = allocate (size, stat); - *stat = ERROR_ALLOCATION; + *stat = LIBERROR_ALLOCATION; return mem; } else @@ -675,7 +670,7 @@ gfc_allocate_array_with_status (stmtblock_t * block, tree mem, tree size, gfc_add_modify_expr (&set_status_block, build1 (INDIRECT_REF, status_type, status), - build_int_cst (status_type, ERROR_ALLOCATION)); + build_int_cst (status_type, LIBERROR_ALLOCATION)); tmp = fold_build2 (EQ_EXPR, boolean_type_node, status, build_int_cst (status_type, 0)); |