Commit Graph

417 Commits

Author SHA1 Message Date
Tobias Schlüter
3852e8b8f2 re PR fortran/19673 (pointer function with RESULT specified returns pointer to "ptr" rather than "*ptr")
fortran/
PR fortran/19673
* trans-expr.c (gfc_conv_function_call): Correctly dereference
argument from a pointer function also if it has a result clause.

testsuite/
PR fortran/19673
* gfortran.dg/func_result_1.f90: New test.

From-SVN: r95901
2005-03-04 22:03:46 +01:00
Steven G. Kargl
37e860a298 * expr.c (gfc_copy_shape_excluding): Change && to ||.
From-SVN: r95891
2005-03-04 17:09:18 +00:00
Tobias Schlüter
4b9b6210d6 trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo, clarify comment.
* trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo,
clarify comment.

From-SVN: r95852
2005-03-04 01:02:22 +01:00
Tobias Schlüter
2a4a783030 re PR fortran/19479 (UBOUND causes ICE)
fortran/
PR fortran/19479
* simplify.c (gfc_simplify_bound): Rename to ...
(simplify_bound): ... this and overhaul.

testsuite/
PR fortran/19479
* gfortran.dg/bound_1.f90: New test.

From-SVN: r95713
2005-03-01 01:41:41 +01:00
Steven G. Kargl
d436d3dea2 trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
* trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
  (gfc_conv_intrinsic_function): update function calls

From-SVN: r95695
2005-02-28 19:59:05 +00:00
Tobias Schlüter
9c6a7ecc6c Fix missing ChangeLog entry:
2005-02-24  Tobias Schlueter  <tobias.schlueter@physik.uni-meunchen.de>

Unrevert previously reverted patch.  Adding this fix:
* module.c (find_true_name): Deal with NULL module.

From-SVN: r95681
2005-02-28 14:52:48 +01:00
Steven G. Kargl
f4e7375a8a re PR fortran/20058 (Error on kind 16 hex data statement)
PR fortran/20058
* trans-types.c (gfc_max_integer_kind): Declare
  (gfc_init_kinds): Initialize it.
* gfortran.h (gfc_max_integer_kind): extern it.
* primary.c (match_boz_constant): Use it; remove gfortran extension
  of kind suffixes on BOZ literal constants

From-SVN: r95643
2005-02-28 00:38:12 +00:00
Steven G. Kargl
5a95dfde57 arith.c (gfc_check_real_range): Remove multiple returns
* arith.c (gfc_check_real_range):  Remove multiple returns
  (check_result): New function.
  (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times,
  gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it.

From-SVN: r95624
2005-02-27 17:32:26 +00:00
Volker Reichelt
2054fc29c2 * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
From-SVN: r95518
2005-02-24 21:59:24 +00:00
Tobias Schlüter
cb9e4f55b0 Unrevert previously reversed patch, adding this patch:
* module.c (find_true_name): Deal with NULL module.

From-SVN: r95506
2005-02-24 19:26:27 +01:00
Tobias Schlüter
f5e9e99c8d Revert yesterday's patch:
2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>

                * gfortran.h (gfc_component, gfc_actual_arglist, ...
                ... argument.  Copy string instead of pointing to it.

From-SVN: r95496
2005-02-24 14:01:44 +01:00
Tobias Schlüter
e9444bd5ee gfortran.h (gfc_component, [...]): Make 'name' a 'const char *'.
* gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
'name' a 'const char *'.
(gfc_symbol): Likewise, also for 'module'.
(gfc_symtree): Make 'name' a 'const char *'.
(gfc_intrinsic_sym): Likewise, also for 'lib_name'.
(gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
'char *' argument.
(gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
initialize 'SYM->module'.
* check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
pointer instead of empty string.
* dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
* interface.c (gfc_compare_types): Adapt check to account for possible
NULL pointer.
(compare_actual_formal): Check for NULL pointer instead of empty
string.
* intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
Add 'const' qualifier.
(conv_name): Return a heap allocated string.
(find_conv): Add 'const' qualifier to 'target'.
(add_sym): Use 'gfc_get_string' instead of 'strcpy'.
(make_generic): Check for NULL pointer instead of emptystring.
(make_alias): Use 'gfc_get_string' instead of 'strcpy'.
(add_conv): No need to strcpy result from 'conv_name'.
(sort_actual): Check for NULL pointer instead of emptystring.
* intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg):
Adapt prototype.
* module.c (compare_true_names): Compare pointers instead of strings
for 'module' member.
(find_true_name): Initialize string fields with gfc_get_string.
(mio_pool_string): New function.
(mio_internal_string): Adapt comment.
(mio_component_ref, mio_component, mio_actual_arg): Use
'mio_pool_string' instead of 'mio_internal_string'.
(mio_symbol_interface): Add 'const' qualifier to string arguments.
Add level of indirection. Use 'mio_pool_string' instead of
'mio_internal_string'.
(load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'.
(write_common, write_symbol): Use 'mio_pool_string' instead of
'mio_internal_string'.
(write_symbol0, write_symbol1): Likewise, also check for NULL pointer
instead of empty string.
(write_operator, write_generic): Pass correct type variable to
'mio_symbol_interface'.
(write_symtree): Use 'mio_pool_string' instead of
'mio_internal_string'.
* primary.c (match_keyword_arg): Adapt check to possible
case of NULL pointer.  Use 'gfc_get_string' instead of 'strcpy'.
* symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree,
gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of
'strcpy'.
(ambiguous_symbol): Check for NULL pointer instead of empty string.
(gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string
arguments.
* trans-array.c (gfc_trans_auto_array_allocation): Check for NULL
pointer instead of empty string.
* trans-decl.c (gfc_sym_mangled_identifier,
gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl,
gfc_get_symbol_decl): Likewise.
* trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to
argument.  Copy string instead of pointing to it.

From-SVN: r95472
2005-02-23 23:14:12 +01:00
Tobias Schlüter
58b03ab29f gfortran.h (gfc_expr): Move 'operator'...
* gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'
fields into new struct 'op' inside the 'value' union.
* arith.c (eval_intrinsic): Adapt all users.
* dependency.c (gfc_check_dependency): Likewise.
* dump-parse-tree.c (gfc_show_expr): Likewise.
* expr.c (gfc_get_expr): Don't clear removed fields.
(free_expr0, gfc_copy_expr, gfc_type_convert_binary,
gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr,
check_intrinsic_op): Adapt to new field names.
* interface.c (gfc_extend_expr): Likewise.  Also explicitly
nullify 'esym' and 'isym' fields of new function call.
* iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
Adapt to renamed structure fields.
* matchexp.c (build_node, match_level_1, match_expr): Likewise.
* module.c (mio_expr): Likewise.
* resolve.c (resolve_operator): Likewise.
(gfc_find_forall_index): Likewise.  Only look through operands
if dealing with EXPR_OP
* trans-array.c (gfc_walk_op_expr): Adapt to renamed fields.
* trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op,
gfc_conv_concat_op, gfc_conv_expr_op): Likewise.

From-SVN: r95471
2005-02-23 22:34:11 +01:00
Tobias Schlüter
d1303acd60 gfortran.h (symbol_attribute): New 'untyped' field, fix comment formatting.
fortran/
* gfortran.h (symbol_attribute): New 'untyped' field, fix comment
formatting.
* symbol.c (gfc_set_default_type): Issue error only once, by setting
and checking 'untyped' attribute.

testsuite/
* gfortran.dg/deftype_1.f90: New test.

From-SVN: r95469
2005-02-23 21:56:58 +01:00
Tobias Schlüter
0366dfe993 gfortran.h (gfc_get_namespace): Add second argument to prototype.
fortran/
* gfortran.h (gfc_get_namespace): Add second argument to prototype.
* intrinsic.c (gfc_intrinsic_init_1): Pass second argument to
gfc_get_namespace.
* module.c (mio_namespace_ref, load_needed): Likewise.
* parse.c (parse_interface, parse_contained): Likewise.  Here the
correct second argument matters.
* symbol.c (gfc_get_namespace): Add parent_types argument, only copy
parent's implicit types if this is set.
(gfc_symbol_init_2): Pass second argument to gfc_get_namespace.
* trans-common.c (build_common_decl): Likewise.

testsuite/
* gfortran.dg/implicit_3.f90: New test.

From-SVN: r95463
2005-02-23 20:02:29 +01:00
Kazu Hirata
f439764ffa genpreds.c: Update copyright.
gcc/
	* genpreds.c: Update copyright.

cp/
	* cp-objcp-common.h, error.c: Update copyright.

fortran/
	* intrinsic.h, st.c: Update copyright.

treelang/
	* parse.y: Update copyright.

From-SVN: r95457
2005-02-23 15:14:47 +00:00
Steven G. Kargl
eebc3ee0cd * symbol.c: Typos in comments.
From-SVN: r95311
2005-02-20 21:59:12 +00:00
Steven G. Kargl
687fcae70c * expr.c (gfc_type_convert_binary): Typo in comment.
From-SVN: r95307
2005-02-20 18:26:19 +00:00
Steven G. Kargl
145cf79b57 check.c (gfc_check_selected_int_kind): New function.
* check.c (gfc_check_selected_int_kind): New function.
	* intrinsic.h: Prototype it.
	* intrinsic.c (add_function): Use it.
	* simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
	  BT_REAL to BT_INTEGER and use gfc_default_integer_kind.

From-SVN: r95291
2005-02-19 20:29:05 +00:00
Steven G. Kargl
c60d77d4db check.c (gfc_check_int): improve checking of optional kind
* check.c (gfc_check_int): improve checking of optional kind
	* simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER

	* gfortran.dg/int_1.f90: New test.

From-SVN: r95290
2005-02-19 20:07:47 +00:00
Steven G. Kargl
332e7efe7f check.c (gfc_check_achar): New function
* check.c (gfc_check_achar): New function
	* intrinsic.h: Prototype it.
	* intrinsic.c (add_function): Use it.

	* gfortran.dg/achar_1.f90: New test.

From-SVN: r95288
2005-02-19 19:16:09 +00:00
Tobias Schlüter
1ac262625d trans-stmt.c (generate_loop_for_temp_to_lhs, [...]): Remove if whose condition is always true.
* trans-stmt.c (generate_loop_for_temp_to_lhs,
generate_loop_for_rhs_to_temp): Remove if whose condition is
always true.

From-SVN: r94985
2005-02-13 16:32:45 +01:00
Tobias Schlüter
1e6283cb21 symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
* symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
(gfc_use_derived): ... this function.

From-SVN: r94942
2005-02-12 16:44:01 +01:00
Richard Henderson
c6a912da40 builtins.c (DEF_BUILTIN): Add COND argument.
* builtins.c (DEF_BUILTIN): Add COND argument.
        * tree.h (DEF_BUILTIN): Likewise.
        * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
        DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
        match.
        (DEF_BUILTIN_STUB): New.
        (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
        BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
        BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
        * c-common.c (DEF_BUILTIN): Add COND argument.
        * tree.c (local_define_builtin): New.
        (build_common_builtin_nodes): New.
ada/
        * utils.c (gnat_define_builtin): Remove.
        (gnat_install_builtins): Use build_common_builtin_nodes.
fortran/
        * f95-lang.c (gfc_init_builtin_functions): Call
        build_common_builtin_nodes; do not define any functions handled
        by it.
java/
        * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
        * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
treelang/
        * treetree.c (treelang_init_decl_processing): Call
        build_common_builtin_nodes.

From-SVN: r94785
2005-02-09 16:22:25 -08:00
Tobias Schlüter
eac33acc64 expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for EXPR_SUBSTRING.
fortran/
* expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
EXPR_SUBSTRING.
(gfc_is_constant_expr): Check 'ref' to determine if substring
reference is constant.
(gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
(check_init_expr, check_restricted): Check 'ref' instead of 'op1'
and 'op2'.
* module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.

testsuite/
* gfortran.dg/substr_1.f90: New test.

From-SVN: r94735
2005-02-08 14:41:08 +01:00
Tobias Schlüter
231b2fccf5 gfortran.h (gfc_add_dimension, [...]): Add argument.
* gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,
gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data,
gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
gfc_add_procedure): Add argument.
* array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name,
gfc_match_null, match_type_spec, match_attr_spec,
gfc_match_formal_arglist, match_result, gfc_match_function_decl):
Update callers to match.
(gfc_match_entry) : Likewise, fix comment typo.
(gfc_match_subroutine, attr_decl1, gfc_add_dimension,
access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc,
gfc_match_derived_decl): Update callers.
* interface.c (gfc_match_interface): Likewise.
* match.c (gfc_match_label, gfc_add_flavor,
gfc_match_call, gfc_match_common, gfc_match_block_data,
gfc_match_namelist, gfc_match_module, gfc_match_st_function):
Likewise.
* parse.c (parse_derived, parse_interface, parse_contained),
primary.c (gfc_match_rvalue, gfc_match_variable): Likewise.
* resolve.c (resolve_formal_arglist, resolve_entries): Update callers.
* symbol.c (check_conflict, check_used): Add new 'name' argument,
use when printing error message.
(gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy,
gfc_add_generic, gfc_add_in_common, gfc_add_data,
gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
gfc_add_procedure): Add new 'name' argument.  Pass along to
check_conflict and check_used.
(gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic,
gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental,
gfc_add_pure, gfc_add_recursive, gfc_add_intent,
gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new
argument in calls to any of the modified functions.

From-SVN: r94718
2005-02-07 23:16:13 +01:00
Joseph Myers
706bb773ec cpp.texi: Include gcc-common.texi.
* doc/cpp.texi: Include gcc-common.texi.  Don't define gcctabopt
	macro locally.  Don't give last revision date.  Use GCC version
	number from gcc-common.texi.
	* doc/cppinternals.texi: Include gcc-common.texi.  Don't give last
	revision date.  Use GCC version number from gcc-common.texi.
	Describe being a library as current state rather than as 3.x
	history.
	* doc/gcc.texi: Remove last update date.
	* doc/gccint.texi: Likewise.  Update copyright dates.
	* doc/install.texi: Update copyright dates.

fortran:
	* gfortran.texi: Don't give last update date.

java:
	* gcj.texi: Update copyright dates.

treelang:
	* treelang.texi: Don't use local treelang version number.  Don't
	give last update date.

From-SVN: r94683
2005-02-06 20:20:59 +00:00
Richard Henderson
61e067ccd8 * options.c (gfc_init_options): Zero flag_errno_math.
From-SVN: r94447
2005-01-30 10:34:03 -08:00
Paul Brook
985aff9c17 re PR fortran/18565 (gfortran: CONJG: false error message about standard violation)
2005-01-29  Paul Brook  <paul@codesourcery.com>

	PR fortran/18565
	* check.c (real_or_complex_check): New function.
	(gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
	* intrinsic.c (add_functions): Use new check functions.
	* intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
	Add prototypes.
testsuite/
	* gfortran.dg/double_complex_1.f90: New test.

From-SVN: r94412
2005-01-29 17:46:34 +00:00
Steven G. Kargl
f240b8960c re PR fortran/19589 (Regression: Error on Data assignment with LOGICAL*1)
2005-01-29  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/19589
	* expr.c (gfc_check_assign):  Check for conformance of logical operands
testsuite/
	* gfortran.dg/logical_data_1.f90: New test.

From-SVN: r94409
2005-01-29 15:35:50 +00:00
Steven Bosscher
c006df4eec trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and TREE_USED for all labels.
* trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and
	TREE_USED for all labels.
	(gfc_trans_entry_master_switch): Use it instead of building a
	label by hand.
	* trans-io.c (add_case): Likewise.
	* trans-stmt.c (gfc_trans_integer_select): Likewise.

From-SVN: r94299
2005-01-27 00:58:11 +00:00
Paul Brook
69029c61aa re PR fortran/17941 (gfortran: parser chokes on complex literal constant)
2004-01-23  Paul Brook  <paul@codesourcery.com>
	Steven G. Kargl  <kargls@comcast.net>

	PR fortran/17941
	* arith.c (gfc_convert_real): Remove sign handling.
	* primary.c (match_digits): Allow whitespace after initial sign.
	(match_real_const): Handle signs here.  Allow whitespace after
	initial sign.  Remove dead code.
	(match_const_complex_part): Remove.
	(match_complex_part): Use match_{real,integer}_const.
	(match_complex_constant): Cross-promote integer types.
testsuite/
	* gfortran.dg/real_const_1.f: New test.
	* gfortran.dg/real_const_2.f90: New test.
	* gfortran.dg/complex_int_1.f90: New test.

From-SVN: r94127
2005-01-23 22:29:41 +00:00
James A. Morrison
587579571d re PR fortran/19294 (intrinsic_transpose.f90 runtime crash)
2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
	Paul Brook  <paul@codesourcery.com>

	PR fortran/19294
	* iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or
	transpose_c8 for complex types.
libgfortran/
	* Makefile.am: Add transpose_c4.c and transpose_c8.c.
	* intrinsics/cshift0.c: Use separate optimized loops for complex types.
	* m4/transpose.m4: Include type letter in function name.
	* Makefile.in: Regenerate.
	* generated/transpose_*.c: Regenerate.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r94116
2005-01-23 17:01:00 +00:00
Kazu Hirata
e7dc5b4f22 data.c, [...]: Fix comment typos.
* data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
	trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
	trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
	Follow spelling conventions.

From-SVN: r94111
2005-01-23 14:36:26 +00:00
Bud Davis
dae245345d re PR libfortran/19313 (inquire(pad=) not implemented)
2005-01-22  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/19313
        * trans-io.c (gfc_trans_inquire): Added code to support
        pad.

        PR fortran/19313
        * gfortan.dg/inquire_6.f90: New test.

From-SVN: r94110
2005-01-23 14:19:54 +00:00
Steven G. Kargl
190607885a intrinsic.c (make_alias): Add standard argument.
2005-01-22  Steven G. Kargl  <kargls@comcast.net>

	* intrinsic.c (make_alias):  Add standard argument.
	(add_functions): Update make_alias calls.

From-SVN: r94082
2005-01-22 22:32:06 +00:00
Paul Brook
1438a8c909 * trans-expr.c (gfc_conv_function_call): Remove bogus TODO.
From-SVN: r94074
2005-01-22 19:20:01 +00:00
Paul Brook
af30f793c9 gfortran.h (gfc_check_access): Add prototype.
2005-01-22  Paul Brook  <paul@codesourcery.com>

	* gfortran.h (gfc_check_access): Add prototype.
	* match.c (gfc_match_namelist): Remove TODO.
	* module.c (check_access): Rename ...
	(gfc_check_access): ... to this.  Boolify.  Update callers.
	* resolve.c (resolve_symbol): Check for private objects in public
	namelists.
testsuite/
	* namelist_1.f90: New test.

From-SVN: r94073
2005-01-22 18:23:43 +00:00
Paul Brook
0dd973dd97 primary.c (gfc_match_rvalue): Only apply implicit type if variable does not have an explicit type.
2005-01-22  Paul Brook  <paul@codesourcery.com>

	* primary.c (gfc_match_rvalue): Only apply implicit type if variable
	does not have an explicit type.
	(gfc_match_variable): Resolve implicit derived types in all cases.
	Resolve contained function types from their own namespace, not the
	parent.
	* resolve.c (resolve_contained_fntype): Remove duplicate sym->result
	checking.  Resolve from the contained namespace, not the parent.
testsuite/
	* gfortran.dg/implicit_2.f90: New test.

From-SVN: r94066
2005-01-22 15:24:09 +00:00
Tobias Schlüter
b8d5e92646 re PR fortran/19194 (Missing RECL parameter in OPEN statement)
gcc/fortran/
PR fortran/19194
* trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
length parameters.
(gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
pointer fields.

libgfortran/
PR fortran/19194
* io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
use CHARACTER macro for definition of string valued paramters.

Also fix years in recent ChangeLog entries.

From-SVN: r94065
2005-01-22 15:37:39 +01:00
Tobias Schlüter
6ba692b44c re PR middle-end/19543 ([4.1 only] fortran LOGICAL*8 not consistently distinguished from 32 bit integers)
PR fortran/19543
* trans-const.c (gfc_conv_constant_to_tree): Give logical
constants the correct type.

From-SVN: r94054
2005-01-22 01:29:33 +01:00
Kazu Hirata
ec3781807e arith.c, [...]: Update copyright.
* arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
	gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
	match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
	scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
	trans-io.c, trans-stmt.c, trans.c: Update copyright.

From-SVN: r93830
2005-01-18 12:11:56 +00:00
Steven Bosscher
33d4098dd4 fix ChangeLogs
From-SVN: r93780
2005-01-17 22:04:46 +00:00
Ira Rosen
ef9312c1c7 f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins.
2005-01-17  Ira Rosen  <irar@il.ibm.com>

        * fortran/f95-lang.c (gfc_init_builtin_functions): Call
        targetm.init_builtins.

From-SVN: r93760
2005-01-17 14:04:11 +00:00
Paul Brook
35e4be358b Update copyright dates.
From-SVN: r93735
2005-01-16 17:53:26 +00:00
Tobias Schlüter
dfbb43185d re PR fortran/19182 (Error messages seem to be printed slower)
2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

	PR fortran/19182
	* error.c (error_char): Line-buffer errors / warnings.

From-SVN: r93734
2005-01-16 17:44:17 +00:00
Tobias Schlüter
ef1b6bcd00 * trans-intrinsic.c, trans-types.c: Update copyright years.
From-SVN: r93732
2005-01-16 17:48:16 +01:00
Tobias Schlüter
0da87370fb trans-intrinsic.c (gfc_conv_intrinsic_index, [...]): Remove 'gfc'-prefix from local variable...
* trans-intrinsic.c (gfc_conv_intrinsic_index,
gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove
'gfc'-prefix from local variable, remove dead code, use correct
type when inserting argument.

From-SVN: r93731
2005-01-16 17:45:57 +01:00
Tobias Schlüter
e805a59940 trans-intrinsic.c (build_fixbound_expr, [...]): Use 'build_int_cst' instead of converting 'integer_zero_node' or...
* trans-intrinsic.c (build_fixbound_expr,
gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall,
gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest,
gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead
of converting 'integer_zero_node' or 'integer_one_node'
respectively.
(gfc_conv_intrinsic_ishftc): Same, but store in local variable to
evade re-building.
(gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing,
gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use
'build_int_cst' instead of converting 'integer_zero_node' or
'integer_one_node' respectively.

From-SVN: r93730
2005-01-16 17:16:00 +01:00
Tobias Schlüter
5e3b87274d trans-types.c (gfc_get_character_type_len): : Use gfc_charlen_type_node as basic type for the range field.
* trans-types.c (gfc_get_character_type_len): : Use
gfc_charlen_type_node as basic type for the range field.

From-SVN: r93729
2005-01-16 17:05:46 +01:00
Tobias Schlüter
de46b50562 trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed / unsigned issue.
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed /
unsigned issue.  Use build_int_cst instead of converting
integer_zero_node.  Remove unnecessary conversion.

From-SVN: r93727
2005-01-16 16:38:03 +01:00
Steven G. Kargl
5352b89f60 re PR fortran/19168 (Mismatched KINDs in SELECT CASE constucts is not handled correctly)
2005-01-16  Steven G. Kargl  <kargls@comcast.net>

	PR 19168
	* resolve.c (check_case_overlap): Typo in comment.
	(validate_case_label_expr):  Fix up kinds of case values
	(resolve_select): Properly handle kind mismatches.
testsuite/
	* gfortran.dg/select_5.f90: New test.

From-SVN: r93725
2005-01-16 12:51:04 +00:00
Paul Brook
36c028f675 re PR fortran/17675 ([Regression w.r.t. g77] Alignment constraints not honored in EQUIVALENCE)
2004-01-16  Paul Brook  <paul@codesourcery.com>

	PR fortran/17675
	* trans-common.c (translate_common): Remove duplicate function call.
	(finish_equivalences): Preserve alignment when biasing offsets.
testsuite/
	* gfortran.dg/common_4.f90: New test.

From-SVN: r93724
2005-01-16 12:05:53 +00:00
Tobias Schlüter
da8309c66d primary.c (check_digit): Call 'ISXDIGIT' instead of assuming ASCII-like character encoding.
* primary.c (check_digit): Call 'ISXDIGIT' instead of assuming
ASCII-like character encoding.

From-SVN: r93713
2005-01-15 23:38:01 +01:00
Steven G. Kargl
c224550fb5 resolve.c (compare_case): Cleanup.
2005-01-14  Steven G. Kargl  <kargls@comcast.net>

	* resolve.c (compare_case): Cleanup.
testsuite/
	* gfortran.dg/select_1.f90: New test.
	* gfortran.dg/select_2.f90: New test.
	* gfortran.dg/select_3.f90: New test.
	* gfortran.dg/select_4.f90: New test.

From-SVN: r93640
2005-01-14 11:55:12 +00:00
Steven G. Kargl
6e06dac503 resolve.c (compare_case): Give arguments correct type.
2005-01-14  Steven G. Kargl  <kargls@comcast.net>

	* resolve.c (compare_case): Give arguments correct type.

From-SVN: r93637
2005-01-14 09:28:03 +00:00
Kazu Hirata
43a5ef693f iresolve.c, [...]: Fix comment typos.
* iresolve.c, trans-common.c, trans-types.c: Fix comment
	typos.

From-SVN: r93610
2005-01-13 19:34:37 +00:00
Paul Brook
832ef1ce86 re PR fortran/17675 ([Regression w.r.t. g77] Alignment constraints not honored in EQUIVALENCE)
2005-01-09  Paul Brook  <paul@codesourcery.com>

	PR fortran/17675
	* trans-common.c (current_common, current_offset): Remove.
	(create_common): Add head argument.
	(align_segment): New function.
	(apply_segment_offset): New function.
	(translate_common): Merge code from new_segment.  Handle alignment.
	(new_segment): Remove.
	(finish_equivalences): Ensure proper alignment.
testsuite/
	* gfortran.dg/common_2.f90: New file.
	* gfortran.dg/common_3.f90: New file.

From-SVN: r93122
2005-01-09 22:57:45 +00:00
Tobias Schlüter
e6edaeb2f7 Fix typo
From-SVN: r93095
2005-01-09 00:16:18 +01:00
Tobias Schlüter
27dfc9c46d arith.c (arctangent2, [...]): Fix whitespace issues.
* arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
gfc_constant_result, gfc_range_check, gfc_arith_power,
eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
gfc_real2complex, gfc_complex2int, gfc_complex2real,
gfc_complex2complex): Fix whitespace issues.
check.c (must_be, type_check, numeric_check, int_or_real_check,
logical_array_check, array_check, scalar_check, nonoptional_check,
variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
gfc_check_lbound, gfc_check_logical, min_max_args,
gfc_check_min_max_integer, gfc_check_min_max_real,
gfc_check_min_max_double, gfc_check_matmul,
gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
gfc_check_pack, gfc_check_precision, gfc_check_radix,
gfc_check_range, gfc_check_real, gfc_check_repeat,
gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
gfc_check_set_exponent): Fix formatting issues.
(gfc_check_size, gfc_check_sign): Alphabetize function order,
remove whitespace-only line.
(gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
gfc_check_random_number, gfc_check_random_seed,
gfc_check_second_sub, gfc_check_system_clock,
gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
gfc_check_unlink_sub): Fix formatting issues.

From-SVN: r93093
2005-01-08 23:40:47 +01:00
Tobias Schlüter
b36cd00b1e trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl, [...]): Remove trailing whitespace.
* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
trailing whitespace.
(prepare_arg_info): Fix formatting, indenting and remove trailing
whitespace.
(gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
trailing whitespace.

From-SVN: r93092
2005-01-08 22:47:36 +01:00
Tobias Schlüter
92574caf72 * trans-const.c: Don't include unused math.h.
From-SVN: r93090
2005-01-08 21:18:53 +01:00
Tobias Schlüter
779fae71d5 gfortran.h: Remove outdated comment.
* gfortran.h: Remove outdated comment.  Don't include stdio.h
explicitly.

From-SVN: r93082
2005-01-08 14:35:18 +01:00
Tobias Schlüter
12d3e34bd5 gcc.c (process_command): Change year in 'gcc --version' to 2005.
* gcc.c (process_command): Change year in 'gcc --version' to 2005.

fortran/
* gfortranspec.c (lang_specific_driver): Change year to 2005 in
output of 'gfortran --version'.

From-SVN: r92995
2005-01-06 17:41:36 +01:00
Steven G. Kargl
d22e48951c arith.c: Add system.h; remove string.h
* arith.c: Add system.h; remove string.h
        * decl.c: Ditto
        * matchexp.c: Ditto
        * parse.c: Ditto
        * resolve.c: Ditto
        * st.c: Ditto
        * check.c: Remove stdlib.h and stdarg.h
        * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
        * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
        * f95-lang.c: Add system.h; remove stdio.h
        * interface.c: Add system.h; remove stdlib.h and string.h
        * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
        * io.c: Remove string.h
        * simplify.c: Ditto
        * match.c: Remove stdarg.h and string.h
        * misc.c: Update copyright; add system.h; remove stdlib.h,
        string.h, and sys/stat.h
        * module.c: Add system.h; remove string.h, stdio.h, errno.h,
        unistd.h, and time.h
        * option.c: Remove string.h and stdlib.h
        * primary.c: Ditto
        * scanner.c: Update copyright; add system.h; remove stdlib.h,
        stdio.h, string.h, and strings.h
        * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
        * trans-array.c: Remove stdio.h and gmp.h
        * trans-const.c: Ditto
        * trans-expr.c: Ditto
        * trans-io.c: Ditto
        * trans-stmt.c: Ditto
        * trans.c: Ditto
        * trans-intrinsic.c: Remove stdio.h and string.h

From-SVN: r92866
2005-01-03 13:43:55 -08:00
Steven G. Kargl
410d1a45e2 gfortran.h (gfc_case): fix typo in comment.
2004-12-29  Steven G. Kargl  <kargls@comcast.net>

* gfortran.h (gfc_case): fix typo in comment.

From-SVN: r92695
2004-12-29 03:48:27 +01:00
Tobias Schlüter
e98a8b5b62 re PR libfortran/19032 (modulo generates wrong result for divisor 1 and -1)
fortran/
PR fortran/19032
* trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment
in front of function to match the standard.  Correct handling
of MODULO.

testsuite/
PR fortran/19032
* gfortran.dg/intrinsic_modulo_1.f90: New.
* gfortran.fortran-torture/execute/intrinsic_mod_ulo.f90: Add
tests with divisor -1.

From-SVN: r92645
2004-12-27 18:13:07 +01:00
Andrew Pinski
201a97b479 trans-expr.c (gfc_conv_cst_int_power): Only check for flag_unsafe_math_optimizations if we have a float type.
2004-12-27  Andrew Pinski  <pinskia@physics.uc.edu>

        * trans-expr.c (gfc_conv_cst_int_power): Only check for
        flag_unsafe_math_optimizations if we have a float type.

From-SVN: r92644
2004-12-27 08:56:38 -08:00
Tobias Schlüter
56746a0745 trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to logicalshift.
gcc/fortran/
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
logicalshift.  Call fold.  Remove 0-bit shift shortcut.
(gfc_conv_intrinsic_ishftc): Convert first argument to at least
4 bytes bits.  Convert 2nd and 3rd argument to 4 bytes.  Convert
result if width(arg 1) < 4 bytes.  Call fold.

libgfortran/
* libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
Define.
* intrinsics/ishftc.c: Update copyright years.
(ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
* intrinsics/mvbits.c: Correcty non-ASCII character in my name.
Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.

gcc/testsuite/
* gfortran.dg/g77/f90-intrinsic-bit.f: New.

From-SVN: r92642
2004-12-27 17:43:25 +01:00
Steven G. Kargl
f300468ade gfortran.texi: Fix typo.
2004-12-23  Steven G. Kargl  <kargls@comcast.net>

     * gfortran.texi: Fix typo.

From-SVN: r92575
2004-12-23 23:14:23 +00:00
Tobias Schlüter
4fdb5c7125 trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix comment typo.
* trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix
comment typo.

From-SVN: r92274
2004-12-16 20:10:18 +01:00
Tobias Schlüter
e243549854 scanner.c (skip_fixed_comments): Fix typo in comment preceding function.
* scanner.c (skip_fixed_comments): Fix typo in comment preceding
function.

From-SVN: r92211
2004-12-15 20:15:40 +01:00
Tobias Schlüter
172b87995c re PR fortran/18993 (incorrect parsing in fixed-form)
fortran/
PR fortran/18993
* match.c (gfc_match_if): Don't explicitly skip optional whitespace.
(gfc_match_nullify): Make sure that ')' is in front of the end of
statement.

testsuite/
PR fortran/18993
* gfotran.dg/nullify_1.f: New test.

From-SVN: r92209
2004-12-15 19:55:57 +01:00
Richard Henderson
6b25a558d7 gfortran.h (gfc_expr.function.name): Make const.
* gfortran.h (gfc_expr.function.name): Make const.
        (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
        (gfc_get_string): Update prototype.
        * iresolve.c: Include tree.h.
        (string_node, HASH_SIZE, string_head, hash): Remove.
        (gfc_get_string): Use vsnprintf, get_identifier.
        (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
        * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1.
        (gfc_done_1): Don't call gfc_iresolve_done_1.
        * module.c (mio_allocated_string): Take and return const char *,
        instead of modifying char**.
        (mio_expr): Update to match.
        * resolve.c (pure_function): Constify name argument.
        (resolve_function): Constify name.
        * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise.

From-SVN: r92176
2004-12-14 19:56:06 -08:00
Richard Henderson
7f68c75fb3 iresolve.c (gfc_resolve_all, [...]): Use PREFIX.
gcc/fortran/
        * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
        gfc_resolve_cshift, gfc_resolve_dot_product, gfc_resolve_eoshift,
        gfc_resolve_matmul, gfc_resolve_maxloc, gfc_resolve_maxval,
        gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_pack,
        gfc_resolve_product, gfc_resolve_reshape, gfc_resolve_shape,
        gfc_resolve_spread, gfc_resolve_sum, gfc_resolve_transpose,
        gfc_resolve_unpack: Use PREFIX.
libgfortran/
        * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
        intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
        intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
        intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
        m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
        m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
        m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
        instead of "__".
        * generated/*: Rebuild.

From-SVN: r92075
2004-12-12 18:47:58 -08:00
Tobias Schlüter
23acf4d411 re PR fortran/18869 (multiple common blocks in a single line rejected)
gcc/
PR fortran/18869
* match.c (gfc_match_common): Skip whitespace.

testsuite/
PR fortran/18869
* gfortran.dg/common_1.f90: New test.

From-SVN: r92064
2004-12-12 22:12:00 +01:00
Steven G. Kargl
c3d003d207 re PR fortran/16581 (gfortran F90 bit intrinsics don't work with integer*{1,2,8})
2004-12-12  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/16581
	* check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits,
	gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default
	integer kind check; Issue error for -std=f95 when needed.
	* intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to
	GFC_STD_F95.
	* iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior):
	Promote arguments to same kind.

From-SVN: r92063
2004-12-12 21:09:09 +00:00
Steven G. Kargl
8d5cfa2765 re PR fortran/16222 (non-integral DO loop variables are unsupported.)
2004-12-12  Steven G. Kargl  <kargls@comcast.net>
	Paul Brook  <paul@codesourcery.com>

	PR fortran/16222
	* resolve.c (gfc_resolve_iterator_expr): New function.
	(gfc_resolve_iterator): Use it.  Add real_ok argument.  Convert
	start, end and stride to correct type.
	(resolve_code): Pass extra argument.
	* array.c (resolve_array_list): Pass extra argument.
	* gfortran.h (gfc_resolve): Add prototype.
	* trans-stmt.c (gfc_trans_do): Remove redundant type conversions.
	Handle real type iterators.
testsuite/
	* gfortran.dg/real_do_1.f90: New test.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r92057
2004-12-12 20:27:02 +00:00
Paul Brook
902c2ed4ea Fix trivial comment typo.
From-SVN: r92050
2004-12-12 16:30:00 +00:00
Tobias Schlüter
6ee42e0124 Fix date on ChangeLog, fix typo in function name
From-SVN: r92041
2004-12-12 01:56:30 +01:00
Tobias Schlüter
49e4d5803e re PR fortran/17175 (set_exponent breaks with integer*8 exponent)
fortran/
PR fortran/17175
* iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of
same kind as C's 'int'.
(gfc_resolve_set_eponent): Convert 'I' argument if not of kind 4.

testsuite/
PR fortran/17175
* gfortran.dg/scale_1.f90: New test.

From-SVN: r92029
2004-12-11 12:06:31 +01:00
Richard Henderson
323c74dacc intrinsic.c (gfc_convert_type_warn): Propagate the input shape to the output expression.
* intrinsic.c (gfc_convert_type_warn): Propagate the input shape
        to the output expression.
        * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
        warning conversion.
        (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
        to index kind.

From-SVN: r91917
2004-12-08 13:17:18 -08:00
Tobias Schlüter
baa8edda03 Add missing PR numbers for previous commit:
fortran/
PR fortran/18826
* resolve.c (resolve_code): Impose correct restrictions on
assigned variable.

testsuite/
PR fortran/18826
* gfortran.dg/assign_1.f90: New test.

From-SVN: r91902
2004-12-08 15:38:24 +01:00
Tobias Schlüter
59ce85b543 * decl.c (gfc_match_end): Use locus of END when eos is an error.
From-SVN: r91899
2004-12-08 13:29:44 +01:00
Tobias Schlüter
40f2165e2d resolve.c (resolve_code): Impose correct restrictions on assigned variable.
fortran/
* resolve.c (resolve_code): Impose correct restrictions on
assigned variable.

testsuite/
* gfortran.dg/assign_1.f90: New test.

From-SVN: r91898
2004-12-08 13:27:54 +01:00
Steven G. Kargl
df65f0938c flush.c: New file.
2004-12-02  Steven G. Kargl  <kargls@comcast.net>
	Paul Brook  <paul@codesourcery.com>

libgfortran/
	* intrinsics/flush.c: New file.
	* intrinsics/fnum.c: ditto
	* intrinsics/stat.c: ditto
	* io/io.h (unit_to_fd): Add prototype.
	* io/unix.c (unit_to_fd): New function.
	* configure.ac: Add test for members of struct stat.  Check for
	sys/types.h and sys/stat.h
	* Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
	* configure.in: Regenerate.
	* config.h.in: Regenerate.
	* Makefile.in: Regenerate.
fortran/
	* check.c (gfc_check_flush, gfc_check_fnum): New functions.
	(gfc_check_fstat, gfc_check_fstat_sub): New functions.
	(gfc_check_stat, gfc_check_stat_sub): New functions.
	* gfortran.h (GFC_ISYM_FNUM,GFC_ISYM_FSTAT,GFC_ISYM_STAT): New symbols
	* intrinsic.c (add_functions,add_subroutines): Add flush, fnum,
	fstat, and stat to intrinsics symbol tables.
	* intrinsic.h (gfc_check_flush, gfc_resolve_stat_sub): Add prototypes.
	(gfc_resolve_fstat_sub, gfc_resolve_stat): Ditto.
	* iresolve.c (gfc_resolve_fnum, gfc_resolve_fstat): New functions.
	(gfc_resolve_stat, gfc_resolve_flush): New functions.
	(gfc_resolve_stat_sub,gfc_resolve_fstat_sub): New functions
	* trans-intrinsic.c (gfc_conv_intrinsic_function): Add new intrinsics.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r91609
2004-12-02 04:10:26 +00:00
Steven G. Kargl
1270d6334a intrinsic.c: Fix and add comments, fix function declarations
2004-12-02  Steven G. Kargl  <kargls@comcast.net>

	* intrinsic.c: Fix and add comments, fix function declarations
	(OPTIONAL,REQUIRED): New symbols
	(add_functions,add_subroutines): Use symbols
	(gmp.h): Remove unused include

From-SVN: r91604
2004-12-02 01:34:26 +00:00
Joseph Myers
597cdf4f43 darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs instead of `%s' in diagnostic.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs
	instead of `%s' in diagnostic.

cp:
	* g++spec.c, lex.c: Avoid ` as left quote in diagnostics.

fortran:
	* f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quote
	in diagnostics.

java:
	* gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
	in diagnostics.

From-SVN: r91282
2004-11-25 11:13:38 +00:00
Steven Bosscher
39afeb1aad c-opts.c (c_common_post_options): Don't clear flag_inline_functions.
gcc/
	* c-opts.c (c_common_post_options): Don't clear
	flag_inline_functions.
	* dojump.c (clear_pending_stack_adjust): Remove check on
	flag_inline_functions, it's always true.
	* config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
	that can never trigger.
	* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
	flag_inline_trees, now that flag_inline_functions is never
	cleared.
	* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
	flag_inline_functions at optimization levels greater than
	or equal to 3.  This is already done by default.

ada/
	* misc.c (gnat_post_options): Don't clear
	flag_inline_functions.

cp/
	* decl.c (cxx_init_decl_processing): Don't clear
	flag_inline_functions.

fortran/
	* options.c (gfc_post_options): Don't clear flag_inline_functions.

java/
	* class.c (make_class_data): Don't check flag_inline_functions.
	* lang.c (flag_really_inline): Remove unused flag.
	(java_handle_option): Don't set it here.  Remove special handling
	of flag_inline_functions for Java.
	(java_init): Don't set flag_inline_trees here.  Already done...
	(java_post_options): ...here.  Don't clear flag_inline_functions.

From-SVN: r91190
2004-11-24 19:45:32 +00:00
Steven G. Kargl
d8fe26b2cd check.c (gfc_check_getcwd_sub): Fix seg fault.
* check.c (gfc_check_getcwd_sub): Fix seg fault.

	* check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub,
	gfc_check_unlink,gfc_check_unlink_sub): New functions
	* gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols
	* intrinsic.c (add_functions,add_subroutines): Add umask, unlink,
	exit to intrinsics symbol tables.
	* intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit,
	gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask,
	gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub,
	gfc_resolve_unlink_sub): Add and sort prototypes.
	* iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit,
	gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions
	* trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols

libgfortran/
	* Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
	* Makefile.in: Regenerated
	* intrinsics/umask.c: New file
	* intrinsics/unlink.c: ditto
	* intrinsics/exit.c: ditto

From-SVN: r90949
2004-11-20 01:44:49 +00:00
Paul Brook
40b026d890 re PR fortran/13010 (seg fault on valid code)
PR fortran/13010
	* trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype.
	(gfc_array_init_size, gfc_conv_expr_descriptor): Ditto.
	* trans-types.c (gfc_get_dtype): Accept array type rather than element
	type.
	(gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE.
	(gfc_get_array_type_bounds): Ditto.
	(gfc_get_derived_type): Recurse into derived type pointers.
	* trans-types.h (gfc_get_dtype): Add prototype.
	* trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment.
testsuite/
	* gfortran.dg/der_pointer_1.f90: New test.

From-SVN: r90714
2004-11-16 02:02:37 +00:00
Paul Brook
c4759ce320 * trans-types.c (gfc_get_dtype): Remove obsolete TODO.
From-SVN: r90676
2004-11-15 16:32:20 +00:00
Mike Stump
9d65c5cb57 Makefile.in: Add html support.
* Makefile.in: Add html support.
        * java/Make-lang.in: Likewise.
        * fortran/Make-lang.in: Likewise.
        * treelang/Make-lang.in: Likewise.
        * doc/install.texi: Likewise.
        * doc/makefile.texi: Likewise.
        * doc/sourcebuild.texi: Likewise.

From-SVN: r90577
2004-11-13 07:35:55 +00:00
Paul Brook
9665466484 re PR fortran/18375 (ICE when compiling spec benchmark fma3d)
PR fortran/18375
	* trans-expr.c (gfc_trans_subarray_assign): Free shape before ss.
	* trans-io.c (transfer_array_component): Ditto.

From-SVN: r90449
2004-11-10 20:03:21 +00:00
Paul Brook
851739ea17 * invoke.texi: Fix typo.
From-SVN: r90383
2004-11-10 02:35:05 +00:00
Kazu Hirata
f7b529fae7 arith.c, [...]: Fix comment formatting.
* arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,
	gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c,
	module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c,
	trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c,
	trans-io.c, trans-stmt.c, trans.h: Fix comment formatting.

From-SVN: r90266
2004-11-08 14:56:41 +00:00
Tobias Schlüter
c1df75d1a2 re PR fortran/18023 (ice on trying to convert between int and float)
PR fortran/18023
* io.c (resolve_tag): Tighten up exception for assigned FORMAT.

From-SVN: r90169
2004-11-06 13:49:13 +01:00
Kazu Hirata
882f2b8ea9 * gfortranspec.c: Replace GNU CC with GCC.
From-SVN: r90163
2004-11-06 03:49:32 +00:00
Tobias Schlüter
20a209b5be * gfortranspec.c (lang_specific_driver): Change year to 2004.
From-SVN: r90138
2004-11-05 21:01:34 +01:00
Tobias Schlüter
ca0e9281da re PR fortran/18111 (spurious warnings with -W -Wunused)
PR fortran/18111
        *  trans-decl.c (create_function_arglist): Set DECL_ARTIFICIAL for
        hidden parameters.

From-SVN: r90136
2004-11-05 20:52:06 +01:00