Commit Graph

1174 Commits

Author SHA1 Message Date
Bernhard Fischer
9d691ba750 re PR fortran/24783 ([4.1 and 4.2 only] Implicit none in module overwrite explicit in procedure)
fortran/ChangeLog
2006-11-20  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/24783
        * resolve.c (resolve_variable): Get the implicit type from the
        symbols namespace rather than the default namespace. Fix whitespace.
        (resolve_formal_arglist, resolve_equivalence): Fix typo.


testsuite/ChangeLog
2006-11-20  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/24783
        * gfortran.dg/implicit_10.f90: New test.

From-SVN: r119016
2006-11-20 17:20:33 +01:00
Erik Edelmann
51f824b647 resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of nonzero rank part references too.
fortran/
2006-11-19  Erik Edelmann  <eedelman@gcc.gnu.org>

        * resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of
        nonzero rank part references too.


testsuite/
2006-11-19  Erik Edelmann  <eedelman@gcc.gnu.org>

        * gfortran.dg/alloc_comp_constraint_5.f90: New.
        * gfortran.dg/alloc_comp_assign_2.f90: Removed invalid code.

From-SVN: r118999
2006-11-19 21:27:16 +00:00
Francois-Xavier Coudert
39f87c0333 module.c (gfc_use_module): Uncomment the ISO_FORTRAN_ENV code.
* module.c (gfc_use_module): Uncomment the ISO_FORTRAN_ENV code.
	Check that intrinsic and non-intrinsic modules don't conflict.
	(use_iso_fortran_env_module): New function.
	(create_int_parameter): New function.
	* trans-types.c (gfc_init_kinds): Choose values for
	gfc_numeric_storage_size and gfc_character_storage_size.
	(gfc_numeric_storage_size, gfc_character_storage_size): New variables.
	* resolve.c (resolve_symbol): Do no check intrinsic modules
	against the list of intrinsic symbols.
	* iso-fortran-env.def: New file.
	* gfortran.h (gfc_numeric_storage_size,
	gfc_character_storage_size): Add prototypes.

	* gfortran.dg/use_3.f90: Remove error message.
	* gfortran.dg/iso_fortran_env_1.f90: New test.
	* gfortran.dg/iso_fortran_env_2.f90: New test.
	* gfortran.dg/iso_fortran_env_3.f90: New test.
	* gfortran.dg/iso_fortran_env_4.f90: New test.

From-SVN: r118998
2006-11-19 21:18:26 +00:00
Francois-Xavier Coudert
7b66643229 re PR fortran/24285 ([4.2 only] format(1000(a,$)))
PR fortran/24285

	* io.c (check_format): Allow dollars everywhere in format, and
	issue a warning.

	* gfortran.dg/dollar_edit_descriptor-3.f: New test.

From-SVN: r118971
2006-11-18 12:16:42 +00:00
Francois-Xavier Coudert
31198773e4 gfortran.h (gfc_add_intrinsic_modules_path, [...]): New prototypes.
* gfortran.h (gfc_add_intrinsic_modules_path,
	gfc_open_intrinsic_module): New prototypes.
	(gfc_add_include_path, gfc_open_included_file): Update prototypes.
	* lang.opt: Add -fintrinsic-modules-path option.
	* module.c (gfc_match_use): Match the Fortran 2003 form of
	USE statement.
	(gfc_use_module): Also handle intrinsic modules. 
	* scanner.c (gfc_directorylist): Add use_for_modules for field.
	(intrinsic_modules_dirs): New static variable.
	(add_path_to_list, gfc_add_intrinsic_modules_path): New functions.
	(gfc_add_include_path): Use the new add_path_to_list helper
	function.
	(gfc_release_include_path): Free memory for intrinsic_modules_dirs.
	(open_included_file, gfc_open_intrinsic_module): New functions.
	(gfc_open_included_file): Use the new open_included_file
	helper function.
	* lang-specs.h: Use the new -fintrinsic-modules-path option.
	* parse.c (decode_statement): Do not match the required space
	after USE here.
	* options.c (gfc_handle_option): Handle the new option. Use new
	prototype for gfc_add_include_path.
	(gfc_post_options): Use new prototype for gfc_add_include_path.

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

From-SVN: r118930
2006-11-17 11:11:25 +00:00
Francois-Xavier Coudert
9f1dce5609 re PR fortran/29391 ([4.2/4.1 only] LBOUND and UBOUND are broken)
PR fortran/29391
	PR fortran/29489

	* simplify.c (simplify_bound): Fix the simplification of
	LBOUND/UBOUND intrinsics.
	* trans-intrinsic.c (simplify_bound): Fix the logic, and
	remove an erroneous assert.

	* gcc/testsuite/gfortran.dg/bound_2.f90: Add more checks.
	* gcc/testsuite/gfortran.dg/bound_3.f90: New test.

From-SVN: r118888
2006-11-16 12:25:11 +00:00
François-Xavier Coudert
6c0e51c4fa trans-decl.c (gfc_get_symbol_decl): Fix formatting.
* trans-decl.c (gfc_get_symbol_decl): Fix formatting.

	* io/open.c (new_unit): Format %d expects an int variable.
	* runtime/error.c (show_locus): Format %d expects an int variable.

From-SVN: r118887
2006-11-16 11:20:57 +00:00
Brooks Moses
e25a0da328 data.c: Remove trailing periods from error messages.
* data.c: Remove trailing periods from error messages.
* decl.c: Likewise.
* expr.c: Likewise.
* io.c: Likewise.
* match.c: Likewise.
* module.c: Likewise.
* options.c: Likewise.
* resolve.c: Likewise.
* symbol.c: Likewise.
* trans-io.c: Likewise.

From-SVN: r118880
2006-11-15 19:05:28 -08:00
Brooks Moses
10612ddf52 lang.opt: Rearrange entries back into ASCII order.
* lang.opt: Rearrange entries back into ASCII order.

From-SVN: r118879
2006-11-15 19:03:04 -08:00
Tobias Burnus
ab25c2d920 parse.c (parse_contained): Fix indention of one line.
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       * parse.c (parse_contained): Fix indention
         of one line.

From-SVN: r118858
2006-11-15 17:16:19 +01:00
Tobias Burnus
8998be2031 re PR fortran/27546 (IMPORT is broken)
fortran/
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/27546
       * decl.c (gfc_match_import,variable_decl):
         Add IMPORT support.
         (gfc_match_kind_spec): Fix typo in gfc_error.
       * gfortran.h (gfc_namespace, gfc_statement):
         Add IMPORT support.
       * parse.c (decode_statement,gfc_ascii_statement,
         verify_st_order): Add IMPORT support.
       * match.h: Add gfc_match_import.
       * gfortran.texi: Add IMPORT to the supported
         Fortran 2003 features.

testsuite/
 2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/27546
       * gfortran.dg/import.f90: New test.
       * gfortran.dg/import2.f90: New test.
       * gfortran.dg/import3.f90: New test.

From-SVN: r118857
2006-11-15 16:46:42 +01:00
Tobias Burnus
65713e5bcc re PR fortran/27588 (-fbounds-check should catch substring out of range accesses)
fortran/
2006-11-15  Tobias Burnus  <burnus@net-b.de>
            Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

       PR fortran/27588
       * trans-expr.c (gfc_conv_substring): Add bounds checking.
         (gfc_conv_variable, gfc_conv_substring_expr): Pass more
         arguments to gfc_conv_substring.

testsuite/
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/27588
       * gfortran.dg/char_bounds_check_fail_1.f90: New test.


Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>

From-SVN: r118852
2006-11-15 11:13:16 +01:00
Tobias Burnus
8c894ae273 re PR fortran/29806 (Error if CONTAINS is present without SUBPROGRAM)
fortran/
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29806
       * parse.c (parse_contained): Check for empty contains statement.

testsuite/
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29806
       * gfortran.dg/contains.f90: New test.
       * gfortran.dg/derived_function_interface_1.f90: Add a dg-warning.

From-SVN: r118851
2006-11-15 11:02:21 +01:00
Bud Davis
5868cbf992 re PR fortran/28974 (Extremely slow compilation of enumerated DATA statements.)
2006-11-15  Bud Davis <bdavis9659@sbcglobal.net>

        PR fortran/28974
        * gfortran.h (gfc_expr): Add element which holds a splay-tree
        for the exclusive purpose of quick access to a constructor by
        offset.
        * data.c (find_con_by_offset): Use the splay tree for the search.
        (gfc_assign_data_value): Use the splay tree.
        (gfc_assign_data_value_range): ditto.
        * expr.c (gfc_get_expr): Initialize new element to null.
        (gfc_free_expr): Delete splay tree when deleting gfc_expr.

From-SVN: r118844
2006-11-15 05:10:22 +00:00
Brooks Moses
12c7896669 re PR fortran/29702 (RFE: Column number in error messages.)
PR fortran/29702
* fortran/error.c (show_loci): Move column-offset calculation to
show_locus.
(show_locus): Remove blank lines before "Included in"
lines, clean up code, calculate column-offsets, print
column number is error-header lines as appropriate.
(error_integer): (new function) Print integer to error
buffer.
(error_print): Use error_integer, avoid possible buffer
overflows from buggy error formats.
* testsuite/lib/gfortran-dg.exp (gfortran-dg-test): Ignore column
numbers in error message headers.

From-SVN: r118843
2006-11-14 20:00:35 -08:00
Brooks Moses
1dde868307 gfortran.h (GFC_MAX_LINE): Remove constant definition.
* gfortran.h (GFC_MAX_LINE): Remove constant definition.
(gfc_option_t): Clarify comments.
* options.c: Set default line length limits to actual default
values, rather than flag values.
* scanner.c: Eliminate checking and handling of the
fixed/free_line_length flag values.

From-SVN: r118842
2006-11-14 19:52:03 -08:00
Brooks Moses
4887aa7174 lang.opt: Remove -fno-backend option.
* lang.opt: Remove -fno-backend option.
* gfortran.h (gfc_option_t): Remove flag_no_backend.
* options.c (gfc_init_options): Remove flag_no_backend.
(gfc_handle_option): Remove -fno-backend option handler.
* parse.c (gfc_parse_file): Remove references to
gfc_option.flag_no_backend.

From-SVN: r118841
2006-11-14 19:49:21 -08:00
Tobias Burnus
17339e8836 match.c (gfc_match_namelist): Add missing space to error message.
2006-11-14  Tobias Burnus  <burnus@net-b.de>

       * match.c (gfc_match_namelist): Add missing space to
         error message.

From-SVN: r118820
2006-11-14 18:31:00 +01:00
Tobias Burnus
9c213349ff re PR fortran/29657 (Don't allow SAVE for functions)
fortran/
2006-11-14  Tobias Burnus  <burnus@net-b.de>

	PR fortran/29657
	* symbol.c (check_conflict): Add further conflicts.

testsuite/
2006-11-14  Tobias Burnus  <burnus@net-b.de>

	PR fortran/29657
	* gfortran.dg/conflicts.f90: Add.

From-SVN: r118812
2006-11-14 16:35:36 +01:00
Jakub Jelinek
b30c6a0d21 re PR fortran/29759 (ice on line continuation in OMP statements (gfc_next_char_literal, at fortran/scanner.c:701))
PR fortran/29759
	* fortran/scanner.c (skip_free_comments): Clear openmp_flag
	before returning true.

	* gfortran.dg/gomp/pr29759.f90: New test.

From-SVN: r118773
2006-11-13 20:42:55 +01:00
Andrew Pinski
3e806a3df4 re PR fortran/26994 (Scalar TRANSFER - error: invalid operand to unary operator)
2006-11-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR fortran/26994
        * gfortran.fortran-torture/compile/transfer-1.f90:
        New testcase.

2006-11-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR fortran/26994
        * trans-expr.c (gfc_conv_expr_reference): Set TREE_STATIC on the
        new CONST_DECL.

From-SVN: r118761
2006-11-13 06:36:09 -08:00
Paul Thomas
41f1662296 Correcting ChangeLog errors
From-SVN: r118721
2006-11-12 10:15:04 +00:00
Tobias Schlüter
b3916b71ea Fix entry missing from previously committed ChangeLog
From-SVN: r118703
2006-11-11 20:20:11 +01:00
Tobias Schlüter
ef56b98dcb Fix typo in previous check-in
From-SVN: r118702
2006-11-11 18:56:11 +01:00
Tobias Schlüter
bc0a33d315 data.c: Add 2006 to copyright years.
* data.c: Add 2006 to copyright years.
* interface.c: Same.
* misc.c: Same.
* trans-io.c: Same.

From-SVN: r118700
2006-11-11 18:10:24 +01:00
Richard Guenther
f9f770a8d5 tree.def (FIX_CEIL_EXPR, [...]): Remove unused tree codes.
2006-11-11  Richard Guenther  <rguenther@suse.de>

	* tree.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR, FIX_ROUND_EXPR):
	Remove unused tree codes.
	* tree-vrp.c (extract_range_from_unary_expr): Remove handling
	of FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
	* tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
	* tree.c (stabilize_reference): Likewise.
	* fold-const.c (fold_convert_const_int_from_real, operand_equal_p,
	fold_unary): Likewise.
	* tree-gimple.c (is_gimple_cast): Likewise.
	* dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
	* expr.c (expand_expr_real_1): Likewise.
	* tree-eh.c (tree_could_trap_p): Likewise.
	* gimplify.c (gimplify_expr): Likewise.
	* tree-inline.c (estimate_num_insns_1): Likewise.
	* tree-cfg.c (verify_expr): Likewise.

	cp/
	* typeck.c (build_unary_op): Likewise.

	java/
	* check-init.c (check_init): Likewise.

	ada/
	* trans.c (maybe_stabilize_reference): Likewise.

	fortran/
	* trans-intrinsic.c (enum rounding_mode): New enum.
	(build_fix_expr, gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
	gfc_conv_intrinsic_function): Use it instead of FIX_CEIL_EXPR,
	FIX_FLOOR_EXPR, FIX_ROUND_EXPR and FIX_TRUNC_EXPR.

From-SVN: r118692
2006-11-11 12:05:16 +00:00
Brooks Moses
100401682c Corrected gfc_process_option to gfc_handle_option in my last
ChangeLog entry.

From-SVN: r118670
2006-11-10 15:43:05 -08:00
Brooks Moses
131ac5dd47 lang.opt (-fmodule-private): Remove option.
* lang.opt (-fmodule-private): Remove option.
* gfortran.h (gfc_option_t): Remove module_access_private flag.
* options.c (gfc_init_options): Remove initialization for it.
(gfc_process_option): Remove handling for -fmodule-private.
* module.c (gfc_check_access): Add comments, remove check for
gfc_option.flag_module_access_private.

(Also fixed tab-damage in preceeding changelog entry.)

From-SVN: r118668
2006-11-10 14:34:26 -08:00
Paul Thomas
d8d8121add re PR fortran/29758 (Runtime segfault in RESHAPE with insufficient elements in SOURCE)
2006-11-10 Paul Thomas <pault@gcc.gnu.org>

   PR fortran/29758
   * check.c (gfc_check_reshape): Check that there are enough
   elements in the source array as to be able to fill an array
   defined by shape, when pad is absent.


2006-11-10 Paul Thomas <pault@gcc.gnu.org>

   PR fortran/29758
   * gfortran.dg/reshape_source_size_1.f90: New test.

From-SVN: r118664
2006-11-10 21:06:42 +00:00
Tobias Burnus
a6b03a63d6 re PR fortran/29454 (Slightly wrong error message for IF statement)
2006-11-10  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29454
       * resolve.c (gfc_resolve_blocks): Fix error message.

From-SVN: r118661
2006-11-10 19:15:39 +01:00
Paul Thomas
95fe073894 re PR fortran/29315 (error passing an array derived from type element)
2006-11-10 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29315
	* trans-expr.c (is_aliased_array): Treat correctly the case where the
	component is itself and array or array reference.


2006-11-10 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29315
	* gfortran.dg/aliasing_dummy_4.f90: New test.

From-SVN: r118659
2006-11-10 17:21:57 +00:00
Brooks Moses
f5bf550c9d * check.c (same_type_check): Typo fix in comment.
From-SVN: r118647
2006-11-09 19:38:43 -08:00
Paul Thomas
012019922e re PR fortran/29431 (Not Implemented: complex character array constructors)
2006-11-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29431
	* trans-array.c    (get_array_ctor_strlen): If we fall through to
	default, use a constant character length if it is available.

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29431
	* gfortran.dg/array_constructor_13.f90: New test.

From-SVN: r118631
2006-11-09 22:49:12 +00:00
Paul Thomas
ff883a9572 re PR fortran/29744 (Type renaming crashes gfortran with excessive memory usage)
2006-11-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29744
	* trans-types.c (gfc_get_derived_type): Ensure that the
	proc_name namespace is not the same as the owner namespace and
	that identical derived types in the same namespace share the
	same backend_decl.

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29744
	* gfortran.dg/used_types_12.f90: New test.

From-SVN: r118627
2006-11-09 20:22:19 +00:00
Paul Thomas
7114edca02 re PR fortran/29699 (ICE in trans-decl.c)
2006-11-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29699
	* trans-array.c (structure_alloc_comps): Detect pointers to
	arrays and use indirect reference to declaration.
	* resolve.c (resolve_fl_variable): Tidy up condition.
	(resolve_symbol): The same and only add initialization code if
	the symbol is referenced.
	* trans-decl.c (gfc_trans_deferred_vars): Call gfc_trans_
	deferred_array before gfc_trans_auto_array_allocation.

	PR fortran/21730
	* symbol.c (check_done): Remove.
	(gfc_add_attribute): Remove reference to check_done and remove
	the argument attr_intent.
	(gfc_add_allocatable, gfc_add_dimension, gfc_add_external,
	gfc_add_intrinsic, gfc_add_optional, gfc_add_pointer,
	gfc_add_cray_pointer, gfc_add_cray_pointee, gfc_add_result,
	gfc_add_target, gfc_add_in_common, gfc_add_elemental,
	gfc_add_pure, gfc_add_recursive, gfc_add_procedure,
	gfc_add_type): Remove references to check_done.
	* decl.c (attr_decl1): Eliminate third argument in call to
	gfc_add_attribute.
	* gfortran.h : Change prototype for gfc_add_attribute.



2006-11-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29699
	* gfortran.dg/alloc_comp_auto_array_1.f90: New test.

	PR fortran/21730
	* gfortran.dg/change_symbol_attributes_1.f90: New test.

From-SVN: r118624
2006-11-09 18:42:28 +00:00
Brooks Moses
592600ceb1 invoke.texi: Added documentation for -fmax-errors option.
* invoke.texi: Added documentation for -fmax-errors option.

From-SVN: r118616
2006-11-09 00:23:21 -08:00
Brooks Moses
3f139fcf2a lang.opt: Add -fmax-errors= option.
* lang.opt: Add -fmax-errors= option.
* gfortran.h (gfc_option_t): Add max_errors element.
* options.c (gfc_init_options): Set max_errors default value
to 25.
(gfc_handle_options): Assign -fmax_errors value to
gfc_option.max_errors.
* error.c (gfc_increment_error_count): New function, which
also checks whether the error count exceeds max_errors.
(gfc_warning): Use it.
(gfc_warning_now): Use it.
(gfc_notify_std): Use it.
(gfc_error): Use it.
(gfc_error_now): Use it.
(gfc_error_check): Use it.

From-SVN: r118615
2006-11-08 22:53:05 -08:00
Brooks Moses
350ff03fa9 lang.opt: Remove non-working -qkind= option.
* lang.opt: Remove non-working -qkind= option.
* gfortran.h (gfc_option_t): Remove q_kind member.
* options.c (gfc_init_options): Remove q_kind initialization.
(gfc_handle_option): Remove -qkind= option handling.
* primary.c: (match_real_constant): Remove 'Q' exponent.

From-SVN: r118614
2006-11-08 22:41:55 -08:00
Tobias Burnus
08d7f64ef0 gfortran.texi: Add volatile and internal-file namelist to Fortran 2003 status.
2006-11-08  Tobias Burnus  <burnus@net-b.de>

       * gfortran.texi: Add volatile and internal-file
         namelist to Fortran 2003 status.
       * intrinsic.texi: Correct CHMOD entry.

From-SVN: r118578
2006-11-08 10:23:53 +01:00
Paul Thomas
8f81c3c650 re PR fortran/29539 (ICE in variable_decl)
2006-11-07 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29539
	PR fortran/29634
	* decl.c (variable_decl): Add test for presence of proc_name.
	* error.c (gfc_error_flag_test): New function.
	* gfortran.h : Prototype for gfc_error_flag_test.

2006-11-07 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29539
	* gfortran.dg/gfortran.dg/blockdata_3.f90: New test.

	PR fortran/29634
	* gfortran.dg/gfortran.dg/derived_function_interface_1.f90: New
	test.

From-SVN: r118553
2006-11-07 15:17:17 +00:00
Tobias Burnus
775e6c3a7b re PR fortran/29601 (VOLATILE attribute and statement)
fortran/
2006-11-06  Tobias Burnus  <burnus@net-b.de>

    PR fortran/29601
    * symbol.c (check_conflict, gfc_add_volatile): Add volatile support.
    * decl.c (match_attr_spec, gfc_match_volatile): Add volatile support.
    * gfortran.h (symbol_attribute): Add volatile_ to struct.
    * resolve.c (was_declared): Add volatile support.
    * trans-decl.c (gfc_finish_var_decl): Add volatile support.
    * match.h: Declare gfc_match_volatile.
    * parse.c (decode_statement): Recognize volatile.
    * modules.c (ab_attribute, attr_bits, mio_symbol_attribute):
      Add volatile support.
    * dump-parse-tree.c (gfc_show_attr): Add volatile support.


testsuite/
2006-11-06  Tobias Burnus  <burnus@net-b.de>

    PR fortran/29601
    * gfortran.dg/volatile.f90: Add.
    * gfortran.dg/volatile2.f90: Add.
    * gfortran.dg/volatile3.f90: Add.
    * gfortran.dg/volatile4.f90: Add.
    * gfortran.dg/volatile5.f90: Add.
    * gfortran.dg/volatile6.f90: Add.
    * gfortran.dg/volatile7.f90: Add.

From-SVN: r118545
2006-11-07 14:27:53 +01:00
Tobias Burnus
aa4183d8a5 decl.c (match_attr_spec, [...]): Unify gfc_notify_std message for GFC_STD_F2003.
fortran/
2006-11-06  Tobias Burnus  <burnus@net-b.de>

       * decl.c (match_attr_spec, gfc_match_enum): Unify gfc_notify_std
         message for GFC_STD_F2003.
       * array.c (gfc_match_array_constructor): Unify gfc_notify_std
         message for GFC_STD_F2003.
       * io.c (check_io_constraints): Unify gfc_notify_std message for
         GFC_STD_F2003.
       * resolve.c (resolve_actual_arglist): Unify gfc_notify_std message
         for GFC_STD_F2003.

testsuite/
2006-11-06  Tobias Burnus  <burnus@net-b.de>

       * gfortran.dg/io_constraints_2.f90: Adjust pattern
         for matching error messages.
       * gfortran.dg/specifics_3.f90: Adjust pattern
         for matching error messages.

From-SVN: r118542
2006-11-07 10:11:08 +01:00
Brooks Moses
61e390b1ad Fixed incorrect date in changelog entry.
From-SVN: r118540
2006-11-06 17:52:49 -08:00
Brooks Moses
a1758c52e2 intrinsic.texi: Added documentation for FTELL, GETLOG, and HOSTNM intrinsics.
* intrinsic.texi: Added documentation for FTELL, GETLOG, and HOSTNM intrinsics.

From-SVN: r118538
2006-11-06 17:49:55 -08:00
Erik Edelmann
abe601c7cb re PR fortran/29630 ("Unclassifiable statement" with vector subscripts in initialization)
fortran/
2006-11-06  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29630
        PR fortran/29679
        * expr.c (find_array_section): Support vector subscripts.  Don't
        add sizes for dimen_type == DIMEN_ELEMENT to the shape array.


testsuite/
2006-11-06  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29630
        PR fortran/29679
        * gfortran.dg/initialization_2.f90: Test PRs 29630 and 29679 too.
        * gfortran.dg/initialization_3.f90: New.

From-SVN: r118528
2006-11-06 22:18:54 +00:00
Bernhard Fischer
f4d4085c10 re PR fortran/21061 (gfortran ignores -Werror)
2006-11-05  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/21061
        * error.c (gfc_warning): If warnings_are_errors then treat
        warnings as errors with respect to the exit code.
        (gfc_notify_std): Ditto.
        (gfc_warning_now): Ditto.

From-SVN: r118501
2006-11-05 15:57:24 +01:00
Paul Thomas
58b6e04789 2006-11-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu,org>
Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24518
	* trans-intrinsic.c (gfc_conv_intrinsic_mod): Use built_in fmod
	for both MOD and MODULO, if it is available.

	PR fortran/29565
	* trans-expr.c (gfc_conv_aliased_arg): For an INTENT(OUT), save
	the declarations from the unused loops by merging the block
	scope for each; this ensures that the temporary is declared.

2006-11-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29565
	* gfortran.dg/gfortran.dg/aliasing_dummy_3.f90: New test.

From-SVN: r118492
2006-11-05 06:27:48 +00:00
Brooks Moses
cb60c134e2 error.c (show_locus): Add trailing colon in error messages.
* fortran/error.c (show_locus): Add trailing colon in error messages.
(error_print): Avoid leading space in error lines.
* testsuite/lib/gfortran-dg.exp (gfortran-dg-test): Adjust pattern
for matching error messages.

From-SVN: r118491
2006-11-04 16:28:08 -08:00
Francois-Xavier Coudert
d6910bb551 re PR fortran/29713 (ICE in gfc_set_constant_character_len decl.c:762)
PR fortran/29713

	* expr.c (gfc_simplify_expr): Correct memory allocation.

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

From-SVN: r118483
2006-11-04 20:58:26 +00:00
Brooks Moses
5d7de335d7 error.c (show_locus): Remove "In file" from error messages.
* fortran/error.c (show_locus): Remove "In file" from error messages.
* testsuite/lib/gfortran-dg.exp (gfortran-dg-test): Remove expected "In file" from error 
messages.

From-SVN: r118450
2006-11-02 21:07:59 -08:00
Geoffrey Keating
5880f14fe8 In gcc/:
* coverage.c (coverage_checksum_string): Update comment.
	* dwarf2out.c (switch_to_eh_frame_section): Update for removal
	of get_file_function_name.
	* cgraphunit.c (cgraph_build_static_cdtor): Update for rename
	of get_file_function_name_long.
	* tree.c (get_file_function_name): Rename from
	get_file_function_name_long; improve comment; handle 'I' and 'D'
	specially when the target has ctor/dtor support; remove special
	handling for 'F'.
	(get_file_function_name): Remove.
	* tree.h (get_file_function_name): Rename from
        get_file_function_name_long.
	(get_file_function_name): Remove prototype.
In gcc/cp/:
	* name-lookup.c (get_anonymous_namespace_name): New.
	(push_namespace_with_attribs): Use get_anonymous_namespace_name.
	* decl2.c (start_objects): Update for rename of
	get_file_function_name_long.
In gcc/fortran/:
	* trans-decl.c (gfc_generate_constructors): Update for removal
	of get_file_function_name.

From-SVN: r118360
2006-11-01 05:06:12 +00:00
Bernhard Fischer
4143349751 re PR fortran/29537 (ICE in gfc_match_common for blank common in BLOCK DATA unit)
fortran/ChangeLog:
2006-11-01  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/29537
        * trans-common.c (gfc_trans_common): If the blank common is
        in a procedure or program without a name then proc_name is null, so use
        the locus of the common.
        (gfc_sym_mangled_common_id): Fix whitespace.
        * match.c (gfc_match_common): Emit warning about blank common in
        block data.

testsuite/ChangeLog:
2006-11-01  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/29537
        * gfortran.dg/blockdata_1.f90: Add warning about blank common in block
	data.
        * gfortran.dg/blockdata_2.f90: New testcase.

From-SVN: r118347
2006-11-01 00:38:58 +01:00
François-Xavier Coudert
5d32fe7f45 * ChangeLog: Forgotten ChangeLog entry for previous commit.
From-SVN: r118339
2006-10-31 20:17:11 +00:00
Francois-Xavier Coudert
150675a88b re PR fortran/29067 (gfc_resolve_expr(): Bad expression type)
PR fortran/29067

	* decl.c (gfc_set_constant_character_len): NULL-terminate the
	character constant string.
	* data.c (create_character_intializer): Likewise.
	* expr.c (gfc_simplify_expr): NULL-terminate the substring
	character constant.
	* primary.c (match_hollerith_constant): NULL-terminate the
	character constant string.

	* gfortran.dg/pr29067.f: New test.

From-SVN: r118338
2006-10-31 20:15:22 +00:00
Paul Thomas
dd5797cc36 re PR fortran/29387 (ICE on character array function of variable length)
2006-10-31  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29387
	* trans-intrinsic.c (gfc_conv_intrinsic_len): Rearrange to have
	a specific case for EXPR_VARIABLE and, in default, build an ss
	to call gfc_conv_expr_descriptor for array expressions..

	PR fortran/29490
	* trans-expr.c (gfc_set_interface_mapping_bounds): In the case
	that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
	values for it and GFC_TYPE_ARRAY_UBOUND.

	PR fortran/29641
	* trans-types.c (gfc_get_derived_type): If the derived type
	namespace has neither a parent nor a proc_name, set NULL for
	the search namespace.


2006-10-31  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29387
	* gfortran.dg/intrinsic_actual_2.f90: New test.

	PR fortran/29490
	* gfortran.dg/actual_array_interface_1.f90: New test.

	PR fortran/29641
	* gfortran.dg/used_types_11.f90: New test.

From-SVN: r118220
2006-10-31 06:03:24 +00:00
Tobias Burnus
9aceacac92 re PR fortran/29452 (Keyword check for specifiers in WRITE and READ)
fortran/
2006-10-30  Tobias Burnus  <burnus@net-b.de>

       	PR fortran/29452
       	* io.c (check_io_constraints): Fix keyword string comparison.

libgfortran/
2006-10-30  Tobias Burnus  <burnus@net-b.de>

       	PR fortran/29452
	* runtime/string.c (compare0): Check whether string lengths match.

testsuite/
2006-10-30  Tobias Burnus  <burnus@net-b.de>

	PR fortran/29452
	* gfortran.dg/write_check.f90: Check run-time keyword checking.
	* gfortran.dg/write_check2.f90: Check compile-time keyword checking

From-SVN: r118191
2006-10-30 19:22:47 +01:00
Andrew Pinski
0e69739965 re PR fortran/29410 ([4.2 only] bug with TRANSFER() and -O2)
2006-10-30  Andrew Pinski  <pinskia@gmail.com>

        PR fortran/29410
        * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer):
        Change over to create VIEW_CONVERT_EXPR instead of using an
        ADDR_EXPR, a cast and then an indirect reference
2006-10-30  Andrew Pinski  <pinskia@gmail.com>

        PR Fortran/29410
        * gfortran.fortran-torture/execute/transfer1.f90: New test.

From-SVN: r118186
2006-10-30 08:15:09 -08:00
Francois-Xavier Coudert
0f8bc3e173 trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a signed integer node.
* trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a
	signed integer node.

From-SVN: r118151
2006-10-29 17:05:37 +00:00
Jerry DeLisle
2c693a24a0 re PR fortran/17741 (ICE in gfc_free_namespace, at fortran/symbol.c:2208)
2006-10-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/17741
	* decl.c (get_proc_name): Bump current namespace refs count.

From-SVN: r118149
2006-10-29 16:43:48 +00:00
Jakub Jelinek
a7a53ca582 re PR fortran/29629 (ICE on OpenMP-enabled program (gfc_conv_variable, at fortran/trans-expr.c:404))
PR fortran/29629
	* trans-openmp.c (gfc_trans_omp_array_reduction): Set attr.flavor
	of init_val_sym and outer_sym to FL_VARIABLE.

	* testsuite/libgomp.fortran/pr29629.f90: New test.

From-SVN: r118134
2006-10-29 11:27:39 +01:00
Kazu Hirata
37efe9e9c7 * intrinsic.texi: Fix a typo.
From-SVN: r118131
2006-10-29 04:41:10 +00:00
Steven G. Kargl
b814a64ea1 gfortran.h: Remove GFC_MPFR_TOO_OLD.
2006-10-27  Steven G. Kargl  <kargl@gcc.gnu.org>
	* gfortran.h: Remove GFC_MPFR_TOO_OLD.
	* arith.c (arctangent2): Remove function
	(gfc_check_real_range): Remove subnormal kludge.
	* arith.h: Remove arctangent2 prototype.
	* simplify.c: (gfc_simplify_atan2): Remove use of arctangent2.
	(gfc_simplify_exponent, gfc_simplify_log, gfc_simplify_nearest,
	gfc_simplify_rrspacing, gfc_simplify_spacing): Remove mpfr kludges.

From-SVN: r118120
2006-10-28 23:31:22 +00:00
Tobias Burnus
f1827a8c69 re PR fortran/28224 (gfortran should support namelist (nml) for internal file units)
fortran/
2006-10-28  Tobias Burnus  <burnus@net-b.de>

	PR fortran/28224
	* io.c (check_io_constraints): Allow namelists
	  for internal files for Fortran 2003.

testsuite/
2006-10-28  Tobias Burnus  <burnus@net-b.de>

	PR fortran/28224
	* gfortran.dg/io_constraints_2.f90: Use -std=f95.
	* gfortran.dg/namelist_internal.f90: New test.

From-SVN: r118113
2006-10-28 23:59:20 +02:00
Jerry DeLisle
a9f6f1f27f re PR fortran/27954 (ICE on garbage in DATA statement)
2006-10-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/27954
	* decl.c (gfc_free_data_all): New function to free all data structures
	after errors in DATA statements and declarations.
	(top_var_list): Use new function.(top_val_list): Use new function.
	(gfc_match_data_decl): Use new function.
	* misc.c (gfc_typename): Fixed incorrect function name in error text.

From-SVN: r118084
2006-10-27 20:47:28 +00:00
Erik Edelmann
b9703d9852 re PR fortran/29393 (Vector subscript rejected)
fortran/
2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29393
        * expr.c (simplify_parameter_variable): Keep rank of original
         expression.

Testsuite/
2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29393
        * gfortran.dg/initialize_2.f90: New.

From-SVN: r118008
2006-10-24 17:01:30 +00:00
Rafael Ávila de Espíndola
c79efc4d2a decl.c: Include langhooks.h.
* gcc/java/decl.c: Include langhooks.h.
       (builtin_function): Remove.
       (java_init_decl_processing): Replace calls to builtin_function
       with add_builtin_function.

       * gcc/java/Make-lang.in (jc1$(exeext)): Depend on and link with
       attribs.o.
       (java/decl.o): Depend on langhooks.h.

       * gcc/java/java-tree.h (builtin_function): Remove.

       * gcc/tree.c (local_define_builtin): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/objc/objc-act.c (synth_module_prologue): Replace calls to
       builtin_function with add_builtin_function.
       (build_next_objc_exception_stuff): Replace calls to
       builtin_function with add_builtin_function.
       (build_objc_exception_stuff): Replace calls to
       builtin_function with add_builtin_function.

       * gcc/objcp/objcp-decl.h (objcp_builtin_function): Remove.

       * gcc/cp/decl.c (builtin_function_1): Move common code to
       add_builtin_function.
       (builtin_function): Rename to cxx_builtin_function.
       Change the signature.

       * gcc/cp/call.c: Include langhooks.h.
       (build_java_interface_fn_ref):  Replace calls to
       builtin_function with add_builtin_function.

       * gcc/cp/Make-lang.in (cp/call.o): Depend on langhooks.h.

       * gcc/cp/cp-objcp-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
       cxx_builtin_function.

       * gcc/cp/cp-tree.h (builtin_function): Rename to cxx_builtin_function.
       Change the signature.

       * gcc/c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
       c_builtin_function.

       * gcc/c-tree.h (builtin_function): Rename to c_builtin_function. Change
       the signature.

       * gcc/ada/utils.c (builtin_function): Rename to gnat_builtin_function.
       Move common code to add_builtin_function.

       * gcc/ada/misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
       gnat_builtin_function.

       * gcc/ada/gigi.h (builtin_function): Rename to gnat_builtin_function.
       Change the signature.

       * gcc/c-decl.c (builtin_function): Rename to c_builtin_function. Move
       common code to add_builtin_function.

       * gcc/fortran/Make-lang.in (f951$(exeext)): Depend on and link with
       attribs.o.

       * gcc/fortran/trans.h (builtin_function): Rename to
       gfc_builtin_function. Change the signature.

       * gcc/fortran/f95-lang.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
       gfc_builtin_function.
       (builtin_function): Rename to gfc_builtin_function. Move common
       code to builtin_function.
       (gfc_define_builtin): Replace calls to builtin_function with
       gfc_define_builtin.

       * gcc/langhooks.c (add_builtin_function): New function.
       (lhd_builtin_function): New function.

       * gcc/langhooks.h (struct lang_hooks): Change the signature of
       builtin_function.
       (add_builtin_function): New function.

       * gcc/treelang/treetree.c (builtin_function): Remove.

       * gcc/tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
       calls to lang_hooks.builtin_function with add_builtin_function.

       * gcc/c-common.c (decl_builtin_1): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/alpha/alpha.c (alpha_init_builtins): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/frv/frv.c (def_builtin): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/s390/s390.c (s390_init_builtins): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/sparc/sparc.c (def_builtin): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/i386/i386.c (def_builtin): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.
       (def_builtin): Replace calls to lang_hooks.builtin_function with
       add_builtin_function.

       * gcc/config/sh/sh.c (sh_media_init_builtins): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/c4x/c4x.c (c4x_init_builtins): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/stormy16/stormy16.c (xstormy16_init_builtins):
       Replace calls to lang_hooks.builtin_function with
       add_builtin_function.

       * gcc/config/iq2000/iq2000.c (def_builtin):
       Replace calls to lang_hooks.builtin_function with
       add_builtin_function.

       * gcc/config/ia64/ia64.c (def_builtin): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/rs6000/rs6000.c (def_builtin): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.
       (altivec_init_builtins): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/arm/arm.c (def_mbuiltin): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.
       (arm_init_tls_builtins): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/mips/mips.c (mips_init_builtins): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/config/bfin/bfin.c (def_builtin): Replace calls to
       lang_hooks.builtin_function with add_builtin_function.

       * gcc/langhooks-def.h (lhd_builtin_function): New function.
       (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.

From-SVN: r117981
2006-10-23 19:47:58 +00:00
Francois-Xavier Coudert
5a0aad3165 re PR fortran/26025 (Optionally use BLAS for matmul)
PR fortran/26025

	* lang.opt: Add -fexternal-blas and -fblas-matmul-limit options.
	* options.c (gfc_init_options): Initialize new flags.
	(gfc_handle_option): Handle new flags.
	* gfortran.h (gfc_option): Add flag_external_blas and
	blas_matmul_limit flags.
	* trans-expr.c (gfc_conv_function_call): Use new argument
	append_args, appending it at the end of the argument list
	built for a function call.
	* trans-stmt.c (gfc_trans_call): Use NULL_TREE for the new
	append_args argument to gfc_trans_call.
	* trans.h (gfc_conv_function_call): Update prototype.
	* trans-decl.c (gfc_build_intrinsic_function_decls): Add
	prototypes for BLAS ?gemm routines.
	* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Generate the
	extra arguments given to the library matmul function, and give
	them to gfc_conv_function_call.
	* invoke.texi: Add documentation for -fexternal-blas and
	-fblas-matmul-limit.

	* m4/matmul.m4: Add possible call to gemm routine.
	* generated/matmul_r8.c: Regenerate.
	* generated/matmul_r16.c: Regenerate.
	* generated/matmul_c8.c: Regenerate.
	* generated/matmul_i8.c: Regenerate.
	* generated/matmul_c16.c: Regenerate.
	* generated/matmul_r10.c: Regenerate.
	* generated/matmul_r4.c: Regenerate.
	* generated/matmul_c10.c: Regenerate.
	* generated/matmul_c4.c: Regenerate.
	* generated/matmul_i4.c: Regenerate.
	* generated/matmul_i16.c: Regenerate.

From-SVN: r117948
2006-10-22 07:41:48 +00:00
Kaveh R. Ghazi
70ec446fab configure.in: Require GMP-4.1+ and MPFR-2.2+.
* configure.in: Require GMP-4.1+ and MPFR-2.2+.  Don't check
	need_gmp anymore.
	* configure: Regenerate.

gcc:
	* Makefile.in (LIBS): Add $(GMPLIBS).
	* doc/install.texi: Update GMP and MPFR requirements.
	* doc/sourcebuild.texi (need_gmp): Delete.

gcc/fortran:
	* Make-lang.in (F95_LIBS): Delete.
	* f951$(exeext): Use $(LIBS) instead of $(F95_LIBS).
	* config-lang.in (need_gmp): Delete.

From-SVN: r117933
2006-10-21 13:58:13 +00:00
Brooks Moses
27ea03604f invoke.texi: Fixed "denormal" typo.
* invoke.texi: Fixed "denormal" typo.

From-SVN: r117899
2006-10-19 20:29:05 -07:00
Paul Thomas
6b591ec0ba [multiple changes]
2006-10-19  Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29216
	PR fortran/29314
	* gfortran.h : Add EXEC_INIT_ASSIGN.
	* dump-parse-tree.c (gfc_show_code_node): The same.
	* trans-openmp.c (gfc_trans_omp_array_reduction): Set new
	argument for gfc_trans_assignment to false.
	* trans-stmt.c (gfc_trans_forall_1): The same.
	* trans-expr.c (gfc_conv_function_call, gfc_trans_assign,
	gfc_trans_arrayfunc_assign, gfc_trans_assignment): The
	same. In the latter function, use the new flag to stop
	the checking of the lhs for deallocation.
	(gfc_trans_init_assign): New function.
	* trans-stmt.h : Add prototype for gfc_trans_init_assign.
	* trans.c (gfc_trans_code): Implement EXEC_INIT_ASSIGN.
	* trans.h : Add new boolean argument to the prototype of
	gfc_trans_assignment.
	* resolve.c (resolve_allocate_exp): Replace EXEC_ASSIGN by
	EXEC_INIT_ASSIGN.
	(resolve_code): EXEC_INIT_ASSIGN does not need resolution.
	(apply_default_init): New function.
	(resolve_symbol): Call it for derived types that become
	defined but which do not already have an initialization
	expression..
	* st.c (gfc_free_statement): Include EXEC_INIT_ASSIGN.

2006-10-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29216
	* gfortran.dg/result_default_init_1.f90: New test.

	PR fortran/29314
	* gfortran.dg/automatic_default_init_1.f90: New test.

	* gfortran.dg/alloc_comp_basics_1.f90: Reduce deallocate count
	from 38 to 33.

From-SVN: r117879
2006-10-19 04:51:14 +00:00
Tobias Burnus
02712c161f primary.c: Revert 'significand'-to-'significant' comment change.
2006-10-16  Tobias Burnus  <burnus@net-b.de>

        * primary.c: Revert 'significand'-to-'significant' comment change.
        * invoke.texi (Warning Options): Minor cleanup for
          -Wimplicit-interface.

From-SVN: r117858
2006-10-18 19:19:23 +02:00
Paul Thomas
5b440a1cf4 [multiple changes]
2006-10-17  Paul Thomas <pault@gcc.gnu.org>

	PR fortran/20541
	* trans-array.c (gfc_trans_array_bounds): Test for and set
	negative stride of a non-constant bound array to zero.

	PR fortran/29392
	* data.c (create_character_intializer): Copy and simplify
	the expressions for the start and end of a sub-string
	reference.

2006-10-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29392
	* gfortran.dg/data_char_3.f90: New test.

	PR fortran/20541
	* gfortran.dg/negative_automatic_size.f90: New test.

From-SVN: r117797
2006-10-16 22:29:46 +00:00
Kaz Kojima
0573fa421a io.c (gfc_match_close): Ensure that status is terminated by a NULL element.
* io.c (gfc_match_close): Ensure that status is terminated by
	a NULL element.

From-SVN: r117785
2006-10-16 12:22:04 +00:00
Tobias Burnus
fa9516946c trans-stmt.c: Fix a typo
2006-10-16  Tobias Burnus <burnus@net-b.de>

       * trans-stmt.c: Fix a typo
       * invoke.texi: Fix typos
       * resolve.c: Fix a comment typo
       * trans-decl.c: Fix a comment typo
       * primary.c: Fix a comment typo

From-SVN: r117781
2006-10-16 13:17:29 +02:00
Steven G. Kargl
ff2c6bbbc9 re PR fortran/29403 ([4.1 only] print ('(a)') not working, print '(a) works)
2006-10-15  Steven G. Kargl  <kargl@gcc.gnu.org>

    PR fortran/29403
    * io.c (match_io):  Check for a default-char-expr for PRINT format.

From-SVN: r117764
2006-10-16 00:51:46 +00:00
Bernhard Fischer
2e5758e8c1 re PR fortran/24767 (gfortran: -Wno-unused-label does not work properly)
fortran/ChangeLog

2006-10-13  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/24767
        * lang.opt (Wunused-labels): Remove.
        * options.c: Remove references to gfc_option.warn_unused_labels.
        * gfortran.h: Remove variable warn_unused_labels.               
        * resolve.c (warn_unused_fortran_label) : Use warn_unused_label
        instead of gfc_option.warn_unused_labels.
        * invoke.texi: Remove documentation of -Wunused-labels.

testsuite/ChangeLog

2006-10-13  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/24767
        * gfortran.dg/label_4.f90: Adjust warning flag.

From-SVN: r117743
2006-10-15 14:12:59 +02:00
Tobias Burnus
26d2906169 gfortran.texi: Add link to GFortran apps
2006-10-14  Tobias Burnus  <burnus@net-b.de>
	* gfortran.texi: Add link to GFortran apps
	* intrinsic.texi: Updated documentation of ACCESS and CHMOD

From-SVN: r117740
2006-10-14 23:32:42 -07:00
Jerry DeLisle
1526c4b5b6 re PR fortran/19261 (continuation character illegal as first non-blank character in statement)
2006-10-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/19261
	* scanner.c (load_line): Add checks for illegal use of '&' and issue
	warnings.  Issue errors with -pedantic.

From-SVN: r117733
2006-10-14 15:06:34 +00:00
Paul Thomas
467f18f389 re PR fortran/29371 (Coredump when using -fbounds-check with pointer & nullify)
2006-10-14 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29371
	* trans-expr.c (gfc_trans_pointer_assignment): Add the expression
	for the assignment of null to the data field to se->pre, rather
	than block.	

2006-10-14 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29371
	* gfortran.dg/nullify_3.f90: New test.

From-SVN: r117732
2006-10-14 13:09:56 +00:00
Kazu Hirata
b2a433730c intrinsic.texi: Fix typos.
* intrinsic.texi: Fix typos.
	* trans-array.c: Fix a comment typo.

From-SVN: r117722
2006-10-14 01:48:07 +00:00
Brooks Moses
cdfd6b4b9b intrinsic.texi (STAT): Reverted a format in example code to octal; noted this in accompanying string.
* intrinsic.texi (STAT): Reverted a format in example code to
octal; noted this in accompanying string.

From-SVN: r117701
2006-10-13 10:20:50 -07:00
Paul Thomas
982186b1be re PR fortran/29373 (implicit type declaration and contained function clash)
2006-10-13 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29373
	* decl.c (get_proc_name, gfc_match_function_decl): Add
	attr.implicit_type to conditions that throw error for
	existing explicit interface and that allow new type-
	spec to be applied.

	PR fortran/29407
	* resolve.c (resolve_fl_namelist): Do not check for
	namelist/procedure conflict, if the symbol corresponds
	to a good local variable declaration.

	PR fortran/27701
	* decl.c (get_proc_name): Replace the detection of a declared
	procedure by the presence of a formal argument list by the
	attributes of the symbol and the presence of an explicit
	interface.

	PR fortran/29232
	* resolve.c (resolve_fl_variable): See if the host association
	of a derived type is blocked by the presence of another type I
	object in the current namespace.

	PR fortran/29364
	* resolve.c (resolve_fl_derived): Check for the presence of
	the derived type for a derived type component.

	PR fortran/24398
	* module.c (gfc_use_module): Check that the first words in a
	module file are 'GFORTRAN module'.

	PR fortran/29422
	* resolve.c (resolve_transfer): Test functions for suitability
	for IO, as well as variables.

	PR fortran/29428
	* trans-expr.c (gfc_trans_scalar_assign): Remove nullify of
	rhs expression.


2006-10-13 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29373
	* gfortran.dg/implicit_9.f90: New test.

	PR fortran/29407
	* gfortran.dg/namelist_25.f90: New test.

	PR fortran/27701
	* gfortran.dg/same_name_2.f90: New test.

	PR fortran/29232
	* gfortran.dg/host_assoc_types_1.f90: New test.

	PR fortran/29364
	* gfortran.dg/missing_derived_type_1.f90: New test.
	* gfortran.dg/implicit_actual.f90: Comment out USE GLOBAL.

	PR fortran/29422
	* gfortran.dg/alloc_comp_constraint_4.f90: New test.

	PR fortran/29428
	* gfortran.dg/alloc_comp_assign_5.f90: New test.

From-SVN: r117692
2006-10-13 12:51:07 +00:00
Francois-Xavier Coudert
ac677cc889 re PR fortran/29391 ([4.2/4.1 only] LBOUND and UBOUND are broken)
PR fortran/29391

	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Generate correct
	code for LBOUND and UBOUND intrinsics.

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

From-SVN: r117691
2006-10-13 12:20:28 +00:00
François-Xavier Coudert
16dbbd9957 re PR fortran/21435 (fails to open nonexisting file with status scratch)
PR fortran/21435

	* io.c (compare_to_allowed_values): New function.
	(gfc_match_open): Add checks for constant values of specifiers.
	(gfc_match_close): Add checks for constant values of the STATUS
	specifier.

	* gcc/testsuite/gfortran.dg/io_constraints_3.f90: New test.
	* gcc/testsuite/gfortran.dg/open_access_append_1.f90: Add checks
	for compile-time warnings.
	* gcc/testsuite/gfortran.dg/pr20163-2.f: Likewise.
	* gcc/testsuite/gfortran.dg/iostat_2.f90: Likewise.
	* gcc/testsuite/gfortran.dg/label_4.f90: Delete the temporary
	file.
	* gcc/testsuite/gfortran.dg/direct_io_2.f90: Add a FILE=
	specifier.
	* gcc/testsuite/gfortran.dg/iomsg_1.f90: Add check for
	compile-time warning.

From-SVN: r117685
2006-10-13 08:18:50 +00:00
Brooks Moses
680600846d intrinsic.texi (STAT): Fixed a format typo in sample code.
* intrinsic.texi (STAT): Fixed a format typo in sample code.

From-SVN: r117676
2006-10-12 16:22:16 -07:00
Brooks Moses
25f3257418 intrinsic.texi (STAT): Shortened lines in sample code.
* intrinsic.texi (STAT): Shortened lines in sample code.

From-SVN: r117675
2006-10-12 16:13:30 -07:00
Tobias Schlüter
c4632147f3 gfortran.h (gfc_show_actual_arglist, [...]): Add prototypes.
* gfortran.h (gfc_show_actual_arglist, gfc_show_array_ref,
        gfc_show_array_spec, gfc_show_attr, gfc_show_code,
        gfc_show_components, gfc_show_constructor, gfc_show_equiv,
        gfc_show_expr, gfc_show_namelist, gfc_show_ref, gfc_show_symbol,
        gfc_show_typespec): Add prototypes.
        * dump-parse-tree.c (gfc_show_actual_arglist, gfc_show_array_ref,
        gfc_show_array_spec, gfc_show_attr, gfc_show_code,
        gfc_show_components, gfc_show_constructor, gfc_show_equiv,
        gfc_show_expr, gfc_show_namelist, gfc_show_ref, gfc_show_symbol,
        gfc_show_typespec): Remove 'static' from declaration.

From-SVN: r117646
2006-10-12 00:11:05 +02:00
Brooks Moses
8556236bec invoke.texi, [...]: Corrected erronous dashes.
2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* invoke.texi, gfortran.texi: Corrected erronous dashes.

From-SVN: r117628
2006-10-10 20:35:08 -07:00
Brooks Moses
b5422ad772 --(top level)--------------------------------------------
2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.def: Added pdf target handling.
	* Makefile.tpl: Added pdf target handling.
	* Makefile.in: Regenerated.

---fixincludes--------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.in: Added empty "pdf" target.

---gcc----------------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* configure.ac: Added pdf to "Make-hooks"
	* Makefile.in: Added TEXI2PDF definition, and various pdf-file
	targets and *.pdf file patterns in cleanup targets.
	* configure: Regenerated.

---gcc/cp-------------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Make-lang.in: Added "c++.pdf" target support.

---gcc/fortran--------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Make-lang.in: Added "fortran.pdf", "gfortran.pdf" target
	support.

---gcc/java-----------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Make-lang.in: Added "java.pdf", "gcj.pdf" target support.

---gcc/objc-----------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Make-lang.in: Added empty "objc.pdf" target.

---gcc/objcp----------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Make-lang.in: Added empty "obj-c++.pdf" target.

---gcc/treelang-------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Make-lang.in: Added "treelang.pdf" target support.

---gnattools----------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.in: Added empty "pdf" target.

---libcpp-------------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.in: Added empty "pdf" target.

---libdecnumber-------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.in: Added empty "pdf" target.

---libiberty----------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.in: Added "pdf", "libiberty.pdf" target support.
	* testsuite/Makefile.in: Added empty "pdf" target.

---libobjc------------------------------------------------

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.in: Added empty "pdf" target.

From-SVN: r117618
2006-10-10 16:48:09 -07:00
Daniel Franke
21825fd620 re PR fortran/19292 ([meta-bug] g77 features lacking in gfortran)
2006-10-10  Daniel Franke  <franke.daniel@gmail.com>

	* intrinsic.texi: added documentation for FSTAT, GETARG,GET_COMMAND,
	GET_COMMAND_ARGUMENT, GETENV, GET_ENVIRONMENT_VARIABLE, IAND, IARGC,
	LSTAT and STAT, removed the reference to PR19292 from ACCESS, CHMOD,
	GMTIME, LSHIFT, LTIME, RSHIFT.

From-SVN: r117609
2006-10-10 11:26:16 -07:00
Brooks Moses
be6c470955 gfortran.texi (Standards): Update to current status.
2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* gfortran.texi (Standards): Update to current status.

From-SVN: r117608
2006-10-10 11:08:08 -07:00
Brooks Moses
175ff22958 Changelog: Undid erroneous tab-to-space conversion on last entry.
2006-10-09  Brooks Moses  <bmoses@stanford.edu>

	* Changelog: Undid erroneous tab-to-space conversion on last entry.

From-SVN: r117588
2006-10-09 16:23:53 -07:00
Brooks Moses
12923cd19a Changelog: Added spaces after * on last two entries.
2006-10-09  Brooks Moses  <bmoses@stanford.edu>

	* Changelog: Added spaces after * on last two entries.

From-SVN: r117587
2006-10-09 16:19:58 -07:00
Brooks Moses
2e58266147 Make-lang.in: Added intrinsic.texi to GFORTRAN_TEXI dependences.
2006-10-09  Brooks Moses  <bmoses@stanford.edu>

	*Make-lang.in: Added intrinsic.texi to GFORTRAN_TEXI
	dependences.

From-SVN: r117586
2006-10-09 16:17:52 -07:00
Brooks Moses
3d614c7423 intrinsic.texi: (MOVE_ALLOC) changed "Options" to "Standards".
2006-10-09  Brooks Moses  <bmoses@stanford.edu>

	*intrinsic.texi: (MOVE_ALLOC) changed "Options" to "Standards".

From-SVN: r117585
2006-10-09 15:33:55 -07:00
Steven G. Kargl
cc6d3bde5a re PR fortran/15441 (RRSPACING broken for denormals)
2006-10-06  Steven G. Kargl  <kargl@gcc.gnu.org>
 
	* gfortran.h: Define GFC_MPFR_TOO_OLD via mpfr version info.
	* arith.c (arctangent, gfc_check_real_range): Use it.	
	* simplify.c (gfc_simplify_atan2, gfc_simplify_exponent,
	gfc_simplify_log, gfc_simplify_nearest): Use it.

	PR fortran/15441
	PR fortran/29312
	* iresolve.c (gfc_resolve_rrspacing): Give rrspacing library
	routine hidden precision argument.
	(gfc_resolve_spacing): Give spacing library routine hidden
	precision, emin - 1, and tiny(x) arguments.
	* simplify.c (gfc_simplify_nearest): Remove explicit subnormalization.
	(gfc_simplify_rrspacing): Implement formula from Fortran 95 standard.
	(gfc_simplify_spacing): Implement formula from Fortran 2003 standard.
	* trans-intrinsic.c (gfc_intrinsic_map_t) Declare rrspacing and
	spacing via LIBF_FUNCTION
	(prepare_arg_info, call_builtin_clz, gfc_conv_intrinsic_spacing,
	gfc_conv_intrinsic_rrspacing): Remove functions.
	(gfc_conv_intrinsic_function): Remove calls to
	gfc_conv_intrinsic_spacing and gfc_conv_intrinsic_rrspacing.
	* f95-lang.c (gfc_init_builtin_functions): Remove __builtin_clz,
	__builtin_clzl and __builtin_clzll


2006-10-06  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/15441
	PR fortran/29312
	* configure.ac: Add HAVE_LDEXPF, HAVE_LDEXP, and HAVE_LDEXPL
	* m4/spacing.m4: New file.  Use new HAVE_* defines.
	* m4/rrspacing.m4: Ditto.
	* Makefile.am: Handle new files.
	* configure: Regenerated.
	* Makefile.in: Ditto.
	* config.h.in: Ditto.
	* generated/spacing_r4.c: Generated.
	* generated/spacing_r8.c: Ditto.
	* generated/spacing_r10.c: Ditto.
	* generated/spacing_r16.c: Ditto.
	* generated/rrspacing_r4.c: Ditto.
	* generated/rrspacing_r8.c: Ditto.
	* generated/rrspacing_r10.c: Ditto.
	* generated/rrspacing_r16.c: Ditto.

From-SVN: r117584
2006-10-09 20:55:29 +00:00
Richard Henderson
a98d4769d5 Revert emutls patch.
From-SVN: r117578
2006-10-09 09:27:14 -07:00
Francois-Xavier Coudert
8d2c290502 intrinsic.c (add_sym_0s, [...]): Use macro ACTUAL_NO...
* intrinsic.c (add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s,
	add_sym_4s, add_sym_5s, add_functions): Use macro ACTUAL_NO,
	ACTUAL_YES, NOT_ELEMENTAL and ELEMENTAL instead of constants
	0 and 1 as second and third arguments to add_sym* functions.

From-SVN: r117569
2006-10-09 07:43:39 +00:00
Paul Thomas
5046aff56b [multiple changes]
2006-10-05  Erik Edelmann <edelmann@gcc.gnu.org>
	    Paul Thomas <pault@gcc.gnu.org>

	PR fortran/20541
	* interface.c (gfc_compare_derived_types): Add comparison of
	the allocatable field.
	* intrinsic.c (add_subroutines): Add MOVE_ALLOC.
	* trans-expr.c (gfc_conv_aliased_arg, gfc_trans_subarray_assign,
	gfc_trans_subcomponent_assign, gfc_conv_string_parameter,
	gfc_trans_scalar_assign): Add extra arguments l_is_temp
	and r_is_var to references to latter function.
	(gfc_conv_function_call): Add enum for types of argument and
	an associated variable parm_kind. Deallocate components of
	INTENT(OUT) and non-variable arrays.
	(gfc_trans_subcomponent_assign): Add block to assign arrays
	to allocatable components.
	(gfc_trans_scalar_assign): Add block to handle assignments of
	derived types with allocatable components, using the above new
	arguments to control allocation/deallocation of memory and the
	copying of allocated arrays.
	* trans-array.c (gfc_array_allocate): Remove old identification 
	of pointer and replace with that of an allocatable array. Add
	nullify of structures with allocatable components. 
	(gfc_conv_array_initializer): Treat EXPR_NULL.
	(gfc_conv_array_parameter): Deallocate allocatable components
	of non-variable structures.
	(gfc_trans_dealloc_allocated): Use second argument of library
	deallocate to inhibit, without error, freeing NULL pointers.
	(get_full_array_size): New function to return the size of a
	full array.
	(gfc_duplicate_allocatable): New function to allocate and copy
	allocated data.
	(structure_alloc_comps): New recursive function to deallocate,
	nullify or copy allocatable components.
	(gfc_nullify_alloc_comp, gfc_deallocate_alloc_comp,
	gfc_copy_alloc_comp): New interface functions to call previous.
	(gfc_trans_deferred_array): Add the code to nullify allocatable
	components, when entering scope, and to deallocate them on
	leaving. Do not call gfc_trans_static_array_pointer and return
	for structures with allocatable components and default
	initializers.
	* symbol.c (gfc_set_component_attr): Set allocatable field.
	(gfc_get_component_attr): Set the allocatable attribute.
	* intrinsic.h : Prototype for gfc_check_move_alloc.
	* decl.c (build_struct): Apply TR15581 constraints for
	allocatable components.
	(variable_decl): Default initializer is always NULL for
	allocatable components.
	(match_attr_spec): Allow, or not, allocatable components,
	according to the standard in force.
	* trans-array.h : Prototypes for gfc_nullify_alloc_comp,
	gfc_deallocate_alloc_comp, gfc_copy_alloc_comp and
	gfc_duplicate_allocatable.
	* gfortran.texi : Add mention of TR15581 extensions.
	* gfortran.h : Add attribute alloc_comp, add
	gfc_components field allocatable and add the prototype
	for gfc_expr_to_initialize.
	* trans-stmt.c (generate_loop_for_temp_to_lhs,
	generate_loop_for_rhs_to_temp, gfc_trans_where_assign,
	gfc_trans_where_3): Add extra arguments to calls to
	gfc_trans_scalar_assign and set appropriately.
	(gfc_trans_allocate): Nullify allocatable components.
	(gfc_trans_deallocate): Deallocate to ultimate allocatable
	components but stop at ultimate pointer components.
	* module.c (mio_symbol_attribute, mio_symbol_attribute,
	mio_component): Add module support for allocatable
	components.
	* trans-types.c (gfc_get_derived_type): Treat allocatable
	components.
	* trans.h : Add two boolean arguments to
	gfc_trans_scalar_assign.
	* resolve.c (resolve_structure_cons): Check conformance of
	constructor element and the component.
	(resolve_allocate_expr): Add expression to nullify the
	constructor expression for allocatable components.
	(resolve_transfer): Inhibit I/O of derived types with
	allocatable components.
	(resolve_fl_derived): Skip check of bounds of allocatable
	components.
	* trans-decl.c (gfc_get_symbol_decl): Add derived types
	with allocatable components to deferred variable.
	(gfc_trans_deferred_vars): Make calls for derived types
	with allocatable components to gfc_trans_deferred_array.
	(gfc_generate_function_code): Nullify allocatable
	component function result on entry.
	* parse.c (parse_derived): Set symbol attr.allocatable if
	allocatable components are present.
	* check.c (gfc_check_allocated): Enforce attr.allocatable
	for intrinsic arguments.
	(gfc_check_move_alloc): Check arguments of move_alloc.
	* primary.c (gfc_variable_attr): Set allocatable attribute.
	* intrinsic.texi : Add index entry and section for
	for move_alloc.

	PR fortran/29115
	* resolve.c (resolve_structure_cons): It is an error if the
	pointer component elements of a derived type constructor are
	not pointer or target.


	PR fortran/29211
	* trans-stmt.c (generate_loop_for_temp_to_lhs,
	generate_loop_for_rhs_to_temp): Provide a string length for
	the temporary by copying that of the other side of the scalar
	assignment.


2006-10-05  Paul Thomas  <pault@gcc.gnu.org>
	    Erik Edelmann  <edelmann@gcc.gnu.org>

	PR libgfortran/20541
	* Makefile.in : Add move_alloc.
	* intrinsics/move_alloc.c: New function.
	* Makefile.am : Add move_alloc.



2006-10-05  Erik Edelmann  <edelmann@gcc.gnu.org>
	    Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20541
	* gfortran.dg/alloc_comp_basics_1.f90: New test.
	* gfortran.dg/alloc_comp_basics_2.f90: New test.
	* gfortran.dg/alloc_comp_assign_1.f90: New test.
	* gfortran.dg/alloc_comp_assign_2.f90: New test.
	* gfortran.dg/alloc_comp_assign_3.f90: New test.
	* gfortran.dg/alloc_comp_assign_4.f90: New test.
	* gfortran.dg/alloc_comp_constraint_1.f90: New test.
	* gfortran.dg/alloc_comp_constraint_2.f90: New test.
	* gfortran.dg/alloc_comp_constraint_3.f90: New test.
	* gfortran.dg/alloc_comp_constructor_1.f90: New test.
	* gfortran.dg/alloc_comp_constructor_2.f90: New test.
	* gfortran.dg/alloc_comp_initializer_1.f90: New test.
	* gfortran.dg/alloc_comp_std.f90: New test.
	* gfortran.dg/move_alloc.f90: New test.

	PR fortran/29115
	* gfortran.dg/derived_constructor_comps_2.f90: New test.

	PR fortran/29211
	* gfortran.dg/forall_char_dependencies_1.f90: New test.

From-SVN: r117558
2006-10-08 16:21:55 +00:00
Tobias Burnus
bec93d7937 re PR fortran/28585 (Fortran 2003: Support NEW_LINE intrinsic)
PR fortran/28585

	* intrinsic.c (add_functions): Add new_line Fortran 2003 intrinsic.
	* intrinsic.h: Add gfc_simplify_new_line and gfc_check_new_line
	prototypes.
	* check.c (gfc_check_new_line): New function.
	* simplify.c (gfc_simplify_new_line): New function.
	* intrinsic.texi: Document new_line intrinsic.

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

From-SVN: r117555
2006-10-08 13:21:42 +00:00