URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [fortran/] [ChangeLog-2011] - Rev 834
Go to most recent revision | Compare with Previous | Blame | View Log
2011-12-31 Thomas König <tkoenig@gcc.gnu.org>PR fortran/51502* expr.c (gfc_check_vardef_context): When determiningimplicit pure status, also check for variable definitioncontext. Walk up namespaces until a procedure isfound to reset the implict pure attribute.* resolve.c (gfc_implicit_pure): Walk up namespacesuntil a procedure is found.2011-12-29 Thomas Koenig <tkoenig@gcc.gnu.org>* dependency.c (gfc_dep_compare_functions): Documentnew behavior for REALs and complex. Add comment to caseswhere only INTEGERs are handled. Compare REAL and COMPLEXconstants, returning 0 and -2 only. Add assert to makesure that only integer constants are compared.2011-12-19 Tobias Burnus <burnus@net-b.de>PR fortran/51605* parse.c (gfc_fixup_sibling_symbols): Regard FL_LABEL aslocal symbol.2011-12-19 Tobias Burnus <burnus@net-b.de>PR fortran/51605* match.c (gfc_match_select_type): Handlescalar polymophic coarrays.(select_type_set_tmp, ): Ditto; avoid segfault if !class_ok.* primary.c (gfc_match_rvalue): Avoid segfault if !class_ok.* resolve.c (resolve_select_type): Ditto.(resolve_assoc_var): Fix setting the TARGET attribute forpolymorphic selectors which are pointers.2011-12-19 Tobias Burnus <burnus@net-b.de>* check.c (coarray_check): Add class ref if needed.* resolve.c (resolve_fl_var_and_proc,resolve_fl_derived0, resolve_symbol): Fix checkingfor BT_CLASS.2011-12-15 Paul Thomas <pault@gcc.gnu.org>* trans-expr.c (gfc_walk_function_expr): Detect elementalprocedure components as well as elemental procedures.* trans-array.c (gfc_conv_procedure_call): Ditto.* trans-decl.c (gfc_trans_deferred_vars): Correct erroneousbreak for class pointers to continue.2011-12-15 Toon Moene <toon@moene.org>PR fortran/51310* resolve.c (build_default_init_expr): Allow non-allocatable,non-compile-time-constant-shape arrays to have a defaultinitializer.* invoke.texi: Delete the restriction on automatic arrays notbeing initialized by -finit-<type>=<constant>.2011-12-15 Tobias Burnus <burnus@net-b.de>PR fortran/51550PR fortran/47545PR fortran/49050PR fortran/51075* resolve.c (resolve_fl_derived0): Print not-implemented errorfor deferred-length character components.2011-12-15 Tobias Burnus <burnus@net-b.de>* primary.c (gfc_match_varspec): Match array spec forpolymorphic coarrays.(gfc_match_rvalue): If a symbol of unknown flavor has acodimension, mark it as a variable.* simplify.c (gfc_simplify_image_index): Directly callsimplify_cobound.* trans-intrinsic.c (trans_this_image): Fix handling ofcorank = 1 arrays.2011-12-15 Jakub Jelinek <jakub@redhat.com>PR debug/51517* trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span.(gfc_trans_deferred_vars): Instead add its runtime initializationhere.2011-12-11 Tobias Burnus <burnus@net-b.de>PR fortran/50923* trans-decl.c (generate_local_decl): Set TREE_NO_WARNING onlyif the front end has printed a warning.(gfc_generate_function_code): Fix unset-result warning.2011-12-11 Paul Thomas <pault@gcc.gnu.org>Tobias Burnus <burnus@gcc.gnu.org>PR fortran/41539PR fortran/43214PR fortran/43969PR fortran/44568PR fortran/46356PR fortran/46990PR fortran/49074* interface.c (symbol_rank): Return the rank of the _datacomponent of class objects.(compare_parameter): Also compare the derived type of the class_data component for type mismatch. Similarly, return 1 if theformal and _data ranks match.(compare_actual_formal): Do not compare storage sizes for classexpressions. It is an error if an actual class array, passed toa formal class array is not full.* trans-expr.c (gfc_class_data_get, gfc_class_vptr_get,gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get,gfc_vtable_extends_get, gfc_vtable_def_init_get,gfc_vtable_copy_get): New functions for class API.(gfc_conv_derived_to_class): For an array reference in anelemental procedure call retain the ss to provide thescalarized array reference. Moved in file.(gfc_conv_class_to_class): New function.(gfc_conv_subref_array_arg): Use the type of theclass _data component as a basetype.(gfc_conv_procedure_call): Ensure that class array expressionshave both the _data reference and an array reference. Usegfc_conv_class_to_class to handle class arrays for elementalfunctions in scalarized loops, class array elements and fullclass arrays. Use a call to gfc_conv_subref_array_arg in orderthat the copy-in/copy-out for passing class arrays to derivedtype arrays occurs correctly.(gfc_conv_expr): If it is missing, add the _data componentbetween a class object or component and an array reference.(gfc_trans_class_array_init_assign): New function.(gfc_trans_class_init_assign): Call it for array expressions.* trans-array.c (gfc_add_loop_ss_code): Do not use a temp forclass scalars since their size will depend on the dynamic type.(build_class_array_ref): New function.(gfc_conv_scalarized_array_ref): Call build_class_array_ref.(gfc_array_init_size): Add extra argument, expr3, that representsthe SOURCE argument. If present,use this for the element size.(gfc_array_allocate): Also add argument expr3 and use it whencalling gfc_array_init_size.(structure_alloc_comps): Enable class arrays.* class.c (gfc_add_component_ref): Carry over the derived typeof the _data component.(gfc_add_class_array_ref): New function.(class_array_ref_detected): New static function.(gfc_is_class_array_ref): New function that calls previous.(gfc_is_class_scalar_expr): New function.(gfc_build_class_symbol): Throw not implemented error forassumed size class arrays. Remove error that preventsCLASS arrays.(gfc_build_class_symbol): Prevent pointer/allocatable conflict.Also unset codimension.(gfc_find_derived_vtab): Make 'copy' elemental and set theintent of the arguments accordingly.:* trans-array.h: Update prototype for gfc_array_allocate.* array.c (gfc_array_dimen_size): Return failure if class expr.(gfc_array_size): Likewise.* gfortran.h: New prototypes for gfc_add_class_array_ref,gfc_is_class_array_ref and gfc_is_class_scalar_expr.* trans-stmt.c (trans_associate_var): Exclude class targetsfrom test. Move the allocation of the _vptr to an earlier timefor class objects.(trans_associate_var): Assign the descriptor directly for classarrays.(gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments.Convert array element references into sections. Do not invokegfc_conv_procedure_call, use gfc_trans_call instead.* expr.c (gfc_get_corank): Fix for BT_CLASS.(gfc_is_simply_contiguous): Exclude class from test.* trans.c (gfc_build_array_ref): Include class array refs.* trans.h: Include prototypes for class API functions that arenew in trans-expr. Define GFC_DECL_CLASS(node).* resolve.c (check_typebound_baseobject ): Remove error fornon-scalar base object.(resolve_allocate_expr): Ensure that class _data component ispresent. If array, call gfc_expr_to_intialize.(resolve_select): Remove scalar error for SELECT statement as atemporary measure.(resolve_assoc_var): Update 'target' (aka 'selector') asneeded. Ensure that the target expression has the right rank.(resolve_select_type): Ensure that target expressions have avalid locus.(resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS.* trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, whereappropriate.(gfc_trans_deferred_vars): Get class arrays right.* match.c(select_type_set_tmp): Add array spec to temporary.(gfc_match_select_type): Allow class arrays.* check.c (array_check): Ensure that class arrays have refs.(dim_corank_check, dim_rank_check): Retrun success if class.* primary.c (gfc_match_varspec): Fix for class arrays andco-arrays. Make sure that class _data is present.(gfc_match_rvalue): Handle class arrays.*trans-intrinsic.c (gfc_conv_intrinsic_size): Add class arrayreference.(gfc_conv_allocated): Add _data component to class expressions.(gfc_add_intrinsic_ss_code): ditto.* simplify.c (simplify_cobound): Fix for BT_CLASS.(simplify_bound): Return NULL for class arrays.(simplify_cobound): Obtain correct array_spec. Use cotype asappropriate. Use arrayspec for bounds.2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/50690* frontend-passes.c (in_omp_workshare): New variable.(cfe_expr_0): Don't eliminiate common function if it would putthe variable immediately into a WORKSHARE construct.(optimize_namespace): Set in_omp_workshare.(gfc_code_walker): Keep track of OMP PARALLEL and OMP WORKSHAREconstructs.2011-12-10 Tobias Burnus <burnus@net-b.de>* trans-decl.c (add_argument_checking): Fix syntax.2011-12-10 Tobias Burnus <burnus@net-b.de>Kai Tietz <ktietz@redhat.com>* trans-decl.c (add_argument_checking): Check ts.deferred earlier.* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.2011-12-08 Tobias Burnus <burnus@net-b.de>PR fortran/50815* trans-decl.c (add_argument_checking): Skip bound checkingfor deferred-length strings.2011-12-08 Tobias Burnus <burnus@net-b.de>PR fortran/51378* symbol.c (gfc_find_component): Fix access check of parentcomponents.2011-12-08 Tobias Burnus <burnus@net-b.de>PR fortran/51407* io/transfer.c (require_numeric_type): New function.(formatted_transfer_scalar_read, formatted_transfer_scalar_write):Use it, allow BOZ edit descriptors with F2008.2011-12-08 Tobias Burnus <burnus@net-b.de>PR fortran/51448* fortran/trans-array.c (get_std_lbound): Fix handling ofconversion functions.2011-12-08 Toon Moene <toon@moene.org>PR fortran/51310* invoke.texi: Itemize the cases for which-finit-<type>=<constant> doesn't work.2011-12-06 Tobias Burnus <burnus@net-b.de>PR fortran/51435* expr.c (gfc_has_default_initializer): Fix handling ofDT with initialized pointer components.2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/51338* dependency.c (are_identical_variables): Handle case whereend fields of substring references are NULL.2011-12-04 Tobias Burnus <burnus@net-b.de>PR fortran/51383* resolve.c (find_array_spec): Use ref->u.c.componentdirectly without starting from ts.u.derived.2011-12-03 Tobias Burnus <burnus@net-b.de>PR fortran/48887* match.c (select_type_set_tmp): Don't set allocatable/pointerattribute.* class.c (gfc_build_class_symbol): Handleattr.select_type_temporary.2011-12-03 Tobias Burnus <burnus@net-b.de>PR fortran/50684* check.c (variable_check): Fix intent(in) check.2011-12-03 Tobias Burnus <burnus@net-b.de>* check.c (gfc_check_move_alloc): Allow nonpolymorphicFROM with polymorphic TO.* trans-intrinsic.c (conv_intrinsic_move_alloc): Handlenonpolymorphic FROM with polymorphic TO.2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>* module.c (dt_lower_string): Make static.(dt_upper_string): Likewise.2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>PR fortran/25708* module.c (parse_string): Read string into resizable arrayinstead of parsing twice and seeking.(peek_atom): New implementation avoiding seeks.(require_atom): Save and set column and line explicitly for errorhandling.2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>* misc.c (gfc_open_file): Don't call stat.2011-11-29 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/40958* module.c (prev_module_line): New variable.(prev_module_column): New variable.(prev_character): New variable.(module_char): Update the new variables.(module_unget_char): New function.(parse_string): Use module_unget_char.(parse_integer): Likewise.(parse_name): Likewise.2011-11-29 Tobias Burnus <burnus@net-b.de>PR fortran/51306PR fortran/48700* check.c (gfc_check_move_alloc): Make sure that from/toare both polymorphic or neither.* trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup,generate inline code.2011-11-28 Tobias Burnus <burnus@net-b.de>Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/51308* symbol.c (check_conflict): Ignore BIND(C) + PARAMETERconflicts for ISO_C_BINDING variables.(gen_special_c_interop_ptr): Don't mark c_ptr_null/c_funptr_nullas SAVE.2011-11-25 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (set_loop_bounds): Remove dead conditions.2011-11-25 Mikael Morin <mikael@gcc.gnu.org>PR fortran/51250PR fortran/43829* trans-array.c (gfc_trans_create_temp_array): Get dimension fromthe right gfc_ss struct.2011-11-25 Tobias Burnus <burnus@net-b.de>PR fortran/50408* trans-decl.c (gfc_get_module_backend_decl): Also copyts.u.derived from the gsym if the ts.type is BT_CLASS.(gfc_get_extern_function_decl): Copy also the backend_declfor the symbol's ts.u.{derived,cl} from the gsym.* trans-types.c (gfc_copy_dt_decls_ifequal): Directlyreturn if "from" and "to" are the same.2011-11-25 Tobias Burnus <burnus@net-b.de>PR fortran/51302* trans-stmt.c (gfc_trans_simple_do): Add a fold_convert.2011-11-24 Tobias Burnus <burnus@net-b.de>PR fortran/51218* resolve.c (pure_subroutine): If called subroutine isimpure, unset implicit_pure.(resolve_function): Move impure check to simplify code.2011-11-19 Tobias Burnus <burnus@net-b.de>PR fortran/51207* class.c (gfc_find_derived_vtab): Mark __def_init as PARAMETERand hence as TREE_READONLY; add subroutine attribute to__copy_ procedure.PR fortran/50640* trans.h (GFC_DECL_PUSH_TOPLEVEL): New DECL_LANG_FLAG_7.* trans-decl.c (gfc_get_symbol_decl): Mark __def_init and vtab asGFC_DECL_PUSH_TOPLEVEL.(gfc_generate_function_code): If GFC_DECL_PUSH_TOPLEVEL, push it there.(build_function_decl): Push __copy_ procedure to the toplevel.2011-11-16 Tobias Burnus <burnus@net-b.de>PR fortran/39427PR fortran/37829* decl.c (match_data_constant, match_data_constant, variable_decl,gfc_match_decl_type_spec, access_attr_decl,check_extended_derived_type, gfc_match_derived_decl,gfc_match_derived_decl, gfc_match_derived_decl) Modified to dealwith DT constructors.* gfortran.h (gfc_find_dt_in_generic,gfc_convert_to_structure_constructor): New function prototypes.* interface.c (check_interface0, check_interface1,gfc_search_interface): Ignore DT constructors in generic list.* match.h (gfc_match_structure_constructor): Update prototype.* match.c (match_derived_type_spec): Ensure that one uses the DTnot the generic function.* module.c (MOD_VERSION): Bump.(dt_lower_string, dt_upper_string): New functions.(find_use_name_n, find_use_operator, compare_true_names,find_true_name, add_true_name, fix_mio_expr, load_needed,read_module, write_dt_extensions, write_symbol): Changes to deal withdifferent symtree vs. sym names.(create_derived_type): Create also generic procedure.* parse.c (gfc_fixup_sibling_symbols): Don't regard DT and genericfunction as the same.* primary.c (gfc_convert_to_structure_constructor): New function.(gfc_match_structure_constructor): Restructured; callsgfc_convert_to_structure_constructor.(build_actual_constructor, gfc_match_rvalue): Update for DT genericfunctions.* resolve.c (resolve_formal_arglist, resolve_structure_cons,is_illegal_recursion, resolve_generic_f, resolve_variable,resolve_fl_variable_derived, resolve_fl_derived0,resolve_symbol): Handle DT and DT generic constructors.* symbol.c (gfc_use_derived, gfc_undo_symbols,gen_special_c_interop_ptr, gen_cptr_param,generate_isocbinding_symbol, gfc_get_derived_super_type): Handlederived-types, which are hidden in the generic type.(gfc_find_dt_in_generic): New function* trans-array.c (gfc_conv_array_initializer): Replace FL_PARAMETERexpr by actual value.* trans-decl.c (gfc_get_module_backend_decl, gfc_trans_use_stmts):Ensure that we use the DT and not the generic function.* trans-types.c (gfc_get_derived_type): Ensure that we use the DTand not the generic procedure.2011-11-14 Tobias Burnus <burnus@net-b.de>PR fortran/51073* trans-decl.c (generate_coarray_sym_init): Handle zero-sized arrays.2011-11-09 Tobias Burnus <burnus@net-b.de>* symbol.c (clear_sym_mark, traverse_ns): Remove functions.(count_st_nodes, do_traverse_symtree, fill_st_vector): New functions.(gfc_traverse_symtree, gfc_traverse_ns): Call do_traverse_symtree.2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>PR libfortran/50016* gfortran.texi (Data consistency and durability): New section.2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/50540* resolve.c (resolve_forall_iterators): Transform internal errorsto normal errors.2011-11-09 Janus Weil <janus@gcc.gnu.org>PR fortran/50960* class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.* expr.c (gfc_simplify_expr): Prevent vtabs from being replaced withtheir value.* resolve.c (resolve_values): Use-associated symbols do not need tobe resolved again.(resolve_fl_parameter): Make sure the symbol has a value.2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/38718* intrinsic.c (add_functions): Allow dreal simplification.* intrinsic.h (gfc_simplify_dreal): New prototype.* simplify.c (gfc_simplify_dreal): New function.2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/21881* trans-types.c (gfc_get_dtype): Issue a fatal error instead ofan internal error.2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/50404* io.c (gfc_resolve_close): CLOSE requires a UNIT.2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/50409* expr.c (gfc_simplify_expr): Substrings can't have negativelength.2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/50334* invoke.texi (-finit-*): Document interaction with-Wuninitialized.2011-11-07 François-Xavier Coudert <fxcoudert@gcc.gnu.org>PR libfortran/49188PR libfortran/49336* invoke.texi: Fix documentation of fsign-zero option. Removecontractions.* intrinsic.texi: Fix ATAN2 documentation for signed zeros.Remove contractions.* gfortran.texi: Remove contractions.2011-11-07 Janus Weil <janus@gcc.gnu.org>PR fortran/50919* class.c (add_proc_comp): Don't add non-overridable procedures to thevtable.* resolve.c (resolve_typebound_function,resolve_typebound_subroutine):Don't generate a dynamic _vptr call for non-overridable procedures.2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>* intrinsic.texi (MCLOCK, MCLOCK8, TIME, TIME8): Functions clockand time are part of the C standard library.2011-11-06 Janus Weil <janus@gcc.gnu.org>* gfortran.h (gfc_extend_expr): Modified prototype.* interface.c (gfc_extend_expr): Return 'match' instead of 'gfc_try'.Remove argument 'real_error'.* resolve.c (resolve_operator): Modified call to 'gfc_extend_expr'.2011-11-06 Andrew MacLeod <amacleod@redhat.com>Aldy Hernandez <aldyh@redhat.com>Merged from cxx-mem-model.* types.def: (BT_SIZE, BT_CONST_VOLATILE_PTR, BT_FN_VOID_INT,BT_FN_I{1,2,4,8,16}_CONST_VPTR_INT, BT_FN_VOID_VPTR_INT,BT_FN_BOOL_VPTR_INT, BT_FN_BOOL_SIZE_CONST_VPTR,BT_FN_VOID_VPTR_I{1,2,4,8,16}_INT, BT_FN_VOID_SIZE_VPTR_PTR_INT,BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT,BT_FN_BOOL_VPTR_PTR_I{1,2,4,8,16}_BOOL_INT_INT,BT_FN_I{1,2,4,8,16}_VPTR_I{1,2,4,8,16}_INT): New types.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>PR fortran/43829* trans-array.c (gfc_conv_expr_descriptor): Accept the inline intrinsiccase in the assertion.* trans-intrinsic (enter_nested_loop): New function.(gfc_conv_intrinsic_arith): Support non-scalar cases.(nest_loop_dimension, walk_inline_intrinsic_arith): New functions.(walk_inline_intrinsic_function): Handle sum and product.(gfc_inline_intrinsic_function_p): Ditto.* trans.h (gfc_get_loopinfo): New macro.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parentexpression variable. Use it.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current looppointer. Use it.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handlingcleanup.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* frontend-passes.c (cfe_register_funcs): Return early in the caseof an inline intrinsic function.(optimize_binop_array_assignment): Skip optimization in the case ofan inline intrinsic function.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* array.c (match_subscript): Skip whitespaces before setting locus.* matchexp.c (match_level_1): Ditto.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop'stemporary rank to the loop rank. Mark ss chains for multiple loopif necessary. Use gfc_trans_scalarized_loop_boundary to end one loopand start another.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop'stemporary rank to the loop rank. Mark ss chains for multiple loopif necessary. Use gfc_trans_scalarized_loop_boundary to end one loopand start another.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculateoffset twice in generated code.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-expr.c (gfc_conv_procedure_call): Handle temporaries forarguments to elemental calls.* trans-stmt.c (replace_ss): New function.(gfc_conv_elemental_dependencies): Remove temporary loop handling.Create a new ss for the temporary and replace the original one with it.Remove fake array references. Recalculate all offsets.2011-11-04 Mikael Morin <mikael@gcc.gnu.org>* trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.* trans-array.c (gfc_free_ss): Remove forward declaration.Make non-static.(set_delta, gfc_set_delta): Remove forward declaration.Make non-static and rename the former to the later. Update uses.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (gfc_inline_intrinsic_function_p): Move prototype...* gfortran.h (gfc_inline_intrinsic_function_p): ... here.* dependency.c (gfc_check_argument_var_dependency): Check dependenciesof inline intrinsics' arguments.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_preloop_setup): New pointers to outerdimension's ss and loop. Use them.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (outermost_loop): New function.(gfc_trans_array_constructor, gfc_set_vector_loop_bounds,gfc_add_loop_ss_code): Put generated code out of the outermost loop.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (constant_array_constructor_loop_size):Handle multiple loops.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (get_rank, get_loop_upper_bound_for_array):New functions.(gfc_trans_array_constructor): Handle multiple loops.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_loopinfo): New field parent.* trans-array.c (gfc_cleanup_loop): Free nested loops.(gfc_add_ss_to_loop): Set nested_loop's parent loop.(gfc_trans_array_constructor): Update assertion.(gfc_conv_loop_setup): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.Call recursively gfc_add_loop_ss_code for all the nested loops.(gfc_conv_ss_startstride): Only get the descriptor for the outermostss. Call recursively gfc_conv_ss_startstride for all the nested loops.(set_loop_bounds): Call recursively for all the nested loops.(set_delta): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_loopinfo): New fields nested and next.* trans-array.c (gfc_add_ss_to_loop): Update list of nested list ifss has non-null nested_ss field.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_create_temp_array): Loop over the parents.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (get_array_ref_dim, get_scalarizer_dim_for_array_dim):Rename the former to the latter and loop over the parents.(innermost_ss): New function.(get_array_ref_dim_for_loop_dim): New function.(gfc_trans_create_temp_array): Use get_scalarizer_dim_for_array_dim.(set_loop_bounds): Use get_array_dim_for_loop_dim).2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss): New field nested_ss.* trans-expr.c (gfc_advance_se_ss_chain): Update assertion.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (set_vector_loop_bounds): Loop over the parents.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_array_constructor): Loop over the parents.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over theparents.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss): New field parent.* trans-array.c (gfc_trans_scalarizing_loops): Skip clearing if aparent exists.* trans-expr.c (gfc_advance_se_ss_chain): Move to parent ss at theend of the chain.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.h (gfc_trans_create_temp_array): Remove loop argument.* trans-array.c (gfc_trans_create_temp_array): Ditto. Get loop from ss.Update reference to loop. Remove loop argument.(gfc_trans_array_constructor, gfc_conv_loop_setup): Update calls togfc_trans_create_temp_array.* trans-expr.c (gfc_conv_procedure_call): Ditto.* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.Set loop before calling gfc_trans_create_temp_array.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_create_temp_array): New variable total_dim.Set total_dim to loop's rank. Replace usages of loop's rank.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_array_constructor, trans_array_constructor):Rename the former to the later. Get loop from ss.Remove loop argument.(gfc_add_loop_ss_code): Update call.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.Remove loop argument.(gfc_add_loop_ss_code): Update call.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss): New field loop.* trans-array.c (set_ss_loop): New function.(gfc_add_ss_to_loop): Call set_ss_loop.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss_info): New field refcount.* trans-array.c (free_ss_info): Decrement refcount. Return early ifstill non-zero.(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss): Incrementrefcount.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_create_temp_array): Move invariant conditionout of the containing loop.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):Move specloop arrays clearing from the former to the latter.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (set_loop_bounds): Separate the beginning ofgfc_conv_loop_setup into a function of its own.(set_delta): Separate the end of gfc_conv_loop_setup into a functionof its own.(gfc_conv_loop_setup): Call set_loop_bounds and set delta.(set_loop_bounds, set_delta, gfc_conv_loop_setup): Make loopspec apointer to the specloop field from the loop struct.2011-11-03 Tobias Burnus <burnus@net-b.de>PR fortran/50933* interface.c (gfc_compare_derived_types): Fix check for BIND(C).2011-11-03 Tobias Burnus <burnus@net-b.de>PR fortran/50960* trans-decl.c (gfc_finish_var_decl): Mark PARAMETER as TREE_READONLY.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss, struct gfc_ss_info): Move fieldgfc_ss::where into gfc_ss_info.* trans-array.c (gfc_add_loop_ss_code):Update reference chains.* trans-stmt.c (gfc_trans_where_assign, gfc_trans_where_3): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss, struct gfc_ss_info): Move fieldgfc_ss::useflags into gfc_ss_info.* trans-array.c (gfc_mark_ss_chain_used, gfc_trans_preloop_setup,gfc_trans_scalarizing_loops, gfc_trans_scalarized_boundary):Update reference chains.* trans-expr.c (gfc_conv_procedure_call): Ditto.* trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss, struct gfc_ss_info): Move fieldgfc_ss::data::info into gfc_ss_info::data and remove empty uniongfc_ss::data.* trans-array.c (gfc_free_ss, gfc_trans_create_temp_array,gfc_trans_constant_array_constructor, gfc_trans_array_constructor,gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,gfc_conv_ss_descriptor, gfc_trans_array_bound_check,gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,add_array_offset, gfc_trans_preloop_setup,gfc_trans_scalarized_boundary, gfc_conv_section_startstride,gfc_conv_ss_startstride, gfc_could_be_alias,gfc_conv_loop_setup, gfc_conv_expr_descriptor,gfc_alloc_allocatable_for_assignment, gfc_walk_array_ref):Update reference chains and factor them where possible.* trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,gfc_conv_procedure_call, gfc_trans_subarray_assign): Updata referencechains.* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.* trans-io.c (transfer_array_component): Ditto.* trans-stmt.c (gfc_conv_elemental_dependencies,gfc_trans_pointer_assign_need_temp): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss, struct gfc_ss_info): Move member structgfc_ss::data::temp into gfc_ss_info::data.* trans-array.c (gfc_get_temp_ss, gfc_conv_loop_setup): Update referencechains.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss, struct gfc_ss_info): Move member structgfc_ss::data::scalar into newly created union gfc_ss_info::data,and rename subfield expr to value.* trans-array.c (gfc_add_loop_ss_code, gfc_conv_array_index_offset,gfc_conv_expr_descriptor): Update reference chains.* trans-const.c (gfc_conv_constant): Ditto.* trans-expr.c (gfc_conv_expr): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss, struct gfc_ss_info): Move fieldstring_length from the former struct to the latter.* trans-array.c(gfc_get_temp_ss, gfc_trans_array_constructor, gfc_add_loop_ss_code,gfc_conv_ss_descriptor, gfc_conv_scalarized_array_ref,gfc_conv_resolve_dependencies, gfc_conv_loop_setup,gfc_conv_expr_descriptor): Update references to string_length andfactor common reference chains where possible.* trans-const.c (gfc_conv_constant): Ditto.* trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,gfc_conv_expr): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss, struct gfc_ss_info): Move field expr fromthe former struct to the latter.* trans-array.c(gfc_get_array_ss, gfc_get_scalar_ss,gfc_trans_constant_array_constructor, gfc_trans_array_constructor,gfc_add_loop_ss_code, gfc_conv_ss_descriptor,gfc_trans_array_bound_check, gfc_conv_array_index_offset,gfc_conv_scalarized_array_ref, gfc_conv_ss_startstride,gfc_could_be_alias, gfc_conv_resolve_dependencies,gfc_conv_loop_setup, gfc_conv_expr_descriptor,gfc_alloc_allocatable_for_assignment): Update references to expr andfactor common reference chains where possible.* trans-const.c (gfc_conv_constant): Ditto.* trans-expr.c (gfc_conv_variable, gfc_conv_procedure_call,gfc_conv_array_constructor_expr, gfc_conv_expr,gfc_conv_expr_reference): Ditto.* trans-intrinsic.c (trans_this_image, gfc_conv_intrinsic_bound,gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_funcall,gfc_add_intrinsic_ss_code): Ditto.* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss_info): New struct.(gfc_get_ss_info): New macro.(struct gfc_ss): Move type field to struct gfc_ss_info.Add an info field of type gfc_ss_info.* trans-array.c (free_ss_info): New function.(gfc_free_ss): Call free_ss_info.(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss):Allocate gfc_ss_info field.(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss,gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,gfc_conv_array_index_offset, gfc_trans_preloop_setup,gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,gfc_conv_ss_startstride, gfc_conv_resolve_dependencies,gfc_conv_loop_setup, transposed_dims, gfc_conv_expr_descriptor,gfc_walk_elemental_function_args): Update references to type.* trans-const.c (gfc_conv_constant): Factor common reference chainsand update reference to type.* trans-expr.c (gfc_conv_procedure_call, gfc_trans_assignment_1):Update reference to type.(gfc_conv_array_constructor_expr, gfc_conv_expr,gfc_conv_expr_reference): Ditto. Factor common reference chains.* trans-intrinsic.c (walk_inline_intrinsic_transpose): Update referencesto type* trans-stmt.c (gfc_trans_where_assign): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss, struct gfc_array_info): Move shape fieldfrom the former struct to the latter.* trans-array.c (gfc_conv_ss_startstride, gfc_conv_loop_setup):Update field references.* trans-expr.c (gfc_trans_subarray_assign): Update field referencesand factor common reference chains.* trans-io.c (transfer_array_component): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_array_info): Move dim and dimen fields...(struct gfc_ss): ... here. Remove gfc_ss::data::temp::dimen field.* trans-array.c (gfc_conv_loop_setup): Remove temp_ss dim arrayinitialization.(gfc_get_temp_ss): Initialize dim and dimen.(gfc_free_ss, gfc_get_array_ss, gfc_get_temp_ss,gfc_set_loop_bounds_from_array_spec, get_array_ref_dim,gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,gfc_set_vector_loop_bounds, gfc_conv_scalarized_array_ref,gfc_trans_preloop_setup, gfc_conv_ss_startstride,gfc_conv_resolve_dependencies, gfc_conv_loop_setup, transposed_dims,gfc_conv_expr_descriptor, gfc_alloc_allocatable_for_assignment,gfc_walk_array_ref): Update field references.* trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):Ditto.* trans-intrinsic.c (walk_inline_intrinsic_transpose): Ditto.* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans.h (struct gfc_ss_info, struct gfc_array_info):Rename the former to the latter.* trans-array.c (gfc_get_array_ss, gfc_trans_allocate_array_storage,get_array_ref_dim, gfc_trans_create_temp_array,gfc_trans_constant_array_constructor, gfc_set_vector_loop_bounds,gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,add_array_offset, gfc_trans_preloop_setup, gfc_conv_section_startstride,gfc_conv_ss_startstride, gfc_conv_loop_setup, transposed_dims,gfc_conv_expr_descriptor): Update all uses.* trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):Ditto.* trans-intrinsic.c (gfc_conv_intrinsic_transfer,walk_inline_intrinsic_transpose): Ditto.* trans-stmt.c (gfc_conv_elemental_dependencies,gfc_trans_pointer_assign_need_temp): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (dim_ok, transposed_dims): Rename the former to thelatter. Change argument type. Invert return value.(gfc_conv_expr_descriptor): Update calls.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (get_array_ref_dim): Change argument type and name.Obtain previous argument from the new argument in the body.(gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_set_vector_loop_bounds, set_vector_loop_bounds):Rename the former to the latter. Change type and name of argument.Get previous argument from the new one.(gfc_add_loop_ss_code): Update call.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.h (gfc_trans_create_temp_array): Replace info argumentwith ss argument.* trans-array.c (gfc_trans_create_temp_array): Ditto. Get info from ss.(gfc_trans_array_constructor, gfc_conv_loop_setup): Update call togfc_trans_create_temp_array.* trans-expr.c (gfc_conv_procedure_call): Ditto.* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_array_bound_check): Use ss argumentto get name.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_array_bound_check,trans_array_bound_check): Rename the former to the latter.Replace descriptor argument with ss argument. Get descriptor from ss.(gfc_conv_array_index_offset, conv_array_index_offset): Rename theformer to the latter. Update call to trans_array_bound_check.Replace info argument with ss argument. Get info from ss.(gfc_conv_scalarized_array_ref): Update call to conv_array_index_offset.(add_array_offset): Ditto2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_constant_array_constructor,trans_constant_array_constructor): Rename the former to the latter.Don't set the rank of the temporary for the loop. Remove then unusedloop argument.(gfc_trans_array_constructor): Update call.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_scalarizing_loops): Stop loop before endmarker, not after it.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_conv_ss_startstride): Access array bounds alongarray dimensions instead of loop dimensions.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_preloop_setup): Assertify one condition.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (get_array_ref_dim): Remove redundant condition.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_preloop_setup): Move common code...(add_array_offset): ...into that new function.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_preloop_setup): Use loop's dimension insteadof array's dimention. Check that it is indeed the same.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.Special case outermost loop.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_preloop_setup): Factor loop indexinitialization.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_preloop_setup): Move code earlier.2011-11-03 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_trans_preloop_setup): Move array referenceinitialisation earlier. Factor subsequent array references.2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>* Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK.2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/50573* check.c (gfc_check_dshift): Update argument checking for BOZ.Update checking SHIFT against BITSIZE of I or J.* intrinsic.texi: Update docs for DSHIFTL and DSHIFTR.2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org>* check.c (gfc_check_atan_2): Typo in comment.(gfc_check_nearest): If 's' is constant, check that it is not 0.* simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits,gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc,gfc_simplify_nearest): Remove dead code.2011-10-23 Steven G. Kargl <kargl@gcc.gnu.org>* simplify.c (simplify_transformation_to_array): Fix memory leak.2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/50821* check.c (gfc_check_ishftc): Check args are constant beforeextracting the integer.2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/50514* check.c (less_than_bitsize1): Check |shift| <= bit_size(i).(gfc_check_ishftc): Check |shift| <= bit_size(i) and checkthat size is positive.2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/50524* resolve.c (resolve_ref): Check return value of resolve_substring().2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>* io.c (match_dt_format): Match a user-defined operator or a kindtype prefixed string.2011-10-19 Janus Weil <janus@gcc.gnu.org>PR fortran/47023* check.c (gfc_check_sizeof): Reject procedures as argument of SIZEOF.* intrinsinc.texi (SIZEOF): Document it.(STORAGE_SIZE): Fix special characters. Fix line breaks.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* trans.c (gfc_build_array_ref): If type is not an array, check thatthere is nothing to do, and do nothing.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* trans-types.c (gfc_build_array_type): Don't force lower bound to onein the deferred case.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays.Don't set already set array ref.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>* array.c (gfc_find_array_ref): Remove coarray-specific handling.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* check.c (dim_corank_check): Use gfc_get_corank to get corank.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION.PR fortran/50420* trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref forthe scalarization chain initialization.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* trans-intrinsic.c (walk_coarray): Allow subreferences after acoarray object reference.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* trans-array.c (gfc_walk_array_ref): Allow zero rank arraysif they are coarrays.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>* trans-array.h (gfc_walk_array_ref): New prototype.* trans-array.c (gfc_walk_array_ref): New function, containingall but the beginning of gfc_walk_variable_expr's code.(gfc_walk_variable_expr): Use gfc_walk_array_ref.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead ofndim for the descriptor's rank.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50420* trans-array.c (gfc_conv_expr_descriptor): Count codimensions startingfrom zero, and add then the relevant offset (either ndim or loop.dimen)depending on context.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space.2011-10-18 Mikael Morin <mikael@gcc.gnu.org>* trans-array.c (gfc_conv_expr_descriptor): Move ndim initializationearlier.2011-10-18 Janus Weil <janus@gcc.gnu.org>PR fortran/47023* decl.c (verify_c_interop_param): Renamed to'gfc_verify_c_interop_param'. Add error message for polymorphicarguments.(verify_c_interop): Renamed to 'gfc_verify_c_interop'. Rejectpolymorphic variables.(verify_bind_c_sym): Renamed 'verify_c_interop'.* gfortran.h (verify_c_interop,verify_c_interop_param): Renamed.* check.c (gfc_check_sizeof): Ditto.* resolve.c (gfc_iso_c_func_interface,resolve_fl_procedure): Ditto.* symbol.c (verify_bind_c_derived_type): Ditto.2011-10-15 Tom Tromey <tromey@redhat.com>Dodji Seketeli <dodji@redhat.com>* cpp.c (print_line, cb_define): Adjust to avoid using internalsof struct line_map. Use the public API instead.2011-10-17 Janus Weil <janus@gcc.gnu.org>PR fortran/47023PR fortran/50752* primary.c (match_kind_param): Avoid segfault.2011-10-16 Thomas Koenig <tkoenig@gcc.gnu.org>* frontend-passes.c (current_ns): Make static.(create_var): Note parent of newly created namespace.(optimize_namespace): Don't wak sibling namespacesif they are EXEC_BLOCK because this is handled...(gfc_code_walker): ... here. Also walk ASSOCIATE lists.2011-10-16 Janus Weil <janus@gcc.gnu.org>PR fortran/47023* primary.c (match_kind_param): Detect ISO_C_BINDING kinds.(get_kind): Pass on 'is_iso_c' flag.(match_integer_constant,match_real_constant,match_logical_constant):Set 'ts.is_c_interop'.2011-10-16 Janus Weil <janus@gcc.gnu.org>PR fortran/50547* resolve.c (resolve_formal_arglist): Remove unneeded error message.Some reshuffling.2011-10-15 Tobias Burnus <burnus@net-b.de>* gfortran.texi (Fortran 2008 status, TS 29113 status,Further Interoperability of Fortran with C): Update implementationstatus, change references from TR 29113 to TS 29113.* intrinsic.texi (RANK): Change TR 29113 to TS 29113.* invoke.text (-std=): Ditto, change -std=f2008tr to -std=f2008ts.* lang.opt (std=): Ditto.* options.c (gfc_handle_option, set_default_std_flags): Ditto andchange GFC_STD_F2008_TR to GFC_STD_F2008_TS.* libgfortran.h: Ditto.* intrinsic.c (add_functions, gfc_check_intrinsic_standard): Ditto.* decl.c (verify_c_interop_param): Ditto.2011-10-14 Janus Weil <janus@gcc.gnu.org>PR fortran/50570* expr.c (gfc_check_vardef_context): Don't throw an error onnon-pointer assignments involving an intent(in) pointer dummy.2011-10-14 Tobias Burnus <burnus@net-b.de>PR fortran/50718* trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointerfor dummy arguments with VALUE attribute.2011-10-11 Tobias Burnus <burnus@net-b.de>Janus Weil <janus@gcc.gnu.org>* invoke.texi (-fwhole-file): Update wording since -fwhole-fileis now enabled by default.2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>* trans-expr.c (gfc_conv_power_op): Delete old interface with twoparallel arrays to hold standard builtin declarations, and replaceit with a function based interface that can support creatingbuiltins on the fly in the future. Change all uses, and poisonthe old names. Make sure 0 is not a legitimate builtin index.(fill_with_spaces): Ditto.(gfc_trans_string_copy): Ditto.(gfc_trans_zero_assign): Ditto.(gfc_build_memcpy_call): Ditto.(alloc_scalar_allocatable_for_assignment): Ditto.* trans-array.c (gfc_trans_array_constructor_value): Ditto.(duplicate_allocatable): Ditto.(gfc_alloc_allocatable_for_assignment): Ditto.* trans-openmp.c (gfc_omp_clause_copy_ctor): Ditto.(gfc_omp_clause_assign_op): Ditto.(gfc_trans_omp_atomic): Ditto.(gfc_trans_omp_do): Ditto.(gfc_trans_omp_task): Ditto.* trans-stmt.c (gfc_trans_stop): Ditto.(gfc_trans_sync): Ditto.(gfc_trans_allocate): Ditto.(gfc_trans_deallocate): Ditto.* trans.c (gfc_call_malloc): Ditto.(gfc_allocate_using_malloc): Ditto.(gfc_call_free): Ditto.(gfc_deallocate_with_status): Ditto.(gfc_deallocate_scalar_with_status): Ditto.* f95-lang.c (gfc_define_builtin): Ditto.(gfc_init_builtin_functions): Ditto.* trans-decl.c (create_main_function): Ditto.* trans-intrinsic.c (builtin_decl_for_precision): Ditto.2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/50564* frontend-passes (forall_level): New variable.(cfe_register_funcs): Don't register functions if weare within a forall loop.(optimize_namespace): Set forall_level to 0 before entry.(gfc_code_walker): Increase/decrease forall_level.2011-10-09 Tobias Burnus <burnus@net-b.de>PR fortran/50273* trans-common.c (translate_common): Fix -Walign-commons check.2011-10-09 Mikael Morin <mikael.morin@sfr.fr>* interface.c (check_dummy_characteristics): Count dimensions startingfrom one in diagnostic.2011-10-09 Tobias Burnus <burnus@net-b.de>* Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Adddependency on iso-c-binding.def and iso-fortran-env.def.* module.c (import_iso_c_binding_module): Add error whenexplicitly importing a nonstandard symbol; extend standard-depending loading.* iso-c-binding.def: Add c_float128 and c_float128_complexinteger parameters (for -std=gnu).* intrinsic.texi (ISO_C_Binding): Document them.* symbol.c (generate_isocbinding_symbol): Change macrosto ignore GFC_STD_* data.* trans-types.c (gfc_init_c_interop_kinds): Ditto; makenonstatic and renamed from "init_c_interop_kinds".(gfc_init_kinds): Don't call it* trans-types.h (gfc_init_c_interop_kinds): Add prototype.* f95-lang.c (gfc_init_decl_processing): Call it.2011-10-09 Janus Weil <janus@gcc.gnu.org>PR fortran/50659* expr.c (replace_symbol): Only do replacement if the symbol is a dummy.2011-10-08 Paul Thomas <pault@gcc.gnu.org>PR fortran/47844* trans-array.c (gfc_conv_array_index_offset): Use descriptorstride for pointer function results.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_section_startstride): Remove coarray argument.Remove conditions on coarray.(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.(gfc_conv_expr_descriptor): Ditto. Add assertions before the call.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_section_startstride): Remove coarray_lastargument. Remove condition on coarray_last.(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.(gfc_conv_expr_descriptor): Ditto.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_walk_variable_expr): Remove scalar coarrayhandling. Don't reset array ref's corank and codimensions' typesin the full array ref case. Update loop upper limit.Remove DIMEN_THIS_IMAGE case. Remove unnecessary conditions.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans.h (gfc_ss_info): Remove codimen field.* trans-array.c (gfc_get_array_ss): Don't set codimen field.(gfc_trans_create_temp_array): Don't set descriptor's cobounds.(gfc_trans_constant_array_constructor): Update loop upper limit.(gfc_conv_ss_startstride): Don't set codimen field.Don't get descriptor's cobounds.(gfc_walk_variable_expr): Update dimension index.* trans-intrinsic.c (trans_this_image, trans_image_index,conv_intrinsic_cobound): Don't set codimen field2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans.h (gfc_loopinfo): Remove codimen field.* trans-array.c (gfc_set_vector_loop_bounds,gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upperlimit.(gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on lastcodimension.(gfc_start_scalarized_body): Update loop lower limit.(gfc_conv_ss_startstride): Don't set loop's codimen field.(gfc_conv_loop_setup): Remove unnecessary condition.(gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans.h (gfc_ss): Remove data.temp.codimen field.* trans-array.c (gfc_conv_resolve_dependencies,gfc_conv_expr_descriptor): Don't set temp's codimen field.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* resolve.c (resolve_array_ref): Set array_ref's dimen field (and theassociated dimen_type) in the full array ref case.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-intrinsic.c (walk_coarray): New function.(convert_element_to_coarray_ref): Move code to walk_coarray. Remove.(trans-this_image, trans_image_index, conv_intrinsic_cobound):Use walk_coarray.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizercobounds evaluation.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_section_startstride): Move code toevaluate_bound. Use evaluate_bound.(evaluate_bound): New function.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_section_startstride): Update assertion toalso accept coarrays.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_section_startstride): Factor commonarray ref references.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_expr_descriptor): Use codim instead ofloop.codimen as argument to gfc_get_array_type_bounds.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.h (struct gfc_se): New flag want_coarray.* trans-intrinsic.c (trans_this_image, trans_image_index,conv_intrinsic_cobound): Set want_coarray.* trans_array.c (gfc_conv_expr_descriptor): Evaluate codimensionearlier and without relying on the scalarizer.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* expr.c (gfc_get_corank): Return 0 if input expression is not acoarray.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_conv_expr_descriptor): Simplify coarraydescriptor setup code.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* resolve.c (compare_spec_to_ref): Move coarray ref initializationcode...(resolve_array_ref): ... here.2011-10-07 Mikael Morin <mikael.morin@sfr.fr>* check.c (is_coarray): Remove.(coarray_check): Use gfc_is_coarray.2011-10-07 Janus Weil <janus@gcc.gnu.org>PR fortran/50625* class.c (gfc_build_class_symbol): Fix whitespace.* module.c (mio_symbol): Set 'class_ok' attribute.* trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl hasbeen built for class symbols.2011-10-04 Janus Weil <janus@gcc.gnu.org>PR fortran/35831* interface.c (check_dummy_characteristics): Check the array shape.2011-10-01 Janus Weil <janus@gcc.gnu.org>PR fortran/50585* interface.c (get_expr_storage_size): Check if 'length' component isassociated.2011-09-29 Janus Weil <janus@gcc.gnu.org>PR fortran/50547* resolve.c (resolve_formal_arglist): Fix pureness check for dummyfunctions.PR fortran/50553* symbol.c (check_conflict): Forbid TARGET attribute for statementfunctions.2011-09-27 Jakub Jelinek <jakub@redhat.com>* trans-types.c (gfc_type_for_size): Return wider typeif no suitable narrower type has been found.(gfc_type_for_mode): Return NULL_TREE if gfc_type_for_sizereturned type doesn't have expected TYPE_MODE.2011-09-26 Janus Weil <janus@gcc.gnu.org>PR fortran/50515* resolve.c (resolve_common_blocks): Check for EXTERNAL attribute.PR fortran/50517* interface.c (gfc_compare_interfaces): Bugfix in check for result type.2011-09-22 Janus Weil <janus@gcc.gnu.org>PR fortran/41733* expr.c (gfc_check_pointer_assign): Check for nonintrinsic elementalprocedures.* interface.c (gfc_compare_interfaces): Rename 'intent_flag'. Checkfor PURE and ELEMENTAL attributes.(compare_actual_formal): Remove pureness check here.2011-09-20 Steven G. Kargl <kargl@gcc.gnu.org>* check.c (gfc_check_c_sizeof): Remove redundant word.2011-09-20 Simon Baldwin <simonb@google.com>* module.c (gfc_dump_module): Omit timestamp from output.2011-09-17 Janus Weil <janus@gcc.gnu.org>PR fortran/50403* symbol.c (gfc_use_derived): Fix coding style.2011-09-15 Janus Weil <janus@gcc.gnu.org>PR fortran/50401* resolve.c (resolve_transfer): Check if component 'ref' is defined.PR fortran/50403* symbol.c (gfc_use_derived): Check if argument 'sym' is defined.2011-09-14 Tobias Burnus <burnus@net-b.de>PR fortran/34547PR fortran/50375* check.c (gfc_check_null): Allow allocatables as MOLD to NULL.* resolve.c (resolve_transfer): Reject NULL without MOLD.* interface.c (gfc_procedure_use): Reject NULL without MOLDif no explicit interface is known.(gfc_search_interface): Reject NULL without MOLD if it wouldlead to ambiguity.2011-09-13 Janus Weil <janus@gcc.gnu.org>PR fortran/50379* symbol.c (check_conflict): Check conflict between GENERIC and RESULTattributes.2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/50327* frontend-passes.c (dummy_expr_callback): New function.(convert_do_while): New function.(optimize_namespace): Call code walker to convert do while loops.2011-09-11 Janus Weil <janus@gcc.gnu.org>PR fortran/35831PR fortran/47978* interface.c (check_dummy_characteristics): New function to check thecharacteristics of dummy arguments.(gfc_compare_interfaces,gfc_check_typebound_override): Call it here.2011-09-08 Mikael Morin <mikael.morin@sfr.fr>* trans-array.c (gfc_trans_constant_array_constructor): Removesuperfluous initialisation of DIM field.(gfc_trans_array_constructor): Assert that DIMEN field is properly set.(gfc_conv_expr_descriptor): Ditto.* trans-expr.c (gfc_conv_procedure_call): Ditto.2011-09-08 Mikael Morin <mikael.morin@sfr.fr>* trans-array.h (gfc_get_scalar_ss): New prototype.* trans-array.c (gfc_get_scalar_ss): New function.(gfc_walk_variable_expr, gfc_walk_op_expr,gfc_walk_elemental_function_args): Re-use gfc_get_scalar_ss.* trans-expr.c (gfc_trans_subarray_assign): Ditto.(gfc_trans_assignment_1): Ditto.* trans-stmt.c (compute_inner_temp_size, gfc_trans_where_assign,gfc_trans_where_3): Ditto.2011-09-08 Mikael Morin <mikael.morin@sfr.fr>* trans-array.h (gfc_get_temp_ss): New prototype.* trans-array.c (gfc_get_temp_ss): New function.(gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss.(gfc_conv_expr_descriptor): Ditto.* trans-expr.c (gfc_conv_subref_array_arg): Ditto.2011-09-08 Mikael Morin <mikael.morin@sfr.fr>* trans-array.h (gfc_get_array_ss): New prototype.* trans-array.c (gfc_get_array_ss): New function.(gfc_walk_variable_expr, gfc_walk_function_expr,gfc_walk_array_constructor): Re-use gfc_get_array_ss.* trans-expr.c (gfc_trans_subarray_assign): Ditto.* trans-intrinsic.c (gfc_walk_intrinsic_bound,gfc_walk_intrinsic_libfunc): Ditto.* trans-io.c (transfer_array_component): Ditto.2011-09-08 Tobias Burnus <burnus@net-b.de>PR fortran/44646* decl.c (gfc_match_entry, gfc_match_end): Handle COMP_DO_CONCURRENT.* dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT.* gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT.* match.c (gfc_match_critical, match_exit_cycle, gfc_match_stopcode,lock_unlock_statement, sync_statement, gfc_match_allocate,gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic.(gfc_match_do): Match DO CONCURRENT.(match_derived_type_spec, match_type_spec, gfc_free_forall_iterator,match_forall_iterator, match_forall_header, match_simple_forall,gfc_match_forall): Move up in the file.* parse.c (check_do_closure, parse_do_block): Handle do concurrent.* parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT.* resolve.c (do_concurrent_flag): New global variable.(resolve_function, pure_subroutine, resolve_branch,gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrentdiagnostic.* st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT.* trans-stmt.c (gfc_trans_do_concurrent): New function.(gfc_trans_forall_1): Handle do concurrent.* trans-stmt.h (gfc_trans_do_concurrent): New function prototype.* trans.c (trans_code): Call it.* frontend-passes.c (gfc_code_walker): Handle EXEC_DO_CONCURRENT.2011-09-07 Janus Weil <janus@gcc.gnu.org>PR fortran/48095* primary.c (gfc_match_structure_constructor): Handle parsing ofprocedure pointers components in structure constructors.* resolve.c (resolve_structure_cons): Check interface of procedurepointer components. Changed wording of some error messages.2011-09-04 Janus Weil <janus@gcc.gnu.org>PR fortran/50227* trans-types.c (gfc_sym_type): Check for proc_name.2011-08-30 Tobias Burnus <burnus@net-b.de>PR fortran/45044* trans-common.c (build_common_decl): Warn if named commonblock's size is not everywhere the same.2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/45170* trans-stmt.c (gfc_trans_allocate): Evaluate the substring.2011-08-29 Janus Weil <janus@gcc.gnu.org>PR fortran/50225* trans-decl.c (gfc_generate_function_code): Nullify polymorphicallocatable function results.2011-08-29 Tobias Burnus <burnus@net-b.de>* trans-decl.c (generate_coarray_sym_init): UseGFC_CAF_COARRAY_STATIC for static coarrays.2011-08-28 Dodji Seketeli <dodji@redhat.com>* scanner.c (load_file): Don't abuse LC_RENAME reason while(indirectly) calling linemap_add.2011-08-26 Jakub Jelinek <jakub@redhat.com>* trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODELif threadprivate.* symbol.c (check_conflict): Allow threadprivate attribute withFL_PROCEDURE if proc_pointer.2011-08-25 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50050* expr.c (gfc_free_shape): Do nothing if shape is NULL.(free_expr0): Remove redundant NULL shape check.* resolve.c (check_host_association): Ditto.* trans-expr.c (gfc_trans_subarray_assign): Assert that shape isnon-NULL.* trans-io.c (transfer_array_component): Ditto.2011-08-25 Tobias Burnus <burnus@net-b.de>* trans-array.c (gfc_conv_descriptor_token): Add assert.* trans-decl.c (gfc_build_qualified_array,create_function_arglist): Handle assumed-shape arrays.* trans-expr.c (gfc_conv_procedure_call): Ditto.* trans-types.c (gfc_get_array_descriptor_base): Ditto, don'tadd "caf_token" to assumed-shape descriptors, new akind argument.(gfc_get_array_type_bounds): Pass akind.* trans.h (lang_decl): New elements caf_offset and token.(GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.2011-08-25 Tobias Burnus <burnus@net-b.de>* trans-array.c (structure_alloc_comps): Fix for allocatablescalar coarray components.* trans-expr.c (gfc_conv_component_ref): Ditto.* trans-type.c (gfc_get_derived_type): Ditto.2011-08-24 Tobias Burnus <burnus@net-b.de>PR fortran/50163* expr.c (check_init_expr): Return when an error occured.2011-08-24 Joseph Myers <joseph@codesourcery.com>* Make-lang.in (fortran/cpp.o): Remove explicit compilation rule.2011-08-23 Tobias Burnus <burnus@net-b.de>PR fortran/31600* symbol.c (gfc_add_type): Better diagnostic if redefininguse-associated symbol.* module.c (gfc_use_module): Use module name as locus.2011-08-22 Gabriel Charette <gchare@google.com>* cpp.c (gfc_cpp_init): Force BUILTINS_LOCATION for tokensdefined in cpp_define_builtins.2011-08-22 Mikael Morin <mikael@gcc.gnu.org>PR fortran/50050* gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes.* expr.c (gfc_clear_shape, gfc_free_shape): New functions.(free_expr0): Re-use gfc_free_shape.* trans-expr.c (gfc_trans_subarray_assign): Ditto.* trans-io.c (transfer_array_component): Ditto.* resolve.c (check_host_association): Ditto.(gfc_expr_to_initialize): Don't force the rank value and free the shapeafter updating the expression. Recalculate shape and rank.(resolve_where_shape): Re-use gfc_clear_shape.* array.c (gfc_array_ref_shape): Ditto.2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/47659* expr.c (gfc_check_assign): Check for type conversions when theright-hand side is a constant REAL/COMPLEX contstant the left-handside is also REAL/COMPLEX. Don't warn when a narrowing conversionfor REAL does not change the value of the constant.2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/50130* resolve.c (resolve_array_ref): Don't calculate upper boundif the stride is zero.2011-08-20 Janus Weil <janus@gcc.gnu.org>PR fortran/49638* dependency.c (gfc_dep_compare_expr): Add new result value "-3".(gfc_check_element_vs_section,gfc_check_element_vs_element): Handleresult value "-3".* frontend-passes.c (optimize_comparison): Ditto.* interface.c (gfc_check_typebound_override): Ditto.2011-08-19 Mikael Morin <mikael.morin@sfr.fr>PR fortran/50129* parse.c (parse_where): Undo changes after emitting an error.2011-08-19 Jakub Jelinek <jakub@redhat.com>PR fortran/49792* trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WSbit in ompws_flags only if loop.temp_ss is NULL, and clear it iflhs needs reallocation.* trans-openmp.c (gfc_trans_omp_workshare): Don't return early ifcode is NULL, emit a barrier if workshare emitted no code at alland NOWAIT clause isn't present.2011-08-19 Mikael Morin <mikael.morin@sfr.fr>PR fortran/50071* gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK.* parse.c (check_statement_label): Accept ST_END_BLOCK andST_END_ASSOCIATE as valid branch target.(accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK.Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases.* resolve.c (find_reachable_labels): Change EXEC_END_BLOCK toEXEC_END_NESTED_BLOCK.(resolve_branch): Ditto.(resolve_code): Add EXEC_END_NESTED_BLOCK case.* st.c (gfc_free_statement): Ditto.* trans.c (trans_code): Ditto.2011-08-18 Mikael Morin <mikael.morin@sfr.fr>PR fortran/50071* symbol.c (gfc_get_st_label): Use the derived type namespace whenwe are parsing a derived type definition.2011-08-18 Tobias Burnus <burnus@net-b.de>PR fortran/18918* parse.c (parse_derived): Add lock_typechecks, improve coarray_comp handling.* resolve.c (resolve_allocate_expr,resolve_lock_unlock, resolve_symbol): Fix lock_typeconstraint checks.2011-08-17 Tobias Burnus <burnus@net-b.de>PR fortran/31461* trans-decl.c (generate_local_decl): Warn aboutunused explicitly imported module variables/parameters.2011-08-17 Janus Weil <janus@gcc.gnu.org>PR fortran/50070* resolve.c (resolve_fl_variable): Reject non-constant character lengthsin COMMON variables.2011-08-16 Tobias Burnus <burnus@net-b.de>Dominique Dhumieres <dominiq@lps.ens.fr>PR fortran/50094* resolve.c (resolve_symbol): Fix stupid typo.2011-08-15 Tobias Burnus <burnus@net-b.de>* resolve.c (resolve_symbol): Fix coarray result-var check.2011-08-14 Steven G. Kargl <kargl@gcc.gnu.org>* module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly.2011-08-14 Janus Weil <janus@gcc.gnu.org>PR fortran/50073* decl.c (check_function_name): New function, separated off from'variable_decl' and slightly extended.(variable_decl,attr_decl1): Call it.2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>* Make-lang.in (gfortran$(exeext)): Add $(EXTRA_GCC_LIBS).2011-08-07 Janus Weil <janus@gcc.gnu.org>Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/49638* dependency.c (are_identical_variables): For dummy arguments onlycheck for equal names, not equal symbols.* interface.c (gfc_check_typebound_override): Add checking for rankand character length.2011-08-07 Janus Weil <janus@gcc.gnu.org>PR fortran/49638* dependency.h (gfc_is_same_range,gfc_are_identical_variables): Removetwo prototypes.* dependency.c (gfc_are_identical_variables,are_identical_variables):Renamed the former to the latter and made static.(gfc_dep_compare_expr): Renamed 'gfc_are_identical_variables', handlecommutativity of multiplication.(gfc_is_same_range,is_same_range): Renamed the former to the latter,made static and removed argument 'def'.(check_section_vs_section): Renamed 'gfc_is_same_range'.* gfortran.h (gfc_check_typebound_override): New prototype.* interface.c (gfc_check_typebound_override): Moved here from ...* resolve.c (check_typebound_override): ... here (and renamed).(resolve_typebound_procedure): Renamed 'check_typebound_override'.2011-08-06 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/50004* target-memory.c (gfc_target_expr-size): Don't clobber typespecfor derived types.* simplify.c (gfc_simplify_transfer): Don't calculate source_sizetwice.2011-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/37211* gfortran.h (gfc_calculate_transfer_sizes): Add prototype.* target-memory.h (gfc_target_interpret_expr): Add booleanargument wether to convert wide characters.* target-memory.c (gfc_target_expr_size): Also return lengthof characters for non-constant expressions if these can bedetermined from the cl.(interpret_array): Add argument for gfc_target_interpret_expr.(gfc_interpret_derived): Likewise.(gfc_target_interpret_expr): Likewise.* check.c: Include target-memory.h.(gfc_calculate_transfer_sizes): New function.(gfc_check_transfer): When -Wsurprising is in force, calculatesizes and warn if result is larger than size (check moved fromgfc_simplify_transfer).* simplify.c (gfc_simplify_transfer): Usegfc_calculate_transfer_sizes. Remove warning.2011-08-04 Richard Guenther <rguenther@suse.de>PR fortran/49957* trans-array.c (add_to_offset): New function.(gfc_conv_array_ref): Build the array index expression in optimallyassociated order.(gfc_walk_variable_expr): Adjust for the backward walk.2011-08-02 Daniel Kraft <d@domob.eu>PR fortran/49885* trans-array.c (gfc_trans_auto_array_allocation): Changegfc_start_block to gfc_init_block to avoid spurious extra-scope.2011-08-02 Tobias Burnus <burnus@net-b.de>* trans-array.c (gfc_array_allocate): Pass token togfc_allocate_allocatable for -fcoarray=lib.* trans-stmt.c (gfc_trans_allocate): Updategfc_allocate_allocatable call.* trans.h (gfc_allocate_allocatable): Update prototype.(gfc_allocate_using_lib): Remove.* trans.c (gfc_allocate_using_lib): Make static, handle token.(gfc_allocate_allocatable): Ditto.2011-08-02 Jakub Jelinek <jakub@redhat.com>PR fortran/46752* cpp.c (cpp_define_builtins): Change _OPENMP to 201107.* openmp.c (gfc_free_omp_clauses): Free also final_expr.(OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE): Define.(gfc_match_omp_clauses): Handle parsing final and mergeableclauses.(OMP_TASK_CLAUSES): Allow final and mergeable clauses.(gfc_match_omp_taskyield): New function.(resolve_omp_clauses): Resolve final clause. Allow POINTERs andCray pointers in clauses other than REDUCTION.(gfc_match_omp_atomic): Match optionalread/write/update/capture keywords after !$omp atomic.(resolve_omp_atomic): Handle all OpenMP 3.1 atomic forms.* dump-parse-tree.c (show_omp_node): Handle EXEC_OMP_TASKYIELD,print final and mergeable clauses.(show_code_node): Handle EXEC_OMP_TASKYIELD.* trans-openmp.c (gfc_trans_omp_clauses): Handle final andmergeable clauses.(gfc_trans_omp_taskyield): New function.(gfc_trans_omp_directive): Handle EXEC_OMP_TASKYIELD.(gfc_trans_omp_atomic): Handle all OpenMP 3.1 atomic forms.(gfc_omp_clause_copy_ctor): Handle non-allocated allocatable.(gfc_omp_predetermined_sharing): Adjust comment.* gfortran.h (gfc_statement): Add ST_OMP_TASKYIELD andST_OMP_END_ATOMIC.(gfc_omp_clauses): Add final_expr and mergeable fields.(gfc_exec_op): Add EXEC_OMP_TASKYIELD.(gfc_omp_atomic_op): New enum typedef.(struct gfc_code): Add ext.omp_atomic.* trans.c (trans_code): Handle EXEC_OMP_TASKYIELD.* frontend-passes.c (gfc_code_walker): Also walk final_expr.* resolve.c (gfc_resolve_blocks, resolve_code): HandleEXEC_OMP_TASKYIELD.* st.c (gfc_free_statement): Likewise.* match.h (gfc_match_omp_taskyield): New prototype.* parse.c (decode_omp_directive): Handle taskyield directive.Handle !$omp end atomic.(case_executable): Add ST_OMP_TASKYIELD case.(gfc_ascii_statement): Handle ST_OMP_TASKYIELD.(parse_omp_atomic): Return gfc_statement instead of void.For !$omp atomic capture parse two assignments instead ofjust one and require !$omp end atomic afterwards, forother !$omp atomic forms just allow !$omp end atomic at theend.(parse_omp_structured_block, parse_executable): Adjustparse_omp_atomic callers.2011-08-02 Tobias Burnus <burnus@net-b.de>* intrinsic.c (OMP_LIB): Updated openmp_version'svalue to 201107.* gfortran.texi (OpenMP): Update ref to OpenMP 3.1.* intrinsic.texi (OpenMP Modules): Update ref to OpenMP 3.1;remove deleted omp_integer_kind and omp_logical_kind constants.2011-07-31 Janus Weil <janus@gcc.gnu.org>PR fortran/49112* resolve.c (resolve_structure_cons): Don't do the full dt resolution,only call 'resolve_fl_derived0'.(resolve_typebound_procedures): Resolve typebound procedures ofparent type.(resolve_fl_derived0): New function, which does a part of the workfor 'resolve_fl_derived'.(resolve_fl_derived): Call 'resolve_fl_derived0' and do some additionalthings.2011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/48876* expr.c (gfc_simplify_expr): If end of a string is lessthan zero, set it to zero.2011-07-28 Jakub Jelinek <jakub@redhat.com>PR fortran/31067* frontend-passes.c (optimize_minmaxloc): New function.(optimize_expr): Call it.2011-07-27 Tobias Burnus <burnus@net-b.de>PR fortran/45586* trans-types.c (gfc_get_derived_type): Ensure that pointercomponent types are marked as nonrestricted.2011-07-27 Daniel Carrera <dcarrera@gmail.com>PR fortran/49755* trans.c (gfc_allocate_using_malloc): Change function signature.Return nothing. New parameter "pointer". Eliminate temorary variables.(gfc_allocate_using_lib): Ditto.(gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_liband gfc_allocate_using_malloc. Do not free and then reallocate avariable that is already allocated.(gfc_likely): New function. Basedon gfc_unlikely.* trans-array.c (gfc_array_init_size): New parameter "descriptor_block".Instructions to modify the array descriptor are stored in this blockwhile other instructions continue to be stored in "pblock".(gfc_array_allocate): Update call to gfc_array_init_size. Move thedescriptor_block so that the array descriptor is only updated ifthe array was allocated successfully.Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.* trans.h (gfc_allocate_allocatable): Change function signature.Function now returns void.(gfc_allocate_using_lib): Ditto, and new function parameter.(gfc_allocate_using_malloc): Ditto.* trans-openmp.c (gfc_omp_clause_default_ctor,gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a callto gfc_allocate_allocatable with gfc_allocate_using_malloc.* trans-stmt.c (gfc_trans_allocate): Update function calls forgfc_allocate_allocatable and gfc_allocate_using_malloc.2011-07-26 Tobias Burnus <burnus@net-b.de>* trans-array.c (CAF_TOKEN_FIELD): New macro constant.(gfc_conv_descriptor_token): New function.* trans-array.h (gfc_conv_descriptor_token): New prototype.* trans-types.c (gfc_get_array_descriptor_base): For coarrayswith -fcoarray=lib, append "void *token" to the array descriptor.(gfc_array_descriptor_base_caf): New static variable.* trans-expr.c (gfc_conv_procedure_call): Handle token and offsetwhen passing a descriptor coarray to a nondescriptor dummy.2011-07-23 Tobias Burnus <burnus@net-b.de>* resolve.c (resolve_symbol): Fix coarray var decl check.2011-07-21 Daniel Carrera <dcarrera@gmail.com>* trans.c (gfc_allocate_with_status): Split into two functionsgfc_allocate_using_malloc and gfc_allocate_usig_lib.(gfc_allocate_using_malloc): The status parameter is now theactual status rather than a pointer. Code cleanup.(gfc_allocate_using_lib): Ditto. Add new parametrs errmsg anderrlen. Pass these to the coarray lib.* trans-openmp.c (gfc_omp_clause_default_ctor): Update calls togfc_allocate_allocatable.(gfc_omp_clause_copy_ctor): Ditto.(gfc_trans_omp_array_reduction): Ditto.* trans-stmt.c (gfc_trans_allocate): Ditto. Update call togfc_allocate_using_malloc. Pass stat rather than pstat to the allocatefuctions. If using coarray lib, pass errmsg and errlen to the allocatefunctions. Move error checking outside the if (!gfc_array_allocate)block so that it also affects trees produced by gfc_array_allocate.* trans-array.c (gfc_array_allocate): Add new parameters errmsgand errlen. Replace parameter pstat by status. Code cleanup. Updatecalls to gfc_allocate_allocatable and gfc_allocate_using_malloc.* trans-array.h (gfc_array_allocate): Update signature ofgfc_array_allocate.2011-07-21 Steven G. Kargl <kargl@gcc.gnu.org>* gfortran.texi: Remove a duplicate word.2011-07-21 Tobias Burnus <burnus@net-b.de>* check.c (gfc_check_present): Allow coarrays.* trans-array.c (gfc_conv_array_ref): Avoid castingwhen a pointer is wanted.* trans-decl.c (create_function_arglist): For -fcoarray=lib,handle hidden token and offset arguments for nondescriptorcoarrays.* trans-expr.c (get_tree_for_caf_expr): New function.(gfc_conv_procedure_call): For -fcoarray=lib pass thetoken and offset for nondescriptor coarray dummies.* trans.h (lang_type): Add caf_offset tree.(GFC_TYPE_ARRAY_CAF_OFFSET): New macro.2011-07-19 Tobias Burnus <burnus@net-b.de>* expr.c (gfc_is_coarray): New function.* gfortran.h (gfc_is_coarray): New prototype.* interface.c (compare_parameter): Use it.2011-07-19 Richard Guenther <rguenther@suse.de>* trans-expr.c (fill_with_spaces): Use fold_build_pointer_plus.(gfc_trans_string_copy): Likewise.* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Likewise.* trans-types.c (gfc_get_array_descr_info): Likewise.* trans.c (gfc_build_array_ref): Likewise.2011-07-19 Janus Weil <janus@gcc.gnu.org>PR fortran/49708* resolve.c (resolve_allocate_expr): Fix diagnostics for pointers.2011-07-18 Tobias Burnus <burnus@net-b.de>* trans-decl.c (gfc_build_qualified_array): Make coarray'stoken TYPE_QUAL_RESTRICT.2011-07-18 Tobias Burnus <burnus@net-b.de>* resolve.c (resolve_transfer): Mention defined I/Oin the diagnostic for alloc_comp/pointer_comp.2011-07-17 Tobias Burnus <burnus@net-b.de>PR fortran/34657* module.c (check_for_ambiguous): Check whether the name is matchesthe current program unit.2011-07-17 Tobias Burnus <burnus@net-b.de>PR fortran/49624* expr.c (gfc_check_pointer_assign): Fix checking for invalidpointer bounds.2011-07-16 Tobias Burnus <burnus@net-b.de>* expr.c (gfc_ref_this_image): New function.(gfc_is_coindexed): Use it.* gfortran.h (gfc_ref_this_image): New prototype.* resolve.c (resolve_deallocate_expr,resolve_allocate_expr): Support alloc scalar coarrays.* trans-array.c (gfc_conv_array_ref, gfc_array_init_size,gfc_conv_descriptor_cosize, gfc_array_allocate,gfc_trans_deferred_array): Ditto.* trans-expr.c (gfc_conv_variable) Ditto.:* trans-stmt.c (gfc_trans_deallocate): Ditto.* trans-types.c (gfc_get_element_type, gfc_get_array_type_boundsgfc_get_array_descr_info): Ditto.* trans-decl.c (gfc_get_symbol_decl): Ditto.2011-07-11 Jakub Jelinek <jakub@redhat.com>PR fortran/49698* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initializeinner_size to gfc_index_one_node instead of integer_one_node.2011-07-10 Tobias Burnus <burnus@net-b.de>PR fortran/49690* intrinsic.c (add_functions): Use BT_VOID for 2nd argument of SIGNAL.2011-07-09 Uros Bizjak <ubizjak@gmail.com>PR fortran/48926* expr.c (gfc_get_corank): Change return value to int.* gfortran.h (gfc_get_corank): Update function prototype.2011-07-07 Mikael Morin <mikael.morin@sfr.fr>PR fortran/49648* resolve.c (resolve_symbol): Force resolution of function result'sarray specification.2011-07-07 Tobias Burnus <burnus@net-b.de>* trans.c (gfc_allocate_with_status): Call _gfortran_caf_registerwith NULL arguments for (new) stat=/errmsg= arguments.2011-07-06 Daniel Carrera <dcarrera@gmail.com>* trans-array.c (gfc_array_allocate): Rename allocatable_array toallocatable. Rename function gfc_allocate_array_with_status togfc_allocate_allocatable_with_status. Update function call forgfc_allocate_with_status.* trans-opemp.c (gfc_omp_clause_default_ctor): Rename functiongfc_allocate_array_with_status to gfc_allocate_allocatable_with_status.* trans-stmt.c (gfc_trans_allocate): Update function call forgfc_allocate_with_status. Rename function gfc_allocate_array_with_statusto gfc_allocate_allocatable_with_status.* trans.c (gfc_call_malloc): Add new parameter gfc_allocate_with_statusso it uses the library for memory allocation when -fcoarray=lib.(gfc_allocate_allocatable_with_status): Renamed fromgfc_allocate_array_with_status.(gfc_allocate_allocatable_with_status): Update function call forgfc_allocate_with_status.* trans.h (gfc_coarray_type): New enum.(gfc_allocate_with_status): Update prototype.(gfc_allocate_allocatable_with_status): Renamed fromgfc_allocate_array_with_status.* trans-decl.c (generate_coarray_sym_init): Use the new constantGFC_CAF_COARRAY_ALLOC in the call to gfor_fndecl_caf_register.2011-07-06 Richard Guenther <rguenther@suse.de>* f95-lang.c (gfc_init_decl_processing):Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.2011-07-04 Jakub Jelinek <jakub@redhat.com>PR fortran/49623* gfortranspec.c (lang_specific_driver): Ignore options withCL_ERR_MISSING_ARG errors.2011-07-02 Janus Weil <janus@gcc.gnu.org>PR fortran/49562* expr.c (gfc_check_vardef_context): Handle type-bound procedures.2011-06-30 Jakub Jelinek <jakub@redhat.com>PR fortran/49540* gfortran.h (gfc_constructor): Add repeat field.* trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.* array.c (current_expand): Add repeat field.(expand_constructor): Copy repeat.* constructor.c (node_free, node_copy, gfc_constructor_get,gfc_constructor_lookup): Handle repeat field.(gfc_constructor_lookup_next, gfc_constructor_remove): New functions.* data.h (gfc_assign_data_value): Add mpz_t * argument.(gfc_assign_data_value_range): Removed.* constructor.h (gfc_constructor_advance): Removed.(gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.* data.c (gfc_assign_data_value): Add REPEAT argument, handle it andalso handle overwriting a range with a single entry.(gfc_assign_data_value_range): Removed.* resolve.c (check_data_variable): Adjust gfc_assign_data_valuecall. Use gfc_assign_data_value instead ofgfc_assign_data_value_expr.2011-06-27 Janus Weil <janus@gcc.gnu.org>PR fortran/49466* trans-array.c (structure_alloc_comps): Make sure sub-componentsand extended types are correctly deallocated.2011-06-21 Andrew MacLeod <amacleod@redhat.com>* trans-openmp.c: Add sync_ or SYNC__ to builtin names.* trans-stmt.c: Add sync_ or SYNC__ to builtin names.* trans-decl.c: Add sync_ or SYNC__ to builtin names.2011-06-21 Janus Weil <janus@gcc.gnu.org>PR fortran/49112* class.c (gfc_find_derived_vtab): Make vtab and default initializationsymbols SAVE_IMPLICIT.2011-06-20 Tobias Burnus <burnus@net-b.de>PR fortran/18918* gfortran.h (gfc_check_vardef_context): Update prototype.(iso_fortran_env_symbol): Handle derived types.(symbol_attribute): Add lock_comp.* expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.* interface.c (compare_parameter, gfc_procedure_use): HandleLOCK_TYPE.(compare_actual_formal): Updategfc_check_vardef_context call.* check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.* intrinsic.c (check_arglist): Ditto.* io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.* iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.* intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.* module.c (mio_symbol_attribute): Handle lock_comp.(create_derived_type): New function.(use_iso_fortran_env_module): Call it to handle LOCK_TYPE.* parse.c (parse_derived): Add constraint check for LOCK_TYPE.* resolve.c (resolve_symbol, resolve_lock_unlock): Add constraintchecks for LOCK_TYPE.(gfc_resolve_iterator, resolve_deallocate_expr,resolve_allocate_expr, resolve_code, resolve_transfer): Updategfc_check_vardef_context call.* trans-stmt.h (gfc_trans_lock_unlock): New prototype.* trans-stmt.c (gfc_trans_lock_unlock): New function.* trans.c (trans_code): Handle LOCK and UNLOCK.2011-06-18 Janus Weil <janus@gcc.gnu.org>PR fortran/49400* decl.c (gfc_match_procedure): Allow PROCEDURE declarations insideBLOCK constructs.2011-06-17 Janus Weil <janus@gcc.gnu.org>PR fortran/48699* check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,make sure the vtab is present.2011-06-16 Janus Weil <janus@gcc.gnu.org>PR fortran/49074* interface.c (gfc_extend_assign): Propagate the locus from theassignment to the type-bound procedure call.2011-06-16 Janus Weil <janus@gcc.gnu.org>PR fortran/49417* module.c (mio_component): Make sure the 'class_ok' attribute is setfor use-associated CLASS components.* parse.c (parse_derived): Check for 'class_ok' attribute.* resolve.c (resolve_fl_derived): Ditto.2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>* frontend-passes.c (remove_trim): New function.(optimize_assignment): Use it.(optimize_comparison): Likewise. Return correct statusfor previous change.2011-06-12 Tobias BurnusPR fortran/49324* trans-expr.c (gfc_trans_assignment_1): Tellgfc_trans_scalar_assign to also deep-copy RHS nonvariableswith allocatable components.* trans-array.c (gfc_conv_expr_descriptor): Ditto.2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>* frontend-passes.c (optimize_assignment): Follow chainsof concatenation operators to the end for removing trailingTRIMS for assignments.2011-06-10 Daniel Carrera <dcarrera@gmail.com>* trans-decl.c (gfc_build_builtin_function_decls):Updated declaration of caf_sync_all and caf_sync_images.* trans-stmt.c (gfc_trans_sync): Functioncan now handle a "stat" variable that has an integer typedifferent from integer_type_node.2011-06-09 Richard Guenther <rguenther@suse.de>* trans.c (gfc_allocate_array_with_status): Mark error pathas unlikely.2011-06-08 Tobias Burnus <burnus@net-b.de>PR fortran/18918* gfortran.h (gfc_statement): Add ST_LOCK and ST_UNLOCK.(gfc_exec_op): Add EXEC_LOCK and EXEC_UNLOCK.(gfc_code): Add expr4.* match.h (gfc_match_lock, gfc_match_unlock): New prototypes.* match.c (gfc_match_lock, gfc_match_unlock,lock_unlock_statement): New functions.(sync_statement): Bug fix, avoiding double freeing.(gfc_match_if): Handle LOCK/UNLOCK statement.* parse.c (decode_statement, next_statement,gfc_ascii_statement): Ditto.* st.c (gfc_free_statement): Handle LOCK and UNLOCK.* resolve.c (resolve_lock_unlock): New function.(resolve_code): Call it.* dump-parse-tree.c (show_code_node): Handle LOCK/UNLOCK.2011-06-07 Richard Guenther <rguenther@suse.de>* f95-lang.c (gfc_init_decl_processing): Do not setsize_type_node or call set_sizetype.2011-06-05 Tobias Burnus <burnus@net-b.de>PR fortran/49255* trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointerfor F2008.2011-06-05 Andreas Schmidt <andreas.schmidt.42@gmx.net>Thomas Koenig <tkoenig@gcc.gnu.org>* dump-parse-tree.c (show_symbol): Don't dump namespacefor ENTRY to avoid infinite recursion.2011-06-02 Asher Langton <langton2@llnl.gov>PR fortran/49268* trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Craypointees as AS_EXPLICIT.2011-06-02 Asher Langton <langton2@llnl.gov>PR fortran/37039* decl.c (variable_decl): Merge current_as before copying to cp_as.2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/49265* decl.c (gfc_match_modproc): Allow for a double colon in a moduleprocedure statement.* parse.c ( decode_statement): Deal with whitespace around :: ingfc_match_modproc.2011-05-31 Tobias Burnus <burnus@net-b.de>PR fortran/18918* intrinsic.c (klass): Add CLASS_ATOMIC.(add_subroutines): Add atomic_ref/atomic_define.* intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document.* intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref,gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes.* gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEFand GFC_ISYM_ATOMIC_REF.(gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars.* iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref): Newfunctions.* check.c (gfc_check_atomic, gfc_check_atomic_def,gfc_check_atomic_ref): New functions.* iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND,ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value.* trans-intrinsic.c (conv_intrinsic_atomic_def,conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): Newfunctions.(conv_intrinsic_move_alloc) Renamed fromgfc_conv_intrinsic_move_alloc - and made static.* trans.h (gfc_conv_intrinsic_move_alloc): Remove.(gfc_conv_intrinsic_subroutine) Add prototype.* trans.c (trans_code): Call gfc_conv_intrinsic_subroutine.* trans-types (gfc_atomic_int_kind, gfc_atomic_logical_kind): Newglobal vars.(gfc_init_kinds): Set them.2011-05-31 Tobias Burnus <burnus@net-b.de>PR fortran/18918* trans-array.c (gfc_trans_dummy_array_bias): Handlecobounds of assumed-shape arrays.2011-05-31 Tobias Burnus <burnus@net-b.de>PR fortran/18918* resolve.c (resolve_fl_variable): Handle static coarrayswith non-constant cobounds.2011-05-29 Janus Weil <janus@gcc.gnu.org>PR fortran/47601* module.c (mio_component_ref): Handle components of extended types.* symbol.c (gfc_find_component): Return is sym is NULL.2011-05-29 Tobias Burnus <burnus@net-b.de>PR fortran/18918* interface.c (compare_parameter): Add check for passing coarrayto allocatable noncoarray dummy.2011-05-29 Tobias Burnus <burnus@net-b.de>Richard Guenther <rguenther@suse.de>PR fortran/18918* trans-types.c (gfc_get_nodesc_array_type): Don't mess withthe type's TREE_TYPE.* trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT.* trans.c (gfc_build_array_ref): Ditto.2011-05-27 Tobias Burnus <burnus@net-b.de>PR fortran/18918* check.c (gfc_check_associated, gfc_check_null): Add coindexed check.* match.c (gfc_match_nullify): Ditto.* resolve.c (resolve_deallocate_expr): Ditto.* trans-types.c (gfc_get_nodesc_array_type): Don't set restrictedfor nonpointers.2011-05-27 Tobias Burnus <burnus@net-b.de>PR fortran/48820* gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.* intrinsic.c (add_functions): Add rank intrinsic.(gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.* intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add prototypes.* simplify.c (gfc_simplify_rank): New function.* intrinsic.texi (RANK): Add description for rank intrinsic.* check.c (gfc_check_rank): New function.2011-05-26 Paul Thomas <pault@gcc.gnu.org>Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/48955* trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SETchanged to GFC_ENABLE_REVERSE.* trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changedto GFC_INHIBIT_REVERSE.* gfortran.h: Enum gfc_reverse is now GFC_ENABLE_REVERSE,GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.* dependency.c (gfc_dep_resolver): Change names for elements ofgfc_reverse as necessary. Change the logic so that forwarddependences are remembered as well as backward ones. When bothhave appeared, force a temporary.2011-05-26 Tobias Burnus <burnus@net-b.de>PR fortran/18918* trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.* trans-decl.c (has_coarray_vars, caf_init_block,gfor_fndecl_caf_register): New file-global variables.(gfc_finish_var_decl): Make sure that coarrays in main are static.(gfc_build_qualified_array): Generate coarray token variable.(gfc_get_symbol_decl): Don't use a static initializer for coarrays.(gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.(gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip forstatic coarrays.(generate_local_decl): Check for local coarrays.(create_main_function): SYNC ALL before calling MAIN.(generate_coarray_sym_init): Register static coarray.(generate_coarray_init): Generate CAF registering constructorfunction.(gfc_generate_function_code): Call it, if needed, do not createcgraph twice.(gfc_generate_module_vars, gfc_process_block_locals): Callgenerate_coarray_init.* trans-types.c (gfc_get_nodesc_array_type): Generate pointers for-fcoarray=lib.* trans.h (gfor_fndecl_caf_register): New variable.(lang_type): New element caf_token.(GFC_TYPE_ARRAY_CAF_TOKEN): New macro.2011-05-24 Joseph Myers <joseph@codesourcery.com>* Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.(gfortran$(exeext)): Use libcommon-target.a.2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>* frontend-passes.c (cfe_register_funcs): Also registercharacter functions if their charlens are known and constant.Also register allocatable functions.2011-05-21 Janus Weil <janus@gcc.gnu.org>PR fortran/48699* match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if theselector is ALLOCATABLE.2011-05-20 Janus Weil <janus@gcc.gnu.org>PR fortran/48706* module.c (write_dt_extensions): Do not write extended types whichare local to a subroutine.2011-05-20 Joseph Myers <joseph@codesourcery.com>* Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>* gfortran.texi (set_fpe): Update documentation.* invoke.texi (-ffpe-trap): Likewise.* libgfortran.h (GFC_FPE_PRECISION): Rename to GFC_FPE_INEXACT.* options.c (gfc_handle_fpe_trap_option): Handle inexact and makeprecision an alias for it.2011-05-19 Tobias Burnus <burnus@net-b.de>PR fortran/18918* trans-types.c (gfc_get_element_type): Handle scalar coarrays.(gfc_get_nodesc_array_type): Make a variant-type copy for scalarcoarrays.* trans.c (gfc_build_array_ref): Return original type not variantcopy for scalar coarrays.* trans-array.c (gfc_conv_array_ref): Ditto.2011-05-18 Janus Weil <janus@gcc.gnu.org>PR fortran/48700* trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO'argument to avoid memory leaks.2011-05-16 Tobias Burnus <burnus@net-b.de>* gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.(Fortran 2008 status): Multi-image support for coarrays.(TR 19113 status): New section.2011-05-15 Tobias Burnus <burnus@net-b.de>PR fortran/18918actual argument is not an array; rank mismatch is diagnosted later.* trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): Handlescalar coarrays.* trans-types.c (gfc_get_array_type_bounds): Ditto.2011-05-15 Joern Rennecke <amylaar@spamcop.net>PR middle-end/46500* trans-types.c: Include "tm.h".[0] (c_size_t_size): Remove.2011-05-15 Janne Blomqvist <jb@gcc.gnu.org>PR libfortran/48915* gfortran.texi (_gfortran_set_options): Even though -fbacktraceis now the default, the library defaults to backtracing disabled.2011-05-14 Tobias Burnus <burnus@net-b.de>* lang.opt (fdump-core): Re-add as ignored optionfor backward compatibility.2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>PR libfortran/48915* gfortran.texi: Update mixed-language programming sectionreflecting the removal of the fdump-core option, and that-fbacktrace is now enabled by default.2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/22572* frontend-passes.c (cfe_register_funcs): Also register functionsfor potential elimination if the rank is > 0, the shape is unknownand reallocate on assignment is active.(create_var): For rank > 0 functions with unknown shape, createan allocatable temporary.2011-05-14 Tobias Burnus <burnus@net-b.de>PR fortran/18918* interface.c (compare_parameter): Skip diagnostic ifactual argument is not an array; rank mismatch is diagnosted later.2011-05-14 Tobias Burnus <burnus@net-b.de>* options.c (gfc_init_options, gfc_post_options): Enable-fstack-arrays by default if -Ofast is used.* invoke.texi (-fstack-arrays): Document this.2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>PR libfortran/48915* gfortran.h (gfc_option_t): Remove flag_dump_core.* gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.(GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.* intrinsic.texi (ABORT): Remove explanation of -fdump-core.* invoke.texi: Remove -fdump-core, document that -fbacktrace isenabled by default.* lang.opt: Remove -fdump-core.* options.c (gfc_init_options): Make backtrace default to enabled,remove dump_core.(gfc_handle_option): Remove OPT_fdump-core.* trans-decl.c: Pass a 0 to preserve ABI.2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>* gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.2011-05-13 Tobias Burnus <burnus@net-b.de>PR fortran/48972* io.c (resolve_tag_format, resolve_tag): Make surethat the string is of default kind.(gfc_resolve_inquire): Also resolve decimal tag.2011-05-12 Tobias Burnus <burnus@net-b.de>PR fortran/48972* resolve.c (resolve_intrinsic): Don't resolve moduleintrinsics multiple times.2011-05-11 Tobias Burnus <burnus@net-b.de>PR fortran/48889* expr.c (gfc_is_constant_expr): Use e->value.function.esyminstead of e->symtree->n.sym, if available.2011-05-07 Eric Botcazou <ebotcazou@adacore.com>* f95-lang.c (global_bindings_p): Return bool and simplify.2011-05-07 Tobias Burnus <burnus@net-b.de>PR fortran/18918PR fortran/48919* trans.h: Move gfc_init_coarray_decl prototype ...* gfortran.h: ... to here.* parse.c (translate_all_program_units): Call gfc_init_coarray_decl.(gfc_parse_file): Update translate_all_program_units call.* trans-decl.c (gfc_init_coarray_decl): Fix variable declaration,new argument whether DECL_EXTERNAL should be used.(create_main_function): Update gfc_init_coarray_decl call.* trans-intrinsic.c (trans_this_image, trans_image_index,conv_intrinsic_cobound): Ditto.2011-05-06 Tobias Burnus <burnus@net-b.de>PR fortran/18918* trans-array.c (gfc_walk_variable_expr): Continue walkingfor scalar coarrays.* trans-intrinsic.c (convert_element_to_coarray_ref): New function.(trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.(trans_this_image): Fix algorithm.* trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base,gfc_sym_type): Handle scalar coarrays.2011-05-06 Tobias Burnus <burnus@net-b.de>PR fortran/48858PR fortran/48820* lang.opt (std=f2008tr): New.* libgfortran.h (GFC_STD_F2008_TR): New macro constant.* decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)procedures for -std=f2008tr/gnu/legacy.(gfc_match_import): Set sym to NULL.* options.c (set_default_std_flags,gfc_handle_option): Handle-std=f2008tr.* invoke.texi (-std=): Document -std=f2008tr.2011-05-05 Nathan Froyd <froydnj@codesourcery.com>* trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.* trans-io.c (add_case): Likewise.* trans-stmt.c (gfc_trans_integer_select): Likewise.(gfc_trans_character_select): Likewise.2011-05-05 Eric Botcazou <ebotcazou@adacore.com>* trans-decl.c (trans_function_start): Do not setdont_save_pending_sizes_p.2011-05-04 Nathan Froyd <froydnj@codesourcery.com>* trans.h (gfc_chainon_list): Delete.* trans.c (gfc_chainon_list): Delete.2011-05-04 Tobias Burnus <burnus@net-b.de>PR fortran/48864* invoke.texi (fno-protect-parens): Documentthat -Ofast implies -fno-protect-parens.* options.c (gfc_init_options, gfc_post_options):Make -Ofast imply -fno-protect-parens.2011-05-04 Nathan Froyd <froydnj@codesourcery.com>* trans-decl.c (build_library_function_decl_1): Callbuild_function_type_vec. Adjust argument list building accordingly.* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.* trans-types.c (gfc_get_function_type): Likewise.2011-05-04 Richard Guenther <rguenther@suse.de>* trans-array.c (gfc_trans_array_constructor_value): Usesize_int for bounds of range types.(gfc_trans_array_constructor_value): Use size_type_nodefor memcpy argument.* trans-common.c (build_field): Use gfc_charlen_type_nodefor lengths.* trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULLas type to build_int_cst.* trans-const.c (gfc_build_string_const): Use size_intfor bounds of range types.(gfc_build_wide_string_const): Likewise.* trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_nodefor lengths.(gfc_trans_character_select): Likewise.(gfc_trans_character_select): Do not pass NULLas type to build_int_cst.(gfc_trans_character_select): Use size_int for bounds of range types.* trans-io.c (gfc_build_io_library_fndecls): Likewise.(add_case): Do not pass NULL as type to build_int_cst.(transfer_expr): Likewise.(transfer_array_desc): Likewise.* trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_nodefor lengths.(gfc_trans_assign_aux_var): Likewise.(create_main_function): Use size_int for bounds of range types.* trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not passNULL as type to build_int_cst.(gfc_conv_intrinsic_spacing): Likewise.(gfc_conv_intrinsic_rrspacing): Likewise.(gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.2011-05-04 Richard Guenther <rguenther@suse.de>* trans-types.c (gfc_get_array_type_bounds): Remove zero notruncargument to int_const_binop.2011-05-03 Tobias Burnus <burnus@net-b.de>PR fortran/18918* trans-intrinsic.c (trans_this_image): Implement version withcoarray argument.(conv_intrinsic_cobound): Simplify code.(gfc_conv_intrinsic_function): Call trans_this_image forthis_image(coarray) except for -fcoarray=single.2011-05-02 Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/48720* gfortran.texi: Document the 'Q' exponent-letter extension.* invoke.texi: Document -Wreal-q-constant.* lang.opt: Add -Wreal-q-constant option.* gfortran.h: Add warn_real_q_constant to option struct.* primary.c (match_real_constant): Use it. Accept 'Q' asexponent-letter for REAL(16) real-literal-constant with afallback to REAL(10) or error if REAL(10) is not available.* options.c (gfc_init_options, set_Wall) Set it.(gfc_handle_option): Handle new option.2011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>* dump-prase-tree.c (show_code_node): Set the currentnamespace to the BLOCK before displaying it; restoreafterwards.2011-04-30 Tobias Burnus <burnus@net-b.de>PR fortran/48821* decl.c (gfc_match_import): Don't try to find thesymbol if already found.2011-04-30 Paul Thomas <pault@gcc.gnu.org>PR fortran/48746* trans-expr.c (fcncall_realloc_result): Set the bounds and theoffset so that the lbounds are one.(gfc_trans_arrayfunc_assign): Add rank to arguments of above.2011-04-29 Paul Thomas <pault@gcc.gnu.org>PR fortran/48462* trans-expr.c (arrayfunc_assign_needs_temporary): Deal withautomatic reallocation when the lhs is a target.PR fortran/48746* trans-expr.c (fcncall_realloc_result): Make sure that theresult dtype field is set before the function call.2011-04-29 Tobias Burnus <burnus@net-b.de>PR fortran/48810* resolve.c (resolve_typebound_generic_call): Don't check accessflags of the specific function.PR fortran/48800* resolve.c (resolve_formal_arglist): Don't change AS_DEFERREDto AS_ASSUMED_SHAPE for function results.(resolve_fl_var_and_proc): Print also for function results withAS_DEFERRED an error, if they are not a pointer or allocatable.(resolve_types): Make sure arguments of procedures in interfaceblocks are resolved.2011-04-29 Michael Matz <matz@suse.de>* options.c (options.c): Set warn_maybe_uninitialized.2011-04-28 Tobias Burnus <burnus@net-b.de>PR fortran/48112* resolve.c (resolve_fl_var_and_proc): Print diagnostic offunction results only once.(resolve_symbol): Always resolve function results.PR fortran/48279* expr.c (gfc_check_vardef_context): Fix handling of genericEXPR_FUNCTION.* interface.c (check_interface0): Reject internal functionsin generic interfaces, unless -std=gnu.2011-04-27 Tobias Burnus <burnus@net-b.de>PR fortran/48788* resolve.c (resolve_global_procedure): Error recovery -avoid segfault for (non)character-returning functions.2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>* decl.c (gfc_match_end): Check that the block name startswith "block@".* parse.c (gfc_build_block_ns): Make block names unique bynumbering them.2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>* frontend-passes.c (inserted_block): New variable.(changed_statement): Likewise.(create_var): Encase statement to be operated on in a BLOCK.Adjust code insertion for BLOCK.(cfe_code): Set inserted_block and changed_statement to NULL.2011-04-23 Tobias Burnus <burnus@net-b.de>PR fortran/18918* module.c (mio_array_spec): Set as->cotype on reading.* resolve.c (resolve_allocate_expr): Fix allocating coarraycomponents.2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/48405* frontend_passes (cfe_register_funcs): Remove workaround for DOloops.(gfc_code_walker): Make sure the pointer to the currentstatement doen't change when other statements are inserted.2011-04-21 Tobias Burnus <burnus@net-b.de>PR fortran/18918* array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.2011-04-20 Jim Meyering <meyering@redhat.com>* expr.c (free_expr0): Remove useless if-before-free.* gfortranspec.c (lang_specific_pre_link): Likewise.* interface.c (gfc_extend_expr): Likewise.* trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.2011-04-19 Tobias Burnus <burnus@net-b.de>PR fortran/48588PR fortran/48692* module.c (fix_mio_expr): Commit created symbol.2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>* scanner.c (load_file): Use XCNEWVAR instead of xcalloc.2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>* frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead offree.2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>* misc.c (gfc_getmem): Remove function.* gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmemusage with XCNEW or XCNEWVEC.* expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage withXCNEW or XCNEWVEC.* options.c (gfc_handle_module_path_options)(gfc_get_option_string): Likewise.* resolve.c (gfc_resolve_forall): Likewise.* simplify.c (simplify_transformation_to_array): Likewise.* target-memory.c (gfc_target_interpret_expr): Likewise.* trans-common.c (get_segment_info, copy_equiv_list_to_ns)(get_init_field): Likewise.* trans-expr.c (gfc_conv_statement_function): Likewise.* trans-io.c (nml_full_name): Likewise.* trans-stmt.c (gfc_trans_forall_1): Likewise.* scanner.c (load_file): Replace gfc_getmem usage with xcalloc.2011-04-19 Tobias Burnus <burnus@net-b.de>PR fortran/48588* parse.c (resolve_all_program_units): Skip modules.(translate_all_program_units): Handle modules.(gfc_parse_file): Defer code generation for modules.2011-04-19 Martin Jambor <mjambor@suse.cz>* trans-decl.c (gfc_generate_function_code): Call cgraph_create_nodeinstead of cgraph_get_create_node.2011-04-18 Jim Meyering <meyering@redhat.com>remove now-unused definition of gfc_free* misc.c (gfc_free): Remove function.* gfortran.h (gfc_free): Remove its prototype.2011-04-18 Jim Meyering <meyering@redhat.com>convert each use of gfc_free (p) to free (p)Do that by running this command:perl -pi -e 's/\bgfc_free ?\(/free (/' \$(git grep -El '\bgfc_free ?\(')which also corrects the few uses that lacked a space betweenthe function name and the open parenthesis.Manually undo the change to the function definition itselfand its prototype. They'll be removed next.* array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/* constructor.c (node_free): Likewise.* cpp.c (dump_queued_macros): Likewise.* data.c (gfc_assign_data_value): Likewise.* decl.c (free_variable, free_value, gfc_free_data): Likewise.(gfc_free_data_all, match_old_style_init): Likewise.(gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):Likewise.(gfc_match_modproc): Likewise.* dependency.c (check_section_vs_section): Likewise.* error.c (gfc_pop_error, gfc_free_error): Likewise.* expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.(gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.(find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):Likewise.* frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.(strip_function_call, optimize_comparison): Likewise.* interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.(CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):Likewise.* intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.(gfc_convert_chartype): Likewise.* io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):Likewise.(gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.* match.c (gfc_free_iterator, gfc_match_associate): Likewise.(gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):Likewise.(free_case, gfc_free_forall_iterator): Likewise.* misc.c: Likewise.* module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.(free_true_name, peek_atom, mio_allocated_wide_string): Likewise.(mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.(mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.(mio_full_typebound_tree, skip_list, load_equiv): Likewise.(free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.* openmp.c (gfc_free_omp_clauses): Likewise.* options.c (gfc_post_options): Likewise.* parse.c (select_type_pop, parse_omp_structured_block): Likewise.* primary.c (gfc_free_structure_ctor_component): Likewise.* resolve.c (resolve_structure_cons, check_host_association): Likewise.(gfc_resolve_forall, resolve_equivalence): Likewise.* scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.(gfc_define_undef_line, preprocessor_line, include_line): Likewise.(load_file, gfc_read_orig_filename): Likewise.* simplify.c (simplify_transformation_to_array): Likewise.(gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):Likewise.(gfc_simplify_compiler_options): Likewise.* st.c (gfc_free_statement, gfc_free_statements): Likewise.(gfc_free_association_list): Likewise.* symbol.c (free_components, gfc_free_st_label, free_st_labels):Likewise.(gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.(free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.(free_common_tree, free_uop_tree, free_sym_tree): Likewise.(gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):Likewise.(gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.(gfc_free_namespace): Likewise.* trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.(gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.(gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.* trans-common.c (get_init_field, create_common): Likewise.* trans-const.c (gfc_build_wide_string_const): Likewise.(gfc_conv_string_init): Likewise.* trans-decl.c (gfc_generate_function_code): Likewise.* trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):Likewise.(SCALAR_POINTER, gfc_conv_statement_function): Likewise.(gfc_trans_subarray_assign): Likewise.* trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.* trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.(transfer_namelist_element, transfer_array_component): Likewise.* trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.* trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.* trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):Likewise.2011-04-15 Jim Meyering <meyering@redhat.com>gfortran: remove cpp definition of free, ...in preparation for the s/gfc_free/free/ transformation.* gfortran.h (free): Remove macro definition that would otherwiseprevent direct use of the function.2011-04-18 Tobias Burnus <burnus@net-b.de>PR fortran/18918* array.c (gfc_match_array_ref): Check for too many codimensions.* check.c (gfc_check_image_index): Check number of elementsin SUB argument.* simplify.c (gfc_simplify_image_index): Remove unreachable checks.2011-04-18 Tobias Burnus <burnus@net-b.de>PR fortran/18918* iresolve.c (gfc_resolve_image_index): Set ts.type.* simplify.c (gfc_simplify_image_index): Don't abort if the boundsare not known at compile time and handle -fcoarray=lib.* trans-intrinsics.c (gfc_conv_intrinsic_function): HandleIMAGE_INDEX.(conv_intrinsic_cobound): Fix comment typo.(trans_this_image): New function.* trans-array.c (gfc_unlikely): Move to trans.c.* trans.c (gfc_unlikely): Function moved from trans-array.c.(gfc_trans_runtime_check): Use it.* trans-io.c (gfc_trans_io_runtime_check): Ditto.* trans.h (gfc_unlikely): Add prototype.2011-04-18 Paul Thomas <pault@gcc.gnu.org>PR fortran/48462* trans-expr.c (fcncall_realloc_result): Renamed version ofrealloc_lhs_bounds_for_intrinsic_call that does not touch thedescriptor bounds anymore but makes a temporary descriptor tohold the result.(gfc_trans_arrayfunc_assign): Modify the reference to aboverenamed function.2011-05-17 Tobias Burnus <burnus@net-b.de>PR fortran/48624* trans-decl.c (gfc_get_extern_function_decl): Fix declfor external procedures with proc arguments.2011-04-15 Michael Matz <matz@suse.de>* trans-array.c (toplevel): Include gimple.h.(gfc_trans_allocate_array_storage): Check flag_stack_arrays,properly expand variable length arrays.(gfc_trans_auto_array_allocation): If flag_stack_arrays createvariable length decls and associate them with their scope.* gfortran.h (gfc_option_t): Add flag_stack_arrays member.* options.c (gfc_init_options): Handle -fstack_arrays option.* lang.opt (fstack-arrays): Add option.* invoke.texi (Code Gen Options): Document it.* Make-lang.in (trans-array.o): Depend on GIMPLE_H.2011-04-15 Tobias Burnus <burnus@net-b.de>PR fortran/18918* trans-intrinsic.c (conv_intrinsic_cobound): Remove unusedcode which is also causing an ICE.2011-04-14 Nathan Froyd <froydnj@codesourcery.com>* f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.2011-04-12 Nathan Froyd <froydnj@codesourcery.com>* f95-lang.c (union lang_tree_node): Check for TS_COMMON beforecalling TREE_CHAIN.2011-04-12 Paul Thomas <pault@gcc.gnu.org>PR fortran/48360PR fortran/48456* trans-array.c (get_std_lbound): For derived type variablesreturn array valued component lbound.2011-04-12 Martin Jambor <mjambor@suse.cz>* trans-decl.c (gfc_generate_function_code): Callcgraph_get_create_node instead of cgraph_node.2011-04-11 Tobias Burnus <burnus@net-b.de>PR fortran/18918* simplify.c (simplify_bound_dim): Exit forucobound's last dimension unless -fcoarray=single.* trans-array (gfc_conv_descriptor_size_1): Renamed fromgfc_conv_descriptor_size, made static, has now from_dim andto_dim arguments.(gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.(gfc_conv_descriptor_cosize): New function.* trans-array.h (gfc_conv_descriptor_cosize): New prototype.* trans-intrinsic.c (conv_intrinsic_cobound): Add input_locationand handle last codim of ucobound for when -fcoarray is not "single".2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/48448* gfortran.h (gfc_option_t): Add warn_function_elimination andflag_frontend_optimize.* lang.opt (Wfunction-elimination): Add.(ffrontend-optimize): Add.* invoke.texi: Add documentation for -Wfunction-eliminationand -ffrontend-optimize. Add -faggressive-function-eliminationto list of code generation options.* frontend-passes.c (gfc_run_passes): Run optimizations ifflag_frontend_optimize is set.(warn_function_elimination): New function.(cfe_expr_0): Call it if requested to do so.* options.c (gfc_init_options): Initiate warn_function_eliminationand flag_frontend_optimize.(gfc_post_options): Set flag_frontend_optimize if not specifiedby user, depending on the optimization level.(gfc_handle_option): Handle -Wfunction-elimination and-ffrontend-optimize.2011-04-06 Tobias Burnus <burnus@net-b.de>PR fortran/18918* trans-intrinsic.c (gfc_conv_intrinsic_function): Fixcall for this_image.2011-04-05 Nathan Froyd <froydnj@codesourcery.com>* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Usebuild_function_type_list instead of build_function_type. Correctargument order for func_frexp and func_scalbn.2011-04-05 Duncan Sands <baldrick@free.fr>* f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>* frontend-passes: (optimize_lexical_comparison): New function.(optimize_expr): Call it.(optimize_comparison): Also handle lexical comparison functions.Return false instad of -2 for unequal comparison.2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/48412* frontend-passes (cfe_expr_0): Reverse the order of goingthrough the loops.2011-04-04 Tobias Burnus <burnus@net-b.de>Mikael Morin <mikael.morin@sfr.fr>PR fortran/18918* check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.* expr.c (gfc_is_coindexed): Ditto.* gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.* interface.c (compare_parameter): Use gfc_expr_attr andgfc_is_coindexed.* resolve.c (check_dimension, compare_spec_to_ref,resolve_allocate_expr, check_data_variable): Update forDIMEN_THIS_IMAGE.* simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,gfc_simplify_ucobound): Allow non-constant bounds.* trans-array.c (gfc_set_loop_bounds_from_array_spec,gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,gfc_start_scalarized_body, gfc_trans_scalarizing_loops,gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,gfc_conv_ss_startstride, gfc_conv_loop_setup,gfc_trans_array_bounds, gfc_conv_expr_descriptor,gfc_walk_variable_expr): Handle codimen.* trans-decl.c (gfc_build_qualified_array): Save cobounds.* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.(conv_intrinsic_cobound): New function.(gfc_conv_intrinsic_function): Call it.(gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handleucobound, lcobound, this_image.* fortran/trans-types.c (gfc_build_array_type): Save cobounds.(gfc_get_dtype): Honour corank.(gfc_get_nodesc_array_type): Save corank and codimensions.(gfc_get_array_type_bounds): Save cobound.* fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.(gfc_array_kind): Add corank item.(GFC_TYPE_ARRAY_CORANK): New macro.2011-04-03 Kai Tietz <ktietz@redhat.com>PR middle-end/48422* Make-lang.in (f95-lang.o): Add some missing dependencies.2011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/48352* frontend-passes (cfe_register_funcs): Don'tregister functions if they appear as iterators in DO loops.2011-03-30 Michael Matz <matz@suse.de>PR fortran/47516* trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,don't use local variable.(gfc_trans_arrayfunc_assign): Adjust caller.2011-03-29 Janus Weil <janus@gcc.gnu.org>PR fortran/48095* decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.* module.c (MOD_VERSION): Bump.(mio_typespec): Read/write 'interface' field.* primary.c (match_string_constant,match_logical_constant): Removeunneeded code.(match_complex_constant): Make sure to clear the typespec.2011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>* frontend-passes.c (create_var): Warn about creating anarray temporary if requested.2011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/47065* frontend-passes.c (optimize_trim): Also follow references, exceptwhen they are substring references or array references.2011-03-27 Tobias Burnus <burnus@net-b.de>PR fortran/18918* gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES toGFC_ISYM_NUM_IMAGES.(gfc_fcoarray): Add GFC_FCOARRAY_LIB.* intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGESrename.* invoke.texi (-fcoarray=): Document "lib" argument.* iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().* libgfortran.h (libgfortran_stat_codes): Add comments.* options.c (gfc_handle_coarray_option): Add -fcoarray=lib.* simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):Handle GFC_FCOARRAY_LIB.* trans.h (gfc_init_coarray_decl): New prototype.(gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):New global variables.* trans-decl.c: Declare several CAF functions (cf. above).(gfc_build_builtin_function_decls): Initialize those.(gfc_init_coarray_decl): New function.(create_main_function): Call CAF init/finalize functions.* trans-intrinsic.c (trans_this_image, trans_num_images): New.(gfc_conv_intrinsic_function): Call those.* trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):Add code for GFC_FCOARRAY_LIB.2011-03-26 Janus Weil <janus@gcc.gnu.org>PR fortran/48291* class.c (get_unique_hashed_string): Adjust maximum allowable lengthfor unique type string.2011-03-25 Kai Tietz <ktietz@redhat.com>* scanner.c (preprocessor_line): Use filename_cmpinstead of strcmp.2011-03-25 Tobias Burnus <burnus@net-b.de>PR fortran/48174PR fortran/45304* trans-types.c (gfc_get_function_type): Don't use varargs if theprocedure is known to have no arguments.2011-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/22572* gfortran.h (gfc_option_t): Addflag_aggressive_function_elimination.(gfc_dep_compare_functions): Add prototype.* lang.opt: Add faggressive-function-elimination.* invoke.texi: Document -faggressive-function-elimination.* frontend_passes (expr_array): New static variable.(expr_size): Likewise.(expr_count): Likewise.(current_code): Likewise.(current_ns): Likewise.(gfc_run_passes): Allocate and free space for expressions.(cfe_register_funcs): New function.(create_var): New function.(cfc_expr_0): New function.(cfe_code): New function.(optimize_namespace): Invoke gfc_code_walker with cfe_codeand cfe_expr_0.* dependency.c (gfc_dep_compare_functions): New function.(gfc_dep_compare_expr): Use it.* options.c (gfc_init_options): Handleflag_aggressive_function_elimination.(gfc_handle_option): Likewise.2011-03-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>* arith.c (arith_power): Plug memory leak.2011-03-12 Janus Weil <janus@gcc.gnu.org>PR fortran/48059* trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base typefor polymorphic arguments.2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/48054* intrinsic.texi: Clarify doc of logarithm functions.2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/47552* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type ofthe string length variable.2011-03-11 Janus Weil <janus@gcc.gnu.org>PR fortran/47768* module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.(mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.2011-03-06 Paul Thomas <pault@gcc.gnu.org>Jerry DeLisle <jvdelisle@gcc.gnu.org>PR fortran/47850* expr.c (gfc_is_constant_expr): Only use gfc_constant_ac ifthe expression has an iterator. Otherwise, iterate through thearray, checking for constant expressions for each element.2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>PR libfortran/47802* intrinsic.texi: Update CTIME and FDATE documentation.2011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>* invoke.texi (Option Summary, Fortran Dialect Options)(Preprocessing Options, Runtime Options, Code Gen Options):Fix vertical list spacing by using @itemx for additinoalitems, empty line before @table. Fix typos.2011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/47894* intrinsic.texi: Fix doc of the VERIFY intrinsic.2011-02-26 Tobias Burnus <burnus@net-b.de>PR fortran/47846* trans-stmt.c (gfc_trans_allocate): Fix allocation withtype-spec of deferred-length strings.2011-02-26 Tobias Burnus <burnus@net-b.de>PR fortran/47886* openmp.c (gfc_resolve_omp_directive): Resolve if()condition of OpenMP's task.2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>PR fortran/47894* intrinsic.texi: Fix doc of the VERIFY intrinsic.2011-02-24 Tobias Burnus <burnus@net-b.de>PR fortran/47872* intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Addmultitable for linebreak between different syntax variants.2011-02-24 Richard Guenther <rguenther@suse.de>PR fortran/47839* f95-lang.c (pushdecl): For externs in non-global scope pusha copy of the decl into the BLOCK.2011-02-23 Mikael Morin <mikael@gcc.gnu.org>PR fortran/40850* trans.c (gfc_prepend_expr_to_block): New function.* trans.h (gfc_prepend_expr_to_block): Declare.* trans-array.c (gfc_conv_array_parameter): Replacegfc_add_expr_to_block with gfc_prepend_expr_to_block.2011-02-22 Paul Thomas <pault@gcc.gnu.org>PR fortran/45743* trans-decl.c (gfc_get_extern_function_decl): Don't use thegsymbol backend_decl if the procedure has a formal argumentthat is a procedure.2011-02-22 Tobias Burnus <burnus@net-b.de>PR fortran/41359* trans-stmt.c (gfc_trans_if_1): Use correct line forexpressions in the if condition.2011-02-20 Tobias Burnus <burnus@net-b.de>PR fortran/47797* trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus andgfc_restore_backend_locus to have better debug locations.* trans-array.c (gfc_trans_deferred_array): Ditto.2011-02-20 Paul Thomas <pault@gcc.gnu.org>PR fortran/45077PR fortran/44945* trans-types.c (gfc_get_derived_type): Remove code that looksfor decls in gsym and add call to gfc_get_module_backend_decl.* trans.h: Add prototype for gfc_get_module_backend_decl.* trans-decl.c (gfc_get_module_backend_decl): New function.(gfc_get_symbol_decl): Call it.2011-02-19 Paul Thomas <pault@gcc.gnu.org>PR fortran/47348* trans-array.c (get_array_ctor_all_strlen): Move up in file.(get_array_ctor_var_strlen): Add block dummy and add call toget_array_ctor_all_strlen instead of giving up on substrings.Call gcc_unreachable for default case.(get_array_ctor_strlen): Add extra argument to in call toget_array_ctor_var_strlen.2011-02-18 Janus Weil <janus@gcc.gnu.org>PR fortran/47789* primary.c (gfc_match_structure_constructor): Handle empty parenttypes.2011-02-18 Tobias BurnusPR fortran/47775* trans-expr.c (arrayfunc_assign_needs_temporary): Useesym to check whether the specific procedure returns anallocatable or pointer.2011-02-18 Michael Matz <matz@suse.de>PR fortran/45586* gfortran.h (struct gfc_component): Add norestrict_decl member.* trans.h (struct lang_type): Add nonrestricted_type member.* trans-expr.c (gfc_conv_component_ref): Search fields with correctparent type.* trans-types.c (mirror_fields, gfc_nonrestricted_type): New.(gfc_sym_type): Use it.2011-02-18 Janus Weil <janus@gcc.gnu.org>PR fortran/47768* resolve.c (resolve_transfer): Reject variables with procedure pointercomponents.2011-02-18 Janus Weil <janus@gcc.gnu.org>PR fortran/47767* gfortran.h (gfc_check_access): Removed prototype.(gfc_check_symbol_access): Added prototype.* module.c (gfc_check_access): Renamed to 'check_access', made static.(gfc_check_symbol_access): New function, basically a shortcut for'check_access'.(write_dt_extensions,write_symbol0,write_generic,write_symtree): Use'gfc_check_symbol_access'.(write_operator,write_module): Renamed 'gfc_check_access'.* resolve.c (resolve_fl_procedure,resolve_fl_derived,resolve_fl_namelist,resolve_symbol,resolve_fntype): Use'gfc_check_symbol_access'.2011-02-16 Janus Weil <janus@gcc.gnu.org>PR fortran/47745* class.c (gfc_build_class_symbol): Set 'class_ok' attribute.* decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into'gfc_build_class_symbol'.(gfc_match_decl_type_spec): Reject unlimited polymorphism.* interface.c (matching_typebound_op): Check for 'class_ok' attribute.* match.c (select_type_set_tmp): Move setting of 'class_ok' into'gfc_build_class_symbol'.* primary.c (gfc_variable_attr): Check for 'class_ok' attribute.2011-02-15 Steven G. Kargl <kargl@gcc.gnu.org>PR fortran/47633. simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.2011-02-14 Janus Weil <janus@gcc.gnu.org>PR fortran/47730* parse.c (gfc_build_block_ns): Commit 'block@' symbol.2011-02-14 Janus Weil <janus@gcc.gnu.org>PR fortran/47728* class.c (gfc_build_class_symbol): Give a fatal error on polymorphicarrays.* primary.c (gfc_match_varspec): Avoid ICE for invalid classdeclaration.2011-02-14 Janus Weil <janus@gcc.gnu.org>PR fortran/47349* interface.c (get_expr_storage_size): Handle derived-type components.2011-02-13 Tobias Burnus <burnus@net-b.de>PR fortran/47569* interface.c (compare_parameter): Avoid ICE withcharacter components.2011-02-12 Janus Weil <janus@gcc.gnu.org>* class.c (gfc_build_class_symbol): Reject polymorphic arrays.* decl.c (build_sym,build_struct,attr_decl1): Use return value of'gfc_build_class_symbol'.2011-02-12 Michael Matz <matz@suse.de>Janus Weil <janus@gcc.gnu.org>Tobias Burnus <burnus@net-b.de>PR fortran/45586* trans-expr.c (conv_parent_component_references): Avoid unintendentskipping of parent compounds.2011-02-11 Tobias Burnus <burnus@net-b.de>PR fortran/47550* resolve.c (resolve_formal_arglist): PURE with VALUEand no INTENT: Add -std= diagnostics.2011-02-09 Janus Weil <janus@gcc.gnu.org>PR fortran/47352* resolve.c (resolve_procedure_interface): If interface has a resultvariable, copy the typespec and set result pointer to self.2011-02-09 Janus Weil <janus@gcc.gnu.org>PR fortran/47463* resolve.c (resolve_typebound_subroutine): Remove erroneous line.2011-02-09 Janus Weil <janus@gcc.gnu.org>PR fortran/47637* trans-decl.c (init_intent_out_dt): Handle CLASS arguments.2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>* io.c (match_io_element): Do not set dt if not inquire.2011-02-08 Janus Weil <janus@gcc.gnu.org>PR fortran/45290* expr.c (gfc_check_assign_symbol): Reject pointers as pointerinitialization target.2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>Ralf Wildenhues <Ralf.Wildenhues@gmx.de>* gfortran.texi (Thread-safety): texinfo styling fixes.* intrinsic.texi: Likewise.2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>* gfortran.texi (Compiler Characteristics): Add reference tothread-safety section.2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>* gfortran.texi (Thread-safety): New section.* intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.(GETENV): Likewise.(GET_ENVIRONMENT_VARIABLE): Likewise.(SYSTEM): Likewise.2011-02-06 Paul Thomas <pault@gcc.gnu.org>PR fortran/47592* trans-stmt.c (gfc_trans_allocate): For deferred characterlength allocations with SOURCE, store to the values and stringlength to avoid calculating twice. Replace gfc_start_blockwith gfc_init_block to avoid unnecessary contexts and to keepdeclarations of temporaries where they should be. Tidy up thecode a bit.2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>PR fortran/42434* intrinsic.texi (SYSTEM_CLOCK): Update documentation.2011-02-02 Janus Weil <janus@gcc.gnu.org>Paul Thomas <pault@gcc.gnu.org>PR fortran/47082* trans-expr.c (gfc_trans_class_init_assign): Add call togfc_get_derived_type.* module.c (read_cleanup): Do not use unique_symtrees for vtabsor vtypes.2011-02-02 Janus Weil <janus@gcc.gnu.org>PR fortran/47572* resolve.c (resolve_fl_variable): Handle polymorphic allocatables.2011-02-01 Janus Weil <janus@gcc.gnu.org>PR fortran/47565* trans-expr.c (gfc_conv_structure): Handle constructors for procedurepointer components with allocatable result.2011-01-31 Janus Weil <janus@gcc.gnu.org>PR fortran/47455* trans-expr.c (gfc_conv_procedure_call): Handle procedure pointerswith pointer or allocatable result.2011-01-31 Paul Thomas <pault@gcc.gnu.org>PR fortran/47519* trans-stmt.c (gfc_trans_allocate): Improve handling ofdeferred character lengths with SOURCE.* iresolve.c (gfc_resolve_repeat): Calculate characterlength from source length and ncopies.* dump-parse-tree.c (show_code_node): Show MOLD and SOURCEexpressions for ALLOCATE.2011-01-31 Janus Weil <janus@gcc.gnu.org>PR fortran/47463* resolve.c (resolve_typebound_subroutine): Bug fix for the case ofan argument of a typebound assignment being a component.2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>* gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] UseLD_STATIC_OPTION, LD_DYNAMIC_OPTION.2011-01-31 Tobias Burnus <burnus@net-b.de>PR fortran/47042* resolve.c (resolve_fl_procedure): Reject stmt functionswith pointer/allocatable attribute.2011-01-31 Tobias Burnus <burnus@net-b.de>PR fortran/47042* interface.c (gfc_procedure_use): Add explicit interface check forpointer/allocatable functions.2011-01-30 Paul Thomas <pault@gcc.gnu.org>PR fortran/47523* trans-expr.c (gfc_trans_assignment_1): If the rhs is an opexpr and is assigned to a deferred character length scalar,make sure that the function is called before reallocation,so that the length is available. Include procedure pointerand procedure pointer component rhs as well.PR fortran/45170PR fortran/35810PR fortran/47350* gfortran.dg/allocatable_function_5.f90: New test not added bymistake on 2011-01-28.2011-01-29 Tobias Burnus <burnus@net-b.de>PR fortran/47531* check.c (gfc_check_shape): Support kind argument in SHAPE.* intrinsic.c (add_functions): Ditto.* resolve.c (gfc_resolve_shape): Ditto.* simplify.c (gfc_simplify_shape): Ditto.* intrinsic.h (gfc_check_shape, gfc_resolve_shape,gfc_simplify_shape): Update prototypes.* intrinisc.text (SHAPE): Document kind argument.2011-01-28 Tobias Burnus <burnus@net-b.de>PR fortran/47507* resolve.c (resolve_formal_arglist): Allow arguments with VALUEattribute also without INTENT.2011-01-28 Tobias Burnus <burnus@net-b.de>* gfortran.texi (Fortran 2003 status): Mention support fornonconstant namelist variables.2011-01-28 Paul Thomas <pault@gcc.gnu.org>Tobias Burnus <burnus@gcc.gnu.org>PR fortran/45170PR fortran/35810PR fortran/47350* interface.c (compare_actual_formal): An allocatable or pointerdeferred length actual is only allowed if the formal argumentis also deferred length. Clean up whitespace.* trans-expr.c (gfc_conv_procedure_call): Pass string length fordeferred character length formal arguments by reference. Do thesame for function results.(gfc_trans_pointer_assignment): Do not do runtime check of lhsand rhs character lengths, if deferred length lhs. In this caseset the lhs character length to that of the rhs.(gfc_conv_string_parameter): Remove assert that string length isan integer type.(is_scalar_reallocatable_lhs): New function.(alloc_scalar_allocatable_for_assignment): New function.(gfc_trans_assignment_1): Call above new function. If the rhs isa deferred character length itself, makes ure that the functionis called before reallocation, so that the length is available.(gfc_trans_asssignment): Remove error about assignment todeferred length character variables.* gfortran.texi: Update entry about (re)allocation onassignment.* trans-stmt.c (gfc_trans_allocate): Add code to handle deferredlength character variables.* module.c (mio_typespec): Transfer deferred characteristic.* trans-types.c (gfc_get_function_type): New code to generatehidden typelist, so that those character lengths that arepassed by reference get the right type.* resolve.c (resolve_contained_fntype): Supress error fordeferred character length functions.(resolve_function, resolve_fl_procedure) The same.(check_symbols): Remove the error that support forentity with deferred type parameter is not yet implemented.(resolve_fl_derived): The same.match.c (alloc_opt_list): Allow MOLD for deferred length object.* trans-decl.c (gfc_get_symbol_decl): For deferred characterlength dummies, generate a local variable for string length.(create_function_arglist): Hidden length can be a pointer.(gfc_trans_deferred_vars): For deferred character lengthresults and dummies, assign the string length to the localvariable from the hidden argument on entry and the other wayround on exit, as appropriate.2011-01-27 Tobias Burnus <burnus@net-b.de>PR fortran/47474* trans-decl.c (gfc_generate_function_code): Fix initof allocatable result variable with allocatable components.2011-01-27 Tobias Burnus <burnus@net-b.de>PR fortran/47472* options.c (gfc_handle_module_path_options): Savemodule path without trailing slash as include path.2011-01-25 Tobias Burnus <burnus@net-b.de>PR fortran/47448* interface.c (gfc_check_operator_interface): Fixdefined-assignment check.2011-01-23 Tobias Burnus <burnus@net-b.de>PR fortran/47421* trans-decl.c (gfc_trans_deferred_vars): Do not nullifyscalar allocatable dummy arguments.2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/38536* resolve.c (gfc_iso_c_func_interface): For C_LOC,check for array sections followed by component referenceswhich are illegal. Also check for coindexed arguments.2011-01-22 Tobias Burnus <burnus@net-b.de>PR fortran/47399* primary.c (gfc_match_varspec): Relax gcc_assert to allow forPARAMETER TBP.2011-01-21 Tobias Burnus <burnus@net-b.de>PR fortran/47394* error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):Use defined instead of magic number exit status codes.* scanner.c (include_line, gfc_new_file): Ditto.2011-01-21 Tobias Burnus <burnus@net-b.de>PR fortran/47377* expr.c (gfc_check_pointer_assign): Reject expr data-targetswithout pointer attribute.2011-01-18 Janus Weil <janus@gcc.gnu.org>PR fortran/47240* resolve.c (expression_rank): Fix rank of procedure poiner components.* trans-expr.c (gfc_conv_procedure_call): Take care of procedurepointer components as actual arguments.2011-01-17 Jakub Jelinek <jakub@redhat.com>PR fortran/47331* gfortran.h (struct gfc_omp_saved_state): New type.(gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.* resolve.c (resolve_global_procedure): Call it around gfc_resolvecall.* openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): Newfunctions.2011-01-17 Tobias Burnus <burnus@net-b.de>PR fortran/47327* invoke.texi (Options to request or suppress errorsand warnings): Fix cross link.2011-01-15 Tobias Burnus <burnus@net-b.de>* gfortran.texi: Update Fortran 2003 Status section.PR fortran/47177* invoke.texi: Add missing "-E" to the -dM example.2011-01-13 Tobias Burnus <burnus@net-b.de>PR fortran/47268* intrinsic.texi (get_command_argument, get_environment_variable):Mark arguments as optional in the Arguments section.2011-01-13 Kai Tietz <kai.tietz@onevision.com>Tobias Burnus <burnus@net-b.de>PR fortran/47260* trans-decl.c (gfc_get_extern_function_decl,build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL beforecalling decl_attributes.2011-01-13 Tobias Burnus <burnus@net-b.de>Mikael Morin <mikael@gcc.gnu.org>PR fortran/45848PR fortran/47204* gfortran.h (gfc_code): Move union ext's case_list intothe struct block.* dump-parse-tree.c (show_code_node): Adapt by prefixing case_listby "block.".* frontend-passes.c (gfc_code_walker): Ditto.* match.c (gfc_match_goto, gfc_match_call, gfc_match_case,gfc_match_type_is, gfc_match_class_is): Ditto.* resolve.c (resolve_select, resolve_select_type): Ditto.* st.c (gfc_free_statement): Ditto.* trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,gfc_trans_character_select): Ditto.* parse.c (resolve_all_program_units): For error recovery, avoidsegfault is proc_name is NULL.2011-01-11 Paul Thomas <pault@gcc.gnu.org>PR fortran/47051* trans-array.c (gfc_alloc_allocatable_for_assignment): Changeto be standard compliant by testing for shape rather than sizebefore skipping reallocation. Improve comments.2011-01-09 Janus Weil <janus@gcc.gnu.org>PR fortran/47224* resolve.c (resolve_actual_arglist): Remove unneeded and buggy pieceof code.2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/38536* resolve.c (is_scalar_expr_ptr): For a substring reference,use gfc_dep_compare_expr to compare start and end expession.Add FIXME for using gfc_deb_compare_expr elsewhere.2011-01-09 Janus Weil <janus@gcc.gnu.org>PR fortran/46313* class.c (get_unique_type_string): Make type name start with uppercase letter.2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/46405* invoke.texi: Mention -ffree-line-length-none and-ffixed-line-length-none for preprocessing.2011-01-08 Paul Thomas <pault@gcc.gnu.org>PR fortran/46896* trans-expr.c (gfc_conv_procedure_call): With a non-copyingprocedure argument (eg TRANSPOSE) use a temporary if there isany chance of aliasing due to host or use association.(arrayfunc_assign_needs_temporary): Correct logic for functionresults and do not use a temporary for implicitly PUREvariables. Use a temporary for Cray pointees.* symbol.c (gfc_add_save): Explicit SAVE not compatible withimplicit pureness of containing procedure.* decl.c (match_old_style_init, gfc_match_data): Where declwould fail in PURE procedure, set implicit_pure to zero.* gfortran.h: Add implicit_pure to structure symbol_attr andadd prototype for function gfc_implicit_pure.* expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):Where decl would fail in PURE procedure, reset implicit_pure.* io.c (match_vtag, gfc_match_open, gfc_match_close,gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.* match.c (gfc_match_critical, gfc_match_stopcode,sync_statement, gfc_match_allocate, gfc_match_deallocate): Thesame.* parse.c (decode_omp_directive): The same.(parse_contained): If not PURE, set implicit pure attribute.* resolve.c (resolve_formal_arglist, resolve_structure_cons,resolve_function, resolve_ordinary_assign): The same.(gfc_implicit_pure): New function.* module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PUREto ab_attribute enum and use it in this function.2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/45777* symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,make static and move in front of its only caller, to ...* trans-array.c (symbols_could_alias): ... here.Pass information about pointer and target status asarguments. Allocatable arrays don't alias anythingunless they have the POINTER attribute.(gfc_could_be_alias): Keep track of pointer and targetstatus when following references. Also check if typespecsof components match those of other components or symbols.2011-01-07 Tobias Burnus <burnus@net-b.de>PR fortran/41580* class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.* intrinsic.c (add_functions): Use simplify functions forEXTENDS_TYPE_OF and SAME_TYPE_AS.* intrinsic.h (gfc_simplify_extends_type_of,gfc_simplify_same_type_as): New prototypes.* simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,gfc_simplify_same_type_as): New functions.2011-01-07 Janus Weil <janus@gcc.gnu.org>PR fortran/47189PR fortran/47194* gfortran.h (gfc_lval_expr_from_sym): Moved prototype.* class.c (gfc_class_null_initializer): Initialize _vptr to declaredtype.* expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.* resolve.c (resolve_deallocate_expr): _data component will be addedat translation stage.* symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.* trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.2011-01-06 Daniel Franke <franke.daniel@gmail.com>PR fortran/33117PR fortran/46478* parse.c (parse_interface): Remove check for procedure types.* interface.c (check_interface0): Verify that procedures areeither all SUBROUTINEs or all FUNCTIONs.2011-01-05 Janus Weil <janus@gcc.gnu.org>PR fortran/47180* trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure'vtab' is initialized).2011-01-05 Janus Weil <janus@gcc.gnu.org>PR fortran/47180* trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointerassignment, set the _vptr component to the declared type.2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>PR fortran/46017* resolve.c (resolve_allocate_deallocate): Follow references tocheck for duplicate occurence of allocation/deallocation objects.2011-01-05 Janus Weil <janus@gcc.gnu.org>PR fortran/47024* trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr componentof polymorphic allocatables according to their declared type.2011-01-04 Janus Weil <janus@gcc.gnu.org>PR fortran/46448* class.c (gfc_find_derived_vtab): Set the module field for the copyingroutine to make sure it receives module name mangling.2011-01-03 Jakub Jelinek <jakub@redhat.com>* gfortranspec.c (lang_specific_driver): Update copyright noticedates.2011-01-03 Janus Weil <janus@gcc.gnu.org>* intrinsic.texi (LEADZ): Fix example.2011-01-02 Janus Weil <janus@gcc.gnu.org>PR fortran/46408* class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_routine.Copyright (C) 2011 Free Software Foundation, Inc.Copying and distribution of this file, with or without modification,are permitted in any medium without royalty provided the copyrightnotice and this notice are preserved.
Go to most recent revision | Compare with Previous | Blame | View Log
