aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
AgeCommit message (Collapse)AuthorFilesLines
2007-01-04re PR fortran/30371 (kill suboutine accepts (invalid) array arguments.)Brooks Moses2-0/+12
PR 30371 * check.c (gfc_check_kill_sub): Add checks for non-scalar arguments. From-SVN: r120468
2007-01-04intrinsic.texi: Minor cleanup, reflowing overlong paragraphs, and correcting ↵Brooks Moses2-26/+51
whitespace. * intrinsic.texi: Minor cleanup, reflowing overlong paragraphs, and correcting whitespace. From-SVN: r120467
2007-01-04intrinsic.texi (LBOUND): Add documentation.Brooks Moses2-46/+173
* intrinsic.texi (LBOUND): Add documentation. (LGE): Add documentation. (LGT): Add documentation. (LINK): Add documentation. (LLE): Add documentation. (LLT): Add documentation. (LNBLNK): Add documentation. (UBOUND): Add documentation. (UNLINK): Add documentation. From-SVN: r120466
2007-01-04intrinsic.texi (IAND): Clarify argument specifications.Brooks Moses2-67/+200
* intrinsic.texi (IAND): Clarify argument specifications. (IBCLR): Add documentation. (IBITS): Add documentation. (IBSET): Add documentation. (IEOR): Add documentation. (IERRNO): Add documentation. (INDEX): Add documentation. (IOR): Add documentation. (ISHFT): Add documentation. (ISHFTC): Add documentation. (KILL): Add documentation. (LEN_TRIM): Add documentation. From-SVN: r120452
2007-01-04re PR fortran/30235 ([4.1 only] missing alternate return argument with ↵Brooks Moses2-0/+14
explicit interface causes segfault) fortran/ PR 30235 * interface.c (compare_actual_formal): check for alternate returns when iterating over non-present arguments. testsuite/ PR 30235 * gfortran.dg/altreturn_2.f90: new test. From-SVN: r120447
2007-01-04* invoke.texi: Update manpage copyright to include 2007.Brooks Moses2-1/+5
From-SVN: r120445
2007-01-04gfortran.texi: Update copyright to include 2007.Brooks Moses4-3/+9
* gfortran.texi: Update copyright to include 2007. * intrinsic.texi: Update copyright to include 2007. * invoke.texi: Update copyright to include 2007. From-SVN: r120444
2007-01-04re PR fortran/30276 (gfortran include problem)Tobias Burnus2-5/+14
2007-01-02 Tobias Burnus <burnus@net-b.de> Jakub Jelinek <jakub@redhat.com> PR fortran/30276 * scanner.c (open_included_file): Revert patch. (gfc_open_included_file): Support absolute pathnames. (gfc_open_intrinsic_module): Support absolute pathnames. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r120431
2007-01-03* gfortran.texi (GNU Fortran and GCC): RewriteBrooks Moses2-43/+33
From-SVN: r120428
2007-01-03gfortran.texi (Introduction): Lower "Part I...Brooks Moses3-30/+60
* gfortran.texi (Introduction): Lower "Part I: Introduction" to a chapter, renumber Parts II and III to Parts I and II. * intrinsic.texi (Introduction): Rename to "Introduction to Intrinsics" to avoid conflict with the new chapter. From-SVN: r120427
2007-01-03* intrinsic.texi (Introduction): Rewrite first paragraph.Brooks Moses2-7/+11
From-SVN: r120426
2007-01-03invoke.texi (OpenMP): Added index entry.Brooks Moses3-2/+8
* invoke.texi (OpenMP): Added index entry. * gfortran.texi (title page): Removed erroneous '*'. From-SVN: r120424
2007-01-03gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units to description.Brooks Moses2-144/+178
* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units to description. (Extensions): Miscellaneous minor rewriting and copyediting. (BOZ-literal constants): Renamed from Hexadecimal constants. (Hollerith constants support): Added explanation and suggestions for standard-conforming modern equivalents. From-SVN: r120422
2007-01-03intrinsic.texi: Improvements to index entries; change @findex entries to ↵Brooks Moses4-444/+458
@cindex entries. * intrinsic.texi: Improvements to index entries; change @findex entries to @cindex entries. * invoke.texi: Standardize and improve index entries. * gfortran.texi: Fix @code in one index entry. From-SVN: r120421
2007-01-03invoke.texi: Change @code-type macros to appropriate variants (@command, ↵Brooks Moses3-38/+41
@option, etc.) * invoke.texi: Change @code-type macros to appropriate variants (@command, @option, etc.) * gfortran.texi: Same. From-SVN: r120420
2007-01-03* intrinsic.texi: Various minor cleanups.Brooks Moses2-18/+18
From-SVN: r120409
2007-01-03trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to build_int_cst.Steven G. Kargl2-1/+6
2007-01-02 Steven G. Kargl <kargls@comcast.net> * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to build_int_cst. From-SVN: r120379
2007-01-02re PR fortran/30276 (gfortran include problem)Tobias Burnus2-0/+10
2007-01-02 Tobias Burnus <burnus@net-b.de> PR fortran/30276 * scanner.c (open_included_file): Support full-path filenames. From-SVN: r120344
2007-01-02re PR fortran/20896 (ambiguous interface not detected)Paul Thomas4-7/+10
2007-01-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/20896 * interface.c (check_sym_interfaces): Remove call to resolve_global_procedure. gfortran.h : Remove prototype for resolve_global_procedure. resolve.c (resolve_global_procedure): Add static attribute to function declaration. 2007-01-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/20896 * gfortran.dg/interface_10.f90: Remove. From-SVN: r120342
2007-01-01Rotate ChangeLog.Steven G. Kargl2-4537/+4541
From-SVN: r120312
2006-12-31re PR fortran/27900 ([4.1 only] ICE using intrinsics as arguments)Paul Thomas2-0/+48
2006-12-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/27900 * resolve.c (resolve_actual_arglist): If all else fails and a procedure actual argument has no type, see if a specific intrinsic matches. PR fortran/24325 * resolve.c (resolve_function): If the function reference is FL_VARIABLE this is an error. 2006-12-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/27900 * gfortran.dg/intrinsic_actual_4.f90: New test. PR fortran/24325 * gfortran.dg/func_decl_3.f90: New test. From-SVN: r120296
2006-12-31re PR fortran/23060 (%VAL, %REF and %DESCR constructs not implemented)Paul Thomas6-14/+238
2006-12-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/23060 * intrinsic.c (compare_actual_formal ): Distinguish argument list functions from keywords. * intrinsic.c (sort_actual): If formal is NULL, the presence of an argument list function actual is an error. * trans-expr.c (conv_arglist_function) : New function to implement argument list functions %VAL, %REF and %LOC. (gfc_conv_function_call): Call it. * resolve.c (resolve_actual_arglist): Add arg ptype and check argument list functions. (resolve_function, resolve_call): Set value of ptype before calls to resolve_actual_arglist. * primary.c (match_arg_list_function): New function. (gfc_match_actual_arglist): Call it before trying for a keyword argument. 2006-12-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/23060 * gfortran.dg/c_by_val.c: Called by c_by_val_1.f. * gfortran.dg/c_by_val_1.f: New test. * gfortran.dg/c_by_val_2.f: New test. * gfortran.dg/c_by_val_3.f: New test. From-SVN: r120295
2006-12-28re PR fortran/30034 ([4.1 only] pure subroutine requires intent for ↵Paul Thomas3-14/+26
procedure argument) 2006-12-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/30034 * resolve.c (resolve_formal_arglist): Exclude the test for pointers and procedures for subroutine arguments as well as functions. PR fortran/30237 * intrinsic.c (remove_nullargs): Do not pass up arguments with a label. If the actual has a label and the formal has a type then emit an error. 2006-12-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/30034 * gfortran.dg/pure_formal_proc_1.f90: New test. PR fortran/30237 * gfortran.dg/intrinsic_actual_3.f90: New test. From-SVN: r120244
2006-12-28re PR libfortran/30014 (INQUIRE (iolength = xx) limited to kind=4)Jerry DeLisle3-3/+20
2006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/30014 *io.c (resolve_tag): Don't issue error for tag_size type not being default integer size for -std=F2003. Add similar check for tag_iolength. *ioparm.def: Change size and iolength parameters to ioint pointer, which corresponds to GFC_IO_INT on the library side. From-SVN: r120233
2006-12-27interface.c (compare_actual_formal): Remove unused variable gsym.Gerald Pfeifer2-1/+5
* interface.c (compare_actual_formal): Remove unused variable gsym. From-SVN: r120219
2006-12-27re PR fortran/20896 (ambiguous interface not detected)Paul Thomas5-22/+39
2006-12-27 Paul Thomas <pault@gcc.gnu.org> PR fortran/20896 * interface.c (check_sym_interfaces): Try to resolve interface reference as a global symbol, if it is not a nodule procedure. (compare_actual_formal): Remove call to gfc_find_symbol; if the expression is already a variable it is locally declared and this has precedence. gfortran.h : Add prototype for resolve_global_procedure. resolve.c (resolve_global_procedure): Remove static attribute from function declaration. (resolve_fl_procedure): Remove symtree declaration and the redundant check for an ambiguous procedure. PR fortran/25135 * module.c (load_generic_interfaces): If the symbol is present and is not generic it is ambiguous. 2006-12-27 Paul Thomas <pault@gcc.gnu.org> PR fortran/20896 * gfortran.dg/interface_10.f90: New test. * gfortran.dg/dummy_procedure_1.f90: Add error for call s1(z), since z is already, locally a variable. PR fortran/25135 * gfortran.dg/generic_11.f90: New test. * gfortran.dg/interface_7.f90: Remove name clash between module name and procedure 'x' referenced in the interface. From-SVN: r120218
2006-12-22re PR fortran/25818 ([4.1 only] Problem with handling optional and entry ↵Paul Thomas5-22/+107
master arguments) 2006-12-22 Paul Thomas <pault@gcc.gnu.org> PR fortran/25818 * trans-array.c (gfc_trans_g77_array): If the variable is optional or not always present, make the statement conditional on presence of the argument. * gfortran.h : Add symbol_attribute not_always_present. * resolve.c (check_argument_lists): New function to check if arguments are not present in all entries. PR fortran/30084 * module.c (mio_component_ref): Move treatment of unique name variables, during output, to fix_mio_expr. (fix_mio_expr): New function that fixes defective expressions before they are written to the module file. (mio_expr): Call the new function. (resolve_entries): Call check_argument_lists. 2006-12-22 Paul Thomas <pault@gcc.gnu.org> PR fortran/25818 * gfortran.dg/entry_array_specs_2.f: New test. PR fortran/30084 * gfortran.dg/nested_modules_6.f90: New test. From-SVN: r120155
2006-12-22trans-array.c (gfc_trans_create_temp_array): When the size is known at ↵Roger Sayle2-15/+35
compile-time, avoid an unnecessary conditional assignment. * trans-array.c (gfc_trans_create_temp_array): When the size is known at compile-time, avoid an unnecessary conditional assignment. (gfc_array_init_size): Likewise. From-SVN: r120141
2006-12-22* interface.c: Fix a comment typo.Kazu Hirata2-1/+5
From-SVN: r120135
2006-12-21re PR fortran/30273 ([4.1 only] gfc_todo: Not Implemented: Unable to ↵Paul Thomas2-0/+7
determine rank of expression) 2006-12-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/30273 * dependency.c (gfc_check_dependency): There is no dependency with EXPR_NULL so always return 0. 2006-12-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/30273 * gfortran.dg/dependency_19.f90: New test. From-SVN: r120117
2006-12-21re PR fortran/30202 ([4.1 only] ICE in trans-array.c)Paul Thomas2-3/+8
2006-12-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/30202 * trans-array.c (gfc_conv_function_call): Use parmse.expr for the nullifying of intent(out) arguments rather than the backend declaration. 2006-12-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/30202 * gfortran.dg/alloc_comp_basics_3.f90: New test. From-SVN: r120109
2006-12-21re PR fortran/25392 (ICEs with -ff2c)Tobias Schlüter4-27/+46
PR fortran/25392 fortran/ * trans-stmt.c (gfc_trans_return): Fix comment formatting. * trans-types.c (gfc_sym_type): Don't return early for functions. Remove special handling for -ff2c. (gfc_get_function_type): Add special handling for -ff2c. * trans-decl.c (gfc_create_function_decl): Fix comment formatting. (gfc_get_fake_result_decl): Make sure we get the right type for functions. (gfc_generate_function_code): Convert type of result variable to type of function. testsuite/ * gfortran.dg/f2c_8.f90: New test. From-SVN: r120099
2006-12-20re PR fortran/30190 ([4.1 only] Bounds check generates wrong code for ↵Paul Thomas2-2/+6
associated(p1(i)%p2,p1(i)%p2)) 2006-12-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/30190 * trans-array.c (gfc_conv_array_ref): Remove gfc_evaluate_now from the -fbounds-check branch. 2006-12-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/30190 * gfortran.dg/bounds_check_5.f90: New test. From-SVN: r120084
2006-12-20trans-expr.c (is_zero_initializer_p): Determine whether a given constant ↵Roger Sayle2-0/+97
expression is a zero initializer. * trans-expr.c (is_zero_initializer_p): Determine whether a given constant expression is a zero initializer. (gfc_trans_zero_assign): New function to attempt to optimize "a(:) = 0.0" as a call to __builtin_memset (a, 0, sizeof(a)); (gfc_trans_assignment): Special case array assignments to a zero initializer constant, using gfc_trans_zero_assign. * gfortran.dg/array_memset_1.f90: New test case. From-SVN: r120078
2006-12-20re PR fortran/29992 ([4.1 only] INTERFACE equivalent to MODULE PROCEDURE?!)Paul Thomas5-6/+37
2006-12-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/29992 * interface.c (check_sym_interfaces): Module procedures in a generic must be use associated or contained in the module. * decl.c (gfc_match_modproc): Set attribute mod_proc. * gfortran.h (symbol_attribute): Add mod_proc atribute. PR fortran/30081 * resolve.c (resolve_generic_f, resolve_generic_s): Use gfc_intrinsic_name to find out if the function is intrinsic because it does not have to be a generic intrinsic to be overloaded. 2006-12-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/29992 * gfortran.dg/generic_9.f90: New test. PR fortran/30081 * gfortran.dg/generic_10.f90: New test. From-SVN: r120072
2006-12-19re PR fortran/30238 (associated(null-pointer, null-pointer) returns .true.)Tobias Burnus2-1/+8
fortran/ 2006-12-19 Tobias Burnus <burnus@net-b.de> PR fortran/39238 * trans-intrinsic.c: Check for associated(NULL,NULL). testsuite/ 2006-12-19 Tobias Burnus <burnus@net-b.de> PR fortran/39238 * gfortran.dg/associated_1.f90: Add test for associated(NULL,NULL). From-SVN: r120056
2006-12-19re PR fortran/30236 ([4.1 only]alternate-return subroutine in generic ↵Paul Thomas2-6/+18
interface causes ice/segfault) 2006-12-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/30236 * interface.c (compare_interfaces): Handle NULL symbols. (count_types_test): Count NULL symbols, which correspond to alternate returns. (check_interface1): Change final argument from int to bool in the function and all references. 2006-12-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/30236 * gfortran.dg/altreturn_3.f90: New test. * gfortran.dg/char_result_12.f90: Fix comment typos. From-SVN: r120052
2006-12-18trans-array.c (gfc_conv_array_index_offset): Avoid multiplying index by one, ↵Roger Sayle2-5/+13
or adding zero to it. * trans-array.c (gfc_conv_array_index_offset): Avoid multiplying index by one, or adding zero to it. From-SVN: r120011
2006-12-17re PR fortran/30207 (ICE in gfc_dep_resolver with where (a < 0) a(:) = 1)Roger Sayle4-20/+65
2006-12-17 Roger Sayle <roger@eyesopen.com> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/30207 * dependency.c (gfc_full_array_ref_p): New function to test whether the given array ref specifies the entire array. (gfc_dep_resolver): Use gfc_full_array_ref_p to analyze AR_FULL array refs against AR_SECTION array refs, and vice versa. * dependency.h (gfc_full_array_ref_p): Prototype here. * trans-array.c (gfc_conv_expr_descriptor): Use gfc_full_array_ref_p. * gfortran.fortran-torture/execute/where21.f90: New test. From-SVN: r119990
2006-12-16gfortran.texi: Added TeX support for document parts...Brooks Moses2-172/+267
* gfortran.texi: Added TeX support for document parts; rearranged existing text into "About GNU Fortran", "Invoking GNU Fortran", and "Language Reference" parts. From-SVN: r119981
2006-12-15re PR libfortran/30200 ([4.1 only] write(*,myfmt="(1X,a,'xyz')") "A" prints ↵Jerry DeLisle2-1/+6
Az' instead of Axyz) 2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/30200 * trans-io.c (build_dt): Move post block for format_expr to end. From-SVN: r119940
2006-12-14Make-lang.in (fortran/options.o): Add $(PARAMS_H) dependency.Richard Guenther3-1/+13
2006-12-14 Richard Guenther <rguenther@suse.de> Diego Novillo <dnovillo@redhat.com> * Make-lang.in (fortran/options.o): Add $(PARAMS_H) dependency. * options.c (params.h): Include. (gfc_post_options): Set MAX_ALIASED_VOPS to 50. Co-Authored-By: Diego Novillo <dnovillo@redhat.com> From-SVN: r119866
2006-12-13re PR fortran/30115 (allocate() interface pessimizes aliasing)Richard Guenther4-31/+56
2006-12-13 Richard Guenther <rguenther@suse.de> PR fortran/30115 * runtime/memory.c (allocate_size): Change interface to void *()(size_t, GFC_INTEGER_4 *). (allocate): Likewise. (allocate64): Likewise. (allocate_array): Change interface to void *()(void *, size_t, GFC_INTEGER_4 *). (allocate64_array): Likewise. (deallocate): Change interface to void ()(void *, GFC_INTEGER_4 *). * trans-array.c (gfc_array_allocate): Adjust for changed library interface. (gfc_array_deallocate): Likewise. (gfc_trans_dealloc_allocated): Likewise. * trans-stmt.c (gfc_trans_allocate): Likewise. (gfc_trans_deallocate): Likewise. * trans-decl.c (gfc_build_builtin_function_decls): Adjust function declarations to match the library changes. Mark allocation functions with DECL_IS_MALLOC. From-SVN: r119822
2006-12-12trans-expr.c (gfc_conv_substring): Check for empty substring.Tobias Schlüter2-1/+13
fortran/ * trans-expr.c (gfc_conv_substring): Check for empty substring. testsuite/ * lib/fortran-torture.exp: Update copyright years. Remove obsolete comment. Test -ftree-vectorize where it makes sense. * lib/gfortran-dg.exp: Update copyright years. Use settings from fortran-torture.exp. * gfortran.dg/char_transpose_1.f90, gfortran.dg/char_spread_1.f90, gfortran.dg/g77/dnrm2.f, gfortran.dg/dependent_decls_1.f90: Fixout-of-bound errors. * gfortran.dg/enum_10.f90, gfortran.dg/mixed_io_1.f90: Add '-w' to dg-options. From-SVN: r119797
2006-12-11Move all varpool routines out of cgraph/cgraphunit to varpool.cJan Hubicka2-1/+5
Move all varpool routines out of cgraph/cgraphunit to varpool.c * cgraph.c: Update comments. (cgraph_varpool_hash, cgraph_varpool_nodes, cgraph_varpool_last_needed_node cgraph_varpool_node_name, cgraph_varpool_node, cgraph_varpol_mode_for_asm, cgraph_varpool_mark_needed_node, cgraph_variable_initializer_availability): Move to varpool.c and drop cgraph_ prefixes. (cgraph_varpool_enqueue_needed_node, cgraph_varpool_reset_queue, cgraph_varpool_first_unanalyzed_node, cgraph_varpool_finalize_decl): move to varpool.c; drop cgraph_ prefix; make static. (dump_cgraph_varpool_node): Move to varpool.c under name dump_varpool_node. (dump_varpool, hash_varpool_node, eq_varpool_node, decide_is_variable_needed): Move to varpool.c (decl_assembler_name_equal): Move to tree.c. (availability_names): Rename to ... (cgraph_availability_names): ... this one. (dump_cgraph_node): Update. * cgraph.h: Reorder declarations now in varpool.c (cgraph_vailablity_names): Declare. (struct cgraph_varpool_node): Rename to ... (struct varpool_node): ... this one. (cgraph_varpool_first_unanalyzed_node, cgraph_varpool_nodes_queue, cgraph_varpool_first_unanalyzed_node, cgraph_varpool_node, cgraph_varpool_node_for_asm, cgraph_varpool_mark_needed_node, cgraph_varpool_finalize_decl, cgraph_varpool_enqueue_needed_node, cgraph_varpool_reset_queue, cgraph_varpool_assemble_pending_decls, cgraph_variable_initializer_availability): Rename to ... (varpool_first_unanalyzed_node, varpool_nodes_queue, varpool_first_unanalyzed_node, varpool_node, varpool_node_for_asm, varpool_mark_needed_node, varpool_finalize_decl, varpool_enqueue_needed_node, varpool_assemble_pending_decls, variable_initializer_availability): Rename to ... * tree.c (decl_assembler_name_equal): Move here from cgraph.c. * tree.h (decl_assembler_name_equal): Declare. * omp-low.c (lower_omp_critical): Update. * ipa-reference (analyze_variable, static_execute): Likewise. * toplev.c (wrapup_global_declaration_2, compile_file): Update. * cgraphunit.c: Update comments. (cgraph_varpool_assembled_nodes_queue): Move to varpool.c under name varpool_assembled_nodes_queue. (cgraph_varpool_analyze_pending_decls): Move to varpool.c under name varpool_analyze_pending_decls. (cgraph_varpool_remove_unreferenced_decls): Move to varpool.c under name varpool_remove_unreferenced_decls. (record_reference): Update. (cgraph_create_edges): Update. (record_referneces_in_initializer): New function. (cgraph_varpool_assemble_decl): Move to varpool.c under name varpool_assemble_decl; make global. (cgraph_varpool_assemble_pending_decls): Move to varpool.c under name varpool_assemble_pending_decls. (process_function_and_variable_attributes, cgraph_finalize_compilation_unit, struct cgraph_order_sort, cgraph_output_in_order, cgraph_function_and_variable_invisibility, cgraph_optimize, cgraph_increase_alignment): Update. * dwarf2out.c (decls_for_scope): Likewise. * ipa-type-escape.c (analyze_variable, type_escape_execute): Likewise. * except.c (output_ttype): Likewise. * varasm.c (mark_decl_referenced): Likewise. (find_decl_and_mark_referenced, assemble_alias): update. * Makefile.in: Add varpool.c, gt-varpool.c and remove gt-cgraphunit.c * passes.c (rest_of_decl_compilation): Update. * cp/decl2.c (var_finalized_p): Update for renamed varpool functions. * fortran/f59-lang.c (gfc_expand_function): Update for renamed varpool functions. From-SVN: r119731
2006-12-10gfortran.texi: Update Fortran 2003 section.Tobias Burnus2-0/+18
2006-12-10 Tobias Burnus <burnus@net-b.de> * gfortran.texi: Update Fortran 2003 section. From-SVN: r119710
2006-12-10re PR fortran/23994 (PROTECTED attribute (F2003) is not implemented)Tobias Burnus13-5/+233
fortran/ 2006-12-10 Tobias Burnus <burnus@net-b.de> PR fortran/23994 * interface.c (compare_actual_formal): PROTECTED is incompatible with intent(out). * symbol.c (check_conflict): Check for PROTECTED conflicts. (gfc_add_protected): New function. (gfc_copy_attr): Copy PROTECTED attribute. * decl.c (match_attr_spec): Add PROTECTED support. (gfc_match_protected): New function. * dump-parse-tree.c (gfc_show_attr): Add PROTECTED support. * gfortran.h (gfc_symbol): Add protected flag. Add gfc_add_protected prototype. * expr.c (gfc_check_pointer_assign): Add PROTECTED support. * module.c (ab_attribute, attr_bits, mio_symbol_attribute, mio_symbol_attribute): Add PROTECTED support. * resolve.c (resolve_equivalence): Add PROTECTED support. * match.c (gfc_match_assignment,)gfc_match_pointer_assignment: Check PROTECTED attribute. * match.h: Add gfc_match_protected prototype. * parse.c (decode_statement): Match PROTECTED statement. * primary.c (match_variable): Add PROTECTED support. testsuite/ 2006-12-10 Tobias Burnus <burnus@net-b.de> PR fortran/23994 * gfortran.dg/protected_1.f90: New test. * gfortran.dg/protected_2.f90: New test. * gfortran.dg/protected_3.f90: New test. * gfortran.dg/protected_4.f90: New test. * gfortran.dg/protected_5.f90: New test. * gfortran.dg/protected_6.f90: New test. From-SVN: r119709
2006-12-09re PR other/29975 ([meta-bugs] ICEs with CP2K)Paul Thomas7-24/+70
2006-12-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/29975 PR fortran/30068 PR fortran/30096 * interface.c (compare_type_rank_if): Reject invalid generic interfaces. (check_interface1): Give a warning for nonreferred to ambiguous interfaces. (check_sym_interfaces): Check whether an ambiguous interface is referred to. Do not check host associated interfaces since these cannot be ambiguous with the local versions. (check_uop_interface, gfc_check_interfaces): Update call to check_interface1. * symbol.c (gfc_get_sym_tree, gfc_get_sym_tree): Allow adding unambiguous procedures to generic interfaces. * gfortran.h (symbol_attribute): Added use_only and ambiguous_interfaces. * module.c (load_need): Set the use_only flag, if needed. * resolve.c (resolve_fl_procedure): Warn for nonreferred interfaces. * expr.c (find_array_section): Fix initializer array contructor. 2006-12-09 Paul Thomas <pault@gcc.gnu.org> Tobias Burnus <burnus@gcc.gnu.org> PR fortran/29975 PR fortran/30068 * gfortran.dg/interface_4.f90: Test adding procedure to generic interface. * gfortran.dg/interface_5.f90: Test warning for not-referenced-to ambiguous interfaces. * gfortran.dg/interface_6.f90: Test invalid, ambiguous interface. * gfortran.dg/interface_7.f90: Test invalid, ambiguous interface. * gfortran.dg/interface_8.f90: Test warning for not-referenced-to ambiguous interfaces. * gfortran.dg/interface_1.f90: Change dg-error into a dg-warning. * gfortran.dg/array_initializer_2.f90: Add initializer array constructor test. PR fortran/30096 * gfortran.dg/interface_9.f90: Test that host interfaces are not checked for ambiguity with the local version. Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org> From-SVN: r119697
2006-12-09re PR fortran/29464 ([4.1 only] problem with duplicate USE, ONLY of ↵Paul Thomas4-16/+43
procedure in INTERFACE) 2006-11-25 Paul Thomas <pault@gcc.gnu.org> PR fortran/29464 * module.c (load_generic_interfaces): Add symbols for all the local names of an interface. Share the interface amongst the symbols. * gfortran.h : Add generic_copy to symbol_attribute. * symbol.c (free_symbol): Only free interface if generic_copy is not set. 2006-11-25 Paul Thomas <pault@gcc.gnu.org> PR fortran/29464 * gfortran.dg/module_interface_2.f90: New test. From-SVN: r119696
2006-12-09re PR fortran/29941 ([4.1 only] gfortran reports error with len of assumed ↵Paul Thomas2-9/+18
size character array) 2006-12-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/29941 * resolve.c (resolve_function): Add LEN to the functions not checked for assumed size actual args. 2006-12-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/29941 * gfortran.dg/assumed_len.f90: New test. From-SVN: r119695