X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=77ec5111a4d4ee96ced8d3bf071881f183bb7a77;hb=6a78072d36ae9f17efded1ff6f8f85f610ffe715;hp=9435165ffc30227908e7d6ea64365029aca19724;hpb=a3cbe8cc82b68c414ed912dd8d7e288251c06d06;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 9435165ffc3..a6e5c9edc1a 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,1905 @@ +2007-08-12 Francois-Xavier Coudert + + PR fortran/32860 + * error.c (error_uinteger): New function. + (error_integer): Call error_uinteger. + (error_print): Handle %u, %lu, %li and %ld format specifiers. + * interface.c (compare_actual_formal): Use the new %lu specifier. + +2007-08-12 Francois-Xavier Coudert + + PR fortran/31629 + * lang.opt (-fmodule-private): New option. + * gfortran.h (gfc_option_t): Add flag_module_private member. + * invoke.texi (-fmodule-private): Document the new option. + * module.c (gfc_check_access): Allow the -fmodule-private option + to modify the default behaviour. + * options.c (gfc_init_options): Initialize flag_module_private. + (gfc_handle_option): Handle -fmodule-private. + +2007-08-12 Francois-Xavier Coudert + + PR fortran/29600 + * intrinsic.c (add_functions): Add KIND arguments to COUNT, + IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND + and VERIFY. + * iresolve.c (gfc_resolve_count): Add kind argument. + (gfc_resolve_iachar): New function. + (gfc_resolve_ichar): Add kind argument. + (gfc_resolve_index_func): Likewise. + (gfc_resolve_lbound): Likewise. + (gfc_resolve_len): Likewise. + (gfc_resolve_len_trim): Likewise. + (gfc_resolve_scan): Likewise. + (gfc_resolve_size): New function. + (gfc_resolve_ubound): Add kind argument. + (gfc_resolve_verify): Likewise. + * trans-decl.c (gfc_get_extern_function_decl): Allow specific + intrinsics to have 4 arguments. + * check.c (gfc_check_count): Add kind argument. + (gfc_check_ichar_iachar): Likewise. + (gfc_check_index): Likewise. + (gfc_check_lbound): Likewise. + (gfc_check_len_lentrim): New function. + (gfc_check_scan): Add kind argument. + (gfc_check_size): Likewise. + (gfc_check_ubound): Likewise. + (gfc_check_verify): Likewise. + * intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR, + INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY. + * simplify.c (get_kind): Whitespace fix. + (int_expr_with_kind): New function. + (gfc_simplify_iachar): Add kind argument. + (gfc_simplify_iachar): Likewise. + (gfc_simplify_ichar): Likewise. + (gfc_simplify_index): Likewise. + (simplify_bound_dim): Likewise. + (simplify_bound): Likewise. + (gfc_simplify_lbound): Likewise. + (gfc_simplify_len): Likewise. + (gfc_simplify_len_trim): Likewise. + (gfc_simplify_scan): Likewise. + (gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size. + (gfc_simplify_size): Add kind argument. + (gfc_simplify_ubound): Likewise. + (gfc_simplify_verify): Likewise. + * intrinsic.h: Update prototypes and add new ones. + * trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into + gfc_conv_intrinsic_index_scan_verify. + (gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove. + (gfc_conv_intrinsic_function): Call + gfc_conv_intrinsic_index_scan_verify to translate the INDEX, + SCAN and VERIFY intrinsics. + +2007-08-11 Francois-Xavier Coudert + + PR fortran/31189 + * invoke.texi (-fbacktrace): Document the new behaviour. + +2007-08-11 Francois-Xavier Coudert + + PR fortran/32937 + * trans-array.c (gfc_conv_expr_descriptor): Use + gfc_conv_const_charlen to generate backend_decl of right type. + * trans-expr.c (gfc_conv_expr_op): Use correct return type. + (gfc_build_compare_string): Use int type instead of default + integer kind for single character comparison. + (gfc_conv_aliased_arg): Give backend_decl the right type. + * trans-decl.c (gfc_build_intrinsic_function_decls): Make + compare_string return an int. + +2007-08-11 Ian Lance Taylor + + * f95-lang.c (gfc_get_alias_set): Change return type to + alias_set_type. + +2007-08-10 Francois-Xavier Coudert + + PR fortran/31270 + * trans.c (gfc_trans_runtime_check): Reorder arguments and + add extra variable arguments. Hand them to the library function. + * trans.h (gfc_trans_runtime_check): Update prototype. + * trans-array.c (gfc_trans_array_bound_check): Issue more + detailled error messages. + (gfc_conv_array_ref): Likewise. + (gfc_conv_ss_startstride): Likewise. + (gfc_trans_dummy_array_bias): Reorder arguments to + gfc_trans_runtime_check. + * trans-expr.c (gfc_conv_substring): Issue more detailled + error messages. + (gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check. + * trans-stmt.c (gfc_trans_goto): Likewise. + * trans-io.c (set_string): Reorder arguments to + gfc_trans_runtime_check and issue a more detailled error message. + * trans-decl.c (gfc_build_builtin_function_decls): Make + runtime_error and runtime_error_at handle a variable number of + arguments. + * trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments + to gfc_trans_runtime_check. + (gfc_conv_intrinsic_minmax): Likewise. + (gfc_conv_intrinsic_repeat): Issue more detailled error messages. + +2007-08-10 Kaveh R. Ghazi + + * gfortranspec.c (lang_specific_driver): Use CONST_CAST. + * options.c (gfc_post_options): Likewise. + * parse.c (parse_omp_structured_block): Likewise. + * st.c (gfc_free_statement): Likewise. + +2007-08-10 Francois-Xavier Coudert + + PR fortran/32933 + * trans-decl.c (gfc_build_builtin_function_decls): Change + prototype for associated. + * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the + result of __builtin_isnan into a boolean. + (gfc_conv_intrinsic_strcmp): Cleanup. + (gfc_conv_associated): Convert the result of the associated + function into a boolean. + +2007-08-09 Tobias Burnus + + PR fortran/32987 + * io.c (format_token): Add FMT_ERROR. + (next_char_not_space): Print error/warning when + '\t' are used in format specifications. + (format_lex): Propagate error. + (check_format): Ditto. + +2007-08-09 Tobias Burnus + + PR fortran/33001 + * arith.c (arith_error): Point in the error message + to -fno-range-check. + +2007-08-09 Francois-Xavier Coudert + + PR fortran/32902 + * intrinsic.texi (SIZEOF): Add mention to C_SIZE_T. + +2007-08-06 Christopher D. Rickett + + PR fortran/32732 + * trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and + actual arg expressions for scalar characters passed by-value to + bind(c) routines. + (gfc_conv_function_call): Call gfc_conv_scalar_char_value. + * trans.h: Add prototype for gfc_conv_scalar_char_value. + * trans-decl.c (generate_local_decl): Convert by-value character + dummy args of bind(c) procedures using + gfc_conv_scalar_char_value. + +2007-08-06 Francois-Xavier Coudert + + PR fortran/30947 + * iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name + with the kind of the STATUS argument. + +2007-08-06 Francois-Xavier Coudert + + PR fortran/30948 + * intrinsic.c (add_functions): Fix name of argument to CHDIR. + +2007-08-06 Francois-Xavier Coudert + + PR fortran/30933 + * iresolve.c (gfc_resolve_exit): Convert argument to default + integer kind. + +2007-08-06 Daniel Franke + + * resolve.c (derived_pointer): Removed, replaced callers by access + to appropiate attribute bit. + (derived_inaccessable): Shortcut recursion depth. + (resolve_fl_namelist): Fixed checks for private components in namelists. + +2007-08-06 Francois-Xavier Coudert + + PR fortran/29828 + * trans.h (gfor_fndecl_string_minmax): New prototype. + * trans-decl.c (gfor_fndecl_string_minmax): New variable. + (gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax. + * check.c (gfc_check_min_max): Allow for character arguments. + * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function. + (gfc_conv_intrinsic_function): Add special case for MIN and MAX + intrinsics with character arguments. + * simplify.c (simplify_min_max): Add simplification for character + arguments. + +2007-08-06 Francois-Xavier Coudert + + PR fortran/31612 + * invoke.texi: Adjust documentation for option -fsyntax-only. + +2007-08-05 Francois-Xavier Coudert + Tobias Burnus + + PR fortran/32979 + * intrinsic.h (gfc_check_isnan): Add prototype. + * gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN. + * intrinsic.c (add_functions): Add ISNAN intrinsic. + * check.c (gfc_check_isnan): New function. + * trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function. + (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan + to translate ISNAN. + * intrinsic.texi: Document ISNAN. + +2007-08-04 Paul Thomas + + PR fortran/31214 + * symbol.c (get_unique_symtree): Moved from module.c. + * module.c (get_unique_symtree): Moved to symbol.c. + * decl.c (get_proc_name): Transfer the typespec from the local + symbol to the module symbol, in the case that an entry is also + a module procedure. Ensure the local symbol is cleaned up by + pointing to it with a unique symtree. + + * dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL. + +2008-08-04 Steven G. Kargl + + PR fortran/32969 + * iresolve.c (gfc_resolve_rrspacing): Convert argument(s) to + expected KIND. + (gfc_resolve_scale): Ditto. + (gfc_resolve_set_exponent): Ditto. + (gfc_resolve_spacing): Ditto. + + PR fortran/32968 + * trans-intrinsic.c (gfc_conv_intrinsic_si_kind, + gfc_conv_intrinsic_sr_kind): Convert the argument(s) to the + expected KIND, and fold the result to the expected KIND. + +2007-08-03 Francois-Xavier Coudert + + PR fortran/31202 + * f95-lang.c (gfc_init_builtin_functions): Defin builtins for + lround{f,,l} and llround{f,,l}. + * trans-intrinsic.c (build_fix_expr): Generate calls to the + {l,}round{f,,l} functions. + +2007-08-01 Thomas Koenig + + PR libfortran/32954 + * intrinsic.c (resolve_mask_arg): New function. + (gfc_resolve_maxloc): Use resolve_mask_arg for mask resolution. + (gfc_resolve_maxval): Likewise. + (gfc_resolve_minloc): Likewise. + (gfc_resolve_minval): Likewise. + (gfc_resolve_pack): Likewise. + (gfc_resolve_product): Likewise. + (gfc_resolve_sum): Likewise. + (gfc_resolve_unpack): Likewise. + +2007-08-01 Tobias Burnus + + PR fortran/32936 + * match.c (gfc_match_allocate): Better check that STAT is + a variable. + + * check.c (gfc_check_allocated): Reorder checks to improve + error message. + +2007-08-01 Nick Clifton + + * arith.c: Change copyright header to refer to version 3 of the + GNU General Public License and to point readers at the COPYING3 + file and the FSF's license web page. + * openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c, + symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h, + matchexp.c, dump-parse-tree.c, trans-common.c, array.c, + Make-lang.in, trans-openmp.c, gfortran.h, error.c, + iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c, + expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c, + trans-types.c, trans.h, gfortranspec.c, trans-types.h, + lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c, + iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c, + match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c, + parse.h, types.def, convert.c, dependency.h, primary.c, + trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise. + +2007-08-01 Daniel Franke + + * trans-decl.c (generate_local_decl): Emit warning on unused parameter + on "-Wall -Wextra" or "-Wunused-parameter" but not on "-Wall", changed + messages that start with lower case to upper case. + * invoke.texi (-Wparameter-unused): Document differences between gcc + and gfortran regarding this option. + +2007-08-01 Daniel Franke + + PR fortran/32945 + * expr.c (check_specification_function): Skip check if no symtree + is available. + +2007-08-01 Paul Thomas + + PR fortran/31609 + * resolve.c (resolve_entries): Entries declared to be module + procedures must point to the function namespace. + +2007-07-31 Francois-Xavier Coudert + + PR fortran/32938 + * trans-stmt.c (gfc_trans_return): Convert to correct type. + +2007-07-31 Steven G. Kargl + + PR fortran/32942 + * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Convert to correct + type. + +2007-07-29 Jerry DeLisle + + * invoke.texi: Document -fsign-zero flag. + +2007-07-29 Paul Thomas + + PR fortran/31211 + * trans-expr.c (gfc_conv_expr_reference): Add block for case of + scalar pointer functions so that NULL result is correctly + handled. + + PR fortran/32682 + * trans-array.c (gfc_trans_array_constructor): On detecting a + multi-dimensional parameter array, set the loop limits. + +2007-07-29 Daniel Franke + + PR fortran/32906 + * resolve.c (resolve_fl_parameter): Check for constant shape arrays, + adjusted error message. + +2007-07-29 Daniel Franke + + * invoke.texi: Removed -w from option summary. + +2007-07-29 Daniel Franke + + PR fortran/32879 + * intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm + used for random number generator. + +2007-07-28 Kazu Hirata + + * gfortran.h, interface.c, resolve.c, symbol.c: Fix comment + typos. + * intrinsic.texi, invoke.texi: Fix typos. + +2007-07-28 Jerry DeLisle + + PR fortran/31609 + * resolve.c (generic_sym): Check for a same symbol and if so, return to + avoid infinite recursion. + +2007-07-28 Daniel Franke + + PR fortran/31818 + PR fortran/32876 + PR fortran/32905 + * gfortran.h (symbol_attribute): Added bits for pointer_comp, + private_comp. + * parse.c (parse_derived): Set pointer_comp/private_comp bits if + the derived type ultimately contains pointer components or private + components. + * module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP. + (attr_bits): Added names for new ab_attributes. + (mio_symbol_attribute): Save/restore new attribute bits in modules. + * match.c (gfc_match_namelist): Removed check for namelist objects + of assumed shape. + * resolve.c (resolve_fl_namelist): Added check for pointer or + private components in nested types. Added check for namelist objects + of assumed shape. + +2007-07-28 Paul Thomas + + PR fortran/32880 + * trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order + for lse and rse pre expressions, for derived types with + allocatable components. Instead, assign the lhs to a temporary + and deallocate after the assignment. + +2007-07-28 Janne Blomqvist + + PR fortran/32909 + * trans-stmt.c (gfc_trans_character_select): Replace occurrences + of gfc_c_int_type_node with integer_type_node. + * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise. + (gfc_build_builtin_function_decls): Likewise. + (gfc_generate_function_code): Likewise. + * trans-io.c (gfc_build_io_library_fndecls): Likewise. + +2007-07-27 Janne Blomqvist + + * trans-decl.c (gfc_build_builtin_function_decls): Use existing + gfc_array_index_type rather than creating another typenode for + gfc_index_integer_kind. + +2007-07-27 Janne Blomqvist + + * trans-io.c (gfc_build_io_library_fndecls): Change to use + gfc_array_index_type for array descriptor triplets instead of + gfc_int4_type_node. + +2007-07-26 Steven G. Kargl + + PR fortran/32899 + * resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison. + +2007-07-27 Jerry DeLisle + Daniel Franke + + PR fortran/32760 + * primary.c (match_variable): Do not call gfc_add_flavor if symbol has + attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked. + +2007-07-27 Francois-Xavier Coudert + + PR fortran/32035 + * trans-stmt.c (gfc_trans_character_select): Replace the + mechanism with labels by a SWITCH_EXPR. + * trans-decl.c (gfc_build_builtin_function_decls): Change + return type for select_string. + +2007-07-27 Paul Thomas + + PR fortran/32903 + * trans-decl.c (gfc_trans_deferred_vars): Set intent(out) + derived types as referenced, if they have the the default + initializer set. + +2007-07-25 Kaveh R. Ghazi + + * gfortran.h (generate_isocbinding_symbol): Constify. + * symbol.c (gen_special_c_interop_ptr, gen_cptr_param, + generate_isocbinding_symbol): Likewise. + +2007-07-24 Paul Thomas + + PR fortran/31205 + PR fortran/32842 + * trans-expr.c (gfc_conv_function_call): Remove the default + initialization of intent(out) derived types. + * symbol.c (gfc_lval_expr_from_sym): New function. + * matchexp.c (gfc_get_parentheses): Return argument, if it is + character and posseses a ref. + * gfortran.h : Add prototype for gfc_lval_expr_from_sym. + * resolve.c (has_default_initializer): Move higher up in file. + (resolve_code): On detecting an interface assignment, check + if the rhs and the lhs are the same symbol. If this is so, + enclose the rhs in parenetheses to generate a temporary and + prevent any possible aliasing. + (apply_default_init): Remove code making the lval and call + gfc_lval_expr_from_sym instead. + (resolve_operator): Give a parentheses expression a type- + spec if it has no type. + * trans-decl.c (gfc_trans_deferred_vars): Apply the a default + initializer, if any, to an intent(out) derived type, using + gfc_lval_expr_from_sym and gfc_trans_assignment. Check if + the dummy is present. + +2007-07-24 Daniel Franke + + PR fortran/32867 + * expr.c (check_init_expr): Simplify matched functions. + +2007-07-24 Daniel Franke + + PR fortran/32778 + * intrinsic.c (add_sym): Do not exclude any symbols, even if not part + of the selected standard. + (make generic): Likewise. + (make alias): Likewise, set standard the alias belongs to. + (add_subroutines): Call make_noreturn unconditionally. + (check_intrinsic_standard): Change return value to try. + (gfc_intrinsic_func_interface): Check return value of above function. + (gfc_intrinsic_sub_interface): Likewise. + +2007-07-24 Thomas Koenig + + PR fortran/30814 + * trans-decl.c (generate_function_code): Add argument + for flag_bounds_check to the array for set_options. + * invoke.texi (-fbounds-check): Document new libarary run-time + behaviour. + +2007-07-23 Daniel Franke + + PR fortran/25104 + PR fortran/31639 + * expr.c (check_transformational): Reject valid transformational + intrinsics to avoid ICE. + (check_inquiry): Report error for assumed character lengths for + all supported standards. + (check_init_expr): Whitespace fix. + +2007-07-23 Christopher D. Rickett + + PR fortran/32797 + PR fortran/32800 + * decl.c (verify_bind_c_sym): Use the result symbol for functions + with a result clause. Warn if implicitly typed. Verify the type + and rank of the SHAPE argument, if given. + * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to + check the actual args against the formal, sorting them if + necessary. + * symbol.c (gen_shape_param): Initialize type of SHAPE param to + BT_VOID. + +2007-07-23 Christopher D. Rickett + + PR fortran/32732 + * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by + value character dummy args of BIND(C) procedures. + * trans-expr.c (gfc_conv_variable): Do not build address + expression for BT_CHARACTER dummy args. + +2007-07-23 Christopher D. Rickett + Tobias Burnus + + PR fortran/32600 + * trans-expr.c (gfc_conv_function_call): Handle c_funloc. + * trans-types.c: Add pfunc_type_node. + (gfc_init_types,gfc_typenode_for_spec): Use it. + * resolve.c (gfc_iso_c_func_interface): Fix whitespace and + improve error message. + +2007-07-22 Daniel Franke + + PR fortran/32710 + * parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if + the current is a namelist. + +2007-07-22 Daniel Franke + + PR fortran/29962 + PR fortran/31253 + PR fortran/31265 + PR fortran/31639 + * gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure, + generic, specific, actual_ok, noreturn into bits of a bitfield, + added bits for inquiry, transformational, conversion. + * check.c (non_init_transformational): Removed, removed all callers. + * intrinsic.c (enum class): New. + (add_sym*): Replaced argument elemetal by enum class. Changed all + callers. + (add_functions): Assign appropriate classes to intrinsic functions. + (add_subroutines): Assign appropriate classes to intrinsic subroutines. + (add_conv): Set conversion attribute. + (gfc_init_expr_extensions): Removed, removed all callers. + (gfc_intrinsic_func_interface): Reimplemented check for non-standard + initializatione expressions. + * expr.c (check_specification_function): New. + (gfc_is_constant_expr): Added check for specification functions. + (check_init_expr_arguments): New. + (check_inquiry): Changed return value to MATCH, added checks for + inquiry functions defined by F2003. + (check_transformational): New. + (check_null): New. + (check_elemental): New. + (check_conversion): New. + (check_init_expr): Call new check functions, add more specific error + messages. + +2007-07-21 Christopher D. Rickett + + PR fortran/32627 + * resolve.c (set_name_and_label): Set kind number for character + version of c_f_pointer. + (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to + that of the actual SHAPE arg. + * symbol.c (gen_shape_param): Initialize kind for SHAPE arg. + +2007-07-21 Christopher D. Rickett + + PR fortran/32801 + * symbol.c (generate_isocbinding_symbol): Remove unnecessary + conditional. + + PR fortran/32804 + * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and + deferred-shape arrays as args to C_LOC. Fix bug in testing + character args to C_LOC. + +2007-07-21 Lee Millward + + PR fortran/32823 + * trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all + arguments passed, not just the first one. Adjust code to + refer to "args[0]" instead of "arg" as a result. + +2007-07-19 Christopher D. Rickett + + PR fortran/32600 + * trans-expr.c (gfc_conv_function_call): Inline C_LOC. + +2007-07-18 Christopher D. Rickett + + PR fortran/32801 + * symbol.c (generate_isocbinding_symbol): Fix bug where + ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed + ISOCBINDING_PTR. + +2007-07-17 Janus Weil + + PR fortran/32535 + * resolve.c (resolve_fl_namelist): Check for namelist private + components in contained subprograms. + +2007-07-17 Paul Thomas + + PR fortran/31320 + PR fortran/32665 + * trans-expr.c (gfc_trans_subcomponent_assign): Ensure that + renormalization unity base is done independently of existing + lbound value. + (gfc_trans_scalar_assign): If rhs is not a variable, put + lse->pre after rse->pre to ensure that de-allocation of lhs + occurs after evaluation of rhs. + +2007-07-16 Lee Millward + + PR fortran/32222 + PR fortran/32238 + PR fortran/32242 + * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust + to operate on a stack allocated array for the intrinsic arguments + instead of creating a TREE_LIST. Add two new parameters for the + array and the number of elements. Update all callers to allocate + an array of the correct length to pass in. Update comment. + (gfc_intrinsic_argument_list_length): New function. + (gfc_conv_intrinsic_conversion): Call it. + (gfc_conv_intrinsic_mnimax): Likewise. + (gfc_conv_intrinsic_merge): Likewise. + (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR + constructors. + (gfc_conv_intrinsic_cmplx): Likewise. + (gfc_conv_intrinsic_ctime): Likewise. + (gfc_covn_intrinsic_fdate): Likewise. + (gfc_conv_intrinsic_ttynam): Likewise. + (gfc_conv_intrinsic_ishftc): Likewise. + (gfc_conv_intrinsic_index): Likewise. + (gfc_conv_intrinsic_scan): Likewise. + (gfc_conv_intrinsic_verify): Likewise. + (gfc_conv_intrinsic_trim): Likewise. + (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors. + (gfc_conv_intrinsic_exponent): Likewise. + (gfc_conv_intrinsic_bound): Likewise. + (gfc_conv_intrinsic_abs): Likewise. + (gfc_conv_intrinsic_mod): Likewise. + (gfc_conv_intrinsic_sign): Likewise. + (gfc_conv_intrinsic_len): Likewise. + (gfc_conv_intrinsic_adjust): Likewise. + (gfc_conv_intrinsic_si_kind): Likewise. + +2007-07-16 Janne Blomqvist + + PR fortran/32748 + * trans-decl.c (gfc_build_builtin_function_decls): Remove + DECL_IS_MALLOC attribute from internal_realloc, thus reverting + part of my 2007-07-03 patch. + +2007-07-15 Jerry DeLisle + Francois-Xavier Coudert + + PR fortran/32611 + * gfortran.h (gfc_option_t): Add flag_sign_zero field. + * lang.opt (-fsign-zero): New option. + * trans.h: Rename gfor_fndecl_set_std into gfor_fndecl_set_options. + * trans-decl.c (gfc_build_builtin_function_decls): Build the function + declaration to pass an array containing the options to be used by the + runtime library. (gfc_generate_function_code): Build an array that + contains option values to be passed to the runtime library and the call + to the function. + * options.c (gfc_init_options): Initialize the flag_sign_zero field. + (gfc_handle_option): Handle the -fsign-zero option. + +2007-07-15 Francois-Xavier Coudert + + PR fortran/32036 + * trans-array.c (gfc_conv_array_ref): Only evaluate index once. + +2007-07-15 Francois-Xavier Coudert + + PR fortran/32357 + * iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS + to C int. + +2007-07-14 Thomas Koenig + + PR libfortran/32731 + * iresolve.c(gfc_resolve_pack): A scalar mask has + to be kind=4, an array mask with kind<4 is converted + to gfc_default_logical_kind automatically. + (gfc_resolve_unpack): Convert mask to gfc_default_lotical_kind + if it has a kind<4. + +2007-07-14 Paul Thomas + + PR fortran/32724 + * parse.c (parse_spec): Emit error on unexpected statement + function. + +2007-07-13 Daniel Franke + + * invoke.texi: Unified upper- and lower-case in menus. + (-w, -W): Removed, documented by gcc. + * intrinsic.texi: Unified Class-section entries, added + subroutine/function warning where appropiate. + +2007-07-12 Daniel Franke + + PR fortran/31639 + * decl.c (gfc_match_suffix): Removed surplus general error that hides + a more specific message. + * resolve.c (resolve_fl_variable): Reject illegal initializiers only + if not already done. + (resolve_fl_procedure): Added check for initializers of functions. + +2007-07-12 Daniel Franke + + PR fortran/32704 + * invoke.texi (-static-libgfortran): Document new option. + +2007-07-12 Paul Thomas + + PR fortran/32634 + PR fortran/32727 + * module.c (write_generic): Restore patch of 2007-07-10 and use + symbol name if there are no use names. + +2007-07-12 Christopher D. Rickett + + PR fortran/32599 + * decl.c (verify_c_interop_param): Require character string dummy + args to BIND(C) procedures to have length 1. + * resolve.c (resolve_fl_procedure): Modify parameter checking for + BIND(C) procedures. + + PR fortran/32601 + * resolve.c (gfc_iso_c_func_interface): Verify that a valid + expression is given as an argument to C_LOC and C_ASSOCIATED. + * trans-io.c (transfer_expr): Add argument for code block. Add + standards check to determine if an error message should be + reported for printing C_PTR or C_FUNPTR. + (transfer_array_component): Update arguments to transfer_expr. + (gfc_trans_transfer): Ditto. + + * symbol.c (gen_cptr_param): Fix whitespace. + +2007-07-12 Jakub Jelinek + + PR fortran/32550 + * trans.h (GFC_POINTER_TYPE_P): Define. + * trans-types.c (gfc_sym_type): Set it for types on attr->sym.pointer. + * trans-openmp.c (gfc_omp_privatize_by_reference): Return false + if GFC_POINTER_TYPE_P is set on the type. + +2007-07-12 Richard Guenther + + * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Convert + arguments to gfc_charlen_type_node. + * trans-io.c (gfc_convert_array_to_string): Convert type + size to gfc_array_index_type. + +2007-07-12 Daniel Franke + + PR fortran/32634 + PR fortran/32727 + * module.c: Reverted Paul's patch from 2007-07-10. + +2007-07-11 Richard Guenther + + * trans-array.c (gfc_conv_array_parameter): Use correct + types for comparison. + * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use + correct types for POINTER_PLUS_EXPR. + * trans-stmt.c (gfc_trans_forall_loop): Use correct type + for integer one constant. + +2007-07-10 Paul Thomas + + PR fortran/32157 + * resolve.c (is_external_proc): New function. Adds test that + the symbol is not an intrinsic procedure. + * (resolve_function, resolve_call): Replace logical statements + with call to is_external_proc. + + PR fortran/32689 + * simplify.c (gfc_simplify_transfer): If mold has rank, the + result is an array. + + PR fortran/32634 + * module.c (write_generic): Write the local name of the + interface. + +2007-07-09 Francois-Xavier Coudert + + PR fortran/29459 + * trans-array.c (gfc_trans_array_constructor): Mark offset field + with TREE_NO_WARNING. + * trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound, + stride and size variables with TREE_NO_WARNING. + +2007-07-09 Steven G. Kargl + + * trans-decl.c (set_tree_decl_type_code): Remove function. + (generate_local_decl): Remove reference to set_tree_decl_type_code. + +2007-07-09 Daniel Franke + + PR fortran/31129 + * trans-decl.c (generate_local_decl) Emit a warning if an unused + parameter is found. + +2007-07-08 Daniel Franke + + PR fortran/29876 + * module.c (gfc_match_use): Do not set an non-existant + intrinsic operator if a user-defined operator is found. + +2007-07-08 Daniel Franke + + PR fortran/24784 + PR fortran/28004 + * trans-decl.c (generate_local_decl): Adjusted warning on unused + dummy arguments, tell middle-end not to emit additional warnings. + +2007-07-08 Daniel Franke + Tobias Schlüter + + PR fortran/17711 + * gfortran.h (gfc_intrinsic_op): Added INTRINSIC_EQ_OS, + INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS, + INTRINSIC_LT_OS and INTRINSIC_LE_OS. + * arith.c (eval_intrinsic, eval_type_intrinsic0): Likewise. + * arith.h (gfc_eq, gfc_ne, gfc_gt, gfc_ge, gfc_lt, gfc_le): + Added gfc_intrinsic_op as third argument type. + * dump-parse-tree.c (gfc_show_expr): Account for new enum values. + * expr.c (simplify_intrinsic_op, check_intrinsic_op): Likewise. + * interface.c (check_operator_interface): Likewise. + (gfc_check_interfaces): Added cross-checks for FORTRAN 77 and + Fortran 90 style operators using new enum values. + (gfc_extend_expr): Likewise. + (gfc_add_interface): Likewise. + * match.c (intrinsic_operators): Distinguish FORTRAN 77 style + operators from Fortran 90 style operators using new enum values. + * matchexp.c (match_level_4): Account for new enum values. + * module.c (mio_expr): Likewise. + * resolve.c (resolve_operator): Deal with new enum values, fix + inconsistent error messages. + * trans-expr.c (gfc_conv_expr_op): Account for new enum values. + +2007-07-08 Tobias Burnus + + PR fortran/32669 + * interface.c (get_expr_storage_size): Properly obtain lower bound. + (compare_actual_formal): Add space before parenthesis. + +2007-07-08 Daniel Franke + + PR fortran/25094 + * resolve.c (resolve_fl_procedure): Added check for PRIVATE types + in PUBLIC interfaces. + +2007-07-07 Jerry DeLisle + + PR fortran/32644 + * decl.c (match_attr_spec): Don't return MATCH_ERROR if comma found and + gfc_match_bind_c does not return MATCH_YES. + +2007-07-07 Kazu Hirata + + * decl.c, gfortran.h, interface.c, module.c, resolve.c, + trans-array.c, trans-decl.c: Fix comment typos. Follow + spelling conventions. + * intrinsic.texi: Fix typos. Follow spelling conventions. + +2007-05-06 Daniel Franke + + PR fortran/32633 + * symbol.c (save_status): New. + * gfortran.h (save_status): Added external declaration. + (check_conflict): Check for conflicting explicite SAVE statements + only. + (gen_special_c_interop_ptr): Use SAVE_EXPLICIT constant. + * module.c (ab_attribute, attr_bits): Removed enumerator value + AB_SAVE for save attribute. + (mio_symbol_attribute): Import/export the full SAVE status, + removed usage of AB_SAVE. + * dump-parse-tree.c (gfc_show_attr): Dump full SAVE status. + * decl.c (add_init_expr_to_sym): Set SAVE_IMPLICIT only if not + already explicit. + +2007-07-05 Daniel Franke + Tobias Burnus + + PR fortran/32359 + * gfortran.h (symbol_attribute): Change save attribute into an enum. + * decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT. + * symbol.c (gfc_add_save): Check for SAVE_EXPLICIT. + * resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT. + (resolve_symbol): Allow OMP threadprivate with + initialization SAVEd and save_all variable. + * trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check. + +2007-07-05 Paul Thomas + + PR fortran/32526 + * match.c (gfc_match_call): Check, in all cases, that a symbol + is neither generic nor a subroutine before trying to add it as + a subroutine. + + PR fortran/32613 + * match.c (gfc_match_do): Reset the implied_index attribute. + +2007-07-04 Francois-Xavier Coudert + + PR fortran/31198 + * trans-intrinsic.c (trans-intrinsic.c): Handle optional + arguments correctly for MIN and MAX intrinsics. + +2007-07-03 Jerry DeLisle + + PR fortran/32545 + * io.c (check_format): Always call gfc_error for errors. + (check_format_string): Change type of this function to try and + return the result of check_format. + (check_io_constraints): Return MATCH_ERROR if check_format_string + returns FAILURE. + +2007-07-03 Jerry DeLisle + + PR fortran/32612 + * decl.c (get_proc_name): Include attr->mod_proc in check for error. + +2007-07-03 Jerry DeLisle + + PR fortran/32432 + * gfortran.h: Change type of gfc_assign_data_value from void to try. + * data.c (gfc_assign_data_value): Return FAILURE if error found. + * resolve.c (check_data_variable): If gfc_assign_data_value returns + failure, break out of loop and return failure. + +2007-07-03 Christopher D. Rickett + + PR fortran/32579 + * symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if necessary. + (build_formal_args): Pass intrinsic module symbol id to + gen_cptr_param. + +2007-07-03 Tobias Burnus + + PR fortran/25062 + * resolve.c (resolve_common_blocks): New check function. + (resolve_types): Use it. + +2007-07-03 Tobias Burnus + + PR fortran/30940 + * interface.c (get_sym_storage_size): New function. + (get_sym_storage_size): New function. + (compare_actual_formal): Enhance sequence association + support and improve checking. + +2007-07-03 Janne Blomqvist + + * trans-decl.c (gfc_build_builtin_function_decls): Mark + internal_realloc as a malloc function. + +2007-07-03 Tobias Burnus + + PR fortran/20888 + * resolve.c (resolve_operator): Check for NULL as operand. + +2007-07-02 Tobias Burnus + + * gfortran.texi (Fortran 2003): Add ISO Bind C. + * intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER, + C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics. + +2007-07-01 Christopher D. Rickett + + * interface.c (gfc_compare_derived_types): Special case for comparing + derived types across namespaces. + (gfc_compare_types): Deal with BT_VOID. + (compare_parameter): Use BT_VOID to accept ISO C Binding pointers. + * trans-expr.c (gfc_conv_function_call): Remove setting parm_kind + to SCALAR + (gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and + NULL_FUNPTR. + (gfc_conv_expr): Convert expressions for ISO C Binding derived types. + * symbol.c (gfc_set_default_type): BIND(C) variables should not be + Implicitly declared. + (check_conflict): Add BIND(C) and check for conflicts. + (gfc_add_explicit_interface): Whitespace. + (gfc_add_is_bind_c): New function. + (gfc_copy_attr): Use it. + (gfc_new_symbol): Initialize ISO C Binding objects. + (get_iso_c_binding_dt): New function. + (verify_bind_c_derived_type): Ditto. + (gen_special_c_interop_ptr): Ditto. + (add_formal_arg): Ditto. + (gen_cptr_param): Ditto. + (gen_fptr_param): Ditto. + (gen_shape_param): Ditto. + (add_proc_interface): Ditto. + (build_formal_args): Ditto. + (generate_isocbinding_symbol): Ditto. + (get_iso_c_sym): Ditto. + * decl.c (num_idents_on_line, has_name_equals): New variables. + (verify_c_interop_param): New function. + (build_sym): Finish binding labels and deal with COMMON blocks. + (add_init_expr_to_sym): Check if the initialized expression is + an iso_c_binding named constants + (variable_decl): Set ISO C Binding type_spec components. + (gfc_match_kind_spec): Check match for C interoperable kind. + (match_char_spec): Fix comment. Chnage gfc_match_small_int + to gfc_match_small_int_expr. Check for C interoperable kind. + (match_type_spec): Clear the current binding label. + (match_attr_spec): Add DECL_IS_BIND_C. If BIND(C) is found, use it + to set attributes. + (set_binding_label): New function. + (set_com_block_bind_c): Ditto. + (verify_c_interop): Ditto. + (verify_com_block_vars_c_interop): Ditto. + (verify_bind_c_sym): Ditto. + (set_verify_bind_c_sym): Ditto. + (set_verify_bind_c_com_block): Ditto. + (get_bind_c_idents): Ditto. + (gfc_match_bind_c_stmt): Ditto. + (gfc_match_data_decl): Use num_idents_on_line. + (match_result): Deal with right paren in BIND(C). + (gfc_match_suffix): New function. + (gfc_match_function_decl): Use it. Code is re-arranged to deal with + ISO C Binding result clauses. + (gfc_match_subroutine): Deal with BIND(C). + (gfc_match_bind_c): New function. + (gfc_get_type_attr_spec): New function. Code is re-arranged in and + taken from gfc_match_derived_decl. + (gfc_match_derived_decl): Add check for BIND(C). + * trans-common.c: Forward declare gfc_get_common. + (gfc_sym_mangled_common_id): Change arg from 'const char *name' to + 'gfc_common_head *com'. Check for ISO C Binding of the common block. + (build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME. + * gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN + (bt): Add BT_VOID + (sym_flavor): Add FL_VOID. + (iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum + (CInteropKind_t): New struct. + (c_interop_kinds_table): Use it. Declare an array of structs. + (symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c + bitfields. + (gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members. + (gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and + common_block members. + (gfc_common_head): Add binding_label and is_bind_c members. + (gfc_gsymbol): Add sym_name, mod_name, and binding_label members. + Add prototypes for get_c_kind, gfc_validate_c_kind, + gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value, + verify_c_interop, verify_c_interop_param, verify_bind_c_sym, + verify_bind_c_derived_type, verify_com_block_vars_c_interop, + generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface + * iso-c-binding.def: New file. This file contains the definitions + of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic + module. + * trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR + or C_NULL_FUNPTR expressions. + * expr.c (gfc_copy_expr): Add BT_VOID case. For BT_CHARACTER, the + ISO C Binding requires a minimum string length of 1 for '\0'. + * module.c (intmod_sym): New struct. + (pointer_info): Add binding_label member. + (write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p. + (ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C. + (attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C". + (mio_symbol_attribute): Deal with ISO C Binding attributes. + (bt_types): Add "VOID". + (mio_typespec): Deal with ISO C Binding components. + (mio_namespace_ref): Add intmod variable. + (mio_symbol): Check for symbols from an intrinsic module. + (load_commons): Check for BIND(C) common block. + (read_module): Read binding_label and use it. + (write_common): Add label. Write BIND(C) info. + (write_blank_common): Blank commons are not BIND(C). Explicitly + set is_bind_c=0. + (write_symbol): Deal with binding_label. + (sort_iso_c_rename_list): New function. + (import_iso_c_binding_module): Ditto. + (create_int_parameter): Add to args. + (use_iso_fortran_env_module): Adjust to deal with iso_c_binding + intrinsic module. + * trans-types.c (c_interop_kinds_table): new array of structs. + (gfc_validate_c_kind): New function. + (gfc_check_any_c_kind): Ditto. + (get_real_kind_from_node): Ditto. + (get_int_kind_from_node): Ditto. + (get_int_kind_from_width): Ditto. + (get_int_kind_from_minimal_width): Ditto. + (init_c_interop_kinds): Ditto. + (gfc_init_kinds): call init_c_interop_kinds. + (gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers. + Adjust handling of BT_DERIVED. + (gfc_sym_type): Whitespace. + (gfc_get_derived_type): Account for iso_c_binding derived types + * resolve.c (is_scalar_expr_ptr): New function. + (gfc_iso_c_func_interface): Ditto. + (resolve_function): Use gfc_iso_c_func_interface. + (set_name_and_label): New function. + (gfc_iso_c_sub_interface): Ditto. + (resolve_specific_s0): Use gfc_iso_c_sub_interface. + (resolve_bind_c_comms): New function. + (resolve_bind_c_derived_types): Ditto. + (gfc_verify_binding_labels): Ditto. + (resolve_fl_procedure): Check for ISO C interoperability. + (resolve_symbol): Check C interoperability. + (resolve_types): Walk the namespace. Check COMMON blocks. + * trans-decl.c (gfc_sym_mangled_identifier): Prevent the mangling + of identifiers that have an assigned binding label. + (gfc_sym_mangled_function_id): Use the binding label rather than + the mangled name. + (gfc_finish_var_decl): Put variables that are BIND(C) into a common + segment of the object file, because this is what C would do. + (gfc_create_module_variable): Conver to proper types + (set_tree_decl_type_code): New function. + (generate_local_decl): Check dummy variables and derived types for + ISO C Binding attributes. + * match.c (gfc_match_small_int_expr): New function. + (gfc_match_name_C): Ditto. + (match_common_name): Deal with ISO C Binding in COMMON blocks + * trans-io.c (transfer_expr): Deal with C_NULL_PTR or C_NULL_FUNPTR + expressions + * match.h: Add prototypes for gfc_match_small_int_expr, + gfc_match_name_C, match_common_name, set_com_block_bind_c, + set_binding_label, set_verify_bind_c_sym, + set_verify_bind_c_com_block, get_bind_c_idents, + gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c, + gfc_get_type_attr_spec + * parse.c (decode_statement): Use gfc_match_bind_c_stmt + (parse_derived): Init *derived_sym = NULL, and gfc_current_block + later for valiadation. + * primary.c (got_delim): Set ISO C Binding components of ts. + (match_logical_constant): Ditto. + (match_complex_constant): Ditto. + (match_complex_constant): Ditto. + (gfc_match_rvalue): Check for existence of at least one arg for + C_LOC, C_FUNLOC, and C_ASSOCIATED. + * misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts. + (get_c_kind): New function. + +2007-07-01 Janne Blomqvist + + PR fortran/32239 + * trans-expr.c (gfc_conv_power_op): Use builtin_powi for + real**int4 powers. + * f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the + builtins table. + +2007-07-01 Janne Blomqvist + + * trans.h: Remove decls for 64-bit allocation functions. + * trans-array.c (gfc_grow_array): Always pick the standard realloc + function decl. + (gfc_array_allocate): Likewise. + * trans-decl.c: Remove trees for 64-bit allocation functions. + (gfc_build_builtin_function_decls): Don't build fndecls for 64-bit + allocations functions, use index_int_type for normal allocation + functions. + +2007-06-30 Daniel Franke + + PR fortran/20373 + * intrinsic.c (add_functions): Additional function types. + (gfc_convert_type_warn): Remove intrinsic-flag from + conversion functions. + * resolve.c (resolve_symbol): Added type checks to + explicitly defined intrinsics. + +2007-06-30 Tobias Burnus + + PR fortran/32555 + * io.c (check_format): Allow zero to precede the + P edit descriptor. + +2007-06-30 Paul Thomas + + PR fortran/32472 + * simplify.c (gfc_simplify_repeat): Add handling of character + literal for first argument. + +2007-06-29 Daniel Franke + + * resolve.c (resolve_operator): Added check whether a user + defined operator is available. + +2007-06-29 Daniel Franke + + * openmp.c (resolve_omp_clauses): Adjust error message to + better reflect the actual requirement. + +2007-06-29 Tobias Burnus + + PR fortran/32483 + * io.c (format_lex): Fix FMT_ZERO. + (check_format,check_format_string,gfc_match_format, + check_io_constraints) Additional checking for READ. + +2007-06-28 Francois-Xavier Coudert + + PR other/31400 + * lang.opt (static-libgfortran): New option. + * gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro. + (Option): Add OPTION_static and OPTION_static_libgfortran. + (lookup_option): Handle the new -static-libgfortran option. + (lang_specific_driver): Check whether -static is passed. + Handle the new -static-libgfortran option. + * options.c (gfc_handle_option): If -static-libgfortran is + passed and isn't supported on this configuration, error out. + +2007-06-27 Daniel Franke + + PR fortran/32467 + * openmp.c (resolve_omp_clauses): Emit error on allocatable + components in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE + clauses. + +2007-06-25 Paul Thomas + + PR fortran/32464 + * resolve.c (check_host_association): Return if the old symbol + is use associated. Introduce retval to reduce the number of + evaluations of the first-order return value. + + PR fortran/31494 + * match.c (gfc_match_call): If a host associated symbol is not + a subroutine, build a new symtree/symbol in the current name + space. + +2007-06-24 Tobias Burnus + + PR fortran/32460 + * interface.c (gfc_compare_derived_types): Add access check. + * symbol.c (gfc_find_component): Ditto. + (gfc_set_component_attr,gfc_get_component_attr) Copy access state. + * dump-parse-tree.c (gfc_show_components): Dump access state. + * gfortran.h (struct gfc_component): Add gfc_access. + * module.c (mio_component): Add access state. + * (gfc_match_structure_constructor): Check for private access state. + +2007-06-24 Paul Thomas + + PR fortran/32298 + PR fortran/31726 + * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate + the offset between the loop counter and the position as + defined. Add the offset within the loop so that the mask acts + correctly. Do not advance the location on the basis that it + is zero. + +2007-06-22 Daniel Franke + + PR fortran/31473 + * symbol.c (gfc_copy_attr): Emit errors for duplicate + EXTERNAL/INTRINSIC statements. + +2007-06-22 Jerry DeLisle + + PR fortran/32360 + * expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR, + check to see if the lvalue has attribute pointer and data. + +2007-06-21 Jerry DeLisle + + PR fortran/31162 + * resolve.c (gfc_resolve_iterator_expr): Add check for REAL using + gfc_notify_standard. (gfc_resolve_iterator): Remove check. + (resolve_branch): Change "Obsolete" to "Deleted feature". + * io.c (resolve_tag): Ditto. + * match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto. + +2007-06-20 Jerry DeLisle + + PR fortran/32361 + * match.c (gfc_match_common): If the symbol value expression type is + NULL_EXPR, don't error if previously initialized. + +2007-06-20 Jerry DeLisle + + PR fortran/25061 + * decl.c (get_proc_name) Check symbol for generic interface + and issue an error. + +2007-06-20 Andrew Pinski + Richard Guenther + + PR fortran/32140 + * trans.c (gfc_build_addr_expr): Use the correct types. + +2007-06-19 Paul Thomas + + PR fortran/20863 + PR fortran/20882 + * resolve.c (resolve_code): Use gfc_impure_variable as a + condition for rejecting derived types with pointers, in pure + procedures. + (gfc_impure_variable): Add test for dummy arguments of pure + procedures; any for functions and INTENT_IN for subroutines. + + PR fortran/32236 + * data.c (gfc_assign_data_value): Change the ICE on an array + reference initializer not being an array into an error and + clear init to prevent a repetition of the error. + +2007-06-17 Janne Blomqvist + + * gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n + environment variables. Fix documentation for + GFORTRAN_UNBUFFERED_ALL environment variable. + +2007-06-15 Andrew Pinski + + * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use + POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition. + * trans-expr.c (gfc_trans_string_copy): Create + POINTER_PLUS_EXPR instead of a PLUS_EXPR + for pointer types. + +2007-06-14 Paul Thomas + + PR fortran/32302 + * trans-common.c (build_common_decl): If resizing of common + decl is needed, update the TREE_TYPE. + +2007-06-13 Tobias Burnus + + PR fortran/32323 + * interface.c (has_vector_section): New. + (compare_actual_formal): Check for array sections with vector subscript. + +2007-06-12 Dirk Mueller + + * trans-stmt.c (gfc_trans_call): fix gcc_assert to + a comparison, not an assignment. + +2007-06-12 Paul Thomas + + * trans-common.c (create_common): Initialize 'field_init'. + +2007-06-12 Paul Thomas + + PR fortran/29786 + PR fortran/30875 + * trans-common.c (get_init_field): New function. + (create_common): Call get_init_field for overlapping + initializers in equivalence blocks. + * resolve.c (resolve_equivalence_derived, resolve_equivalence): + Remove constraints on initializers in equivalence blocks. + * target-memory.c (expr_to_char, gfc_merge_initializers): + New functions. + (encode_derived): Add the bit offset to the byte offset to get + the total offset to the field. + * target-memory.h : Add prototype for gfc_merge_initializers. + +2007-06-11 Rafael Avila de Espindola + + * trans-types.c (gfc_signed_type): Remove. + * trans-types.h (gfc_signed_type): Remove. + * f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove. + +2007-06-08 Francois-Xavier Coudert + + * trans-intrinsic.c: Revert Lee's 2007-06-04 patch. + +2007-06-07 Steven G. Kargl + Jerry DeLisle + + PR fortran/32223 + * match.c (gfc_match_special_char): New function. Match special char. + Add handling '\0'. + * match.h: Add prototype. + * io.c (next_char): Use it. + * primary.c (next_string_char): Ditto. + +2007-06-06 Steven G. Kargl + + * decl.c: Miscellaneous whitespace fixes. + * expr.c: Likewise. + * gfortran.h: Likewise. + * interface.c : Likewise. + * io.c: Likewise. + * match.c: Likewise. + * match.h: Likewise. + * module.c: Likewise. + * parse.c: Likewise. + * resolve.c: Likewise. + * symbol.c: Likewise. + * trans-array.c: Likewise. + * trans-common.c: Likewise. + * trans-decl.c: Likewise. + * trans-intrinsic.c: Likewise. + * trans-io.c: Likewise. + * trans-stmt.c: Likewise. + * trans-types.c: Likewise. + +2007-06-05 Jerry DeLisle + + PR fortran/18923 + * parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR + for ST_FUNCTION since it is called in reject_statement. + (parse_contained): If error, loop back after reject_statement and try + again. Free the namespace if an error occured. + +2007-06-04 Lee Millward + + * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust + to operate on a stack allocated array for the intrinsic arguments + instead of creating a TREE_LIST. Add two new parameters for the + array and the number of elements. Update all callers to allocate + an array of the correct length to pass in. Update comment. + (gfc_intrinsic_argument_list_length): New function. + (gfc_conv_intrinsic_mnimax): Call it. + (gfc_conv_intrinsic_merge): Likewise. + (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR + constructors. + (gfc_conv_intrinsic_cmplx): Likewise. + (gfc_conv_intrinsic_ctime): Likewise. + (gfc_covn_intrinsic_fdate): Likewise. + (gfc_conv_intrinsic_ttynam): Likewise. + (gfc_conv_intrinsic_ishftc): Likewise. + (gfc_conv_intrinsic_index): Likewise. + (gfc_conv_intrinsic_scan): Likewise. + (gfc_conv_intrinsic_verify): Likewise. + (gfc_conv_intrinsic_trim): Likewise. + (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors. + (gfc_conv_intrinsic_exponent): Likewise. + (gfc_conv_intrinsic_bound): Likewise. + (gfc_conv_intrinsic_abs): Likewise. + (gfc_conv_intrinsic_mod): Likewise. + (gfc_conv_intrinsic_sign): Likewise. + (gfc_conv_intrinsic_len): Likewise. + (gfc_conv_intrinsic_adjust): Likewise. + (gfc_conv_intrinsic_si_kind): Likewise. + +2007-06-04 Steve Ellcey + + * trans-array.c (gfc_conv_array_parameter): Initialize tmp. + +2007-05-31 Richard Guenther + + * trans-expr.c (gfc_conv_expr_op): Use zero constant + that matches the lse type. + (gfc_trans_string_copy): Use sizetype zero constant. + * intrinsic.c (add_functions): The sizeof intrinsic has + index type result. + * trans-types.c (gfc_get_dtype): Convert size to index + type before shifting. + * trans-array.c (gfc_trans_array_constructor_value): Use + index type for offset computation. + * trans-intrinsic.c (gfc_conv_associated): Use correct type + for zero constant. + +2007-05-31 Paul Thomas + + PR fortran/32156 + * trans-array.c (gfc_trans_array_constructor): Treat the case + where the ss expression charlen is missing. + +22007-05-31 Paul Thomas + + PR fortran/32103 + * module.c (mio_symtree_ref): If an equivalence group member + is not used, give it a hidden symbol and set the pointer_info. + (load_equiv): Only free the equivalence if none of the members + are used. + +2007-05-29 Daniel Franke + + * gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id', + added missing GFC_ISYM_* enumerators, ordered alphabetically. + (struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'. + (gfc_find_subroutine): New prototype. + * intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers. + (find_subroutine): Renamed to 'gfc_find_subroutine', removed static. + * dependency.c: Changed usage of isym->generic_id to isym->id. + * openmp.c: Likewise. + * resolve.c: Likewise. + * trans-array.c: Likewise. + * trans-expr.c: Likewise. + * trans-intrinsic.c: Likewise. + * trans-openmp.c: Likewise. + +2007-05-28 Tobias Schlüter + + * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF. + * intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic. + * intrinsic.h (gfc_check_sizeof): Add prototype of ... + * check.c (gfc_check_sizeof): .. new function. + * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function. + (gfc_conv_intrinsic_strcmp): Whitespace fix. + (gfc_conv_intrinsic_array_transfer): Remove double initialization, + use fold_build. where appropriate. + (gfc_conv_intrinsic_function): Add case for SIZEOF. + * intrinsic.texi: Add documentation for SIZEOF. + +2007-05-28 Brooks Moses + + * trans-array.c (gfc_conv_expr_descriptor): Edit comment. + +2007-05-28 Brooks Moses + + PR fortran/31972 + * target-memory.c (gfc_target_expr_size): Add handling + for size of BT_HOLLERITH variables. + * check.c (gfc_check_transfer): Reject BT_HOLLERITH + variables in MOLD argument of TRANSFER. + +2007-05-28 Brooks Moses + + * gfortran.h (gfc_expr): Remove from_H, add "representation" + struct. + * primary.c (match_hollerith_constant): Store the representation + of the Hollerith in representation, not in value.character. + * arith.c: Add dependency on target-memory.h. + (eval_intrinsic): Remove check for from_H. + (hollerith2representation): New function. + (gfc_hollerith2int): Determine value of the new constant. + (gfc_hollerith2real): Likewise. + (gfc_hollerith2complex): Likewise. + (gfc_hollerith2logical): Likewise. + (gfc_hollerith2character): Point both representation.string and + value.character.string at the value string. + * data.c (create_character_initializer): For BT_HOLLERITH + rvalues, get the value from the representation rather than + value.character. + * expr.c (free_expr0): Update handling of BT_HOLLERITH values + and values with representation.string. + (gfc_copy_expr): Likewise. + * intrinsic.c (do_simplify): Remove special treatement of + variables resulting from Hollerith constants. + * dump-parse-trees.c (gfc_show_expr): Update handling of + Holleriths. + * trans-const.c (gfc_conv_constant_to_tree): Replace from_H + check with check for representation.string; get Hollerith + representation from representation.string, not value.character. + * trans-expr.c (is_zero_initializer_p): Replace from_H check + with check for representation.string. + * trans-stmt.c (gfc_trans_integer_select): Use + gfc_conv_mpz_to_tree for case values, so as to avoid picking up + the memory representation if the case is given by a transfer + expression. + * target-memory.c (gfc_target_encode_expr): Use the known memory + representation rather than the value, if it exists. + (gfc_target_interpret_expr): Store the memory representation of + the interpreted expression as well as its value. + (interpret_integer): Move to gfc_interpret_integer, make + non-static. + (interpret_float): Move to gfc_interpret_float, make non-static. + (interpret_complex): Move to gfc_interpret_complex, make + non-static. + (interpret_logical): Move to gfc_interpret_logical, make + non-static. + (interpret_character): Move to gfc_interpret_character, make + non-static. + (interpret_derived): Move to gfc_interpret_derived, make + non-static. + * target-memory.h: Add prototypes for newly-exported + gfc_interpret_* functions. + +2007-05-27 Jerry DeLisle + + PR fortran/31812 + * parse.c (next_statement): Warn for truncated lines if source is free + form. + +2007-05-27 Paul Thomas + Tobias Burnus + + PR fortran/32088 + * symbol.c (gfc_check_function_type): Copy dimensions of + result variable. + * resolve.c (resolve_contained_fntype): Improve symbol output in + the error message. + +2007-05-26 Jerry DeLisle + + PR fortran/31813 + * io.c (check_format): Add warning for H specifier in format. + +2007-05-26 Tobias Burnus + + * gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and + GFORTRAN_ERROR_BACKTRACE environment variables. + +2007-05-26 Paul Thomas + + PR fortran/31219 + * trans.h : Add no_function_call bitfield to gfc_se structure. + Add stmtblock_t argument to prototype of get_array_ctor_strlen. + * trans-array.c (get_array_ctor_all_strlen): New function. + (get_array_ctor_strlen): Add new stmtblock_t argument and call + new function for character elements that are not constants, + arrays or variables. + (gfc_conv_array_parameter): Call get_array_ctor_strlen to get + good string length. + * trans-intrinsic (gfc_conv_intrinsic_len): Add new argument + to call of get_array_ctor_strlen. + +2007-05-25 Kazu Hirata + + * intrinsic.texi: Fix typos. + +2007-05-25 Paul Thomas + + PR fortran/32047 + * trans-expr.c (gfc_apply_interface_mapping_to_expr): Change + order in logic under EXPR_FUNCTION to handle functions with + no arguments. + +2007-05-23 Jerry DeLisle + + PR fortran/31716 + * array.c (spec_dimen_size): Test for correct BT_INTEGER type. + +2007-05-23 Francois-Xavier Coudert + + PR fortran/32046 + * trans-expr.c (gfc_trans_zero_assign): Convert the result of + TYPE_SIZE_UNIT into a signed type. + (gfc_trans_array_copy): Likewise. + (gfc_trans_array_constructor_copy): Likewise. + * trans-array.c (gfc_trans_create_temp_array): Likewise. + (gfc_grow_array): Likewise. + (gfc_array_init_size): Likewise. + (gfc_duplicate_allocatable): Likewise. + * trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise. + +2007-05-22 Jerry DeLisle + + PR fortran/18923 + * resolve.c (resolve_function): Don't call resolve_global_procedure if + there is no name. Delete duplicated statement in ELSE clause. + +2007-05-22 Francois-Xavier Coudert + + PR fortran/31627 + * trans-array.c (gfc_trans_array_bound_check): Take extra argument to + indicate whether we should check the upper bound in that dimension. + (gfc_conv_array_index_offset): Check only the lower bound of the + last dimension for assumed-size arrays. + (gfc_conv_array_ref): Likewise. + (gfc_conv_ss_startstride): Likewise. + +2007-05-21 Jerry DeLisle + Daniel Franke + + PR fortran/32002 + * resolve.c (resolve_actual_arglist): Resolve actual argument after + being identified as variable. + +2007-05-21 Francois-Xavier Coudert + + PR fortran/32027 + * trans-stmt.c (gfc_trans_do): Fix the value of loop variable + when the loop ends. + +2007-05-21 H.J. Lu + + * trans-stmt.c (gfc_trans_do): Fix a typo in comment. + +2007-05-21 Paul Thomas + + PR fortran/31867 + PR fortran/31994 + * trans-array.c (gfc_conv_expr_descriptor): Obtain the stored + offset for non-descriptor, source arrays and correct for stride + not equal to one before writing to field of output descriptor. + +2007-05-20 Daniel Franke + + PR fortran/32001 + * check.c (check_rest): Improved argument conformance check and + fixed error message generation. + +2007-05-19 Francois-Xavier Coudert + + PR fortran/30820 + * Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o, + simplify.o and trans-common.o. + +2007-05-19 Francois-Xavier Coudert + + PR fortran/31974 + * trans-array.c (gfc_trans_auto_array_allocation): Avoid + multiplication of mismatched types. + +2007-05-18 Daniel Franke + + PR fortran/24633 + * symbol.c (gfc_add_flavor): Add the NAME to error message if + available. + +2007-05-15 Daniel Franke + + PR fortran/31919 + PR fortran/31929 + PR fortran/31930 + * intrinsic.c (check_specific): Check elemental intrinsics for + rank and shape. + (add_functions): Fixed dummy argument names of BESJN and BESYN. + Fixed elemental status of MCLOCK and MCLOCK8. + * check.c (check_rest): Added check for array conformance. + (gfc_check_merge): Removed check for array conformance. + (gfc_check_besn): Removed check for scalarity. + * intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos. + (BESJN, BESYN): Clarified documentation. + +2007-05-17 Tobias Burnus + + * gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation. + +2007-05-16 Brooks Moses + + PR fortran/18769 + PR fortran/30881 + PR fortran/31194 + PR fortran/31216 + PR fortran/31427 + * target-memory.c: New file. + * target-memory.h: New file. + * simplify.c: Add #include "target-memory.h". + (gfc_simplify_transfer): Implement constant- + folding for TRANSFER intrinsic. + * Make-lang.in: Add dependencies on new target-memory.* files. + +2007-05-15 Paul Brook + + * trans-types.c (gfc_type_for_size): Handle signed TImode. + +2007-05-14 Francois-Xavier Coudert + + PR fortran/30723 + * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64, + gfor_fndecl_internal_free): Remove prototypes. + (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes. + * trans.c (gfc_call_malloc, gfc_call_free): New functions. + * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free + and __builtin_malloc builtins. + * trans-decl.c (gfor_fndecl_internal_malloc, + gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove. + (gfor_fndecl_os_error): Add. + (gfc_build_builtin_function_decls): Don't create internal_malloc, + internal_malloc64 and internal_free library function declaration. + Create os_error library call function declaration. + * trans-array.c (gfc_trans_allocate_array_storage, + gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, + gfc_conv_array_parameter, gfc_duplicate_allocatable): Use + gfc_call_malloc and gfc_call_free instead of building calls to + internal_malloc and internal_free. + * trans-expr.c (gfc_conv_string_tmp): Likewise. + * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp, + gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1, + gfc_trans_where_2: Likewise. + * trans-intrinsic.c (gfc_conv_intrinsic_ctime, + gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam, + gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise. + +2007-05-14 Francois-Xavier Coudert + + PR fortran/31725 + * trans-expr.c (gfc_conv_substring): Evaluate substring bounds + only once. + +2007-05-14 Rafael Avila de Espindola + + * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove. + * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for + instead of gfc_unsigned_type. + * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of + gfc_unsigned_type. + * trans-types.c (gfc_unsigned_type): Remove. + * trans-types.h (gfc_unsigned_type): Remove. + +2007-05-12 Paul Thomas + + PR fortran/30746 + * resolve.c (check_host_association): New function that detects + incorrect host association and corrects it. + (gfc_resolve_expr): Call the new function for variables and + functions. + * match.h : Remove prototype for gfc_match_rvalue. + * gfortran.h : Add prototype for gfc_match_rvalue. + +2007-05-11 Paul Thomas + + PR fortran/30876 + * trans-expr.c (gfc_conv_function_call): Reduce indirection for + direct assignments of recursive array valued functions. + * primary.c (gfc_match_rvalue): Correct error for recursive + function calls such that directly recursive calls of scalar + function without an explicit result are disallowed. + +2007-05-11 Paul Thomas + + PR fortran/30878 + * resolve.c (resolve_fl_namelist): It is not an error if the + namelist element is the result variable of the enclosing + function. Search for the symbol in current and all parent + namespaces for a potential conflict. + * symbol.c (check_conflict): Remove the conflict between + 'in_namelist' and 'FL_PROCEDURE' because the symbol info + is not available to exclude function result variables. + * trans-io.c (nml_get_addr_expr): Use the fake result decl + if the symbol is an implicit result variable. + +2007-05-11 Paul Thomas + + PR fortran/31474 + * decl.c (get_proc_name): If an entry has already been declared + as a module procedure, pick up the symbol and the symtree and + use them for the entry. + +2007-05-08 Paul Thomas + + PR fortran/31630 + * resolve.c (resolve_symbol): Remove the flagging mechanism from the + formal namespace resolution and instead check that the formal + namespace is not the current namespace. + +2007-05-08 Paul Thomas + + PR fortran/31692 + * trans-array.c (gfc_conv_array_parameter): Convert full array + references to the result of the procedure enclusing the call. + +2007-05-08 Paul Thomas + + PR fortran/29397 + PR fortran/29400 + * decl.c (add_init_expr_to_sym): Expand a scalar initializer + for a parameter array into an array expression with the right + shape. + * array.c (spec_dimen_size): Remove static attribute. + * gfortran.h : Prototype for spec_dimen_size. + +2007-05-07 Francois-Xavier Coudert + + PR fortran/31399 + * trans-stmt.c (gfc_trans_do): Handle large loop counts. + +2007-05-07 Francois-Xavier Coudert + + PR fortran/31764 + * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified + even for non constant arguments. + +2007-05-06 Jerry DeLisle + Francois-Xavier Coudert + + PR fortran/31201 + * gfortran.h: Add runtime error codes from libgfortran.h. Define + MAX_UNIT_NUMBER. + * trans.c (gfc_trans_runtime_check): Update the format of runtime error + messages to match library runtime errors. Use call to new library + function runtime_error_at(). + * trans.h: Add prototype for new function gfc_trans_io_runtime_check. + Add declaration for library functions runtime_error_at and + generate_error. + * trans_io.c (gfc_trans_io_runtime_check): New function. + (set_parameter_value): Add error checking for UNIT numbers. + (set_parameter_ref): Initialize the users variable to zero. + (gfc_trans_open): Move setting of unit number to after setting of common + flags so that runtime error trapping can be detected. + (gfc_trans_close): Likewise. (build_filepos): Likewise. + (gfc_trans_inquire): Likewise. (build_dt): Likewise. + * trans-decl.c: Add declarations for runtime_error_at and + generate_error. (gfc_build_builtin_function_decls): Build function + declarations for runtime_error_at and generate_error. + +2007-05-06 Paul Thomas + + PR fortran/31540 + * resolve.c (resolve_fl_procedure): Resolve constant character + lengths. + 2007-05-05 Jerry DeLisle PR fortran/31251 @@ -109,7 +2011,7 @@ * trans-array.c (gfc_conv_resolve_dependencies): Create a temp whenever a dependency is found. -2007-04-28 Tobias Schlüter +2007-04-28 Tobias Schlüter * options.c (gfc_handle_option): Ensure requested free form line length is not too small. @@ -204,7 +2106,7 @@ * f95-lang.c (lang_tree_node): Use GENERIC_NEXT instead of checking GIMPLE_STMT_P in chain_next. -2007-04-17 Tobias Schlüter +2007-04-17 Tobias Schlüter * trans-types.h (gfc_packed): New enum. (gfc_get_nodesc_array_type): Change prototype to use new enum. @@ -246,7 +2148,7 @@ * trans-types.h: Likewise. * types.def: Likewise. -2007-04-17 Tobias Schlüter +2007-04-17 Tobias Schlüter PR fortran/31144 * decl.c (gfc_sym_mangled_identifier): Use capital letters in name @@ -298,7 +2200,7 @@ * trans-types.c (copy_dt_decls_ifequal): Do not get pointer derived type components. -2007-04-13 Tobias Schlüter +2007-04-13 Tobias Schlüter PR fortran/18937 * resolve.c: Include obstack.h and bitmap.h. New variable @@ -309,7 +2211,7 @@ (resolve_code): Call reachable_labels. (resolve_codes): Allocate and free labels_obstack. -2007-04-12 Tobias Schlüter +2007-04-12 Tobias Schlüter PR fortran/31250 * decl.c (match_char_spec): Move check for negative CHARACTER @@ -322,7 +2224,7 @@ PR fortran/31234 * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New. -2007-04-12 Tobias Schlüter +2007-04-12 Tobias Schlüter PR fortran/31266 * primary.c (gfc_variable_attr): Don't copy string length if it @@ -448,19 +2350,19 @@ * trans-types.h (gfc_signed_or_unsigned_type): Remove. * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove. -2007-03-30 Tobias Schlüter +2007-03-30 Tobias Schlüter * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally descend into all branches. -2007-03-29 Tobias Schlüter +2007-03-29 Tobias Schlüter * intrinsic.c (conv_name): Let gfc_get_string handle the format. (find_conv): Compare pointers instead of calling strcmp. (find_sym): Likewise, but ensure that the compared pointer is in the global string table. -2007-03-28 Tobias Schlüter +2007-03-28 Tobias Schlüter * gfc-internals.texi: Fix output filename. Merge type index into concept index. Start documentation of gfc_code structure. @@ -545,7 +2447,7 @@ result is correctly cast for character literals and substrings. Do not use gfc_typenode_for_spec for the final cast. -2007-03-22 Tobias Schlüter +2007-03-22 Tobias Schlüter PR fortran/20897 * decl.c (gfc_match_derived_decl): Reliably reject @@ -1022,7 +2924,7 @@ * intrinsic.texi (HOSTNM): Fix typographical error in syntax. (SLEEP): Added section and documentation. -2007-02-11 Tobias Schlüter +2007-02-11 Tobias Schlüter PR fortran/30478 * decl.c (add_init_expr_to_sym): Remove ENUM specific code.