X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=0b6bfaeadf013774700328273430f01beb71333c;hp=12c71921e78dbba70e031d284763a900046d3969;hb=d276e8206276787e6e4048ba024e941268367503;hpb=34de9f8b3f212ffcb65ba1f4bb8f697c6ecf336a diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 12c71921e78..0b6bfaeadf0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,303 @@ +2010-04-08 Bud Davis + + PR fortran/28039 + * io.c (check_format_string): Added check for additional non + blank characters after the format string was successfully + parsed. + * io.c (check_format): Changed the error messages for positive + int required and period required to drop through the error logic + and report with gfc_error instead of gfc_error_now. Corrected + format postion for hollerith strings. + +2010-04-08 Tobias Burnus + + * module.c (use_iso_fortran_env_module): Fix standard check. + +2010-04-07 Jakub Jelinek + + * parse.c (parse_derived, parse_enum): Avoid set but not used + warning. + +2010-04-07 Janne Blomqvist + + PR fortran/40539 + * gfortran.texi: Add section about representation of + LOGICAL variables. + +2010-04-07 Simon Baldwin + + * cpp.c (cb_cpp_error): Add warning reason argument, set a value + for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE. + +2010-04-07 Richard Guenther + + * options.c (gfc_init_options): Do not set. + +2010-04-06 Tobias Burnus + + PR fortran/18918 + * array.c (gfc_match_array_spec): Add error for -fcoarray=none. + * match.c (gfc_match_critical, sync_statement): Ditto. + * gfortran.h (gfc_fcoarray): New enum. + (gfc_option_t): Use it. + * lang.opt (fcoarray): Add new flag. + * invoke.texi (fcoarray): Document it. + * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=. + (gfc_handle_coarray_option): New function. + +2010-04-06 Tobias Burnus + + PR fortran/18918 + * gfortran.h (gfc_array_spec): Add cotype. + * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it + and defer error diagnostic. + * resolve.c (resolve_fl_derived): Add missing check. + (resolve_symbol): Add cotype/type check. + * parse.c (parse_derived): Fix setting of coarray_comp. + +2010-04-06 Tobias Burnus + + PR fortran/18918 + * array.c (gfc_free_array_spec,gfc_resolve_array_spec, + match_array_element_spec,gfc_copy_array_spec, + gfc_compare_array_spec): Include corank. + (match_array_element_spec,gfc_set_array_spec): Support codimension. + * decl.c (build_sym,build_struct,variable_decl, + match_attr_spec,attr_decl1,cray_pointer_decl, + gfc_match_volatile): Add codimension. + (gfc_match_codimension): New function. + * dump-parse-tree.c (show_array_spec,show_attr): Support codimension. + * gfortran.h (symbol_attribute,gfc_array_spec): Ditto. + (gfc_add_codimension): New function prototype. + * match.h (gfc_match_codimension): New function prototype. + (gfc_match_array_spec): Update prototype + * match.c (gfc_match_common): Update gfc_match_array_spec call. + * module.c (MOD_VERSION): Bump. + (mio_symbol_attribute): Support coarray attributes. + (mio_array_spec): Add corank support. + * parse.c (decode_specification_statement,decode_statement, + parse_derived): Add coarray support. + * resolve.c (resolve_formal_arglist, was_declared, + is_non_constant_shape_array, resolve_fl_variable, + resolve_fl_derived, resolve_symbol): Add coarray support. + * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr, + gfc_build_class_symbol): Add coarray support. + (gfc_add_codimension): New function. + +2010-04-06 Tobias Burnus + + PR fortran/18918 + * iso-fortran-env.def: Add the integer parameters atomic_int_kind, + atomic_logical_kind, iostat_inquire_internal_unit, stat_locked, + stat_locked_other_image, stat_stopped_image and stat_unlocked of + Fortran 2008. + * intrinsic.texi (iso_fortran_env): Ditto. + * libgfortran.h (libgfortran_stat_codes): New enum. + * module.c (use_iso_fortran_env_module): Honour -std= when loading + constants from the intrinsic module. + +2010-04-06 Tobias Burnus + + PR fortran/39997 + * intrinsic.c (add_functions): Add num_images. + * decl.c (gfc_match_end): Handle END CRITICAL. + * intrinsic.h (gfc_simplify_num_images): Add prototype. + * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP, + and SYNC. + * gfortran.h (gfc_statement): Add enum items for those. + (gfc_exec_op) Ditto. + (gfc_isym_id): Add num_images. + * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP. + (gfc_trans_sync,gfc_trans_critical): New functions. + * trans-stmt.h (gfc_trans_stop,gfc_trans_sync, + gfc_trans_critical): Add/update prototypes. + * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP, + and SYNC statements. + * trans.h (gfor_fndecl_error_stop_string) Add variable. + * resolve.c (resolve_sync): Add function. + (gfc_resolve_blocks): Handle CRITICAL. + (resolve_code): Handle CRITICAL, ERROR STOP, + (resolve_branch): Add CRITICAL constraint check. + and SYNC statements. + * st.c (gfc_free_statement): Add new statements. + * trans-decl.c (gfor_fndecl_error_stop_string): Global variable. + (gfc_build_builtin_function_decls): Initialize it. + * match.c (gfc_match_if): Handle ERROR STOP and SYNC. + (gfc_match_critical, gfc_match_error_stop, sync_statement, + gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory): + New functions. + (match_exit_cycle): Handle CRITICAL constraint. + (gfc_match_stopcode): Handle ERROR STOP. + * match.h (gfc_match_critical, gfc_match_error_stop, + gfc_match_sync_all, gfc_match_sync_images, + gfc_match_sync_memory): Add prototype. + * parse.c (decode_statement, gfc_ascii_statement, + parse_executable): Handle new statements. + (parse_critical_block): New function. + * parse.h (gfc_compile_state): Add COMP_CRITICAL. + * intrinsic.texi (num_images): Document new function. + * simplify.c (gfc_simplify_num_images): Add function. + +2010-04-06 Tobias Burnus + + PR fortran/43178 + * trans-array.c (gfc_conv_expr_descriptor): Update + gfc_trans_scalar_assign call. + (has_default_initializer): New function. + (gfc_trans_deferred_array): Nullify less often. + * trans-expr.c (gfc_conv_subref_array_arg, + gfc_trans_subcomponent_assign): Update call to + gfc_trans_scalar_assign. + (gfc_trans_scalar_assign): Add parameter and pass it on. + (gfc_trans_assignment_1): Optionally, do not dealloc before + assignment. + * trans-openmp.c (gfc_trans_omp_array_reduction): Update + call to gfc_trans_scalar_assign. + * trans-decl.c (gfc_get_symbol_decl): Do not always apply + initializer to static variables. + (gfc_init_default_dt): Add dealloc parameter and pass it on. + * trans-stmt.c (forall_make_variable_temp, + generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, + gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3 + gfc_trans_allocate): Update gfc_trans_assignment call. + * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt, + gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc + parameter to prototype. + +2010-03-31 Paul Thomas + + * ioparm.def : Update copyright. + * lang.opt : ditto + * trans-array.c : ditto + * trans-array.h : ditto + * expr.c: ditto + * trans-types.c: ditto + * dependency.c : ditto + * gfortran.h : ditto + * options.c : ditto + * trans-io.c : ditto + * trans-intrinsic.c : ditto + * libgfortran.h : ditto + * invoke.texi : ditto + * intrinsic.texi : ditto + * trans.c : ditto + * trans.h : ditto + * intrinsic.c : ditto + * interface.c : ditto + * iresolve.c : ditto + * trans-stmt.c : ditto + * trans-stmt.h : ditto + * parse,c : ditto + * match.h : ditto + * error.c : ditto + +2010-03-20 Paul Thomas + + PR fortran/43450 + * trans-decl.c (gfc_create_module_variable): With -fwhole-file + do not assert the context of derived types. + +2010-03-20 Jerry DeLisle + + PR fortran/43409 + * ioparm.def: Change inquire size variable to type pointer to + GFC_IO_INT type. + +2010-03-18 Paul Thomas + + PR fortran/43039 + * trans-expr.c (conv_parent_component_references): Ensure that + 'dt' has a backend_decl. + + PR fortran/43043 + * trans-expr.c (gfc_conv_structure): Ensure that the derived + type has a backend_decl. + + PR fortran/43044 + * resolve.c (resolve_global_procedure): Check that the 'cl' + structure is not NULL. + +2010-03-18 Shujing Zhao + + * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove + redundant tab. + +2010-03-17 Tobias Burnus + + PR fortran/43331 + * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref, + gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed + check. + * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray + pointees as having explizit size. + * expr.c (gfc_check_assign): Remove now unreachable Cray pointee + check. + * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert. + (gfc_sym_type): Don't mark Cray pointees as restricted pointers. + * resolve.c (resolve_symbol): Handle cp_was_assumed. + * trans-decl.c (gfc_trans_deferred_vars): Ditto. + (gfc_finish_var_decl): Don't mark Cray pointees as restricted + pointers. + +2010-03-14 Tobias Burnus + + PR fortran/43362 + * resolve.c (resolve_structure_cons): Add missing PURE constraint. + (resolve_ordinary_assign): Add check to avoid segfault. + +2010-03-12 Paul Thomas + + PR fortran/43291 + PR fortran/43326 + * resolve.c (resolve_compcall): Add new boolean dummy argument + 'class_members'. Only resolve expression at end if false. + Remove redundant, static variable 'class_object'. + (check_class_members): Add extra argument to call of + resolve_compcall. + (resolve_typebound_function): Renamed resolve_class_compcall. + Do all the detection of class references here. Correct calls to + resolve_compcall for extra argument. + (resolve_typebound_subroutine): resolve_class_typebound_call + renamed. Otherwise same as resolve_typebound_function. + (gfc_resolve_expr): Call resolve_typebound_function. + (resolve_code): Call resolve_typebound_subroutine. + +2010-03-10 Tobias Burnus result. + +2010-03-08 Janus Weil + + PR fortran/43256 + * resolve.c (resolve_compcall): Don't set 'value.function.name' here + for TBPs, otherwise they will not be resolved properly. + (resolve_function): Use 'value.function.esym' instead of + 'value.function.name' to check if we're dealing with a TBP. + (check_class_members): Set correct type of passed object for all TBPs, + not only generic ones, except if the type is abstract. + +2010-03-04 Janus Weil + + PR fortran/43244 + * decl.c (gfc_match_final_decl): Make sure variable names starting with + 'final...' are not misinterpreted as FINAL statements. + +2010-03-03 Paul Thomas + + PR fortran/43243 + * trans-array.c (gfc_conv_array_parameter): Contiguous refs to + allocatable ultimate components do not need temporaries, whilst + ultimate pointer components do. + +2010-03-03 Janus Weil + + PR fortran/43169 + * resolve.c (resolve_code): Correctly set gfc_current_ns for + EXEC_SELECT_TYPE. + (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc). + (gfc_pure): Ditto. + 2010-03-02 Paul Thomas PR fortran/43180