X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=3580963bdef337ef5fc9d9800003d83adf655596;hp=5615d1f91a62877fa23c07a524e3911bd1ecd50a;hb=90da2477177993f3e6ff5a8794ea7d31ef9351ae;hpb=91652ee1a05b0de7c5b35eb3ee17818772d4de5e diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 5615d1f91a6..3580963bdef 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,867 @@ +2007-07-08 Tobias Burnus + + PR fortran/30973 + * module.c (read_module): Always import module name as symbol. + (gfc_match_use): Disallow module name in the only clause of + a use statement. + +2007-03-08 Paul Thomas + + PR fortran/31011 + * expr.c (find_array_section): Correct arithmetic for section + size. + +2007-03-07 Brooks Moses + + * iresolve.c (gfc_resolve_ishftc): Correct s_kind value. + +2007-03-06 Daniel Franke + + PR documentation/30950 + * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names. + (FREE): Fix call syntax. + +2007-03-06 Brooks Moses + + * intrinsic.texi: Limit column widths to a total of .85. + +2007-03-05 Brooks Moses + + * gfortran.texi (GFortran and G77): Rewrite completely. + +2007-03-05 Brooks Moses + + * match.c (gfc_match_name): Expanded comment. + +2007-03-05 Brooks Moses + + * gfortran.texi (Old-style kind specifications): Document + special handling of old-style kind specifiers for COMPLEX. + * decl.c (gfc_match_old_kind_spec): Document kind/bytesize + assumptions for COMPLEX in comment. + +2007-03-05 Brooks Moses + + PR 31050 + * gfortranspec.c (lang_specific_driver): Update program + name and copyright date. + +2007-03-03 Paul Thomas + + PR fortran/30882 + * check.c (dim_rank_check): The shape of subsections of + assumed-size arrays is known. + +2007-03-02 Paul Thomas + Tobias Burnus + + PR fortran/30873 + * decl.c (gfc_match_entry): Remove erroneous entry result check. + +2007-03-01 Brooks Moses + + * Make-lang.in: Add install-pdf target as copied from + automake v1.10 rules. + +2007-03-01 Tobias Burnus + + PR fortran/30865 + * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers. + +2007-02-28 Tobias Burnus + Paul Thomas + + PR fortran/30888 + PR fortran/30887 + * resolve.c (resolve_actual_arglist): Allow by-value + arguments and non-default-kind for %VAL(). + * trans-expr.c (conv_arglist_function): Allow + non-default-kind for %VAL(). + +2007-02-28 Tobias Burnus + + PR fortran/30968 + * primary.c (next_string_char): Correct reading a character + after the delimiter. + (match_string_constant): Print warning message only once. + +2007-02-27 Richard Guenther + + * trans-array.c (structure_alloc_comps): Use correct type + for null pointer constant. + +2007-02-26 Brooks Moses + + * gfortran.texi: Standardize title page, remove version number + from copyright page. + +2007-02-26 Thomas Koenig + Paul Thomas + + PR fortran/30865 + * trans-intrinsic.c (gfc_conv_intrinsic_size): + If dim is an optional argument, check for its + presence and call size0 or size1, respectively. + +2007-02-23 Paul Thomas + + PR fortran/30660 + * resolve.c (has_default_initializer): New function. + (resolve_fl_variable): Call has_default_initializer to determine if + the derived type has a default initializer to its ultimate + components. + + +2007-02-22 Jerry DeLisle + + * options.c (set_default_std_flags): New function to consolidate + setting the flags. + (gfc_init_options): Use new function. + (gfc_handle_option): Use new function. + +2007-02-22 Brooks Moses + + * gfortran.texi (Old-style kind specifications): Document + special handling of old-style kind specifiers for COMPLEX. + * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize + assumptions in comment. + +2007-02-21 Bernhard Fischer + + * parse.c (next_free): Gooble spaces after OpenMP sentinel. + +2007-02-20 Thomas Koenig + + PR fortran/30869 + * match.c (gfc_match_iterator): Remove conflict between + loop variable and pointer. + +2007-02-20 Tobias Burnus + + PR fortran/30522 + * symbol.c (gfc_add_volatile): Allow to set VOLATILE + attribute for host-associated variables. + * gfortran.h (symbol_attribute): Save namespace + where VOLATILE has been set. + * trans-decl.c (gfc_finish_var_decl): Move variable + declaration to the top. + +2007-02-20 Tobias Burnus + + PR fortran/30783 + * resolve.c (resolve_symbol): Add character dummy VALUE check. + +2007-02-19 Thomas Koenig + + PR libfortran/30533 + * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of + argument to default integer. + (gfc_resolve_minloc): Likewise. + +2007-02-18 Jerry DeLisle + + PR fortran/30681 + * options.c (gfc_init_options): Relax warning level for obsolescent. + * match.c (match_arithmetic_if): Change to obsolescent from deleted. + (gfc_match_if): Same. + +2007-02-18 Roger Sayle + + * trans-array.c (gfc_build_constant_array_constructor): When the + shape of the constructor is known, use that to construct the + gfc_array_spec. + (gfc_trans_constant_array_constructor): Initialize the "info" + information for all of the dimensions of the array constructor. + (constant_array_constructor_loop_size): New function. + (gfc_trans_array_constructor): Use it to determine whether a + loop is suitable for "constant array constructor" optimization. + + * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2 + instead of build2, to avoid conditions like "(a != b) != 0". + +2007-02-18 Roger Sayle + Paul Thomas + + PR fortran/30400 + * match.c (match_forall_iterator): Use gfc_match_expr instead + of gfc_match_variable to match the iterator variable. Return + MATCH_NO if not a variable. Remove the reset of the symbol's + flavor in cleanup. + +2007-02-16 Tobias Burnus + + PR fortran/30793 + * trans-decl.c (gfc_generate_function_code): Do not initialize + pointers to derived components. + +2007-02-15 Sandra Loosemore + Brooks Moses + Lee Millward + + * trans-expr.c (gfc_conv_power_op): Use build_call_expr. + (gfc_conv_string_tmp): Likewise. + (gfc_conv_concat_op): Likewise. + (gfc_build_compare_string): Likewise. + (gfc_conv_function_call): Use build_call_list instead of build3. + + * trans-array.c (gfc_trans_allocate_array_storage): Use + build_call_expr. + (gfc_grow_array): Likewise. + (gfc_trans_array_ctor_element): Likewise. + (gfc_trans_array_constructor_value): Likewise. + (gfc_array_allocate): Likewise. + (gfc_array_deallocate): Likewise. + (gfc_trans_auto_array_allocation): Likewise. + (gfc_trans_dummy_array_bias): Likewise. + (gfc_conv_array_parameter): Likewise. + (gfc_trans_dealloc_allocated): Likewise. + (gfc_duplicate_allocatable): Likewise. + + * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr. + (gfc_trans_omp_flush): Likewise. + + * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr. + (gfc_trans_pause): Likewise. + (gfc_trans_stop): Likewise. + (gfc_trans_character_select): Likewise. + (gfc_do_allocate): Likewise. + (gfc_trans_assign_need_temp): Likewise. + (gfc_trans_pointer_assign_need_temp): Likewise. + (gfc_trans_forall_1): Likewise. + (gfc_trans_where_2): Likewise. + (gfc_trans_allocate): Likewise. + (gfc_trans_deallocate): Likewise. + + * trans.c (gfc_trans_runtime_check): Use build_call_expr. + + * trans-io.c (gfc_trans_open): Use build_call_expr. + (gfc_trans_close): Likewise. + (build_filepos): Likewise. + (gfc_trans_inquire): Likewise. + (NML_FIRST_ARG): Delete. + (NML_ADD_ARG): Delete. + (transfer_namelist_element): Use build_call_expr. + (build_dt): Likewise. + (gfc_trans_dt_end): Likewise. + (transfer_expr): Likewise. + (transfer_array-desc): Likewise. + + * trans-decl.c (gfc_generate_function_code): Use build_call_expr. + (gfc_generate_constructors): Likewise. + + * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr. + (gfc_conv_intrinsic_fdate): Likewise. + (gfc_conv_intrinsic_ttynam): Likewise. + (gfc_conv_intrinsic_array_transfer): Likewise. + (gfc_conv_associated): Likewise. + (gfc_conv_intrinsic_si_kind): Likewise. + (gfc_conv_intrinsic_trim): Likewise. + (gfc_conv_intrinsic_repeat: Likewise. + (gfc_conv_intrinsic_iargc): Likewise. + +2007-02-14 Jerry DeLisle + + PR fortran/30779 + * scanner.c (gfc_next_char_literal): Add check for end of file after + call to advance_line. + +2007-02-14 Steven G. Kargl + + PR fortran/30799 + * primary.c (match_logical_constant): Return MATCH_ERROR on invalid + kind. + +2007-02-14 Steven G. Kargl + + * misc.c (gfc_typename): Fix potential buffer overflow. + +2007-02-13 Paul Thomas + + PR fortran/30554 + * module.c (read_module): Set pointer_info to referenced if the + symbol has no namespace. + +2007-02-12 Nick Clifton + + * lang.opt: Add Warning attribute to warning options. + +2007-02-11 Daniel Franke + + * intrinsic.texi (HOSTNM): Fix typographical error in syntax. + (SLEEP): Added section and documentation. + +2007-02-11 Tobias Schlüter + + PR fortran/30478 + * decl.c (add_init_expr_to_sym): Remove ENUM specific code. + (variable_decl): Likewise. Rewrap comment. + (match_attr_spec): Remove ENUM specific code. + (gfc_match_enum): Fix typo in error message. + (enumerator_decl): New function. + (gfc_match_enumerator_def): Use enumerator_decl instead of + variable_decl. Adapt code accordingly. + +2007-02-11 Paul Thomas + + PR fortran/30554 + * module.c (find_symtree_for_symbol): New function to return + a symtree that is not a "unique symtree" given a symbol. + (read_module): Do not automatically set pointer_info to + referenced because this inhibits the generation of a unique + symtree. Recycle the existing symtree if possible by calling + find_symtree_for_symbol. + + PR fortran/30319 + * decl.c (add_init_expr_to_sym): Make new charlen for an array + constructor initializer. + +2007-02-10 Richard Henderson , Jakub Jelinek + + * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address + and __emutls_register_common. + * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls. + * trans-common.c (build_common_decl): Don't check have_tls. + * trans-decl.c (gfc_finish_var_decl): Likewise. + * types.def (BT_WORD, BT_FN_PTR_PTR): New. + (BT_FN_VOID_PTR_WORD_WORD_PTR): New. + +2007-02-09 Tobias Burnus + + PR fortran/30512 + * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc, + gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer. + +2007-02-09 Francois-Xavier Coudert + + PR fortran/30720 + * trans-array.c (gfc_trans_create_temp_array): Remove use of the + function argument. Always generate code for negative extent. + Simplify said code. + * trans-array.h (gfc_trans_create_temp_array): Change prototype. + * trans-expr.c (gfc_conv_function_call): Remove use of last argument + of gfc_trans_create_temp_array. + * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise. + * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise. + +2007-02-08 Roger Sayle + + * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the + mask expression is a compile-time constant (".true." or ".false."). + +2007-02-04 Francois-Xavier Coudert + + PR fortran/30611 + * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate + arguments only once. Generate check that NCOPIES argument is not + negative. + +2007-02-04 Steven G. Kargl + + PR fortran/30605 + * fortran/invoke.texi: Update documentation. + * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003 + and -pedantic. + +2007-02-03 Kazu Hirata + + * trans-array.c: Fix a comment typo. + +2007-02-03 Paul Thomas + + PR fortran/30514 + * array.c (match_array_element_spec): If the length of an array is + negative, adjust the upper limit to make it zero length. + + PR fortran/30660 + * resolve.c (pure_function, resolve_function): Initialize name to + null to clear up build warnings. + (resolve_fl_variable): Look at components explicitly to check for + default initializer, rather than using gfc_default_initializer. + +2007-02-02 Steven G. Kargl + + PR fortran/30683 + * resolve.c (resolve_generic_f): Check for non-NULL sym. + +2007-02-02 Roger Sayle + + * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate + NON_LVALUE_EXPR nodes and useless type conversions. + +2007-02-02 Paul Thomas + + PR fortran/30284 + PR fortran/30626 + * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute + from function and make sure that substring lengths are + translated. + (is_aliased_array): Remove static attribute. + * trans.c : Add prototypes for gfc_conv_aliased_arg and + is_aliased_array. + * trans-io.c (set_internal_unit): Add the post block to the + arguments of the function. Use is_aliased_array to check if + temporary is needed; if so call gfc_conv_aliased_arg. + (build_dt): Pass the post block to set_internal_unit and + add to the block after all io activiy is done. + +2007-02-01 Roger Sayle + + * trans-array.c (gfc_conv_expr_descriptor): We don't need to use + a temporary array to pass a constant non-character array constructor. + Generalize the descriptor generation code to handle scalarizer + "info" without an array reference. + +2007-02-01 Roger Sayle + + * dependency.c (gfc_check_dependency) : Implement + dependency checking for array constructors. + +2007-02-01 Roger Sayle + + * trans-stmt.c (compute_overall_iter_number): Document function + arguments. Generalize "unconditional forall nest with constant + bounds" optimization to eliminate unconditional inner loops with + constant bounds. + +2007-01-31 Tobias Burnus + + PR fortran/30520 + * interface.c (compare_actual_formal): Check conformance between + actual and VOLATILE dummy arguments. + * symbol.c (gfc_add_volatile): Allow setting of VOLATILE + multiple times in different scopes. + * decl.c (gfc_match_volatile): Search symbol in host association. + +2007-01-31 Kazu Hirata + + * simplify.c, trans-array.c: Fix comment typos. + +2007-01-30 Ralf Wildenhues + + * invoke.texi (Code Gen Options): Fix abbreviation typo. + * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos. + +2007-01-30 Steve Ellcey + + PR fortran/30432 + * trans-types.c (gfc_get_function_type): Do not add void_type_node + to empty arg list. + * trans-decl.c (create_function_arglist): Change assert. + +2007-01-29 Paul Thomas + + PR fortran/30554 + * module.c (read_module): If a symbol is excluded by an ONLY + clause, check to see if there is a symtree already loaded. If + so, attach the symtree to the pointer_info. + +2007-01-28 Thomas Koenig + + PR libfortran/30389 + * gfortran.h: Remove gfc_simplify_init_1. + * arith.h: Remove third argument from gfc_compare_string. + * arith.c (gfc_compare_expression): Remove third argument + from call to gfc_compare_string. + (gfc_compare_string): Remove third argument xcoll_table. + Remove use of xcoll_table. + * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1. + * simplify.c (ascii_table): Remove. + (xascii_table): Likewise. + (gfc_simplify_achar): ICE if extract_int fails. Remove use of + ascii_table. Warn if -Wsurprising and value < 0 or > 127. + (gfc_simplify_char): ICE if extract_int fails. Error if + value < 0 or value > 255. + (gfc_simplify_iachar): Remove use of xascii_table. + Char values outside of 0..255 are an ICE. + (gfc_simplify_lge): Remove use of xascii_table. + (gfc_simplify_lgt): Likewise. + (gfc_simplify_lle): Likewise. + (gfc_simplify_llt): Likewise. + (invert_table): Remove. + (gfc_simplify_init_1): Remove. + +2007-01-27 Roger Sayle + + * trans-stmt.c (forall_info): Replace the next_nest and outer + fields that previously implemented a doubly-linked list with a + single prev_nest field (singly-linked list). + (gfc_trans_nested_forall_loop): The nested_forall_info argument + now denotes the innermost FORALL in the loop nest. + (compute_overall_iter_number): Use prev_nest instead of next_nest. + (gfc_trans_forall_1): Link/cons the new "info" to the head of the + nested_forall_info linked list. Free the current "info" when done. + +2007-01-27 Paul Thomas + + PR fortran/30407 + * trans-expr.c (gfc_conv_operator_assign): New function. + * trans.h : Add prototype for gfc_conv_operator_assign. + * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for + a potential operator assignment subroutine. If it is non-NULL + call gfc_conv_operator_assign instead of the first assignment. + ( gfc_trans_where_2): In the case of an operator assignment, + extract the argument expressions from the code for the + subroutine call and pass the symbol to gfc_trans_where_assign. + resolve.c (resolve_where, gfc_resolve_where_code_in_forall, + gfc_resolve_forall_body): Resolve the subroutine call for + operator assignments. + +2007-01-26 Steven Bosscher + Steven G. Kargl + + PR fortran/30278 + * fortran/io.c (next_char): Deal with backslash escaped characters. + Issue warnings in non -std=gnu cases. + * fortran/primary.c (next_string_char): Issue warnings in non + +2007-01-26 Tobias Burnus + + * lang-specs.h: Add support for .f03 and .F03 extensions. + * gfortran.texi: Document .f03 extension. + * options.c (form_from_filename): Recognize .f03. + +2007-01-25 Manuel Lopez-Ibanez + + PR fortran/30437 + * lang.opt (Wall): Remove RejectNegative. + * options.c (gfc_handle_option): Wall can be disabled. + (set_Wall): Add a parameter for disabling Wall. + +2007-01-23 Jerry DeLisle + + PR fortran/30532 + * scanner.c (load_line): Remove check fot ctrl-z and don't gobble. + +2007-01-23 Paul Thomas + + PR fortran/30481 + * match.c (gfc_match_namelist): Add check for assumed size character + in namelist and provide error if found. + +2007-01-21 Brooks Moses + + * intrinsic.texi (ACHAR): Added cross-references. + (CHAR): Put cross-references in alphabetical order. + (IACHAR): Added cross-references. + (ICHAR): Added cross-references. + +2007-01-20 Brooks Moses + + * intrinsic.texi: Edited all "Syntax" examples to a consistent form. + (MAXVAL): Corrected description of result characteristics. + (MINVAL): Same. + (UMASK): Added documentation. + +2007-01-20 Steven G. Kargl + + * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c, + parse.c, primary.c, options.c, misc.c, simplify.c: Next installment + in the massive whitespace patch. + +2007-01-20 Roger Sayle + + * module.c (mio_array_ref): The dimen_type fields of an array ref + are an enumerated type and can't be read/written directly with a + call to mio_integer. Instead loop over and cast each element. + +2007-01-20 Roger Sayle + + * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL, + i.e. that the ARRAY_REF doesn't mention components. + * trans-array.c (gfc_constant_array_constructor_p): Export external + function renamed from constant_array_constructor_p. + (gfc_build_constant_array_constructor): Export. + (gfc_trans_array_constructor): Update call to the renamed function + constant_array_constructor_p. + * trans-array.h (gfc_constant_array_constructor_p): Prototype here. + (gfc_build_constant_array_constructor): Likewise. + * trans-expr.c (gfc_build_memcpy_call): New helper function split + out from gfc_trans_array_copy. + (gfc_trans_array_copy): Use gfc_build_memcpy_call. + (gfc_trans_array_constructor_copy): New function to optimize + assigning an entire array from a constant array constructor. + (gfc_trans_assignment): Call gfc_trans_array_constructor_copy + when appropriate. + +2007-01-20 Roger Sayle + + * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless + implementation for the SIGN intrinsic with integral operands. + (gfc_conv_intrinsic_minmax): Fix whitespace. + +2007-01-20 Francois-Xavier Coudert + + * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. + * lang.opt: Add -fallow-leading-underscore. + * match.c (gfc_match_name): Allow leading underscore in symbol + name if -fallow-leading-underscore is used. + * symbol.c (gfc_get_default_type): Add special case for symbol + names beginning with an underscore. + * trans-decl.c (gfc_get_extern_function_decl, + gfc_build_intrinsic_function_decls): Add _gfortran prefix to + library symbols selected_int_kind, selected_real_kind and + all specifics. + * options.c (gfc_init_options, gfc_handle_option): Handle the + new -fallow-leading-underscore option. + +2007-01-20 Francois-Xavier Coudert + + PR fortran/30446 + * options.c (gfc_handle_module_path_options): Path used in -J + option is now added to the module search path. + +2007-01-20 Richard Guenther + + PR fortran/30223 + * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and + cexpi builtins if we have TARGET_C99_FUNCTIONS. Provide + sincos builtins if the target has sincos. + +2007-01-19 Brooks Moses + + * intrinsic.texi (MATMUL): Corrected a typo. + (MAX): Separated @var arguments. + (MIN): Separated @var arguments. + +2007-01-19 Brooks Moses + + * intrinsic.texi: general whitespace cleanup. + (menu): Added TIME8, removed UNMASK. + (AINT): Clarified argument requirement. + (ANINT): Clarified argument requirement. + (CEILING): Clarified argument requirement. + (CHAR): Clarified argument requirement. + (CMPLX): Clarified argument requirement. + (DCMPLX): Clarified argument requirement. + (FGET): Line rewrapping. + (FLOOR): Clarified argument requirement. + (GMTIME): Added documentation. + (IAND): Added cross-reference. + (IBCLR): Added cross-reference. + (IBSET): Added cross-reference. + (IEOR): Added cross-reference. + (INT): Collapsed examples, clarified argument requirement. + (IOR): Added cross-references. + (LEN_TRIM): Corrected result kind. + (LINK): Added cross-reference. + (LLT): Removed "documentation pending". + (LOGICAL): Added documentation. + (LSHIFT): Added documentation. + (LTIME): Added documentation. + (MATMUL): Added documentation. + (MAX): Added documentation. + (MAXLOC): Added documentation. + (MAXVAL): Added documentation. + (MERGE): Added documentation. + (MIN): Added documentation. + (MINLOC): Added documentation. + (MINVAL): Added documentation. + (MVBITS): Moved to correct place, added documentation. + (NOT): Added documentation. + (PERROR): Added documentation. + (RAN): Moved to correct place, added documentation. + (REAL): Clarified argument requirement. + (RENAME): Added documentation. + (RSHIFT): Clarified argument requirement. + (SIGN): Corrected table specification. + (SYMLNK): Added documentation. + (SYSTEM): Added documentation. + (TIME): Added documentation. + (TIME8): Added section and documentation. + (UNMASK): Removed erroneous section. + +2007-01-18 H.J. Lu + + * trans-stmt.c (compute_overall_iter_number): Fix a typo. + +2007-01-18 Roger Sayle + + * trans-expr.c (copyable_array_p): Consider user derived types without + allocatable components to be copyable. + +2007-01-18 Roger Sayle + + * trans-stmt.c (compute_overall_iter_number): Enhance to precompute + the number of interations in unconditional FORALL nests with constant + bounds. + +2007-01-18 Francois-Xavier Coudert + Tobias Burnus + + PR libfortran/29649 + * gfortran.h (gfc_option_t): Add flag_dump_core. + * lang.opt: Add -fdump-core option. + * invoke.texi: Document the new options. + * trans-decl.c (gfc_build_builtin_function_decls): Add new + options to the call to set_std. + * options.c (gfc_init_options, gfc_handle_option): Set the + new options. + +2007-01-17 Paul Thomas + + PR fortran/30476 + * module.c (load_generic_interfaces): Make the marking of the + symbol as ambiguous conditional on the module names being + different. + (write_generic): Ensure that the generic interface has a + non-NULL module field. + +2007-01-16 Roger Sayle + + PR fortran/30404 + * trans-stmt.c (forall_info): Remove pmask field. + (gfc_trans_forall_loop): Remove NVAR argument, instead assume that + NVAR covers all the interation variables in the current forall_info. + Add an extra OUTER parameter, which specified the loop header in + which to place mask index initializations. + (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument. + Change the semantics of MASK_FLAG to only control the mask in the + innermost loop. + (compute_overall_iter_number): Optimize the trivial case of a + top-level loop having a constant number of iterations. Update + call to gfc_trans_nested_forall_loop. Calculate the number of + times the inner loop will be executed, not to size of the + iteration space. + (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when + sizeof(type) == 1. Tidy up. + (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls + to gfc_trans_nested_forall_loop. + (gfc_trans_pointer_assign_need_temp): Likewise. + (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and + LENVAR local variables. Split mask allocation into a separate + hunk/pass from mask population. Use allocate_temp_for_forall_nest + to allocate the FORALL mask with the correct size. Update calls + to gfc_trans_nested_forall_loop. + (gfc_evaluate_where_mask): Update call to + gfc_trans_nested_forall_loop. + (gfc_trans_where_2): Likewise. + +2007-01-15 Paul Thomas + + PR fortran/28172 + * trans-stmt.c (gfc_trans_call): If it does not have one, get + a backend_decl for an alternate return. + + PR fortran/29389 + * resolve.c (pure_function): Statement functions are pure. Note + that this will have to recurse to comply fully with F95. + + PR fortran/29712 + * resolve.c (resolve_function): Only a reference to the final + dimension of an assumed size array is an error in an inquiry + function. + + PR fortran/30283 + * resolve.c (resolve_function): Make sure that the function + expression has a type. + +2007-01-14 Paul Thomas + + PR fortran/30410 + * trans-decl.c (gfc_sym_mangled_function_id): Module, external + symbols must not have the module name prepended. + +2007-01-11 Thomas Koenig + + PR libfortran/30415 + * iresolve.c (gfc_resolve_maxloc): If the rank + of the return array is nonzero and we process an + integer array smaller than default kind, coerce + the array to default integer. + * iresolve.c (gfc_resolve_minloc): Likewise. + +2007-01-11 Brooks Moses + + * simplify.c: Update copyright to 2007. + * scanner.c: Same. + +2007-01-11 Francois-Xavier Coudert + + PR fortran/30430 + * scanner.c (gfc_release_include_path): Free gfc_option.module_dir + only once! + +2007-01-09 Brooks Moses + + * simplify.c (gfc_simplify_ibclr): Fix POS comparison. + (gfc_simplify_ibset): Same. + +2007-01-09 Brooks Moses + + PR 30381 + PR 30420 + * simplify.c (convert_mpz_to_unsigned): New function. + (convert_mpz_to_signed): New function, largely based on + twos_complement(). + (twos_complement): Removed. + (gfc_simplify_ibclr): Add conversions to and from an + unsigned representation before bit-twiddling. + (gfc_simplify_ibset): Same. + (gfc_simplify_ishftc): Add checks for overly large + constant arguments, only check the third argument if + it's present, carry over high bits into the result as + appropriate, and perform the final conversion back to + a signed representation using the correct sign bit. + (gfc_simplify_not): Removed unnecessary masking. + +2007-01-09 Paul Thomas + + PR fortran/30408 + * resolve.c (resolve_code): Use the code->expr character length + directly to set length of llen. + +2007-01-09 Jerry DeLisle + + PR fortran/30408 + * lang.opt: Add Wcharacter_truncation option. + * options.c (gfc_init_options): Initialize + gfc_option.warn_character_truncation to zero. + (gfc_handle_option): Add case for OPT_Wcharacter_truncation. + +2007-01-08 Steven G. Kargl + + * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c, + iresolve.c, match.c: Update Copyright years. Whitespace. + +2007-01-08 Richard Guenther + + * trans-io.c (transfer_array_desc): Use build_int_cst instead + of build_int_cstu. + +2007-01-08 Roger Sayle + + * trans-array.c (constant_array_constructor_p): New function to + determine whether an array constructor consists only of constant + elements, and if so return it's size. + (gfc_build_constant_array_constructor): Construct a statically + initialized gfortran array for a given EXPR_ARRAY. + (gfc_trans_constant_array_constructor): Efficiently scalarize + a constant array constructor. + (gfc_trans_array_constructor): Tidy up use of CONST_STRING. + Special case scalarization of constant array constructors, all of + whose elements are specified, using constant_array_constructor_p + and gfc_trans_constant_array_constructor. + (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero + before adding it to index, to avoid creating a NON_LVALUE_EXPR. + +2007-01-08 Kazu Hirata + + gfortran.texi: Fix typos. + +2007-01-07 Steven G. Kargl + + * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c, + convert.c: Update Copyright dates. Fix whitespace. + +2007-01-07 Bernhard Fischer + + * data.c (gfc_assign_data_value): Fix whitespace. + +2007-01-07 Bernhard Fischer + + * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size): + Commentary typo fix. + 2007-01-07 Bernhard Fischer PR fortran/27698 @@ -10,7 +874,7 @@ 2007-01-06 Steven G. Kargl - * array.c, bbt.c, check.c: Update copyright years. Whitespace. + * array.c, bbt.c, check.c: Update copyright years. Whitespace. 2007-01-06 Steven G. Kargl @@ -36,7 +900,7 @@ 2007-01-05 Roger Sayle - * trans-array.c (gfc_conv_loop_setup): Test whether the loop + * trans-array.c (gfc_conv_loop_setup): Test whether the loop stride is one, to avoid fold_build2 introducing a useless NON_LVALUE_EXPR node.