X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=26fcf19b4f865e29bdb486b25d62e9654923e112;hp=8523b9af6f21ddca80909287725e275afcc73987;hb=02b4a76c2d14ad62a9ac698fe0d5d99d76adf5e7;hpb=61e47ac8a36d428c1dc2009c9707ed83acce3fff diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8523b9af6f2..26fcf19b4f8 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,512 @@ +2006-06-08 Steven G. Kargl + + * intrinsic.c (add_subroutine): Make make_noreturn() conditional on + the appropriate symbol name. + +2006-06-07 Paul Thomas + + PR fortran/23091 + * resolve.c (resolve_fl_variable): Error if an automatic + object has the SAVE attribute. + + PR fortran/24168 + * expr.c (simplify_intrinsic_op): Transfer the rank and + the locus to the simplified expression. + + PR fortran/25090 + PR fortran/25058 + * gfortran.h : Add int entry_id to gfc_symbol. + * resolve.c : Add static variables current_entry_id and + specification_expr. + (resolve_variable): During code resolution, check if a + reference to a dummy variable in an executable expression + is preceded by its appearance as a parameter in an entry. + Likewise check its specification expressions. + (resolve_code): Update current_entry_id on EXEC_ENTRY. + (resolve_charlen, resolve_fl_variable): Set and reset + specifiaction_expr. + (is_non_constant_shape_array): Do not return on detection + of a variable but continue to resolve all the expressions. + (resolve_codes): set current_entry_id to an out of range + value. + +2006-06-06 Mike Stump + + * Make-lang.in: Rename to htmldir to build_htmldir to avoid + installing during build. + +2006-06-06 Paul Thomas + + PR fortran/27897 + * match.c (gfc_match_common): Fix code typo. Remove + sym->name, since sym is NULL, and replace with name. + +2006-06-05 Francois-Xavier Coudert + + PR libfortran/27895 + * resolve.c (compute_last_value_for_triplet): New function. + (check_dimension): Correctly handle zero-sized array sections. + Add checking on last element of array sections. + +2006-06-05 Steven G. Kargl + + * data.c (gfc_assign_data_value): Fix comment typo. Remove + a spurious return. + +2006-06-05 Paul Thomas + + PR fortran/14067 + * data.c (create_character_intializer): Add warning message + for truncated string. + + PR fortran/16943 + * symbol.c : Include flags.h. + (gfc_add_type): If a procedure and types are the same do not + throw an error unless standard is less than gnu or pedantic. + + PR fortran/20839 + * parse.c (parse_do_block): Error if named block do construct + does not have a named enddo. + + PR fortran/27655 + * check.c (gfc_check_associated): Pick up EXPR_NULL for pointer + as well as target and put error return at end of function. + +2006-06-03 Francois-Xavier Coudert + + * trans.c (gfc_msg_bounds, gfc_msg_fault, gfc_msg_wrong_return): + Add strings for common runtime error messages. + (gfc_trans_runtime_check): Add a locus argument, use a string + and not a string tree for the message. + * trans.h (gfc_trans_runtime_check): Change prototype accordingly. + (gfc_msg_bounds, gfc_msg_fault, gfc_msg_wrong_return): Add proto. + * trans-const.c (gfc_strconst_bounds, gfc_strconst_fault, + gfc_strconst_wrong_return, gfc_strconst_current_filename): Remove. + (gfc_init_constants): Likewise. + * trans-const.h: Likewise. + * trans-decl.c (gfc_build_builtin_function_decls): Call to + _gfortran_runtime_error has only one argument, the message string. + * trans-array.h (gfc_conv_array_ref): Add a symbol argument and a + locus. + * trans-array.c (gfc_trans_array_bound_check): Build precise + error messages. + (gfc_conv_array_ref): Use the new symbol argument and the locus + to build more precise error messages. + (gfc_conv_ss_startstride): More precise error messages. + * trans-expr.c (gfc_conv_variable): Give symbol reference and + locus to gfc_conv_array_ref. + (gfc_conv_function_call): Use the new prototype for + gfc_trans_runtime_check. + * trans-stmt.c (gfc_trans_goto): Build more precise error message. + * trans-io.c (set_string): Likewise. + * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use new prototype + for gfc_trans_runtime_check. + +2006-06-01 Thomas Koenig + + PR fortran/27715 + * arith.c: Cast the characters from the strings to unsigned + char to avoid values less than 0 for extended ASCII. + +2006-06-01 Per Bothner + + * data.c (gfc_assign_data_value): Handle USE_MAPPED_LOCATION. + * scanner.c (gfc_gobble_whitespace): Likewise. + +2006-06-01 Paul Thomas + + PR fortran/25098 + PR fortran/25147 + * interface.c (compare_parameter): Return 1 if the actual arg + is external and the formal is a procedure. + (compare_actual_formal): If the actual argument is a variable + and the formal a procedure, this an error. If a gsymbol exists + for a procedure of the same name, this is not yet resolved and + the error is cleared. + + * trans-intrinsic.c (gfc_conv_associated): Make provision for + zero array length or zero string length contingent on presence + of target, for consistency with standard. + +2006-05-30 Asher Langton + + * symbol.c (check_conflict): Allow external, function, and + subroutine attributes with Cray pointees. + * trans-expr.c (gfc_conv_function_val): Translate Cray pointees + that point to procedures. + * gfortran.texi: Document new feature. + +2006-05-29 Jerry DeLisle + + PR fortran/27634 + * io.c (check_format): Add error for missing period in format + specifier unless -std=legacy. + * gfortran.texi: Add description of expanded namelist read and + missing period in format extensions. + +2006-05-29 Francois-Xavier Coudert + + PR fortran/19777 + * trans-array.c (gfc_conv_array_ref): Perform out-of-bounds + checking for assumed-size arrrays for all but the last dimension. + +2006-05-29 Francois-Xavier Coudert + + * invoke.texi: Change -fpackderived into -fpack-derived. + +2006-05-29 Kazu Hirata + + * options.c, primary.c, resolve.c, trans-common.c: Fix typos + in error messages. + +2006-05-28 Kazu Hirata + + * check.c, expr.c, resolve.c, trans-common.c, + trans-intrinsic.c, trans-stmt.c, trans-types.c: Fix comment typos. + +2006-05-27 Francois-Xavier Coudert + + PR fortran/19777 + * trans-array.c (gfc_conv_array_ref): Don't perform out-of-bounds + checking for assumed-size arrrays. + +2006-05-27 Paul Thomas + + * trans-intrinsic.c (gfc_conv_associated): If pointer in first + arguments has zero array length of zero string length, return + false. + +2006-05-26 Francois-Xavier Coudert + + PR fortran/27524 + * trans-array.c (gfc_trans_dummy_array_bias): Don't use stride as + a temporary variable when -fbounds-check is enabled, since its + value will be needed later. + +2006-05-26 Thomas Koenig + + PR fortran/23151 + * io.c (match_io): print (1,*) is an error. + +2006-05-26 Paul Thomas + + PR fortran/27709 + * resolve.c (find_array_spec): Add gfc_symbol, derived, and + use to track repeated component references. + + PR fortran/27155 + PR fortran/27449 + * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Use + se->string_length throughout and use memcpy to populate the + expression returned to the scalarizer. + (gfc_size_in_bytes): New function. + +2006-05-21 Paul Thomas + + PR fortran/27613 + * primary.c (gfc_match_rvalue): Test if symbol represents a + direct recursive function reference. Error if array valued, + go to function0 otherwise. + +2006-05-21 Paul Thomas + + PR fortran/25746 + * interface.c (gfc_extend_assign): Use new EXEC_ASSIGN_CALL. + * gfortran.h : Put EXEC_ASSIGN_CALL in enum. + * trans-stmt.c (gfc_conv_elemental_dependencies): New function. + (gfc_trans_call): Call it. Add new boolian argument to flag + need for dependency checking. Assert intent OUT and IN for arg1 + and arg2. + (gfc_trans_forall_1): Use new code EXEC_ASSIGN_CALL. + trans-stmt.h : Modify prototype of gfc_trans_call. + trans.c (gfc_trans_code): Add call for EXEC_ASSIGN_CALL. + st.c (gfc_free_statement): Free actual for EXEC_ASSIGN_CALL. + * dependency.c (gfc_check_fncall_dependency): Don't check other + against itself. + + PR fortran/25090 + * resolve.c : Remove resolving_index_expr. + (entry_parameter): Remove. + (gfc_resolve_expr, resolve_charlen, resolve_fl_variable): Lift + calls to entry_parameter and references to resolving_index_expr. + + PR fortran/27584 + * check.c (gfc_check_associated): Replace NULL assert with an + error message, since it is possible to generate bad code that + has us fall through to here.. + + PR fortran/19015 + * iresolve.c (maxloc, minloc): If DIM is not present, pass the + rank of ARRAY as the shape of the result. Otherwise, pass the + shape of ARRAY, less the dimension DIM. + (maxval, minval): The same, when DIM is present, otherwise no + change. + +2006-05-19 H.J. Lu + + PR fortran/27662 + * trans-array.c (gfc_conv_expr_descriptor): Don't zero the + first stride to indicate a temporary. + * trans-expr.c (gfc_conv_function_call): Likewise. + +2006-05-18 Francois-Xavier Coudert + Feng Wang + + PR fortran/27552 + * dump-parse-tree.c (gfc_show_expr): Deal with Hollerith constants. + * data.c (create_character_intializer): Set from_H flag if character is + initialized by Hollerith constant. + +2006-05-17 Francois-Xavier Coudert + + PR fortran/26551 + * resolve.c (resolve_call, resolve_function): Issue an error + if a function or subroutine call is recursive but the function or + subroutine wasn't declared as such. + +2006-05-07 Francois-Xavier Coudert + + PR fortran/26551 + * gfortran.dg/recursive_check_1.f: New test. + + +2006-05-17 Francois-Xavier Coudert + + PR fortran/27320 + * dump-parse-tree.c (gfc_show_code_node): Try harder to find the + called procedure name. + +2006-05-17 Jakub Jelinek + + PR middle-end/27415 + * trans-openmp.c (gfc_trans_omp_parallel_do, + gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare): Set + OMP_PARALLEL_COMBINED flag. + +2006-05-16 H.J. Lu + + PR driver/26885 + * Make-lang.in (GFORTRAN_D_OBJS): Replace gcc.o with + $(GCC_OBJS). + +2006-05-15 Paul Thomas + + PR fortran/25090 + * resolve.c: Static resolving_index_expr initialized. + (entry_parameter): New function to emit errors for variables + that are not entry parameters. + (gfc_resolve_expr): Call entry_parameter, when resolving + variables, if the namespace has entries and resolving_index_expr + is set. + (resolve_charlen): Set resolving_index_expr before the call to + resolve_index_expr and reset it afterwards. + (resolve_fl_variable): The same before and after the call to + is_non_constant_shape_array, which ultimately makes a call to + gfc_resolve_expr. + + PR fortran/25082 + * resolve.c (resolve_code): Add error condition that the return + expression must be scalar. + + PR fortran/27411 + * matchexp.c (gfc_get_parentheses): New function. + (match_primary): Remove inline code and call above. + * gfortran.h: Provide prototype for gfc_get_parentheses. + * resolve.c (resolve_array_ref): Call the above, when start is a + derived type variable array reference. + +2006-05-15 Jakub Jelinek + + PR fortran/27446 + * trans-openmp.c (gfc_trans_omp_array_reduction): Ensure + OMP_CLAUSE_REDUCTION_{INIT,MERGE} are set to BIND_EXPR. + +2006-05-14 H.J. Lu + + * Make-lang.in (fortran/options.o): Depend on $(TARGET_H). + +2006-05-11 Francois-Xavier Coudert + + PR fortran/27553 + * parse.c (next_free): Return instead of calling decode_statement + upon error. + +2005-05-10 Thomas Koenig + + PR fortran/27470 + * trans-array.c(gfc_array_allocate): If ref->next exists + that is if there is a statement like ALLOCATE(foo%bar(2)), + F95 rules require that bar should be a pointer. + +2006-05-10 Francois-Xavier Coudert + + PR fortran/20460 + * resolve.c (gfc_resolve_index): Make REAL array indices a + GFC_STD_LEGACY feature. + +2006-05-10 Francois-Xavier Coudert + + PR fortran/24549 + * parse.c (reject_statement): Clear gfc_new_block. + +2006-05-09 Steven G. Kargl + + * invoke.texi: Missed file in previous commit. Update + description of -fall-intrinsics + +2006-05-07 Steven Boscher + + PR fortran/27378 + * parse.c (next_statement): Add check to avoid an ICE when + gfc_current_locus.lb is not set. + +2006-05-07 Tobias Schlüter + + PR fortran/27457 + * match.c (match_case_eos): Error out on garbage following + CASE(...). + +2006-05-07 Paul Thomas + + PR fortran/24813 + * trans-array.c (get_array_ctor_strlen): Remove static attribute. + * trans.h: Add prototype for get_array_ctor_strlen. + * trans-intrinsic.c (gfc_conv_intrinsic_len): Switch on EXPR_ARRAY + and call get_array_ctor_strlen. + +2006-05-05 Steven G. Kargl + + * invoke.texi: Update description of -fall-intrinsics + * options.c (gfc_post_options): Disable -Wnonstd-intrinsics if + -fall-intrinsics is used. + (gfc_handle_option): Permit -Wno-nonstd-intrinsics. + +2006-05-04 Tobias Schlüter + + * simplify.c (ascii_table): Fix wrong entry. + +2006-05-02 Steven G. Kargl + + PR fortran/26896 + * lang.opt: Fix -Wtab description + + PR fortran/20248 + * lang.opt: New flag -fall-intrinsics. + * invoke.texi: Document option. + * gfortran.h (options_t): New member flag_all_intrinsics. + * options.c (gfc_init_options, gfc_handle_option): Set new option. + sort nearby misplaced options. + * intrinsic.c (add_sym, make_generic, make_alias): Use it. + +2006-05-02 Paul Thomas + + PR fortran/27269 + * module.c: Add static flag in_load_equiv. + (mio_expr_ref): Return if no symtree and in_load_equiv. + (load_equiv): If any of the equivalence members have no symtree, free + the equivalence and the associated expressions. + + PR fortran/27324 + * trans-common.c (gfc_trans_common): Invert the order of calls to + finish equivalences and gfc_commit_symbols. + +2006-04-29 Francois-Xavier Coudert + + PR fortran/25681 + * simplify.c (simplify_len): Character variables with constant + length can be simplified. + +2006-04-29 H.J. Lu + + PR fortran/27351 + * trans-array.c (gfc_conv_array_transpose): Move gcc_assert + before gfc_conv_expr_descriptor. + +2006-04-23 Paul Thomas + + PR fortran/25099 + * resolve.c (resolve_call): Check conformity of elemental + subroutine actual arguments. + +2006-04-22 Jakub Jelinek + + PR fortran/26769 + * iresolve.c (gfc_resolve_reshape): Use reshape_r16 for real(16). + (gfc_resolve_transpose): Use transpose_r16 for real(16). + +2006-04-21 Paul Thomas + + PR fortran/27122 + * resolve.c (resolve_function): Remove general restriction on auto + character length function interfaces. + (gfc_resolve_uops): Check restrictions on defined operator + procedures. + (resolve_types): Call the check for defined operators. + + PR fortran/27113 + * trans-array.c (gfc_trans_array_constructor_subarray): Remove + redundant gfc_todo_error. + (get_array_ctor_var_strlen): Remove typo in enum. + +2006-04-18 Bernhard Fischer + + * parse.c (next_free): Use consistent error string between + free-form and fixed-form for illegal statement label of zero. + (next_fixed): Use consistent warning string between free-form + and fixed-form for statement labels for empty statements. + +2006-04-18 Steve Ellcey + + * trans-io.c (gfc_build_io_library_fndecls): Align pad. + +2006-04-16 Thomas Koenig + + PR fortran/26017 + * trans-array.c(gfc_array_init_size): Introduce or_expr + which is true if the size along any dimension + is negative. Create a temporary variable with base + name size. If or_expr is true, set the temporary to 0, + to the normal size otherwise. + +2006-04-16 Paul Thomas + + PR fortran/26822 + * intrinsic.c (add_functions): Mark LOGICAL as elemental. + + PR fortran/26787 + * expr.c (gfc_check_assign): Extend scope of error to include + assignments to a procedure in the main program or, from a + module or internal procedure that is not that represented by + the lhs symbol. Use VARIABLE rather than l-value in message. + + PR fortran/27096 + * trans-array.c (gfc_trans_deferred_array): If the backend_decl + is not a descriptor, dereference and then test and use the type. + + PR fortran/25597 + * trans-decl.c (gfc_trans_deferred_vars): Check if an array + result, is also automatic character length. If so, process + the character length. + + PR fortran/18003 + PR fortran/25669 + PR fortran/26834 + * trans_intrinsic.c (gfc_walk_intrinsic_bound): Set + data.info.dimen for bound intrinsics. + * trans_array.c (gfc_conv_ss_startstride): Pick out LBOUND and + UBOUND intrinsics and supply their shape information to the ss + and the loop. + + PR fortran/27124 + * trans_expr.c (gfc_trans_function_call): Add a new block, post, + in to which all the argument post blocks are put. Add this block + to se->pre after a byref call or to se->post, otherwise. + +2006-04-14 Roger Sayle + + * trans-io.c (set_string): Use fold_build2 and build_int_cst instead + of build2 and convert to construct "x < 0" rather than "x <= -1". + 2006-04-13 Richard Henderson * trans-openmp.c (gfc_trans_omp_sections): Adjust for changed