X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=da57e97dfc92d690ab3cce97f87e7a7da5d0a558;hp=4fe971a94b659fd5650f831b5847e32b4f8109c5;hb=43f806841f501262fa771c270d11b64335283e90;hpb=fe06c0d5a84d750acde9d5b1b2209e9fb608e7f8 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 4fe971a94b6..da57e97dfc9 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,653 @@ +2005-06-20 Steven G. Kargl + + * intrinsic.c (check_intrinsic_standard): Fix spelling error + in a warning message. + +2005-06-18 Erik Edelman + Steven G. Kargl + + PR fortran/19926 + * primary.c (gfc_match_rvalue): expr_type can be EXPR_CONSTANT + for an array; check that sym->as is NULL. + + +2005-06-18 Steven G. Kargl + + * intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic + functions whose simplification routine return FAILURE. + +2005-06-13 Geoffrey Keating + + * Make-lang.in (fortran.install-man): Doesn't depend on installdirs. + (rule for installing f95.1 manpage): Does depend on installdirs. + +2005-06-13 Jakub Jelinek + + PR fortran/22038 + * trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex + in the innermost loop. + +2005-06-12 Richard Henderson + + * trans-array.c (gfc_conv_descriptor_data_get): Rename from + gfc_conv_descriptor_data. Cast the result to the DATAPTR type. + (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): New. + (gfc_trans_allocate_array_storage): Use them. + (gfc_array_allocate, gfc_array_deallocate): Likewise. + (gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor): Likewise. + (gfc_trans_deferred_array): Likewise. + * trans-expr.c (gfc_conv_function_call): Likewise. + (gfc_trans_subcomponent_assign): Likewise. + (gfc_trans_pointer_assignment): Likewise. + * trans-intrinsic.c (gfc_conv_allocated): Likewise. + * trans-types.c (gfc_array_descriptor_base): New. + (gfc_get_element_type): Use GFC_TYPE_ARRAY_DATAPTR_TYPE. + (gfc_get_array_descriptor_base): Break out from ... + (gfc_get_array_type_bounds): ... here. Create type variants. + * trans-array.h (gfc_conv_descriptor_data_get): Declare. + (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare. + +2005-06-12 Tobias Schl"uter + + * trans-expr.c (gfc_conv_variable): POINTER results don't need f2c + calling conventions. Look at sym instead of sym->result. + * trans-types.c (gfc_sym_type): Remove workaround for frontend bug. + Remove condition which is always false with workaround removed. + (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 + (gfc_array_allocate): update gfc_array_deallocate() call. + (gfc_trans_deferred_array): ditto. + * trans-array.h: update gfc_array_deallocate() prototype. + * trans-decl.c (gfc_build_builtin_function_decls): update declaration + * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature. + +2005-06-07 Jerry DeLisle + + * intrinsic.texi: Add documentation for dcmplx, digits, + dim, idim, ddim, dot_product, dprod, dreal, and dtime. + +2005-06-05 Tobias Schl"uter + + PR fortran/21912 + * trans-array.c (gfc_trans_array_constructor_value): Slightly reorder. + Generate correct exit condition in case of negative steps in + implied-do loops. + + * invoke.texi: Fix description of flags required for compatibility + with g77. + +2005-06-04 Tobias Schl"uter + Erik Schnetter + + PR fortran/19195 + * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment, + remove FIXME comment. + +2005-06-04 Tobias Schl"uter + + * match.c (match_forall_iterator): Don't immediately give error if '=' + is not followed by an expression. + +2005-06-04 Tobias Schl"uter + Erik Edelmann + + * array.c (gfc_match_array_constructor): Disallow empty array + constructor. + +2005-06-03 Jerry DeLisle + + * fortran/intrinsic.texi: Add documentation for + command_argument_count, conjg, dconjg, count, + cpu_time, cshift, date_and_time, dble, dfloat. + +2005-06-01 Roger Sayle + + * intrinsic.c (add_conv): No longer take a "simplify" argument as + its always gfc_convert_constant, instead take a "standard" argument. + (add_conversions): Change all existing calls of add_conv to pass + GFC_STD_F77 as appropriate. Additionally, if we're allowing GNU + extensions support integer-logical and logical-integer conversions. + (gfc_convert_type_warn): Warn about use the use of these conversions + as a extension when appropriate, i.e. with -pedantic. + * simplify.c (gfc_convert_constant): Add support for integer to + logical and logical to integer conversions, using gfc_int2log and + gfc_log2int. + * arith.c (gfc_log2int, gfc_int2log): New functions. + * arith.h (gfc_log2int, gfc_int2log): Prototype here. + * gfortran.texi: Document this new GNU extension. + +2005-06-01 Paul Thomas + + * fortran/trans-expr.c (gfc_conv_variable): Clean up bracketting. + * fortran/trans-expr.c (gfc_conv_function_call): Insert spaces. + Correct comments and replace convert of integer_one_node with + build_int_cst. + +2005-06-01 Jakub Jelinek + + PR fortran/21729 + * resolve.c (resolve_contained_fntype): Use sym->attr.untyped + to avoid giving error multiple times. + (resolve_entries): Don't error about BT_UNKNOWN here. + (resolve_unknown_f): Capitalize IMPLICIT for consistency. + (resolve_fntype): New function. + (gfc_resolve): Call resolve_fntype. + +2005-06-01 Feng Wang + + PR fortran/20883 + * fortran/io.c (resolve_tag): Fix error message. + +2005-05-31 Kaveh R. Ghazi + + * fortran/trans-decl.c: Don't include errors.h. + * fortran/Make-lang.in: Updates dependencies. + +2005-05-31 Paul Thomas + + PR fortran/18109 + PR fortran/18283 + PR fortran/19107 + * fortran/trans-array.c (gfc_conv_expr_descriptor): Obtain the + string length from the expression typespec character length value + and set temp_ss->stringlength and backend_decl. Obtain the + tree expression from gfc_conv_expr rather than gfc_conv_expr_val. + Dereference the expression to obtain the character. + * fortran/trans-expr.c (gfc_conv_component_ref): Remove the + dereference of scalar character pointer structure components. + * fortran/trans-expr.c (gfc_trans_subarray_assign): Obtain the + string length for the structure component from the component + expression. + +2005-05-30 Roger Sayle + + * gfortran.h (GFC_STD_LEGACY): New "standard" macro. Reindent. + * options.c (gfc_init_options): By default, allow legacy extensions + but warn about them. + (gfc_post_options): Make -pedantic warn about legacy extensions + even with -std=legacy. + (gfc_handle_option): Make -std=gnu follow the default behaviour + of warning about legacy extensions, but allowing them. Make the + new -std=legacy accept everything and warn about nothing. + * lang.opt (std=legacy): New F95 command line option. + * invoke.texi: Document both -std=f2003 and -std=legacy. + * gfortran.texi: Explain the two types of extensions and document + how they are affected by the various -std= command line options. + +2005-05-30 Kazu Hirata + + * trans-expr.c: Remove trailing ^M. + + * trans-expr.c: Fix comment typos. + +2005-05-29 Paul Thomas + + PR fortran/16939 + PR fortran/17192 + PR fortran/17193 + PR fortran/17202 + PR fortran/18689 + PR fortran/18890 + * fortran/trans-array.c (gfc_conv_resolve_dependencies): Add string + length to temp_ss for character pointer array assignments. + * fortran/trans-expr.c (gfc_conv_variable): Correct errors in + dereferencing of characters and character pointers. + * fortran/trans-expr.c (gfc_conv_function_call): Provide string + length as return argument for various kinds of handling of return. + Return a char[]* temporary for character pointer functions and + dereference the temporary upon return. + +2005-05-29 Janne Blomqvist + Steven G. Kargl + + fortran/PR20846 + * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage. + +2005-05-29 Francois-Xavier Coudert + + PR libfortran/20006 + * io.c (format_item_1): Add check and extension warning for + $ edit descriptor. + +2005-05-28 Steven G. Kargl + + * arith.c (gfc_arith_init_1): Fix off by one problem; + (gfc_check_integer_range): Chop extra bits in subnormal numbers. + +2005-05-28 Jerry DeLisle + Steven G. Kargl + + * intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING + and CMPLX + +2005-05-27 Steven G. Kargl + + * trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force + like types in comparsion. + +2005-05-26 Kazu Hirata + + * data.c, parse.c, trans-array.c, trans-decl.c, + trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c, + trans.h: Fix comment typos. Follow spelling conventions. + +2005-05-22 Roger Sayle + + * gfortran.texi: Document some more GNU extensions. + +2005-05-22 Francois-Xavier Coudert + + * error.c (gfc_warning): Fix typo in comment. + +2005-05-18 Thomas Koenig + + PR libfortran/21127 + * fortran/iresolve.c (gfc_resolve_reshape): Add + gfc_type_letter (BT_COMPLEX) for complex to + to resolved function name. + +2005-05-18 Erik Edelmann + + * array.c (gfc_match_array_constructor): Support [ ... ] + style array constructors. + +2005-05-18 Tobias Schl"uter + + * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_TRUNC + and BUILT_IN_TRUNCF instead of BUILT_IN_FLOOR and BUILT_IN_FLOORF. + * trans-intrinsic.c (build_fix_expr): Change 'op' argument + to correct enum type. + (gfc_conv_intrinsic_aint): Likewise. Clarify comment in front of + function. Add default case to switch, deal with FIX_TRUNC_EXPR + instead of FIX_FLOOR_EXPR. + +2005-05-18 Feng Wang + + PR fortran/20954 + * trans-const.c (gfc_conv_const_charlen): Use gfc_charlen_type_node to + build character length. + +2005-05-17 Zdenek Dvorak + + * trans-types.c (gfc_array_range_type): New variable. + (gfc_init_types): Initialize gfc_array_range_type. + (gfc_get_array_type_bounds): Use gfc_array_range_type. + +2005-05-17 Jakub Jelinek + + PR fortran/15080 + * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2 + arguments. If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead + of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use + just that as index. + (generate_loop_for_rhs_to_temp): Likewise. + (compute_overall_iter_number): Add INNER_SIZE_BODY argument. + It non-NULL, add it to body. + (allocate_temp_for_forall_nest_1): New function, split from + allocate_temp_for_forall_nest. + (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument, + propagate it down to compute_overall_iter_number. Use + allocate_temp_for_forall_nest_1. + (gfc_trans_assign_need_temp): Remove COUNT2. Call + compute_inner_temp_size into a new stmtblock_t. Adjust calls to + allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp + and generate_loop_for_temp_to_lhs. + (gfc_trans_pointer_assign_need_temp): Adjust calls to + allocate_temp_for_forall_nest. + (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new + stmtblock_t. Call compute_overall_iter_number just once, then + allocate_temp_for_forall_nest_1 twice with the same size. + Initialize mask indexes if nested_forall_info != NULL. + (gfc_trans_where_2): Initialize mask indexes before calling + gfc_trans_nested_forall_loop. + +2005-05-15 Feng Wang + Jerry DeLisle + + PR fortran/17432 + * 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. + +2005-05-12 Tobias Schl"uter + + * trans-types.c (gfc_is_nodesc_array): Remove redundant check. + +2005-05-11 Tobias Schl"uter + + PR fortran/21260 + * io.c (check_format): Look for literal characters inside + hollerith constant. + +2005-05-11 Tobias Schl"uter + + * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension' + attribute from result symbol to function symbol. + * trans-expr.c (gfc_conv_function_call): Look at sym->attr.dimension + instead of sym->result->attr.dimension. + +2005-05-10 Tobias Schl"uter + + PR fortran/20178 + * gfortran.h (gfc_option): Add flag_f2c. + * invoke.texi: Document '-ff2c' command line option. Adapt + documentation for '-fno-second-underscore' and '-fno-underscoring'. + * lang.opt (ff2c): New entry. + * 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. + (handle_options): Set gfc_option.flag_f2c according to requested + calling convention. + * trans-decl.c (gfc_get_extern_function_decl): Use special f2c + intrinsics where necessary. + (gfc_trans_deferred_vars): Change todo error to assertion. + * trans-expr.c (gfc_conv_variable): Dereference access + to hidden result argument. + (gfc_conv_function_call): Add hidden result argument to argument + list if f2c calling conventions requested. Slightly restructure + tests. Convert result of default REAL function to requested type + if f2c calling conventions are used. Dereference COMPLEX result + if f2c cc are used. + * trans-types.c (gfc_sym_type): Return double for default REAL + function if f2c cc are used. + (gfc_return_by_reference): Slightly restructure logic. Return + COMPLEX by reference depending on calling conventions. + (gfc_get_function_type): Correctly make hidden result argument a + pass-by-reference argument for COMPLEX. Remove old code which does + this for derived types. + +2005-05-09 Tobias Schl"uter + + * match.c (gfc_match_return): Only require space after keyword when + it is obligatory. Only give stdwarn to after matching is successful. + * dump-parse-tree.c (gfc_show_symbol): Deal with alternate returns. + +2005-05-08 Kazu Hirata + + * intrinsic.texi: Fix typos. + +2005-05-07 Steven G. Kargl + + * intrinsic.texi: Document ASSOCIATED and ATAN2. Update Bessel function + description to include information about scalar arguments. + +2005-05-03 Kazu Hirata + + * Make-lang.in, dump-parse-tree.c, invoke.texi, lang.opt, + match.h, trans-array.h: Update copyright. + +2005-04-29 Tom Tromey + + * f95-lang.c (poplevel): Updated for change to build_block. + +2005-04-29 Jakub Jelinek + + PR fortran/13082 + PR fortran/18824 + * trans-expr.c (gfc_conv_variable): Handle return values in functions + with alternate entry points. + * resolve.c (resolve_entries): Remove unnecessary string termination + after snprintf. Set result of entry master. + If all entries have the same type, set entry master's type + to that common type, otherwise set mixed_entry_master attribute. + * trans-types.c (gfc_get_mixed_entry_union): New function. + (gfc_get_function_type): Use it for mixed_entry_master functions. + * gfortran.h (symbol_attribute): Add mixed_entry_master bit. + * decl.c (gfc_match_entry): Set entry->result properly for + function ENTRY. + * trans-decl.c (gfc_get_symbol_decl): For entry_master, skip over + __entry argument. + (build_entry_thunks): Handle return values in entry thunks. + Clear BT_CHARACTER's ts.cl->backend_decl, so that it is not + shared between multiple contexts. + (gfc_get_fake_result_decl): Use DECL_ARGUMENTS from + current_function_decl instead of sym->backend_decl. Skip over + entry master's entry id argument. For mixed_entry_master entries or + their results, return a COMPONENT_REF of the fake result. + (gfc_trans_deferred_vars): Don't warn about missing return value if + at least one entry point uses RESULT. + (gfc_generate_function_code): For entry master returning + CHARACTER, copy ts.cl->backend_decl to all entry result syms. + * trans-array.c (gfc_trans_dummy_array_bias): Don't consider return + values optional just because they are in entry master. + +2005-04-29 Francois-Xavier Coudert + + * 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 + comment. + +2005-04-29 Tobias Schl"uter + + * gfortran.h (gfc_namespace): Add seen_implicit_none field. + * symbol.c (gfc_set_implicit_none): Give error if there's a previous + IMPLICIT NONE, set seen_implicit_none. + (gfc_merge_new_implicit): Error if there's an IMPLICIT NONE statement. + +2005-04-28 Tobias Schl"uter + + * gfortran.h (gfc_gsymbol): Make name a const char *. + * symbol.c (gfc_get_gsymbol): Allocate gsymbol name via + gfc_get_string. + +2005-04-28 Francois-Xavier Coudert + + PR fortran/20865 + * resolve.c (resolve_actual_arglist): Issue an error if a statement + functions is used as actual argument. + +2005-04-27 Francois-Xavier Coudert + + PR fortran/21177 + * interface.c (compare_parameter): Ignore type for EXPR_NULL + only if type is BT_UNKNOWN. + +2005-04-25 Paul Brook + Steven G. Kargl + + PR fortran/20879 + * check.c (gfc_check_ichar_iachar): New function. + * instinsic.h (gfc_check_ichar_iachar): Add prototype. + * intrinsic.c (add_functions): Use it. + * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect + character expression lengths. + +2005-04-24 Tobias Schl"uter + + PR fortran/20059 + * trans-common.c (translate_common): Cast offset and + common_segment->offset to type int for warning message. + +2005-04-23 DJ Delorie + + * trans-decl.c: Adjust warning() callers. + +2005-04-23 Tobias Schl"uter + + * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as + intermediate representation. Fix typo in comment. + +2005-04-21 Steven G. Kargl + + * trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation; + simplify logic; Add a gcc_assert. + +2005-04-19 Steven G. Kargl + + * trans-const.c (gfc_conv_mpz_to_tree): Fix comment. + +2005-04-19 Arnaud Desitter + Steven G. Kargl + + * invoke.texi: Update -Waliasing description + +2005-04-19 Francois-Xavier Coudert + + PR fortran/16861 + * 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 + + PR fortran/17472 + PR fortran/18209 + PR fortran/18396 + PR fortran/19467 + PR fortran/19657 + * fortran/trans-io.c (gfc_build_io_library_fndecls): Create + 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 + object data. New function. + (nml_full_name): Qualified name for derived type components. New + function. + (transfer_namelist_element): Modified for calls to new functions + and improved derived type handling. + +2005-04-17 Richard Guenther + + * scanner.c (gfc_next_char_literal): Reset truncation flag + for lines ending in a comment for both fixed and free form. + (load_line): Do not set truncated flag if only truncating + the EOL marker. + +2005-04-15 Richard Guenther + + PR fortran/14569 + * gfortran.h (gfc_linebuf): Add truncated field. + * parse.c (next_statement): Handle warning for truncated + lines. + * scanner.c (load_line): Return if line was truncated. + No longer warn for truncated lines. Remove unused parameters. + (load_file): Store load_line return value to linebuf. + (gfc_error_recovery): Do not advance line at the end. + +2005-04-14 Steven G. Kargl + + * gfortran.h (gfc_real_info): Add subnormal struct member. + * arith.c (gfc_arith_init_1): Set it. + (gfc_check_real_range): Use it. + * simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.). + +2005-04-12 Kazu Hirata + + * simplify.c: Fix a comment typo. + +2005-04-11 Richard Sandiford + + * lang.opt: Refer to the GCC internals documentation instead of c.opt. + +2005-04-11 Tobias Schl"uter + + * simplify.c (gfc_simplify_nearest): Overhaul. + +2005-04-10 Kazu Hirata + + * interface.c: Fix a comment typo. + +2005-04-10 Francois-Xavier Coudert + + * match.c (match_arithmetic_if): Arithmetic IF is obsolete in + Fortran 95. + +2005-04-09 Steven G. Kargl + + * simplify.c (gfc_simplify_anint): Use mpfr_round() + (gfc_simplify_dnint): ditto. + (gfc_simplify_nint): ditto. + +2005-04-09 Andrew Pinski + + PR fortran/13257 + * io.c (check_format): Allow an optional comma + between descriptors. + +2005-04-09 Francois-Xavier Coudert + + * match.c (match_arithmetic_if): Remove gfc_ prefix and correct + comment according to GNU coding style. + (gfc_match_if): Remove gfc_ prefix in call to + match_arithmetic_if. + +2005-04-08 Diego Novillo + + * match.c (gfc_match_arithmetic_if): Declare static. + +2005-04-08 Francois-Xavier Coudert + + PR fortran/17229 + * match.c (gfc_match_arithmetic_if): New function to match an + arithmetic IF statement. + (gfc_match_if): Use gfc_match_arithmetic_if to match an + arithmetic IF statement embedded in a simple IF statement. + +2005-04-07 Steven G. Kargl + + * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x)) + +2005-04-06 Steven G. Kargl + + * invoke.texi: Remove documentation of -std=f90 + +2005-04-06 Tobias Schl"uter + + * expr.c (gfc_check_assign): Don't allow NULL as rhs in a + non-pointer assignment. + +2005-04-05 Feng Wang + + PR fortran/15959 + PR fortran/20713 + + * array.c (resolve_character_array_constructor): New function. Set + constant character array's character length. + (gfc_resolve_array_constructor): Use it. + * decl.c (add_init_expr_to_sym): Set symbol and initializer character + length. + (gfc_set_constant_character_len): New function. Set constant character + expression according the given length. + * match.h (gfc_set_constant_character_len): Add prototype. + +2005-04-04 Francois-Xavier Coudert + + * intrinsic.texi: BES?? functions are not in the f95 standard. + +2005-04-03 Francois-Xavier Coudert + + * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN. + +2005-04-03 Francois-Xavier Coudert + + * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1, + BESYN, ATAN, COSH, ERF, ERC, SINH, TANH. + +2005-04-02 Steven G. Kargl + + * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos + 2005-04-01 Kazu Hirata * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,