X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=641d50dca5dbdb3a72585ffa462020a9240b0ddc;hb=33a28619f679e6b25511b112034bc18aea0c4ae0;hp=9ecef064d44fc25c8eda46c33105965e55ad7269;hpb=91a28da7d889824efc017e2453a044b683994ba2;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 9ecef064d44..641d50dca5d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,561 @@ +2007-01-26 Steven Bosscher + Steven G. Kargl + + * 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 + * match.c (gfc_match_name): Print diagnostics for invalid + character in names. + +2007-01-06 Steven G. Kargl + + * array.c: Fix whitespace in comment table. + +2007-01-06 Steven G. Kargl + + * array.c, bbt.c, check.c: Update copyright years. Whitespace. + +2007-01-06 Steven G. Kargl + + * arith.c: Update copyright years. Whitespace. + +2007-01-05 Roger Sayle + + * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize + array assignments split out from gfc_trans_assignment. + (gfc_trans_array_copy): New function to implement array to array + copies via calls to __builtin_memcpy. + (copyable_array_p): New helper function to identify an array of + simple/POD types, that may be copied/assigned using memcpy. + (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple + whole array assignments considered suitable by copyable_array_p. + Invoke gfc_trans_assignment_1 to perform the fallback scalarization. + +2007-01-05 Roger Sayle + + * trans-array.c (gfc_trans_array_constructor_value): Make the + static const "data" array as TREE_READONLY. + * trans-stmt.c (gfc_trans_character_select): Likewise. + +2007-01-05 Roger Sayle + + * 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. + +2007-01-05 Tobias Burnus + + * symbol.c (check_conflict): Fix error message. + +2007-01-05 Paul Thomas + + PR fortran/23232 + * decl.c (gfc_in_match_data, gfc_set_in_match_data): New + functions to signal that a DATA statement is being matched. + (gfc_match_data): Call gfc_set_in_match_data on entry and on + exit. + * gfortran.h : Add prototypes for above. + * expr.c (check_init_expr): Avoid check on parameter or + variable if gfc_in_match_data is true. + (gfc_match_init_expr): Do not call error on non-reduction of + expression if gfc_in_match_data is true. + + PR fortran/27996 + PR fortran/27998 + * decl.c (gfc_set_constant_character_len): Add boolean arg to + flag array constructor resolution. Warn if string is being + truncated. Standard dependent error if string is padded. Set + new arg to false for all three calls to + gfc_set_constant_character_len. + * match.h : Add boolean arg to prototype for + gfc_set_constant_character_len. + * gfortran.h : Add warn_character_truncation to gfc_options. + * options.c (set_Wall): Set warn_character_truncation if -Wall + is set. + * resolve.c (resolve_code): Warn if rhs string in character + assignment has to be truncated. + * array.c (gfc_resolve_character_array_constructor): Set new + argument to true for call to gfc_set_constant_character_len. + +2007-01-05 Tobias Burnus + + PR fortran/29624 + * interface.c (compare_parameter_intent): New function. + (check_intents): Support pointer intents. + * symbol.c (check_conflict): Support pointer intents, + better conflict_std message. + * expr.c (gfc_check_assign,gfc_check_pointer_assign): + Support pointer intents. + * resolve.c (resolve_deallocate_expr,resolve_allocate_expr): + Support pointer intents. + +2007-01-03 Brooks Moses + + PR 30371 + * check.c (gfc_check_kill_sub): Add checks for non-scalar + arguments. + +2007-01-04 Brooks Moses + + * intrinsic.texi: Minor cleanup, reflowing overlong + paragraphs, and correcting whitespace. + +2007-01-04 Brooks Moses + + * intrinsic.texi (LBOUND): Add documentation. + (LGE): Add documentation. + (LGT): Add documentation. + (LINK): Add documentation. + (LLE): Add documentation. + (LLT): Add documentation. + (LNBLNK): Add documentation. + (UBOUND): Add documentation. + (UNLINK): Add documentation. + +2007-01-04 Brooks Moses + + * intrinsic.texi (IAND): Clarify argument specifications. + (IBCLR): Add documentation. + (IBITS): Add documentation. + (IBSET): Add documentation. + (IEOR): Add documentation. + (IERRNO): Add documentation. + (INDEX): Add documentation. + (IOR): Add documentation. + (ISHFT): Add documentation. + (ISHFTC): Add documentation. + (KILL): Add documentation. + (LEN_TRIM): Add documentation. + +2007-01-04 Brooks Moses + + PR 30235 + * interface.c (compare_actual_formal): check for + alternate returns when iterating over non-present + arguments. + +2007-01-04 Brooks Moses + + * invoke.texi: Update manpage copyright to include 2007. + +2007-01-04 Brooks Moses + + * gfortran.texi: Update copyright to include 2007. + * intrinsic.texi: Update copyright to include 2007. + * invoke.texi: Update copyright to include 2007. + +2007-01-02 Tobias Burnus + Jakub Jelinek + + PR fortran/30276 + * scanner.c (open_included_file): Revert patch. + (gfc_open_included_file): Support absolute pathnames. + (gfc_open_intrinsic_module): Support absolute pathnames. + +2007-01-03 Brooks Moses + + * gfortran.texi (GNU Fortran and GCC): Rewrite + +2007-01-03 Brooks Moses + + * gfortran.texi (Introduction): Lower "Part I: + Introduction" to a chapter, renumber Parts II and III to + Parts I and II. + * intrinsic.texi (Introduction): Rename to "Introduction + to Intrinsics" to avoid conflict with the new chapter. + +2007-01-03 Brooks Moses + + * intrinsic.texi (Introduction): Rewrite first paragraph. + +2007-01-03 Brooks Moses + + * invoke.texi (OpenMP): Added index entry. + * gfortran.texi (title page): Removed erroneous '*'. + +2007-01-03 Brooks Moses + + * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units + to description. + (Extensions): Miscellaneous minor rewriting and copyediting. + (BOZ-literal constants): Renamed from Hexadecimal constants. + (Hollerith constants support): Added explanation and + suggestions for standard-conforming modern equivalents. + +2007-01-03 Brooks Moses + + * intrinsic.texi: Improvements to index entries; change + @findex entries to @cindex entries. + * invoke.texi: Standardize and improve index entries. + * gfortran.texi: Fix @code in one index entry. + +2007-01-03 Brooks Moses + + * invoke.texi: Change @code-type macros to appropriate + variants (@command, @option, etc.) + * gfortran.texi: Same. + +2007-01-03 Brooks Moses + + * intrinsic.texi: Various minor cleanups. + +2007-01-02 Steven G. Kargl + + * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to + build_int_cst. + 2007-01-02 Tobias Burnus PR fortran/30276