Commit dd52ecb0 by Janne Blomqvist

re PR fortran/32909 (Replace gfc_c_int_type_node with integer_type_node)

2007-07-28  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/32909
	* trans-stmt.c (gfc_trans_character_select): Replace occurrences
	of gfc_c_int_type_node with integer_type_node.
	* trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
	(gfc_build_builtin_function_decls): Likewise.
	(gfc_generate_function_code): Likewise.
	* trans-io.c (gfc_build_io_library_fndecls): Likewise.

From-SVN: r127003
parent 8dcb83bb
2007-07-28 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/32909
* trans-stmt.c (gfc_trans_character_select): Replace occurrences
of gfc_c_int_type_node with integer_type_node.
* trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
(gfc_build_builtin_function_decls): Likewise.
(gfc_generate_function_code): Likewise.
* trans-io.c (gfc_build_io_library_fndecls): Likewise.
2007-07-27 Janne Blomqvist <jb@gcc.gnu.org> 2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
* trans-decl.c (gfc_build_builtin_function_decls): Use existing * trans-decl.c (gfc_build_builtin_function_decls): Use existing
......
...@@ -1995,7 +1995,6 @@ gfc_build_intrinsic_function_decls (void) ...@@ -1995,7 +1995,6 @@ gfc_build_intrinsic_function_decls (void)
tree gfc_complex8_type_node = gfc_get_complex_type (8); tree gfc_complex8_type_node = gfc_get_complex_type (8);
tree gfc_complex10_type_node = gfc_get_complex_type (10); tree gfc_complex10_type_node = gfc_get_complex_type (10);
tree gfc_complex16_type_node = gfc_get_complex_type (16); tree gfc_complex16_type_node = gfc_get_complex_type (16);
tree gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
/* String functions. */ /* String functions. */
gfor_fndecl_compare_string = gfor_fndecl_compare_string =
...@@ -2055,7 +2054,7 @@ gfc_build_intrinsic_function_decls (void) ...@@ -2055,7 +2054,7 @@ gfc_build_intrinsic_function_decls (void)
3, 3,
pchar_type_node, pchar_type_node,
gfc_charlen_type_node, gfc_charlen_type_node,
gfc_c_int_type_node); integer_type_node);
gfor_fndecl_fdate = gfor_fndecl_fdate =
gfc_build_library_function_decl (get_identifier (PREFIX("fdate")), gfc_build_library_function_decl (get_identifier (PREFIX("fdate")),
...@@ -2215,7 +2214,7 @@ gfc_build_intrinsic_function_decls (void) ...@@ -2215,7 +2214,7 @@ gfc_build_intrinsic_function_decls (void)
/* BLAS functions. */ /* BLAS functions. */
{ {
tree pint = build_pointer_type (gfc_c_int_type_node); tree pint = build_pointer_type (integer_type_node);
tree ps = build_pointer_type (gfc_get_real_type (gfc_default_real_kind)); tree ps = build_pointer_type (gfc_get_real_type (gfc_default_real_kind));
tree pd = build_pointer_type (gfc_get_real_type (gfc_default_double_kind)); tree pd = build_pointer_type (gfc_get_real_type (gfc_default_double_kind));
tree pc = build_pointer_type (gfc_get_complex_type (gfc_default_real_kind)); tree pc = build_pointer_type (gfc_get_complex_type (gfc_default_real_kind));
...@@ -2228,32 +2227,32 @@ gfc_build_intrinsic_function_decls (void) ...@@ -2228,32 +2227,32 @@ gfc_build_intrinsic_function_decls (void)
: "sgemm"), : "sgemm"),
void_type_node, 15, pchar_type_node, void_type_node, 15, pchar_type_node,
pchar_type_node, pint, pint, pint, ps, ps, pint, pchar_type_node, pint, pint, pint, ps, ps, pint,
ps, pint, ps, ps, pint, gfc_c_int_type_node, ps, pint, ps, ps, pint, integer_type_node,
gfc_c_int_type_node); integer_type_node);
gfor_fndecl_dgemm = gfc_build_library_function_decl gfor_fndecl_dgemm = gfc_build_library_function_decl
(get_identifier (get_identifier
(gfc_option.flag_underscoring ? "dgemm_" (gfc_option.flag_underscoring ? "dgemm_"
: "dgemm"), : "dgemm"),
void_type_node, 15, pchar_type_node, void_type_node, 15, pchar_type_node,
pchar_type_node, pint, pint, pint, pd, pd, pint, pchar_type_node, pint, pint, pint, pd, pd, pint,
pd, pint, pd, pd, pint, gfc_c_int_type_node, pd, pint, pd, pd, pint, integer_type_node,
gfc_c_int_type_node); integer_type_node);
gfor_fndecl_cgemm = gfc_build_library_function_decl gfor_fndecl_cgemm = gfc_build_library_function_decl
(get_identifier (get_identifier
(gfc_option.flag_underscoring ? "cgemm_" (gfc_option.flag_underscoring ? "cgemm_"
: "cgemm"), : "cgemm"),
void_type_node, 15, pchar_type_node, void_type_node, 15, pchar_type_node,
pchar_type_node, pint, pint, pint, pc, pc, pint, pchar_type_node, pint, pint, pint, pc, pc, pint,
pc, pint, pc, pc, pint, gfc_c_int_type_node, pc, pint, pc, pc, pint, integer_type_node,
gfc_c_int_type_node); integer_type_node);
gfor_fndecl_zgemm = gfc_build_library_function_decl gfor_fndecl_zgemm = gfc_build_library_function_decl
(get_identifier (get_identifier
(gfc_option.flag_underscoring ? "zgemm_" (gfc_option.flag_underscoring ? "zgemm_"
: "zgemm"), : "zgemm"),
void_type_node, 15, pchar_type_node, void_type_node, 15, pchar_type_node,
pchar_type_node, pint, pint, pint, pz, pz, pint, pchar_type_node, pint, pint, pint, pz, pz, pint,
pz, pint, pz, pz, pint, gfc_c_int_type_node, pz, pint, pz, pz, pint, integer_type_node,
gfc_c_int_type_node); integer_type_node);
} }
/* Other functions. */ /* Other functions. */
...@@ -2279,7 +2278,6 @@ gfc_build_intrinsic_function_decls (void) ...@@ -2279,7 +2278,6 @@ gfc_build_intrinsic_function_decls (void)
void void
gfc_build_builtin_function_decls (void) gfc_build_builtin_function_decls (void)
{ {
tree gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
tree gfc_int4_type_node = gfc_get_int_type (4); tree gfc_int4_type_node = gfc_get_int_type (4);
tree gfc_logical4_type_node = gfc_get_logical_type (4); tree gfc_logical4_type_node = gfc_get_logical_type (4);
tree gfc_pint4_type_node = build_pointer_type (gfc_int4_type_node); tree gfc_pint4_type_node = build_pointer_type (gfc_int4_type_node);
...@@ -2332,7 +2330,7 @@ gfc_build_builtin_function_decls (void) ...@@ -2332,7 +2330,7 @@ gfc_build_builtin_function_decls (void)
gfor_fndecl_select_string = gfor_fndecl_select_string =
gfc_build_library_function_decl (get_identifier (PREFIX("select_string")), gfc_build_library_function_decl (get_identifier (PREFIX("select_string")),
gfc_c_int_type_node, 0); integer_type_node, 0);
gfor_fndecl_runtime_error = gfor_fndecl_runtime_error =
gfc_build_library_function_decl (get_identifier (PREFIX("runtime_error")), gfc_build_library_function_decl (get_identifier (PREFIX("runtime_error")),
...@@ -2350,7 +2348,7 @@ gfc_build_builtin_function_decls (void) ...@@ -2350,7 +2348,7 @@ gfc_build_builtin_function_decls (void)
gfor_fndecl_generate_error = gfor_fndecl_generate_error =
gfc_build_library_function_decl (get_identifier (PREFIX("generate_error")), gfc_build_library_function_decl (get_identifier (PREFIX("generate_error")),
void_type_node, 3, pvoid_type_node, void_type_node, 3, pvoid_type_node,
gfc_c_int_type_node, pchar_type_node); integer_type_node, pchar_type_node);
gfor_fndecl_os_error = gfor_fndecl_os_error =
gfc_build_library_function_decl (get_identifier (PREFIX("os_error")), gfc_build_library_function_decl (get_identifier (PREFIX("os_error")),
...@@ -2360,25 +2358,25 @@ gfc_build_builtin_function_decls (void) ...@@ -2360,25 +2358,25 @@ gfc_build_builtin_function_decls (void)
gfor_fndecl_set_fpe = gfor_fndecl_set_fpe =
gfc_build_library_function_decl (get_identifier (PREFIX("set_fpe")), gfc_build_library_function_decl (get_identifier (PREFIX("set_fpe")),
void_type_node, 1, gfc_c_int_type_node); void_type_node, 1, integer_type_node);
/* Keep the array dimension in sync with the call, later in this file. */ /* Keep the array dimension in sync with the call, later in this file. */
gfor_fndecl_set_options = gfor_fndecl_set_options =
gfc_build_library_function_decl (get_identifier (PREFIX("set_options")), gfc_build_library_function_decl (get_identifier (PREFIX("set_options")),
void_type_node, 2, gfc_c_int_type_node, void_type_node, 2, integer_type_node,
pvoid_type_node); pvoid_type_node);
gfor_fndecl_set_convert = gfor_fndecl_set_convert =
gfc_build_library_function_decl (get_identifier (PREFIX("set_convert")), gfc_build_library_function_decl (get_identifier (PREFIX("set_convert")),
void_type_node, 1, gfc_c_int_type_node); void_type_node, 1, integer_type_node);
gfor_fndecl_set_record_marker = gfor_fndecl_set_record_marker =
gfc_build_library_function_decl (get_identifier (PREFIX("set_record_marker")), gfc_build_library_function_decl (get_identifier (PREFIX("set_record_marker")),
void_type_node, 1, gfc_c_int_type_node); void_type_node, 1, integer_type_node);
gfor_fndecl_set_max_subrecord_length = gfor_fndecl_set_max_subrecord_length =
gfc_build_library_function_decl (get_identifier (PREFIX("set_max_subrecord_length")), gfc_build_library_function_decl (get_identifier (PREFIX("set_max_subrecord_length")),
void_type_node, 1, gfc_c_int_type_node); void_type_node, 1, integer_type_node);
gfor_fndecl_in_pack = gfc_build_library_function_decl ( gfor_fndecl_in_pack = gfc_build_library_function_decl (
get_identifier (PREFIX("internal_pack")), get_identifier (PREFIX("internal_pack")),
...@@ -3186,7 +3184,6 @@ gfc_generate_function_code (gfc_namespace * ns) ...@@ -3186,7 +3184,6 @@ gfc_generate_function_code (gfc_namespace * ns)
runtime library Fortran language standard parameters. */ runtime library Fortran language standard parameters. */
if (sym->attr.is_main_program) if (sym->attr.is_main_program)
{ {
tree gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
tree array_type, array, var; tree array_type, array, var;
/* Passing a new option to the library requires four modifications: /* Passing a new option to the library requires four modifications:
...@@ -3196,28 +3193,28 @@ gfc_generate_function_code (gfc_namespace * ns) ...@@ -3196,28 +3193,28 @@ gfc_generate_function_code (gfc_namespace * ns)
gfor_fndecl_set_options gfor_fndecl_set_options
+ modify the library (runtime/compile_options.c)! */ + modify the library (runtime/compile_options.c)! */
array = tree_cons (NULL_TREE, array = tree_cons (NULL_TREE,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.warn_std), NULL_TREE); gfc_option.warn_std), NULL_TREE);
array = tree_cons (NULL_TREE, array = tree_cons (NULL_TREE,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.allow_std), array); gfc_option.allow_std), array);
array = tree_cons (NULL_TREE, array = tree_cons (NULL_TREE,
build_int_cst (gfc_c_int_type_node, pedantic), array); build_int_cst (integer_type_node, pedantic), array);
array = tree_cons (NULL_TREE, array = tree_cons (NULL_TREE,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.flag_dump_core), array); gfc_option.flag_dump_core), array);
array = tree_cons (NULL_TREE, array = tree_cons (NULL_TREE,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.flag_backtrace), array); gfc_option.flag_backtrace), array);
array = tree_cons (NULL_TREE, array = tree_cons (NULL_TREE,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.flag_sign_zero), array); gfc_option.flag_sign_zero), array);
array = tree_cons (NULL_TREE, array = tree_cons (NULL_TREE,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
flag_bounds_check), array); flag_bounds_check), array);
array_type = build_array_type (gfc_c_int_type_node, array_type = build_array_type (integer_type_node,
build_index_type (build_int_cst (NULL_TREE, build_index_type (build_int_cst (NULL_TREE,
6))); 6)));
array = build_constructor_from_list (array_type, nreverse (array)); array = build_constructor_from_list (array_type, nreverse (array));
...@@ -3235,7 +3232,7 @@ gfc_generate_function_code (gfc_namespace * ns) ...@@ -3235,7 +3232,7 @@ gfc_generate_function_code (gfc_namespace * ns)
var = gfc_build_addr_expr (pvoid_type_node, var); var = gfc_build_addr_expr (pvoid_type_node, var);
tmp = build_call_expr (gfor_fndecl_set_options, 2, tmp = build_call_expr (gfor_fndecl_set_options, 2,
build_int_cst (gfc_c_int_type_node, 7), var); build_int_cst (integer_type_node, 7), var);
gfc_add_expr_to_block (&body, tmp); gfc_add_expr_to_block (&body, tmp);
} }
...@@ -3244,9 +3241,8 @@ gfc_generate_function_code (gfc_namespace * ns) ...@@ -3244,9 +3241,8 @@ gfc_generate_function_code (gfc_namespace * ns)
needed. */ needed. */
if (sym->attr.is_main_program && gfc_option.fpe != 0) if (sym->attr.is_main_program && gfc_option.fpe != 0)
{ {
tree gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
tmp = build_call_expr (gfor_fndecl_set_fpe, 1, tmp = build_call_expr (gfor_fndecl_set_fpe, 1,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.fpe)); gfc_option.fpe));
gfc_add_expr_to_block (&body, tmp); gfc_add_expr_to_block (&body, tmp);
} }
...@@ -3256,9 +3252,8 @@ gfc_generate_function_code (gfc_namespace * ns) ...@@ -3256,9 +3252,8 @@ gfc_generate_function_code (gfc_namespace * ns)
if (sym->attr.is_main_program && gfc_option.convert != CONVERT_NATIVE) if (sym->attr.is_main_program && gfc_option.convert != CONVERT_NATIVE)
{ {
tree gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
tmp = build_call_expr (gfor_fndecl_set_convert, 1, tmp = build_call_expr (gfor_fndecl_set_convert, 1,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.convert)); gfc_option.convert));
gfc_add_expr_to_block (&body, tmp); gfc_add_expr_to_block (&body, tmp);
} }
...@@ -3268,21 +3263,17 @@ gfc_generate_function_code (gfc_namespace * ns) ...@@ -3268,21 +3263,17 @@ gfc_generate_function_code (gfc_namespace * ns)
if (sym->attr.is_main_program && gfc_option.record_marker != 0) if (sym->attr.is_main_program && gfc_option.record_marker != 0)
{ {
tree gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
tmp = build_call_expr (gfor_fndecl_set_record_marker, 1, tmp = build_call_expr (gfor_fndecl_set_record_marker, 1,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.record_marker)); gfc_option.record_marker));
gfc_add_expr_to_block (&body, tmp); gfc_add_expr_to_block (&body, tmp);
} }
if (sym->attr.is_main_program && gfc_option.max_subrecord_length != 0) if (sym->attr.is_main_program && gfc_option.max_subrecord_length != 0)
{ {
tree gfc_c_int_type_node;
gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
tmp = build_call_expr (gfor_fndecl_set_max_subrecord_length, tmp = build_call_expr (gfor_fndecl_set_max_subrecord_length,
1, 1,
build_int_cst (gfc_c_int_type_node, build_int_cst (integer_type_node,
gfc_option.max_subrecord_length)); gfc_option.max_subrecord_length));
gfc_add_expr_to_block (&body, tmp); gfc_add_expr_to_block (&body, tmp);
} }
......
...@@ -276,7 +276,6 @@ gfc_build_io_library_fndecls (void) ...@@ -276,7 +276,6 @@ gfc_build_io_library_fndecls (void)
tree types[IOPARM_type_num], pad_idx, gfc_int4_type_node; tree types[IOPARM_type_num], pad_idx, gfc_int4_type_node;
tree gfc_intio_type_node; tree gfc_intio_type_node;
tree parm_type, dt_parm_type; tree parm_type, dt_parm_type;
tree gfc_c_int_type_node;
HOST_WIDE_INT pad_size; HOST_WIDE_INT pad_size;
enum ioparam_type ptype; enum ioparam_type ptype;
...@@ -300,8 +299,6 @@ gfc_build_io_library_fndecls (void) ...@@ -300,8 +299,6 @@ gfc_build_io_library_fndecls (void)
TYPE_ALIGN (types[IOPARM_type_pad]) = MAX (TYPE_ALIGN (pchar_type_node), TYPE_ALIGN (types[IOPARM_type_pad]) = MAX (TYPE_ALIGN (pchar_type_node),
TYPE_ALIGN (gfc_get_int_type (gfc_max_integer_kind))); TYPE_ALIGN (gfc_get_int_type (gfc_max_integer_kind)));
gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
for (ptype = IOPARM_ptype_common; ptype < IOPARM_ptype_num; ptype++) for (ptype = IOPARM_ptype_common; ptype < IOPARM_ptype_num; ptype++)
gfc_build_st_parameter (ptype, types); gfc_build_st_parameter (ptype, types);
...@@ -342,7 +339,7 @@ gfc_build_io_library_fndecls (void) ...@@ -342,7 +339,7 @@ gfc_build_io_library_fndecls (void)
gfc_build_library_function_decl (get_identifier gfc_build_library_function_decl (get_identifier
(PREFIX("transfer_array")), (PREFIX("transfer_array")),
void_type_node, 4, dt_parm_type, void_type_node, 4, dt_parm_type,
pvoid_type_node, gfc_c_int_type_node, pvoid_type_node, integer_type_node,
gfc_charlen_type_node); gfc_charlen_type_node);
/* Library entry points */ /* Library entry points */
......
...@@ -1320,7 +1320,6 @@ static tree ...@@ -1320,7 +1320,6 @@ static tree
gfc_trans_character_select (gfc_code *code) gfc_trans_character_select (gfc_code *code)
{ {
tree init, node, end_label, tmp, type, case_num, label; tree init, node, end_label, tmp, type, case_num, label;
tree gfc_c_int_type_node = gfc_get_int_type (gfc_c_int_kind);
stmtblock_t block, body; stmtblock_t block, body;
gfc_case *cp, *d; gfc_case *cp, *d;
gfc_code *c; gfc_code *c;
...@@ -1351,7 +1350,7 @@ gfc_trans_character_select (gfc_code *code) ...@@ -1351,7 +1350,7 @@ gfc_trans_character_select (gfc_code *code)
ADD_FIELD (string2, pchar_type_node); ADD_FIELD (string2, pchar_type_node);
ADD_FIELD (string2_len, gfc_int4_type_node); ADD_FIELD (string2_len, gfc_int4_type_node);
ADD_FIELD (target, gfc_c_int_type_node); ADD_FIELD (target, integer_type_node);
#undef ADD_FIELD #undef ADD_FIELD
gfc_finish_type (select_struct); gfc_finish_type (select_struct);
...@@ -1425,7 +1424,7 @@ gfc_trans_character_select (gfc_code *code) ...@@ -1425,7 +1424,7 @@ gfc_trans_character_select (gfc_code *code)
node = tree_cons (ss_string2_len, se.string_length, node); node = tree_cons (ss_string2_len, se.string_length, node);
} }
node = tree_cons (ss_target, build_int_cst (gfc_c_int_type_node, d->n), node = tree_cons (ss_target, build_int_cst (integer_type_node, d->n),
node); node);
tmp = build_constructor_from_list (select_struct, nreverse (node)); tmp = build_constructor_from_list (select_struct, nreverse (node));
...@@ -1459,7 +1458,7 @@ gfc_trans_character_select (gfc_code *code) ...@@ -1459,7 +1458,7 @@ gfc_trans_character_select (gfc_code *code)
tmp = build_call_expr (gfor_fndecl_select_string, 4, init, tmp = build_call_expr (gfor_fndecl_select_string, 4, init,
build_int_cst (NULL_TREE, n), se.expr, build_int_cst (NULL_TREE, n), se.expr,
se.string_length); se.string_length);
case_num = gfc_create_var (gfc_c_int_type_node, "case_num"); case_num = gfc_create_var (integer_type_node, "case_num");
gfc_add_modify_expr (&block, case_num, tmp); gfc_add_modify_expr (&block, case_num, tmp);
gfc_add_block_to_block (&block, &se.post); gfc_add_block_to_block (&block, &se.post);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment