X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=305f91ad35e7deaaa04bae329535da9babcb1c78;hp=e2afd7c55f04e7eb9c0a89636cd2aa8297a12b4a;hb=7b7b9e53fb49163f1dcaa512a6bd4973a9fc500d;hpb=7853829d47bb93172790af18d6744dbeb789d15e;ds=sidebyside diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e2afd7c55f0..305f91ad35e 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,1134 @@ +2005-11-10 Paul Thomas + Steven G. Kargl + + PR fortran/15976 + * resolve.c (resolve_symbol): Disallow automatic arrays in module scope. + +2005-11-10 Paul Thomas + + PR fortran/24655 + PR fortran/24755 + * match.c (recursive_stmt_fcn): Add checks that symtree exists + for the expression to weed out inline intrinsic functions and + parameters. + + PR fortran/24409 + * module.c (mio_symtree_ref): Correct the patch of 0923 so that + a symbol is not substituted for by a the symbol for the module + itself and to prevent the promotion of a formal argument. + +2005-11-10 Tobias Schl"uter + + PR fortran/24643 + * primary.c (match_varspec): Check for implicitly typed CHARACTER + variables before matching substrings. + +2005-11-09 Steven G. Kargl + + * trans-intrinsic.c: Typo in comment. + +2005-11-09 Erik Edelmann + + PR fortran/22607 + * trans-decl.c(build_function_decl): Don't set + DECL_IS_PURE (fndecl) = 1 for return-by-reference + functions. + +2005-11-08 Tobias Schl"uter + + * dump-parse-tree.c: Fix comment typo, add a few blank lines. + +2005-11-07 Steven G. Kargl + + * error.c: Use flag_fatal_error. + * invoke.texi: Remove -Werror from list of options. + +2005-11-06 Paul Thomas + + PR fortran/24534 + * resolve.c (resolve_symbol): Exclude case of PRIVATE declared + within derived type from error associated with PRIVATE type + components within derived type. + + PR fortran/20838 + PR fortran/20840 + * gfortran.h: Add prototype for gfc_has_vector_index. + * io.c (gfc_resolve_dt): Error if internal unit has a vector index. + * expr.c (gfc_has_vector_index): New function to check if any of + the array references of an expression have vector inidices. + (gfc_check_pointer_assign): Error if internal unit has a vector index. + + PR fortran/17737 + * data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE + and replace by a standard dependent warning/error if overwriting an + existing initialization. + * decl.c (gfc_data_variable): Remove old error for already initialized + variable and the unused error check for common block variables. Add + error for hots associated variable and standard dependent error for + common block variables, outside of blockdata. + * symbol.c (check_conflict): Add constraints for DATA statement. + +2005-11-06 Janne Blomqvist + + PR fortran/24174 + PR fortran/24305 + * fortran/trans-io.c (gfc_build_io_library_fndecls): Add kind + argument to transfer_array. + (transfer_array_desc): Add kind argument. + +2005-11-06 Francois-Xavier Coudert + + * intrinsic.c (add_functions): Add ctime and fdate intrinsics. + (add_subroutines): Likewise. + * intrinsic.h: Prototypes for gfc_check_ctime, + gfc_check_ctime_sub, gfc_check_fdate_sub, gfc_resolve_ctime, + gfc_resolve_fdate, gfc_resolve_ctime_sub, gfc_resolve_fdate_sub. + * gfortran.h: Add GFC_ISYM_CTIME and GFC_ISYM_FDATE. + * iresolve.c (gfc_resolve_ctime, gfc_resolve_fdate, + gfc_resolve_ctime_sub, gfc_resolve_fdate_sub): New functions. + * trans-decl.c (gfc_build_intrinsic_function_decls): Add + gfor_fndecl_fdate and gfor_fndecl_ctime. + * check.c (gfc_check_ctime, gfc_check_ctime_sub, + gfc_check_fdate_sub): New functions. + * trans-intrinsic.c (gfc_conv_intrinsic_ctime, + gfc_conv_intrinsic_fdate): New functions. + (gfc_conv_intrinsic_function): Add cases for GFC_ISYM_CTIME + and GFC_ISYM_FDATE. + * intrinsic.texi: Documentation for the new CTIME and FDATE + intrinsics. + * trans.h: Declarations for gfor_fndecl_ctime and gfor_fndecl_fdate. + +2005-11-05 Kazu Hirata + + * decl.c, trans-decl.c: Fix comment typos. + * gfortran.texi: Fix a typo. + +2005-11-05 Francois-Xavier Coudert + + * intrinsic.c (add_functions): Add function version of TTYNAM. + * intrinsic.h: Add prototypes for gfc_check_ttynam and + gfc_resolve_ttynam. + * gfortran.h: Add case for GFC_ISYM_TTYNAM. + * iresolve.c (gfc_resolve_ttynam): New function. + * trans-decl.c (gfc_build_intrinsic_function_decls): Add a tree + for function call to library ttynam. + * check.c (gfc_check_ttynam): New function. + * trans-intrinsic.c (gfc_conv_intrinsic_ttynam): New function. + (): Call gfc_conv_intrinsic_ttynam. + * trans.h: Add prototype for gfor_fndecl_ttynam. + +2005-11-04 Steven G. Kargl + + PR fortran/24636 + * match.c (gfc_match_stopcode): Set stop_code = -1. + +2005-11-04 Francois-Xavier Coudert + + PR fortran/18452 + * lang-specs.h: Pass -lang-fortran to the preprocessor. + +2005-11-02 Andrew Pinski + + PR fortran/18157 + * trans-array.c (gfc_conv_resolve_dependencies): Use the correct + type for the temporary array. + * trans-expr.c (gfc_trans_assignment): Pass lss + instead of lss_section + to gfc_conv_resolve_dependencies to get the + correct type. + +2005-11-02 Tobias Schl"uter + + * decl.c (gfc_match_entry): Function entries don't need an argument + list if there's no RESULT clause. + +2005-11-01 Tobias Schl"uter + + PR fortran/24008 + * decl.c (gfc_match_entry): Function entries need an argument list. + +2005-11-01 Erik Edelmann + + PR 24245 + * trans.c (gfc_generate_code): Move code to create a main + program symbol from here ... + * parse.c (main_program_symbol): ... to this new + function, setting the locus from gfc_current_locus + instead of ns->code->loc. + (gfc_parse_file): Call main_program_symbol for main programs. + +2005-11-01 Tobias Schl"uter + + PR fortran/24404 + * resolve.c (resolve_symbol): Output symbol names in more error + messages, clarify error message. + +2005-11-01 Tobias Schl"uter + + * dump-parse-tree.c (show_symtree): Revert change unintentionally + committed in r106246. + +2005-11-01 Paul Thomas + + PR fortran/21565 + * symbol.c (check_conflict): An object cannot be in a namelist and in + block data. + + PR fortran/18737 + * resolve.c (resolve_symbol): Set the error flag to + gfc_set_default_type, in the case of an external symbol, so that + an error message is emitted if IMPLICIT NONE is set. + + PR fortran/14994 + * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SECNDS to enum. + * check.c (gfc_check_secnds): New function. + * intrinsic.c (add_functions): Add call to secnds. + * iresolve.c (gfc_resolve_secnds): New function. + * trans-intrinsic (gfc_conv_intrinsic_function): Add call to + secnds via case GFC_ISYM_SECNDS. + * intrinsic.texi: Add documentation for secnds. + +2005-10-31 Andreas Schwab + + * Make-lang.in (GFORTRAN_TARGET_INSTALL_NAME): Define. + (GFORTRAN_CROSS_NAME): Remove. + (fortran.install-common): Correctly install a cross compiler. + (fortran.uninstall): Use GFORTRAN_TARGET_INSTALL_NAME instead of + GFORTRAN_CROSS_NAME. + +2005-10-30 Erik Edelmann + + * gfortran.texi: Update contributors. + +2005-10-30 Erik Edelmann + + PR fortran/18883 + * trans-decl.c (gfc_finish_var_decl): Add decl to the + current function, rather than the parent. Make + assertion accept fake result variables. + * trans-expr.c (gfc_conv_variable): If the character + length of an ENTRY isn't set, get the length from + the master function instead. + +2005-10-30 Thomas Koenig + + * gfortran.texi: Remove reservations about I/O usability. Document + that array intrinsics mostly work. + +2005-10-30 Tobias Schl"uter + + * gfortran.texi: Move license stuff to back. Add information + on ENUM and ENUMERATOR. + * invoke.texi: Document -fshort-enums. + +2005-10-30 Gaurav Gautam + Tobias Schl"uter + + * arith.c (gfc_enum_initializer): New function. + (gfc_check_integer_range): Made extern. + * decl.c (enumerator_history): New typedef. + (last_initializer, enum_history, max_enum): New variables. + (create_enum_history, gfc_free_enum_history): New functions. + (add_init_expr_to_sym): Call create_enum_history if parsing ENUM. + (variable_decl): Modified to parse enumerator definition. + (match_attr_spec): Add PARAMETER attribute to ENUMERATORs. + (gfc_match_data_decl): Issues error, if match_type_spec do not + return desired return values. + (set_enum_kind, gfc_match_enum, gfc_match_enumerator_def): New + functions. + (gfc_match_end): Deal with END ENUM. + * gfortran.h (gfc_statement): ST_ENUM, ST_ENUMERATOR, ST_END_ENUM + added. + (symbol_attribute): Bit field for enumerator added. + (gfc_options): Add fshort_enums. + (gfc_enum_initializer, gfc_check_integer_range): Add prototypes. + * options.c: Include target.h + (gfc_init_options): Initialize fshort_enums. + (gfc_handle_option): Deal with fshort_enums. + * parse.c (decode_statement): Match ENUM and ENUMERATOR statement. + (gfc_ascii_statement): Deal with the enumerator statements. + (parse_enum): New function to parse enum construct. + (parse_spec): Added case ST_ENUM. + * parse.h (gfc_compile_state): COMP_ENUM added. + (gfc_match_enum, gfc_match_enumerator_def, gfc_free_enum_history): + Prototype added. + * symbol.c (gfc_copy_attr): Copy enumeration attribute. + * lang.opt (fshort-enums): Option added. + +2005-10-30 Francois-Xavier Coudert + + * check.c (gfc_check_malloc, gfc_check_free): New functions. + * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_MALLOC. + * intrinsic.c (add_functions): Add symbols for MALLOC function. + (add_subroutines): Add symbol for FREE subroutine. + * intrinsic.h: Prototypes for gfc_check_malloc, gfc_check_free, + gfc_resolve_malloc and gfc_resolve_free. + * intrinsic.texi: Add doc for FREE and MALLOC intrinsics. + * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): New + functions. + * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case for + GFC_ISYM_MALLOC. + +2005-10-30 Steven Bosscher + + * gfortran.texi: Update contributors. + +2005-10-29 Steven Bosscher + + * interface.c: Fix previous checkin (an incomplete patch + was commited for me). + +2005-10-29 Joseph S. Myers + + * intrinsic.texi: Remove empty @cindex line. + +2005-10-28 Francois-Xavier Coudert + + * check.c (gfc_check_alarm_sub, gfc_check_signal, + gfc_check_signal_sub): New functions. + * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIGNAL. + * intrinsic.c (add_functions): Add signal intrinsic. + (add_subroutines): Add signal and alarm intrinsics. + * intrinsic.texi: Document the new intrinsics. + * iresolve.c (gfc_resolve_signal, gfc_resolve_alarm_sub, + gfc_resolve_signal_sub): New functions. + * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case + for GFC_ISYM_SIGNAL. + * intrinsic.h: Add prototypes for gfc_check_alarm_sub, + gfc_check_signal, gfc_check_signal_sub, gfc_resolve_signal, + gfc_resolve_alarm_sub, gfc_resolve_signal_sub. + +2005-10-28 Steven Bosscher + + PR fortran/24545 + * interface.c (gfc_match_end_interface): Fix typo in + INTERFACE_USER_OP case. + +2005-10-26 Francois-Xavier Coudert + + PR fortran/15586 + * resolve.c (resolve_symbol): Remove the use of whynot, so that + error messages are not built from pieces. + +2005-10-26 Paul Thomas + + PR fortran/24158 + * decl.c (gfc_match_data_decl): Correct broken bit of code + that prevents undefined derived types from being used as + components of another derived type. + * resolve.c (resolve_symbol): Add backstop error when derived + type variables arrive here with a type that has no components. + +2005-10-25 Jakub Jelinek + + * trans.h (gfc_conv_cray_pointee): Remove. + * trans-expr.c (gfc_conv_variable): Revert 2005-10-24 change. + * trans-array.c (gfc_conv_array_parameter): Likewise. + * trans-decl.c (gfc_conv_cray_pointee): Remove. + (gfc_finish_cray_pointee): New function. + (gfc_finish_var_decl): Use it. Don't return early for Cray + pointees. + (gfc_create_module_variable): Revert 2005-10-24 change. + * decl.c (cray_pointer_decl): Update comment. + * gfortran.texi: Don't mention Cray pointees aren't visible in the + debugger. + + * symbol.c (check_conflict): Add conflict between cray_pointee + and in_common resp. in_equivalence. + * resolve.c (resolve_equivalence): Revert 2005-10-24 change. + + * module.c (ab_attribute): Add AB_CRAY_POINTER and AB_CRAY_POINTEE. + (attr_bits): Likewise. + (mio_symbol_attribute): Save and restore cray_pointe{r,e} attributes. + (mio_symbol): For cray_pointee write/read cp_pointer reference. + +2005-10-25 Feng Wang + + PR fortran/22290 + * trans-decl.c (gfc_add_assign_aux_vars): New function. Add two + auxiliary variables. + (gfc_get_symbol_decl): Use it when a variable, including dummy + argument, is assigned a label. + (gfc_trans_assign_aux_var): New function. Set initial value of + the auxiliary variable explicitly. + (gfc_trans_deferred_vars): Use it. + * trans-stmt.c (gfc_conv_label_variable): Handle dummy argument. + +2005-10-24 Asher Langton + + PR fortran/17031 + PR fortran/22282 + * check.c (gfc_check_loc): New function. + * decl.c (variable_decl): New variables cp_as and sym. Added a + check for variables that have already been declared as Cray + Pointers, so we can get the necessary attributes without adding + a new symbol. + (attr_decl1): Added code to catch pointee symbols and "fix" + their array specs. + (cray_pointer_decl): New method. + (gfc_match_pointer): Added Cray pointer parsing code. + (gfc_mod_pointee_as): New method. + * expr.c (gfc_check_assign): Added a check to catch vector-type + assignments to pointees with an unspecified final dimension. + * gfortran.h: (GFC_ISYM_LOC): New. + (symbol_attribute): Added cray_pointer and cray_pointee bits. + (gfc_array_spec): Added cray_pointee and cp_was_assumed bools. + (gfc_symbol): Added gfc_symbol *cp_pointer. + (gfc_option): Added flag_cray_pointer. + (gfc_add_cray_pointee): Declare. + (gfc_add_cray_pointer ): Declare. + (gfc_mod_pointee_as): Declare. + * intrinsic.c (add_functions): Add code for loc() intrinsic. + * intrinsic.h (gfc_check_loc): Declare. + (gfc_resolve_loc): Declare. + * iresolve.c (gfc_resolve_loc): New. + * lang.opt: Added fcray-pointer flag. + * options.c (gfc_init_options): Initialized. + gfc_match_option.flag_cray_pointer. + (gfc_handle_option): Deal with -fcray-pointer. + * parse.c:(resolve_equivalence): Added code prohibiting Cray + pointees in equivalence statements. + * resolve.c (resolve_array_ref): Added code to prevent bounds + checking for Cray Pointee arrays. + (resolve_equivalence): Prohibited pointees in equivalence + statements. + * symbol.c (check_conflict): Added Cray pointer/pointee + attribute checking. + (gfc_add_cray_pointer): New. + (gfc_add_cray_pointee): New. + (gfc_copy_attr): New code for Cray pointers and pointees. + * trans-array.c (gfc_trans_auto_array_allocation): Added code to + prevent space from being allocated for pointees. + (gfc_conv_array_parameter): Added code to catch pointees and + correctly set their base address. + * trans-decl.c (gfc_finish_var_decl): Added code to prevent + pointee declarations from making it to the back end. + (gfc_create_module_variable): Same. + * trans-expr.c (gfc_conv_variable): Added code to detect and + translate pointees. + (gfc_conv_cray_pointee): New. + * trans-intrinsic.c (gfc_conv_intrinsic_loc): New. + (gfc_conv_intrinsic_function): Added entry point for loc + translation. + * trans.h (gfc_conv_cray_pointee): Declare. + + * gfortran.texi: Added section on Cray pointers, removed Cray + pointers from list of proposed extensions. + * intrinsic.texi: Added documentation for loc intrinsic. + * invoke.texi: Documented -fcray-pointer flag. + +2005-10-24 Asher Langton + + * decl.c (gfc_match_save): Changed duplicate SAVE errors to + warnings in the absence of strict standard conformance + * symbol.c (gfc_add_save): Same. + +2005-10-24 Francois-Xavier Coudert + + PR fortran/15586 + * arith.c (gfc_arith_error): Change message to include locus. + (check_result, eval_intrinsic, gfc_int2int, gfc_real2real, + gfc_real2complex, gfc_complex2real, gfc_complex2complex): Use + the new gfc_arith_error. + (arith_error): Rewrite full error messages instead of building + them from pieces. + * check.c (must_be): Removed. + (type_check, numeric_check, int_or_real_check, real_or_complex_check, + kind_check, double_check, logical_array_check, array_check, + scalar_check, same_type_check, rank_check, kind_value_check, + variable_check, gfc_check_allocated, gfc_check_associated, + gfc_check_cmplx, gfc_check_dcmplx, gfc_check_dot_product, + gfc_check_index, gfc_check_kind, gfc_check_matmul, gfc_check_null, + gfc_check_pack, gfc_check_precision, gfc_check_present, + gfc_check_spread): Rewrite full error messages instead of + building them from pieces. + * decl.c (gfc_match_entry): Rewrite full error messages instead + of building them from pieces. + * parse.c (gfc_state_name): Remove. + * parse.h: Remove prototype for gfc_state_name. + +2005-10-23 Andrew Pinski + + PR fortran/23635 + * check.c (gfc_check_ichar_iachar): Move the code around so + that the check on the length is after check for + references. + +2005-10-23 Asher Langton + + * decl.c (match_type_spec): Add a BYTE type as an extension. + +2005-10-23 Paul Thomas + + PR fortran/18022 + * trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL + if there is a component ref during an array ref to force + use of temporary in assignment. + + PR fortran/24311 + PR fortran/24384 + * fortran/iresolve.c (check_charlen_present): New function to + add a charlen to the typespec, in the case of constant + expressions. + (gfc_resolve_merge, gfc_resolve_spread): Call.the above. + (gfc_resolve_spread): Make calls to library functions that + handle the case of the spread intrinsic with a scalar source. + +2005-10-22 Erik Edelmann + + PR fortran/24426 + * decl.c (variable_decl): Don't assign default initializers to + pointers. + +2005-10-21 Jakub Jelinek + + * interface.c (compare_actual_formal): Issue error when attempting + to pass an assumed-size array as assumed-shape array argument. + +2005-10-20 Erik Edelmann + + PR fortran/21625 + * resolve.c (expr_to_initialize): New function. + (resolve_allocate_expr): Take current statement as new + argument. Add default initializers to variables of + derived types, if they need it. + (resolve_code): Provide current statement as argument to + resolve_allocate_expr(). + +2005-10-19 Paul Thomas + + PR fortran/24440 + * resolve.c (resolve_symbol): Correct error in check for + assumed size array with default initializer by testing + for arrayspec before dereferencing it. + +2005-10-17 Paul Thomas + + PR fortran/23446 + * gfortran.h: Primitive for gfc_is_formal_arg. + * resolve.c(gfc_is_formal_arg): New function to signal across + several function calls that formal argument lists are being + processed. + (resolve_formal_arglist): Set/reset the flag for gfc_is_formal_arg. + *expr.c(check_restricted): Add check, via gfc_is_formal_arg, if + symbol is part of an formal argument declaration. + + PR fortran/21459 + * decl.c (add_init_expr_to_sym): Make a new character + length for each variable, when the expression is NULL + and link to cl_list. + + PR fortran/20866 + * match.c (recursive_stmt_fcn): New function that tests if + a statement function resurses through itself or other other + statement functions. + (gfc_match_st_function): Call recursive_stmt_fcn to check + if this is recursive and to raise error if so. + + PR fortran/20849 + PR fortran/20853 + * resolve.c (resolve_symbol): Errors for assumed size arrays + with default initializer and for external objects with an + initializer. + + PR fortran/20837 + * decl.c (match_attr_spec): Prevent PUBLIC from being used + outside a module. + +2005-10-16 Erik Edelmann + + PR 22273 + * expr.c (check_inquiry): Add "len" to inquiry_function. + +2005-10-14 Jakub Jelinek + + * primary.c (match_boz_constant): Add missing break after gfc_error. + +2005-10-12 Paul Thomas + + PR fortran/24092 + * trans-types.c (gfc_get_derived_type): Insert code to obtain backend + declaration for derived types, building if necessary. Return the + derived type if the fields have been built by this process. Otherwise, + continue as before but using the already obtained backend_decls for the + derived type components. Change the gcc_assert to act on the field. + +2005-10-12 Paul Thomas + + PR fortran/18082 + * decl.c (variable_decl): Make a new copy of the character + length for each variable, when the expression is not a + constant. + +2005-10-12 Francois-Xavier Coudert + + * gfortran.h: Add bitmasks for different FPE traps. Add fpe + member to options_t. + * invoke.texi: Document the new -ffpe-trap option. + * lang.opt: Add -ffpe-trap option. + * options.c (gfc_init_options): Initialize the FPE option. + (gfc_handle_fpe_trap_option): New function to parse the argument + of the -ffpe-trap option. + (gfc_handle_option): Add case for -ffpe-trap. + * trans-decl.c: Declare a tree for the set_fpe library function. + (gfc_build_builtin_function_decls): Build this tree. + (gfc_generate_function_code): Generate a call to set_fpe at + the beginning of the main program. + * trans.h: New tree for the set_fpe library function. + +2005-10-12 Paul Thomas + + PR fortran/20847 + PR fortran/20856 + * symbol.c (check_conflict): Prevent common variables and + function results from having the SAVE attribute,as required + by the standard. + +2005-10-12 Paul Thomas + + PR fortran/24207 + * resolve.c (resolve_symbol): Exclude use and host associated + symbols from the test for private objects in a public namelist. + +2005-10-12 Jakub Jelinek + + * trans-common.c (build_field): Fix comment typo. + (create_common): Set backend_decl of COMMON or EQUIVALENCEd + variables to a VAR_DECL with the COMPONENT_REF in + DECL_HAS_VALUE_EXPR rather than COMPONENT_REF directly. + * f95-lang.c (gfc_expand_function): Emit debug info for + EQUIVALENCEd variables if the equiv union is going to be output. + +2005-10-11 Steven G. Kargl + + PR fortran/20786 + * iresolve.c (gfc_resolve_aint, gfc_resolve_anint): Type conversion + of the argument. + +2005-10-11 Jakub Jelinek + + * f95-lang.c (gfc_init_decl_processing): Initialize + void_list_node. + +2005-10-07 Erik Edelmann + + PR 18568 + * resolve.c (find_array_spec): Search through the list of + components in the symbol of the type instead of the symbol of the + variable. + +2005-10-05 Richard Guenther + + PR fortran/24176 + * parse.c (gfc_parse_file): Exit early for empty files. + +2005-10-03 Steve Ellcey + + * fortran/trans-types.c (gfc_init_kinds): Only pass float, double, + and long double floating point types through to Fortran compiler. + +2005-10-03 Francois-Xavier Coudert + + PR fortran/20120 + * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Add support for long + double builtin function. + (gfc_init_builtin_functions): Add mfunc_longdouble, + mfunc_clongdouble and func_clongdouble_longdouble trees. Build + them for round, trunc, cabs, copysign and pow functions. + * iresolve.c (gfc_resolve_reshape, gfc_resolve_transpose): Add + case for kind 10 and 16. + * trans-decl.c: Add trees for cpowl10, cpowl16, ishftc16, + exponent10 and exponent16. + (gfc_build_intrinsic_function_decls): Build nodes for int16, + real10, real16, complex10 and complex16 types. Build all possible + combinations for function _gfortran_pow_?n_?n. Build function + calls cpowl10, cpowl16, ishftc16, exponent10 and exponent16. + * trans-expr.c (gfc_conv_power_op): Add case for integer(16), + real(10) and real(16). + * trans-intrinsic.c: Add suppport for long double builtin + functions in BUILT_IN_FUNCTION, LIBM_FUNCTION and LIBF_FUNCTION + macros. + (gfc_conv_intrinsic_aint): Add case for integer(16), real(10) and + real(16) kinds. + (gfc_build_intrinsic_lib_fndecls): Add support for real10_decl + and real16_decl in library functions. + (gfc_get_intrinsic_lib_fndecl): Add cases for real and complex + kinds 10 and 16. + (gfc_conv_intrinsic_exponent): Add cases for real(10) and real(16) + kinds. + (gfc_conv_intrinsic_sign): Likewise. + (gfc_conv_intrinsic_ishftc): Add case for integer(16) kind. + * trans-types.c (gfc_get_int_type, gfc_get_real_type, + gfc_get_complex_type, gfc_get_logical_type): Doesn't error out in + the case of kinds not available. + * trans.h: Declare trees for cpowl10, cpowl16, ishftc16, + exponent10 and exponent16. + +2005-10-01 Paul Thomas + + PR fortran/16404 + PR fortran/20835 + PR fortran/20890 + PR fortran/20899 + PR fortran/20900 + PR fortran/20901 + PR fortran/20902 + * gfortran.h: Prototype for gfc_add_in_equivalence. + * match.c (gfc_match_equivalence): Make a structure component + an explicit,rather than a syntax, error in an equivalence + group. Call gfc_add_in_equivalence to add the constraints + imposed in check_conflict. + * resolve.c (resolve_symbol): Add constraints: No public + structures with private-type components and no public + procedures with private-type dummy arguments. + (resolve_equivalence_derived): Add constraint that prevents + a structure equivalence member from having a default + initializer. + (sequence_type): New static function to determine whether an + object is default numeric, default character, non-default + or mixed sequence. Add corresponding enum typespec. + (resolve_equivalence): Add constraints to equivalence groups + or their members: No more than one initialized member and + that different types are not equivalenced for std=f95. All + the simple constraints have been moved to check_conflict. + * symbol.c (check_conflict): Simple equivalence constraints + added, including those removed from resolve_symbol. + (gfc_add_in_equivalence): New function to interface calls + match_equivalence to check_conflict. + +2005-09-27 Jakub Jelinek + + PR fortran/18518 + * trans-common.c (build_equiv_decl): Add IS_SAVED argument. + If it is true, set TREE_STATIC on the decl. + (create_common): If any symbol in equivalence has SAVE attribute, + pass true as last argument to build_equiv_decl. + +2005-09-24 Janne Blomqvist + + * trans-io.c (gfc_build_io_library_fndecls): Add entry + iocall_x_array for transfer_array. + (transfer_array_desc): New function. + (gfc_trans_transfer): Add code to call transfer_array_desc. + +2005-09-26 Jakub Jelinek + + PR fortran/23677 + * symbol.c (gfc_is_var_automatic): Return true if character length + is non-constant rather than constant. + * resolve.c (gfc_resolve): Don't handle !gfc_option.flag_automatic + here. + * options.c (gfc_post_options): Set gfc_option.flag_max_stack_var_size + to 0 for -fno-automatic. + +2005-09-23 Paul Thomas + + PR fortran/16861 + * module.c (mio_component_ref): Return if the symbol is NULL + and wait for another iteration during module reads. + (mio_symtree_ref): Suppress the writing of contained symbols, + when a symbol is available in the main namespace. + (read_module): Restrict scope of special treatment of contained + symbols to variables only and suppress redundant call to + find_true_name. + +2005-09-22 Steven G. Kargl + + PR fortran/24005 + * interface.c (check_interface1): Fix NULL dereference. + +2005-09-22 Erik Edelmann + + PR fortran/23843 + * resolve.c (derived_inaccessible): New function. + (resolve_transfer): Use it to check for private + components. + +2005-09-22 Steven G. Kargl + + PR fortran/23516 + * intrinsic.c (add_function): Add IMAG, IMAGPART, and REALPART + intrinsics. + * intrinsic.h: Prototypes for gfc_simplify_realpart and + gfc_resolve_realpart. + * intrinsic.texi: Document intrinsic procedures. + * simplify.c (gfc_simplify_realpart): New function. + * irseolve.c (gfc_resolve_realpart): New function. + +2005-09-21 Erik Edelmann + + PR fortran/19929 + * trans-stmt.c (gfc_trans_deallocate): Check if the + object to be deallocated is an array by looking at + expr->rank instead of expr->symtree->n.sym->attr.dimension. + +2005-09-20 Tobias Schl"uter + + PR fortran/23420 + * io.c (resolve_tag): Don't allow non-CHARACTER constants as formats. + (match_io): Fix usage of gfc_find_symbol. + +2005-09-20 Jakub Jelinek + + PR fortran/23663 + * primary.c (match_actual_arg): Handle ENTRY the same way + as FUNCTION. + +2005-09-18 Francois-Xavier Coudert + + * Make-lang.in: Make check-fortran alias for check-gfortran. + +2005-09-18 Andreas Jaeger + + * module.c (read_module): Add missed line from last patch. + +2005-09-18 Erik Edelmann + + PR fortran/15975 + * resolve.c (resolve_symbol): Don't assign default + initializer to pointers. + +2005-09-18 Paul Thomas + + PR fortran/16861 + * module.c (read_module): Give symbols from module procedures + different true_name entries to those from the module proper. + +2005-09-17 Francois-Xavier Coudert + + PR fortran/15586 + * arith.c (gfc_arith_error): Add translation support for error + messages. + * array.c (gfc_match_array_ref): Likewise. + (gfc_match_array_spec): Likewise. + * check.c (must_be): Add msgid convention to third argument. + (same_type_check): Add translation support for error message. + (rank_check): Likewise. + (kind_value_check): Likewise. + (gfc_check_associated): Correct typo. + (gfc_check_reshape): Add translation support for error message. + (gfc_check_spread): Likewise. + * error.c (error_printf): Add nocmsgid convention to argument. + (gfc_warning, gfc_notify_std, gfc_warning_now, gfc_warning_check) + (gfc_error, gfc_error_now): Likewise. + (gfc_status): Add cmsgid convention to argument. + * expr.c (gfc_extract_int): Add translation support for error + messages. + (gfc_check_conformance): Add msgid convention to argument. + (gfc_check_pointer_assign): Correct tabbing. + * gfortran.h: Include intl.h header. Remove prototype for gfc_article. + * gfortranspec.c: Include intl.h header. + (lang_specific_driver): Add translation support for --version. + * io.c (check_format): Add translation support for error message. + (format_item_1): Likewise. + (data_desc): Likewise. + * matchexp.c: Likewise. + * misc.c (gfc_article): Remove function. + * module.c (bad_module): Use msgid convention. Add translation support + for error messages. + (require_atom): Add translation support for error messages. + * parse.c (gfc_ascii_statement): Likewise. + (gfc_state_name): Likewise. + * primary.c (match_boz_constant): Reorganise error messages for + translations. + * resolve.c (resolve_entries): Likewise. + (resolve_operator): Add translation support for error messages. + (gfc_resolve_expr): Use msgid convention. Reorganise error messages + for translations. + (resolve_symbol): Add translation support for error messages. + * symbol.c (gfc_add_procedure): Remove use of gfc_article function. + * trans-const.c (gfc_build_string_const): Use msgid convention. + +2005-09-16 Paul Brook + + PR fortran/23906 + * dependency.c (transform_sections): Divide by correct value. + Elaborate comment. + +2005-09-14 Paul Thomas + + PR fortran/21875 Internal Unit Array I/O, NIST + * fortran/trans-io.c (gfc_build_io_library_fndecls): Add field for + array descriptor to IOPARM structure. + * fortran/trans-io.c (set_internal_unit): New function to generate code + to store the character (array) and the character length for an internal + unit. + * fortran/trans-io (build_dt): Use the new function set_internal_unit. + +2005-09-14 Paul Thomas + + PR fortran/19358 + * trans-array.c (gfc_trans_dummy_array_bias): correct the typo + which uses dim[i].upper for lbound, rather than dim[i].lower. + +2005-09-13 Erik Edelmann + + PR fortran/17740 + * trans-expr.c (gfc_trans_arrayfunc_assign): Check value + of attr.elemental for specific function instead of generic name. + +2005-09-13 Richard Sandiford + + PR fortran/18899 + * trans-intrinsic.c (gfc_conv_intrinsic_bound): Move initialization + of argse. Remove now-redundant want_pointer assignment. + * trans-array.c (gfc_conv_expr_descriptor): When not assigning to + a pointer, keep the original bounds of a full array reference. + +2005-09-13 Richard Sandiford + + PR target/19269 + * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift) + (gfc_resolve_pack, gfc_resolve_reshape, gfc_resolve_spread) + (gfc_resolve_transpose, gfc_resolve_unpack): Add "_char" to the name + for character-based operations. + (gfc_resolve_pack): Remove ATTRIBUTE_UNUSED from array argument. + (gfc_resolve_unpack): Copy the whole typespec from the vector. + * trans-array.c (gfc_conv_expr_descriptor): In the EXPR_FUNCTION + case, get the string length from the scalarization state. + +2005-09-14 Francois-Xavier Coudert + + * Make-lang.in: Change targets prefixes from f95 to fortran. + * config-lang.in: Change language name to "fortran". + * lang.opt: Change language name to "fortran". + * options.c: Change CL_F95 to CL_Fortran. + +2005-09-09 Thomas Koenig + + gfortran.texi: Document IOSTAT= specifier. + +2005-09-09 Thomas Koenig + + * gfortran.h: Add iomsg to gfc_open, gfc_close, gfc_filepos, + gfc_inquire and gfc_dt. + * dump-parse-tree.c (gfc_show_code_node): Add iomsg + for open, close, file positioning, inquire and namelist. + * io.c (io_tag): Add tag_iomsg. + (resolve_tag): Add standards warning for iomsg. + (match_open_element): Add iomsg. + (gfc_free_open): Add iomsg. + (gfc_resolve_open): Add iomsg. + (gfc_free_close): Add iomsg. + (match_close_element): Add iomsg. + (gfc_resolve_close): Add iomsg. + (gfc_free_filepos): Add iomsg. + (match_file_element): Add iomsg. + (gfc_resolve_filepos): Add iostat and iomsg. + (match-dt_element): Add iomsg. + (gfc_free_dt): Add iomsg. + (gfc_resolve_dt): Add iomsg. + (gfc_free_inquire): Add iomsg. + (match_inquire_element): Add iomsg. + (gfc_resolve_inquire): Add iomsg. + * trans_io.c: Add ioparm_iomsg and ioparm_iomsg_len. + (gfc_build_io_library_fndecls): Add iomsg as last field. + (gfc_trans_open): Add iomsg. + (gfc_trans_close): Add iomsg. + (build_fileos): Call set_string for iomsg. + (gfc_trans_inquire): Add iomsg. + (build_dt): Add iomsg. + +2005-09-09 Richard Sandiford + + * match.h (gfc_match_equiv_variable): Declare. + +2005-09-09 Richard Sandiford + + PR fortran/19239 + * Makefile.in (fortran/trans-expr.o): Depend on dependency.h. + * dependency.h (gfc_ref_needs_temporary_p): Declare. + * dependency.c (gfc_ref_needs_temporary_p): New function. + (gfc_check_fncall_dependency): Use it instead of inlined check. + By so doing, take advantage of the fact that character substrings + within an array reference also need a temporary. + * trans.h (GFC_SS_VECTOR): Adjust comment. + * trans-array.c (gfc_free_ss): Remove GFC_SS_VECTOR case. + (gfc_set_vector_loop_bounds): New function. + (gfc_add_loop_ss_code): Call it after evaluating the subscripts of + a GFC_SS_SECTION. Deal with the GFC_SS_VECTOR case by evaluating + the vector expression and caching its descriptor for use within + the loop. + (gfc_conv_array_index_ref, gfc_conv_vector_array_index): Delete. + (gfc_conv_array_index_offset): Handle scalar, vector and range + dimensions as separate cases of a switch statement. In the vector + case, use the loop variable to calculate a vector index and use the + referenced element as the dimension's index. Perform bounds checking + on this final index. + (gfc_conv_section_upper_bound): Return null for vector indexes. + (gfc_conv_section_startstride): Give vector indexes a start value + of 0 and a stride of 1. + (gfc_conv_ss_startstride): Adjust for new GFC_SS_VECTOR representation. + (gfc_conv_expr_descriptor): Expand comments. Generalize the + handling of the !want_pointer && !direct_byref case. Use + gfc_ref_needs_temporary_p to decide whether the variable case + needs a temporary. + (gfc_walk_variable_expr): Handle DIMEN_VECTOR by creating a + GFC_SS_VECTOR index. + * trans-expr.c: Include dependency.h. + (gfc_trans_arrayfunc_assign): Fail if the target needs a temporary. + +2005-09-09 Richard Sandiford + + PR fortran/21104 + * trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved + from trans-expr.c. + (gfc_init_interface_mapping, gfc_free_interface_mapping) + (gfc_add_interface_mapping, gfc_finish_interface_mapping) + (gfc_apply_interface_mapping): Declare. + * trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare. + (gfc_trans_allocate_temp_array): Add pre and post block arguments. + * trans-array.c (gfc_set_loop_bounds_from_array_spec): New function. + (gfc_trans_allocate_array_storage): Replace loop argument with + separate pre and post blocks. + (gfc_trans_allocate_temp_array): Add pre and post block arguments. + Update call to gfc_trans_allocate_array_storage. + (gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new + interface to gfc_trans_allocate_temp_array. + * trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping): + Moved to trans.h. + (gfc_init_interface_mapping, gfc_free_interface_mapping) + (gfc_add_interface_mapping, gfc_finish_interface_mapping) + (gfc_apply_interface_mapping): Make extern. + (gfc_conv_function_call): Build an interface mapping for array + return values too. Call gfc_set_loop_bounds_from_array_spec. + Adjust call to gfc_trans_allocate_temp_array so that code is + added to SE rather than LOOP. + +2005-09-09 Richard Sandiford + + PR fortran/12840 + * trans.h (gfor_fndecl_internal_realloc): Declare. + (gfor_fndecl_internal_realloc64): Declare. + * trans-decl.c (gfor_fndecl_internal_realloc): New variable. + (gfor_fndecl_internal_realloc64): New variable. + (gfc_build_builtin_function_decls): Initialize them. + * trans-array.h (gfc_trans_allocate_temp_array): Add a fourth argument. + * trans-array.c (gfc_trans_allocate_array_storage): Add an argument + to say whether the array can grow later. Don't allocate the array + on the stack if so. Don't call malloc for zero-sized arrays. + (gfc_trans_allocate_temp_array): Add a similar argument here. + Pass it along to gfc_trans_allocate_array_storage. + (gfc_get_iteration_count, gfc_grow_array): New functions. + (gfc_iterator_has_dynamic_bounds): New function. + (gfc_get_array_constructor_element_size): New function. + (gfc_get_array_constructor_size): New function. + (gfc_trans_array_ctor_element): Replace pointer argument with + a descriptor tree. + (gfc_trans_array_constructor_subarray): Likewise. Take an extra + argument to say whether the variable-sized part of the constructor + must be allocated using realloc. Grow the array when this + argument is true. + (gfc_trans_array_constructor_value): Likewise. + (gfc_get_array_cons_size): Delete. + (gfc_trans_array_constructor): If the loop bound has not been set, + split the allocation into a static part and a dynamic part. Set + loop->to to the bounds for static part before allocating the + temporary. Adjust call to gfc_trans_array_constructor_value. + (gfc_conv_loop_setup): Allow any constructor to determine the + loop bounds. Check whether the constructor has a dynamic size + and prefer to use something else if so. Expect the loop bound + to be set later. Adjust call to gfc_trans_allocate_temp_array. + * trans-expr.c (gfc_conv_function_call): Adjust another call here. + +2005-09-09 Paul Thomas + + PR fortran/18878 + * module.c (find_use_name_n): Based on original + find_use_name. Either counts number of use names for a + given real name or returns use name n. + (find_use_name, number_use_names): Interfaces to the + function find_use_name_n. + (read_module): Add the logic and calls to these functions, + so that mutiple reuses of the same real name are loaded. + +2005-09-09 Paul Thomas + + PR fortran/22304 + PR fortran/23270 + PR fortran/18870 + PR fortran/16511 + PR fortran/17917 + * gfortran.h: Move definition of BLANK_COMMON_NAME from trans- + common.c so that it is accessible to module.c. Add common_head + field to gfc_symbol structure. Add field for the equivalence + name AND new attr field, in_equivalence. + * match.c (gfc_match_common, gfc_match_equivalence): In loops + that flag common block equivalences, emit an error if the + common blocks are different, using sym->common_head as the + common block identifier. Ensure that symbols that are equivalence + associated with a common block are marked as being in_common. + * module.c (write_blank_common): New. + (write_common): Use unmangled common block name. + (load_equiv): New function ported from g95. + (read_module): Call load_equiv. + (write_equiv): New function ported from g95. Correct + string referencing for gfc functions. Give module + equivalences a unique name. + (write_module): Call write_equiv and write_blank_common. + * primary.c (match_variable) Old gfc_match_variable, made + static and third argument provided to indicate if parent + namespace to be visited or not. + (gfc_match_variable) New. Interface to match_variable. + (gfc_match_equiv_variable) New. Interface to match_variable. + * trans-common.c (finish_equivalences): Provide the call + to create_common with a gfc_common_header so that + module equivalences are made external, rather than local. + (find_equivalences): Ensure that all members in common block + equivalences are marked as used. This prevents the subsequent + call to this function from making local unions. + * trans-decl.c (gfc_generate_function_code): Move the call to + gfc_generate_contained_functions to after the call to + gfc_trans_common so the use-associated, contained common + blocks produce the correct references. + (gfc_create_module_variable): Return for equivalenced symbols + with existing backend declaration. + +2005-09-08 Tobias Schl"uter + + PR fortran/23765 + * match.c (gfc_match_common): Remove unnecessary / wrong special + cases for end-of-statement. + +2005-09-08 Janne Blomqvist + + * gfortran.texi: Add section about implemented F2003 features. + +2005-09-08 Richard Sandiford + + PR fortran/15326 + * trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in + the GFC_SS_FUNCTION case too. + * trans-expr.c (gfc_conv_function_val): Allow symbols to be bound + to function pointers as well as function decls. + (gfc_interface_sym_mapping, gfc_interface_mapping): New structures. + (gfc_init_interface_mapping, gfc_free_interface_mapping) + (gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array) + (gfc_set_interface_mapping_bounds, gfc_add_interface_mapping) + (gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons) + (gfc_apply_interface_mapping_to_ref) + (gfc_apply_interface_mapping_to_expr) + (gfc_apply_interface_mapping): New functions. + (gfc_conv_function_call): Evaluate the arguments before working + out where the result should go. Make the null pointer case provide + the string length in parmse.string_length. Cope with non-constant + string lengths, using the above functions to evaluate such lengths. + Use a temporary typespec; don't assign to sym->cl->backend_decl. + Don't assign to se->string_length when returning a cached array + descriptor. + +2005-09-08 Richard Sandiford + + PR fortran/19928 + * trans-array.c (gfc_conv_array_ref): Call gfc_advance_se_ss_chain + after handling scalarized references. Make "indexse" inherit from + "se" when handling AR_ELEMENTs. + (gfc_walk_variable_expr): Add GFC_SS_SCALAR entries for each + substring or scalar reference that follows an array section. + * trans-expr.c (gfc_conv_variable): When called from within a + scalarization loop, start out with "ref" pointing to the scalarized + part of the reference. Don't call gfc_advance_se_ss_chain here. + 2005-09-07 Richard Sandiford PR fortran/23373 @@ -177,9 +1308,9 @@ * scanner.c (preprocessor_line): Don't write beyond the end of flag buffer. -2005-08-07 Janne Blomqvist +2005-08-07 Janne Blomqvist - PR fortran/22390 + PR fortran/22390 * dump-parse-tree.c (gfc_show_code_node): Add case for FLUSH. * gfortran.h: Add enums for FLUSH. * io.c (gfc_free_filepos,match_file_element,match_filepos): Modify @@ -356,7 +1487,7 @@ Don't clear maskindexes here. 2005-07-08 Daniel Berlin - + * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN is removed. @@ -468,7 +1599,7 @@ * all files: Update FSF address in copyright headers. -2005-06-24 Jerry DeLisle +2005-06-24 Jerry DeLisle PR fortran/21915 * gfortran.h: Add symbols for new intrinsic functions. @@ -525,7 +1656,7 @@ in a warning message. 2005-06-18 Erik Edelman - Steven G. Kargl + Steven G. Kargl PR fortran/19926 * primary.c (gfc_match_rvalue): expr_type can be EXPR_CONSTANT @@ -587,7 +1718,7 @@ (gfc_return_by_reference): Always look at sym, never at sym->result. 2005-06-11 Steven G. Kargl - + PR fortran/17792 PR fortran/21375 * trans-array.c (gfc_array_deallocate): pstat is new argument @@ -597,7 +1728,7 @@ * trans-decl.c (gfc_build_builtin_function_decls): update declaration * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature. -2005-06-07 Jerry DeLisle +2005-06-07 Jerry DeLisle * intrinsic.texi: Add documentation for dcmplx, digits, dim, idim, ddim, dot_product, dprod, dreal, and dtime. @@ -617,7 +1748,7 @@ PR fortran/19195 * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment, - remove FIXME comment. + remove FIXME comment. 2005-06-04 Tobias Schl"uter @@ -630,7 +1761,7 @@ * array.c (gfc_match_array_constructor): Disallow empty array constructor. -2005-06-03 Jerry DeLisle +2005-06-03 Jerry DeLisle * fortran/intrinsic.texi: Add documentation for command_argument_count, conjg, dconjg, count, @@ -735,7 +1866,7 @@ 2005-05-29 Janne Blomqvist Steven G. Kargl - + fortran/PR20846 * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage. @@ -778,11 +1909,11 @@ 2005-05-18 Thomas Koenig PR libfortran/21127 - * fortran/iresolve.c (gfc_resolve_reshape): Add + * fortran/iresolve.c (gfc_resolve_reshape): Add gfc_type_letter (BT_COMPLEX) for complex to to resolved function name. -2005-05-18 Erik Edelmann +2005-05-18 Erik Edelmann * array.c (gfc_match_array_constructor): Support [ ... ] style array constructors. @@ -837,15 +1968,15 @@ (gfc_trans_where_2): Initialize mask indexes before calling gfc_trans_nested_forall_loop. -2005-05-15 Feng Wang - Jerry DeLisle +2005-05-15 Feng Wang + Jerry DeLisle PR fortran/17432 - * trans-stmt.c (gfc_trans_label_assign): fix pointer type, to + * trans-stmt.c (gfc_trans_label_assign): fix pointer type, to resolve ICE on assign of format label. * trans-io.c (set_string): add fold-convert to properly handle assigned format label in write. - + 2005-05-13 Paul Brook * trans-stmt.c (gfc_trans_forall_1): Fix comment typo. @@ -877,7 +2008,7 @@ * options.c (gfc-init_options): Set default calling convention to -fno-f2c. Mark -fsecond-underscore unset. (gfc_post_options): Set -fsecond-underscore if not explicitly set - by user. + by user. (handle_options): Set gfc_option.flag_f2c according to requested calling convention. * trans-decl.c (gfc_get_extern_function_decl): Use special f2c @@ -957,7 +2088,7 @@ * gfortran.h (gfc_namespace): Add seen_implicit_none field, Tobias forgot this in previous commit. - + 2005-04-29 Paul Brook * trans-expr.c (gfc_conv_expr_present): Fix broken assert. Update @@ -1033,7 +2164,7 @@ * resolve.c (resolve_variable): If e->symtree is not set, this ought to be a FAILURE, and not a segfault. -2005-04-17 Paul Thomas +2005-04-17 Paul Thomas PR fortran/17472 PR fortran/18209 @@ -1044,11 +2175,11 @@ declaration for st_set_nml_var and st_set_nml_var_dim. Remove declarations of old namelist functions. (build_dt): Simplified call to transfer_namelist_element. - (nml_get_addr_expr): Generates address expression for start of + (nml_get_addr_expr): Generates address expression for start of object data. New function. - (nml_full_name): Qualified name for derived type components. New + (nml_full_name): Qualified name for derived type components. New function. - (transfer_namelist_element): Modified for calls to new functions + (transfer_namelist_element): Modified for calls to new functions and improved derived type handling. 2005-04-17 Richard Guenther @@ -1134,7 +2265,7 @@ 2005-04-06 Steven G. Kargl - * invoke.texi: Remove documentation of -std=f90 + * invoke.texi: Remove documentation of -std=f90 2005-04-06 Tobias Schl"uter @@ -1182,7 +2313,7 @@ * gfortran.h (option_t): Change d8, i8, r8 to flag_default_double, flag_default_integer, flag_default_real * invoke.texi: Update documentation - * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8 + * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8 fdefault-integer-8, and fdefault-real-8 definitions. * options.c (gfc_init_options): Set option defaults (gfc_handle_option): Handle command line options. @@ -1630,7 +2761,7 @@ gfc_match_null, match_type_spec, match_attr_spec, gfc_match_formal_arglist, match_result, gfc_match_function_decl): Update callers to match. - (gfc_match_entry) : Likewise, fix comment typo. + (gfc_match_entry): Likewise, fix comment typo. (gfc_match_subroutine, attr_decl1, gfc_add_dimension, access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc, gfc_match_derived_decl): Update callers. @@ -1781,7 +2912,7 @@ unsigned issue. Use build_int_cst instead of converting integer_zero_node. Remove unnecessary conversion. - * trans-types.c (gfc_get_character_type_len): : Use + * trans-types.c (gfc_get_character_type_len): Use gfc_charlen_type_node as basic type for the range field. * trans-intrinsic.c (build_fixbound_expr, @@ -2456,7 +3587,7 @@ * gfortran.texi: Fix a typo. -2004-09-15 Aaron W. LaFramboise +2004-09-15 Aaron W. LaFramboise * parse.c (eof_buf): Rename eof to eof_buf. (unexpected_eof): Same. @@ -3849,7 +4980,7 @@ unused variables if they're use associated. 2004-06-14 Tobias Schlueter - Andrew Vaught + Andrew Vaught PR fortran/14928 * gfortran.h (gfc_check_f): Add new field f3ml. @@ -4216,7 +5347,7 @@ * arith.c: Fix comment typos. -2004-05-15 Tobias Schlueter +2004-05-15 Tobias Schlueter PR fortran/13742 * decl.c (add_init_expr_to_sym): Verify that COMMON variable is @@ -4319,7 +5450,7 @@ * decl.c (variable_decl): Always apply default initializer. -2004-05-08 Tobias Schlüter +2004-05-08 Tobias Schlüter PR fortran/15206 * trans-intrinsic.c (gfc_conv_intrinsic_rrspacing): Fixed to @@ -4403,20 +5534,20 @@ * primary.c (match_digits, match_integer_constant): Add comment explaining signflag. -2004-05-01 Tobias Schlüter +2004-05-01 Tobias Schlüter PR fortran/13940 * primary.c: Include system.h and flags.h, needed for pedantic. (match_boz_constant): Allow "x" for hexadecimal constants, warn if pedantic is set. -2004-05-01 Tobias Schlüter +2004-05-01 Tobias Schlüter PR fortran/13940 * match.c (match_data_constant): Handle case where gfc_find_symbol sets sym to NULL -2004-04-28 Tobias Schlüter +2004-04-28 Tobias Schlüter * Make-lang.in (f95-lang.o, trans-intrinsic.o): Add missing dependency on mathbuiltins.def @@ -4727,7 +5858,7 @@ * resolve.c (resolve_branch): Get error message right way round. -2004-01-10 Canqun Yang +2004-01-10 Canqun Yang * trans-array (gfc_conv_loop_setup): Adjust comment to track reality. @@ -4816,7 +5947,7 @@ (GFC_DECL_ASSIGN_ADDR(node)): New macro to access this. (GFC_DECL_ASSIGN(node)): New macro to access flag. -2003-12-31 Huang Chun +2003-12-31 Huang Chun PR fortran/13434 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Fixed bug in @@ -4833,7 +5964,7 @@ * trans-expr.c (gfc_conv_expr_op): Fold the result expression. * trans.c (gfc_add_modify_expr, gfc_add_expr_to_block): Likewise. -2003-12-12 Huang Chun +2003-12-12 Huang Chun * primary.c (match_substring): Fix substring bug for start point or end point is NULL. @@ -4878,7 +6009,7 @@ * io.c (gfc_match_format): Check for missing format label. -2003-11-30 Huang Chun +2003-11-30 Huang Chun PR fortran/13155 * trans-decl.c (gfc_sym_mangled_function_id): Don't mangle symbols @@ -4914,7 +6045,7 @@ * trans.c (gfc_create_var_np): Use create_tmp_var_raw. -2003-11-28 Huang Chun +2003-11-28 Huang Chun * trans.h (has_alternate_specifier): New global variable. * match.c (gfc_match_call): Handle actual arguments associated with @@ -7335,7 +8466,7 @@ NON_LVALUE_EXPR. * trans-stmt.c (g95_trans_arithmetic_if): Implement this. -2002-09-18 Steven Bosscher +2002-09-18 Steven Bosscher * Make-lang.in (F95_ADDITIONAL_OBJS): Add tree-ssa-dce.o @@ -7413,7 +8544,7 @@ * trans-intrinsic.c: Implement PRODUCT, COUNT. MINLOC and MAXLOC intrinsics. -2002-09-02 Steven Bosscher +2002-09-02 Steven Bosscher * trans-array.c, trans-types.c: Add rank information to descriptor. @@ -7430,7 +8561,7 @@ * trans-types.c (g95_init_types): Always name integer and char types. (g95_get_array_type_bounds): TYPE_NAME may be a TYPE_DECL. -2002-09-02 Steven Bosscher +2002-09-02 Steven Bosscher * Make-lang.in: Add options.c to F95_PARSER_OBJS