| 2005-12-30 Erik Edelmann <eedelman@gcc.gnu.org> | |
| PR fortran/22607 | |
| * trans-decl.c(gfc_get_extern_function_decl): Don't set | |
| DECL_IS_PURE (fndecl) = 1 for return-by-reference | |
| functions. | |
| fortran/PR 25396 | |
| * interface.c (gfc_extend_expr): Initialize | |
| e->value.function.name to NULL. | |
| 2005-12-29 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/25532 | |
| * trans-types.c (copy_dt_decls_ifequal): Copy declarations for | |
| components of derived type components by recursing into | |
| gfc_get_derived_type. | |
| 2005-12-28 Andrew Pinski <pinskia@physics.uc.edu> | |
| PR fortran/25587 | |
| * trans-io.c (gfc_build_st_parameter): Correct off by one error. | |
| 2005-12-28 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | |
| * Make-lang.in: Remove distdir from comment. | |
| 2005-12-24 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/25029 | |
| PR fortran/21256 | |
| * resolve.c (check_assumed_size_reference, resolve_assumed_size_actual): | |
| Remove because of regressions caused by patch. | |
| (resolve_function, resolve_call, resolve_variable): Remove assumed size | |
| checks because of regressionscaused by patch. | |
| 2005-12-23 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/25029 | |
| PR fortran/21256 | |
| *resolve.c(resolve_function): Remove assumed size checking for SIZE | |
| and UBOUND and rely on their built-in checking. | |
| 2005-12-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/18990 | |
| * gfortran.h (gfc_charlen): Add resolved field. | |
| * expr.c (gfc_specification_expr): Accept NULL argument. | |
| * resolve.c (gfc_resolve_charlen, gfc_resolve_derived): New. | |
| (gfc_resolve_symbol): Resolve derived type definitions. Use | |
| resolve_charlen to resolve character lengths. | |
| 2005-12-22 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/20889 | |
| *resolve.c(resolve_structure_cons): Do not attempt to convert | |
| the type of mismatched pointer type components, except when | |
| the constructor component is BT_UNKNOWN; emit error instead. | |
| PR fortran/25029 | |
| PR fortran/21256 | |
| *resolve.c(check_assumed_size_reference): New function to check for upper | |
| bound in assumed size array references. | |
| (resolve_assumed_size_actual): New function to do a very restricted scan | |
| of actual argument expressions of those procedures for which incomplete | |
| assumed size array references are not allowed. | |
| (resolve_function, resolve_call): Switch off assumed size checking of | |
| actual arguments, except for elemental procedures and array valued | |
| intrinsics; excepting LBOUND. | |
| (resolve_variable): Call check_assumed_size_reference. | |
| PR fortran/19362 | |
| PR fortran/20244 | |
| PR fortran/20864 | |
| PR fortran/25391 | |
| *interface.c(gfc_compare_types): Broken into two. | |
| (gfc_compare_derived_types): Second half of gfc_compare_types with | |
| corrections for a missing check that module name is non-NULL and | |
| a check for private components. | |
| *symbol.c(gfc_free_dt_list): New function. | |
| (gfc_free_namespace): Call gfc_free_dt_list. | |
| *resolve.c(resolve_symbol): Build the list of derived types in the | |
| symbols namespace. | |
| *gfortran.h: Define the structure type gfc_dt_list. Add a new field, | |
| derived_types to gfc_namespace. Provide a prototye for the new | |
| function gfc_compare_derived_types. | |
| *trans_types.c(gfc_get_derived_type): Test for the derived type being | |
| available in the host namespace. In this case, the host backend | |
| declaration is used for the structure and its components. If an | |
| unbuilt, equal structure that is not use associated is found in the | |
| host namespace, build it there and then. On exit,traverse the | |
| namespace of the derived type to see if there are equal but unbuilt. | |
| If so, copy the structure and its component declarations. | |
| (copy_dt_decls_ifequal): New functions to copy declarations to other | |
| equal structure types. | |
| PR fortran/20862 | |
| * io.c (gfc_match_format): Make the appearance of a format statement | |
| in a module specification block an error. | |
| PR fortran/23152 | |
| * match.c (gfc_match_namelist): Set assumed shape arrays in | |
| namelists as std=GFC_STD_GNU and assumed size arrays as an | |
| unconditional error. | |
| PR fortran/25069 | |
| * match.c (gfc_match_namelist): Set the respecification of a USE | |
| associated namelist group as std=GFC_STD_GNU. Permit the concatenation | |
| on no error. | |
| PR fortran/25053 | |
| PR fortran/25063 | |
| PR fortran/25064 | |
| PR fortran/25066 | |
| PR fortran/25067 | |
| PR fortran/25068 | |
| PR fortran/25307 | |
| * io.c (resolve_tag): Change std on IOSTAT != default integer to | |
| GFC_STD_GNU and change message accordingly. Add same error for | |
| SIZE. | |
| (match_dt_element, gfortran.h): Add field err_where to gfc_dt and | |
| set it when tags are being matched. | |
| (gfc_resolve_dt): Remove tests that can be done before resolution | |
| and add some of the new ones here. | |
| (check_io_constraints): New function that checks for most of the | |
| data transfer constraints. Some of these were previously done in | |
| match_io, from where this function is called, and some were done | |
| in gfc_resolve_dt. | |
| (match_io): Remove most of the tests of constraints and add the | |
| call to check_io_constraints. | |
| 2005-12-21 Erik Edelmann <eedelman@gcc.gnu.org> | |
| PR fortran/25423 | |
| * parse.c (parse_where_block): break instead of "fall | |
| through" after parsing nested WHERE construct. | |
| 2005-12-18 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/25018 | |
| *expr.c(check_inquiry): Return FAILURE if there is no symtree to | |
| provide a name. Error/warning for assumed character length argument | |
| to LEN for an initialization expression, using GFC_GNU_STD. Add an | |
| argument to flag that the expression is not restricted. | |
| (check_init_expr): Improve the message for a failing variable. | |
| (gfc_match_init_expr): Call check_enquiry again to make sure that | |
| unsimplified expressions are not causing unnecessary errors. | |
| 2005-12-17 Steven G. Kargl <kargls@comcast.net> | |
| Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/25458 | |
| * simplify.c (gfc_simplify_ibset, gfc_simplify_not): Add call to | |
| twos_complement. | |
| 2005-12-17 Steven G. Kargl <kargls@comcast.net> | |
| * decl.c (gfc_match_old_kind_spec,match_type_spec): Use gfc_std_notify | |
| to report nonstandard intrinsic type declarations. | |
| 2005-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/24268 | |
| * io.c (format_lex): Allow whitespace within text of format specifier. | |
| 2005-12-16 Steven G. Kargl <kargls@comcast.net> | |
| PR fortran/25106 | |
| PR fortran/25055 | |
| * match.c (gfc_match_small_literal_int): Add cnt argument; | |
| (gfc_match_st_label,gfc_match_stopcode): Account for cnt argument. | |
| * match.h (gfc_match_small_literal_int): Update prototype. | |
| * decl.c (match_char_length,gfc_match_old_kind_spec): Account for cnt. | |
| * parse.c (next_free): Ditto. | |
| * primary.c (match_kind_param): Ditto. | |
| 2005-12-16 Richard Guenther <rguenther@suse.de> | |
| * trans.h (tree): Remove declaration of gfc_build_function_call. | |
| * trans.c (gfc_build_function_call): Remove. | |
| (gfc_build_array_ref): Use build_function_call_expr. | |
| (gfc_trans_runtime_check): Likewise. | |
| * trans-array.c (gfc_trans_allocate_array_storage): Likewise. | |
| (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. | |
| * trans-expr.c (gfc_conv_power_op): Likewise. | |
| (gfc_conv_string_tmp): Likewise. | |
| (gfc_conv_concat_op): Likewise. | |
| (gfc_conv_expr_op): Likewise. | |
| (gfc_trans_string_copy): Likewise. | |
| * trans-decl.c (build_entry_thunks): Likewise. | |
| (gfc_generate_function_code): Likewise. | |
| (gfc_generate_constructors): Likewise. | |
| * trans-io.c (gfc_trans_open): Likewise. | |
| (gfc_trans_close): Likewise. | |
| (build_filepos): Likewise. | |
| (gfc_trans_inquire): Likewise. | |
| (transfer_namelist_element): Likewise. | |
| (build_dt): Likewise. | |
| (gfc_trans_dt_end): Likewise. | |
| (transfer_expr): Likewise. | |
| (transfer_array_desc): Likewise. | |
| * trans-stmt.c (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): Likewise. | |
| (gfc_trans_allocate): Likewise. | |
| (gfc_trans_deallocate): Likewise. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_aint): Likewise. | |
| (gfc_conv_intrinsic_lib_function): Likewise. | |
| (gfc_conv_intrinsic_exponent): Likewise. | |
| (gfc_conv_intrinsic_abs): Likewise. | |
| (gfc_conv_intrinsic_sign): Likewise. | |
| (gfc_conv_intrinsic_ctime): Likewise. | |
| (gfc_conv_intrinsic_fdate): Likewise. | |
| (gfc_conv_intrinsic_ttynam): Likewise. | |
| (gfc_conv_intrinsic_ishftc): Likewise. | |
| (gfc_conv_intrinsic_len_trim): Likewise. | |
| (gfc_conv_intrinsic_index): Likewise. | |
| (gfc_conv_intrinsic_size): Likewise. | |
| (gfc_conv_intrinsic_strcmp): Likewise. | |
| (gfc_conv_intrinsic_adjust): Likewise. | |
| (gfc_conv_associated): Likewise. | |
| (gfc_conv_intrinsic_scan): Likewise. | |
| (gfc_conv_intrinsic_verify): Likewise. | |
| (call_builtin_clz): Likewise. | |
| (gfc_conv_intrinsic_si_kind): Likewise. | |
| (gfc_conv_intrinsic_sr_kind): Likewise. | |
| (gfc_conv_intrinsic_trim): Likewise. | |
| (gfc_conv_intrinsic_repeat): Likewise. | |
| (gfc_conv_intrinsic_iargc): Likewise. | |
| 2005-12-16 Richard Guenther <rguenther@suse.de> | |
| * trans.h (gfc_build_indirect_ref): Remove declaration. | |
| * trans.c (gfc_build_indirect_ref): Remove. | |
| * trans-array.c (gfc_trans_array_ctor_element): Use | |
| build_fold_indirect_ref instead of gfc_build_indirect_ref. | |
| (gfc_trans_array_constructor_value): Likewise. | |
| (gfc_conv_array_index_offset): Likewise. | |
| (gfc_conv_scalarized_array_ref): Likewise. | |
| (gfc_conv_array_ref): Likewise. | |
| (gfc_trans_dummy_array_bias): Likewise. | |
| (gfc_conv_expr_descriptor): Likewise. | |
| (gfc_conv_array_parameter): Likewise. | |
| * trans-decl.c (gfc_finish_cray_pointee): Likewise. | |
| (gfc_get_symbol_decl): Likewise. | |
| * trans-expr.c (gfc_conv_substring): Likewise. | |
| (gfc_conv_component_ref): Likewise. | |
| (gfc_conv_variable): Likewise. | |
| (gfc_add_interface_mapping): Likewise. | |
| (gfc_conv_function_call): Likewise. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Likewise. | |
| (gfc_conv_intrinsic_transfer): Likewise. | |
| * trans-io.c (nml_get_addr_expr): Likewise. | |
| (transfer_namelist_element): Likewise. | |
| (transfer_expr): Likewise. | |
| * trans-stmt.c (gfc_trans_nested_forall_loop): Likewise. | |
| (allocate_temp_for_forall_nest_1): Likewise. | |
| (gfc_trans_forall_1): Likewise. | |
| 2005-12-16 Richard Guenther <rguenther@suse.de> | |
| * trans-array.c (gfc_conv_descriptor_data_addr): Use | |
| build_fold_addr_expr where appropriate. | |
| (gfc_trans_allocate_array_storage): Likewise. | |
| (gfc_trans_array_constructor_value): Likewise. | |
| (gfc_conv_array_data): Likewise. | |
| (gfc_conv_expr_descriptor): Likewise. | |
| (gfc_conv_array_parameter): Likewise. | |
| * trans-expr.c (gfc_conv_variable): Likewise. | |
| (gfc_conv_function_val): Likewise. | |
| (gfc_conv_function_call): Likewise. | |
| (gfc_conv_expr_reference): Likewise. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Likewise. | |
| (gfc_conv_intrinsic_fdate): Likewise. | |
| (gfc_conv_intrinsic_ttynam): Likewise. | |
| (gfc_conv_intrinsic_si_kind): Likewise. | |
| (gfc_conv_intrinsic_trim): Likewise. | |
| * trans-io.c (set_parameter_ref): Likewise. | |
| (gfc_convert_array_to_string): Likewise. | |
| (gfc_trans_open): Likewise. | |
| (gfc_trans_close): Likewise. | |
| (build_filepos): Likewise. | |
| (gfc_trans_inquire): Likewise. | |
| (nml_get_addr_expr): Likewise. | |
| (transfer_namelist_element): Likewise. | |
| (build_dt): Likewise. | |
| (gfc_trans_dt_end): Likewise. | |
| (transfer_array_component): Likewise. | |
| (transfer_expr): Likewise. | |
| (transfer_array_desc): Likewise. | |
| (gfc_trans_transfer): Likewise. | |
| * trans-stmt.c (gfc_trans_allocate): Likewise. | |
| (gfc_trans_deallocate): Likewise. | |
| 2005-12-16 Kazu Hirata <kazu@codesourcery.com> | |
| * dependency.c, resolve.c, trans-array.c: Fix comment typos. | |
| * gfortran.texi: Fix typos. | |
| 2005-12-14 Erik Edelmann <eedelman@gcc.gnu.org> | |
| PR fortran/18197 | |
| * resolve.c (resolve_formal_arglist): Remove code to set | |
| the type of a function symbol from it's result symbol. | |
| 2005-12-13 Richard Guenther <rguenther@suse.de> | |
| * trans-expr.c (gfc_conv_substring): Use fold_build2 and | |
| build_int_cst. | |
| 2005-12-13 Richard Sandiford <richard@codesourcery.com> | |
| * Make-lang.in (fortran/trans-resolve.o): Depend on | |
| fortran/dependency.h. | |
| * gfortran.h (gfc_expr): Add an "inline_noncopying_intrinsic" flag. | |
| * dependency.h (gfc_get_noncopying_intrinsic_argument): Declare. | |
| (gfc_check_fncall_dependency): Change prototype. | |
| * dependency.c (gfc_get_noncopying_intrinsic_argument): New function. | |
| (gfc_check_argument_var_dependency): New function, split from | |
| gfc_check_fncall_dependency. | |
| (gfc_check_argument_dependency): New function. | |
| (gfc_check_fncall_dependency): Replace the expression parameter with | |
| separate symbol and argument list parameters. Generalize the function | |
| to handle dependencies for any type of expression, not just variables. | |
| Accept a further argument giving the intent of the expression being | |
| tested. Ignore intent(in) arguments if that expression is also | |
| intent(in). | |
| * resolve.c: Include dependency.h. | |
| (find_noncopying_intrinsics): New function. | |
| (resolve_function, resolve_call): Call it on success. | |
| * trans-array.h (gfc_conv_array_transpose): Declare. | |
| (gfc_check_fncall_dependency): Remove prototype. | |
| * trans-array.c (gfc_conv_array_transpose): New function. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Don't use the | |
| libcall handling if the expression is to be evaluated inline. | |
| Add a case for handling inline transpose()s. | |
| * trans-expr.c (gfc_trans_arrayfunc_assign): Adjust for the new | |
| interface provided by gfc_check_fncall_dependency. | |
| 2005-12-12 Steven G. Kargl <kargls@comcast.net> | |
| PR fortran/25078 | |
| * match.c (gfc_match_equivalence): Count number of objects. | |
| 2005-12-11 Aldy Hernandez <aldyh@redhat.com> | |
| * lang.opt: Add RejectNegative to ffixed-form and ffree-form. | |
| 2005-12-10 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| PR fortran/25068 | |
| * io.c (resolve_tag): Add correct diagnostic for F2003 feature. | |
| 2005-12-10 Thomas Koenig <Thomas.Koenig@online.de> | |
| PR fortran/23815 | |
| * io.c (top level): Add convert to io_tag. | |
| (resolve_tag): convert is GFC_STD_GNU. | |
| (match_open_element): Add convert. | |
| (gfc_free_open): Likewise. | |
| (gfc_resolve_open): Likewise. | |
| (gfc_free_inquire): Likewise. | |
| (match_inquire_element): Likewise. | |
| * dump-parse-tree.c (gfc_show_code_node): Add | |
| convet for open and inquire. | |
| gfortran.h: Add convert to gfc_open and gfc_inquire. | |
| * trans-io.c (gfc_trans_open): Add convert. | |
| (gfc_trans_inquire): Likewise. | |
| * ioparm.def: Add convert to open and inquire. | |
| * gfortran.texi: Document CONVERT. | |
| 2005-12-09 Roger Sayle <roger@eyesopen.com> | |
| PR fortran/22527 | |
| * f95-lang.c (gfc_truthvalue_conversion): Use a zero of the correct | |
| integer type when building an inequality. | |
| 2005-12-09 Richard Guenther <rguenther@suse.de> | |
| * f95-lang.c (build_builtin_fntypes): Use correct | |
| return types, as indicated by comments. | |
| 2005-12-08 Erik Edelmann <eedelman@gcc.gnu.org> | |
| PR fortran/25292 | |
| * check.c (gfc_check_associated): Allow function results | |
| as actual arguments to ASSOCIATED. Moved a misplaced | |
| comment. | |
| 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | |
| * Make-lang.in (fortran.all.build, fortran.install-normal): Remove. | |
| 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | |
| * Make-lang.in: Remove all dependencies on s-gtype, except for | |
| gt-fortran-trans.h. | |
| 2005-12-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| PR fortran/25106 | |
| * parse.c (next_free): Use new prototype for gfc_match_st_label. | |
| Correctly emit hard error if a label is zero. | |
| * match.c (gfc_match_st_label): Never allow zero as a valid | |
| label. | |
| (gfc_match, gfc_match_do, gfc_match_goto): Use new prototype for | |
| gfc_match_st_label. | |
| * primary.c (): Use new prototype for gfc_match_st_label. | |
| * io.c (): Likewise. | |
| * match.h: Likewise. | |
| 2005-12-02 Richard Guenther <rguenther@suse.de> | |
| * trans.h (build1_v): Use build1, not build to build the | |
| void typed tree. | |
| 2005-12-01 Erik Schnetter <schnetter@aei.mpg.de> | |
| * decl.c (gfc_match_old_kind_spec): Improve handling of old style | |
| COMPLEX*N | |
| 2005-12-01 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/24789 | |
| * trans-decl.c (gfc_get_symbol_decl): Move the expression for | |
| unit size of automatic character length, dummy pointer array | |
| elements down a few lines from the version that fixed PR15809. | |
| 2005-11-30 Bernhard Fischer <rep.nop@aon.at> | |
| PR fortran/21302 | |
| * lang.opt: New options -ffree-line-length- and -ffree-line-length-none. | |
| * gfortran.h: Add free_line_length and add description of | |
| free_line_length and fixed_line_length. | |
| * options.c (gfc_init_options, gfc_handle_option): Initialize | |
| and set free_line_length and fixed_line_length. | |
| * scanner.c (load_line): Set free_line_length to 132 and | |
| fixed_line_length to 72 or user requested values. | |
| * scanner.c: Typo in comment. | |
| * invoke.texi: Document -ffree-line-length- and | |
| -ffree-line-length-none | |
| 2005-11-30 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/15809 | |
| * trans-decl.c (gfc_get_symbol_decl): In the case of automatic | |
| character length, dummy pointer arrays, build an expression for | |
| unit size of the array elements, to be picked up and used in the | |
| descriptor dtype. | |
| * trans-io.c (gfc_trans_transfer): Modify the detection of | |
| components of derived type arrays to use the gfc_expr references | |
| instead of the array descriptor dtype. This allows the latter | |
| to contain expressions. | |
| 2005-11-30 Erik Edelmann <erik.edelmann@iki.fi> | |
| PR fortran/15809 | |
| * trans-array.c (gfc_trans_deferred_array): Allow PARM_DECLs past | |
| in addition to VAR_DECLs. | |
| 2005-11-29 Jakub Jelinek <jakub@redhat.com> | |
| * io.c (gfc_resolve_open): RESOLVE_TAG access field as well. | |
| 2005-11-27 Bernhard Fischer <rep.nop@aon.at> | |
| * gfortran.h: remove superfluous whitespace and use GNU | |
| comment-style for the documentation of backend_decl. | |
| 2005-11-27 Steven G. Kargl <kargls@comcast.net> | |
| PR fortran/24917 | |
| * primary.c (match_boz_constant): Implement postfix BOZ constants; | |
| (match_string_constant): Peek for b, o, z, and x | |
| 2005-11-27 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| PR fortran/23912 | |
| * iresolve.c (gfc_resolve_dim, gfc_resolve_mod, | |
| gfc_resolve_modulo): When arguments have different kinds, fold | |
| the lower one to the largest kind. | |
| * check.c (gfc_check_a_p): Arguments of different kinds is not | |
| a hard error, but an extension. | |
| * simplify.c (gfc_simplify_dim, gfc_simplify_mod, | |
| gfc_simplify_modulo): When arguments have different kinds, fold | |
| the lower one to the largest kind. | |
| 2005-11-21 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/14943 | |
| PR fortran/21647 | |
| * Make-lang.in (fortran/trans-io.o): Depend on fortran/ioparm.def. | |
| * dump-parse-tree.c (gfc_show_code_node): Dump c->block for | |
| EXEC_{READ,WRITE,IOLENGTH} nodes. | |
| * io.c (terminate_io, match_io, gfc_match_inquire): Put data | |
| transfer commands into EXEC_{READ,WRITE,IOLENGTH}'s code->block. | |
| * resolve.c (resolve_blocks): Handle EXEC_{READ,WRITE,IOLENGTH}. | |
| * trans-io.c (ioparm_unit, ioparm_err, ioparm_end, ioparm_eor, | |
| ioparm_list_format, ioparm_library_return, ioparm_iostat, | |
| ioparm_exist, ioparm_opened, ioparm_number, ioparm_named, | |
| ioparm_rec, ioparm_nextrec, ioparm_size, ioparm_recl_in, | |
| ioparm_recl_out, ioparm_iolength, ioparm_file, ioparm_file_len, | |
| ioparm_status, ioparm_status_len, ioparm_access, ioparm_access_len, | |
| ioparm_form, ioparm_form_len, ioparm_blank, ioparm_blank_len, | |
| ioparm_position, ioparm_position_len, ioparm_action, | |
| ioparm_action_len, ioparm_delim, ioparm_delim_len, ioparm_pad, | |
| ioparm_pad_len, ioparm_format, ioparm_format_len, ioparm_advance, | |
| ioparm_advance_len, ioparm_name, ioparm_name_len, | |
| ioparm_internal_unit, ioparm_internal_unit_len, | |
| ioparm_internal_unit_desc, ioparm_sequential, ioparm_sequential_len, | |
| ioparm_direct, ioparm_direct_len, ioparm_formatted, | |
| ioparm_formatted_len, ioparm_unformatted, ioparm_unformatted_len, | |
| ioparm_read, ioparm_read_len, ioparm_write, ioparm_write_len, | |
| ioparm_readwrite, ioparm_readwrite_len, ioparm_namelist_name, | |
| ioparm_namelist_name_len, ioparm_namelist_read_mode, ioparm_iomsg, | |
| ioparm_iomsg_len, ioparm_var): Remove. | |
| (enum ioparam_type, enum iofield_type, enum iofield, | |
| enum iocall): New enums. | |
| (gfc_st_parameter_field, gfc_st_parameter): New typedefs. | |
| (st_parameter, st_parameter_field, iocall): New variables. | |
| (ADD_FIELD, ADD_STRING): Remove. | |
| (dt_parm, dt_post_end_block): New variables. | |
| (gfc_build_st_parameter): New function. | |
| (gfc_build_io_library_fndecls): Use it. Initialize iocall | |
| array rather than ioparm_*, add extra first arguments to | |
| the function types. | |
| (set_parameter_const): New function. | |
| (set_parameter_value): Add type argument, return a bitmask. | |
| Changed to set a field in automatic structure variable rather | |
| than set a field in a global _gfortran_ioparm variable. | |
| (set_parameter_ref): Likewise. If requested var has different | |
| size than what field should point to, call with a temporary and | |
| then copy into the user variable. Add postblock argument. | |
| (set_string): Remove var_len argument, add type argument, return | |
| a bitmask. Changed to set fields in automatic structure variable | |
| rather than set a field in a global _gfortran_ioparm variable. | |
| (set_internal_unit): Remove iunit, iunit_len, iunit_desc arguments, | |
| add var argument. Return a bitmask. Changed to set fields in | |
| automatic structure variable rather than set a field in a global | |
| _gfortran_ioparm variable. | |
| (set_flag): Removed. | |
| (io_result): Add var argument. Changed to read common.flags field | |
| from automatic structure variable and bitwise AND it with 3. | |
| (set_error_locus): Add var argument. Changed to set fields in | |
| automatic structure variable rather than set a field in a global | |
| _gfortran_{filename,line} variables. | |
| (gfc_trans_open): Use gfc_start_block rather than gfc_init_block. | |
| Create a temporary st_parameter_* structure. Adjust callers of | |
| all above mentioned functions. Pass address of the temporary | |
| variable as first argument to the generated function call. | |
| Use iocall array rather than ioparm_* separate variables. | |
| (gfc_trans_close, build_filepos, gfc_trans_inquire): Likewise. | |
| (build_dt): Likewise. Change first argument to tree from tree *. | |
| Don't dereference code->ext.dt if last_dt == INQUIRE. Emit | |
| IOLENGTH argument setup here. Set dt_parm/dt_post_end_block | |
| variables and gfc_trans_code the nested data transfer commands | |
| in code->block. | |
| (gfc_trans_iolength): Just set last_dt and call build_dt immediately. | |
| (transfer_namelist_element): Pass address of dt_parm variable | |
| to generated functions. Use iocall array rather than ioparm_* | |
| separate variables. | |
| (gfc_trans_backspace, gfc_trans_endfile, gfc_trans_rewind, | |
| gfc_trans_flush, gfc_trans_read, gfc_trans_write): Use iocall array | |
| rather than ioparm_* separate variables. | |
| (gfc_trans_dt_end): Likewise. Pass address of dt_parm variable | |
| as first argument to generated function. Adjust io_result caller. | |
| Prepend dt_post_end_block before io_result code. | |
| (transfer_expr): Use iocall array rather than ioparm_* separate | |
| variables. Pass address of dt_parm variables as first argument | |
| to generated functions. | |
| * ioparm.def: New file. | |
| 2005-11-21 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/24223 | |
| * resolve.c (resolve_contained_fntype) Error if an internal | |
| function is assumed character length. | |
| PR fortran/24705 | |
| * trans-decl.c (gfc_create_module_variable) Skip ICE in | |
| when backend decl has been built and the symbol is marked | |
| as being in an equivalence statement. | |
| 2005-11-20 Toon Moene <toon@moene.indiv.nluug.nl> | |
| * invoke.texi: Remove superfluous @item. | |
| 2005-11-19 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/24862 | |
| * trans-io.c (gfc_trans_transfer): Handle arrays of derived type. | |
| 2005-11-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| PR fortran/20811 | |
| * scanner.c (gfc_open_included_file): Add an extra include_cwd | |
| argument. Only include files in the current working directory if | |
| its value is true. | |
| * gfortran.h: Change prototype for gfc_open_included_file. | |
| (load_file): Don't search for include files in the current working | |
| directory. | |
| * options.c (gfc_post_options): Add the directory of the source file | |
| to the list of paths for included files. | |
| * module.c (gfc_use_module): Look for module files in the current | |
| directory. | |
| 2005-11-16 Alan Modra <amodra@bigpond.net.au> | |
| PR fortran/24096 | |
| * trans-types.c (gfc_init_kinds): Use one less for max_exponent | |
| of IBM extended double format. | |
| 2005-11-13 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * intrinsic.c (add_functions): Add COMPLEX, FTELL, FGETC, FGET, | |
| FPUTC, FPUT, AND, XOR and OR intrinsic functions. | |
| (add_subroutines): Add FGETC, FGET, FPUTC, FPUT and FTELL intrinsic | |
| subroutines. | |
| * gfortran.h: Add GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, | |
| GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, | |
| GFC_ISYM_OR, GFC_ISYM_XOR. | |
| * iresolve.c (gfc_resolve_and, gfc_resolve_complex, | |
| gfc_resolve_or, gfc_resolve_fgetc, gfc_resolve_fget, | |
| gfc_resolve_fputc, gfc_resolve_fput, gfc_resolve_ftell, | |
| gfc_resolve_xor, gfc_resolve_fgetc_sub, gfc_resolve_fget_sub, | |
| gfc_resolve_fputc_sub, gfc_resolve_fput_sub, gfc_resolve_ftell_sub): | |
| New functions. | |
| * check.c (gfc_check_complex, gfc_check_fgetputc_sub, | |
| gfc_check_fgetputc, gfc_check_fgetput_sub, gfc_check_fgetput, | |
| gfc_check_ftell, gfc_check_ftell_sub, gfc_check_and): New functions. | |
| * simplify.c (gfc_simplify_and, gfc_simplify_complex, gfc_simplify_or, | |
| gfc_simplify_xor): New functions. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for | |
| GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC, | |
| GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR and | |
| GFC_ISYM_XOR. | |
| * intrinsic.h: Add prototypes for all functions added to iresolve.c, | |
| simplify.c and check.c. | |
| 2005-11-10 Paul Thomas <pault@gcc.gnu.org> | |
| Steven G. Kargl <kargls@comcast.net> | |
| PR fortran/15976 | |
| * resolve.c (resolve_symbol): Disallow automatic arrays in module scope. | |
| 2005-11-10 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/24643 | |
| * primary.c (match_varspec): Check for implicitly typed CHARACTER | |
| variables before matching substrings. | |
| 2005-11-09 Steven G. Kargl <kargls@comcast.net> | |
| * trans-intrinsic.c: Typo in comment. | |
| 2005-11-09 Erik Edelmann <eedelman@gcc.gnu.org> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| * dump-parse-tree.c: Fix comment typo, add a few blank lines. | |
| 2005-11-07 Steven G. Kargl <kargls@comcast.net> | |
| * error.c: Use flag_fatal_error. | |
| * invoke.texi: Remove -Werror from list of options. | |
| 2005-11-06 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <jb@gcc.gnu.org> | |
| 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 <coudert@clipper.ens.fr> | |
| * 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 <kazu@codesourcery.com> | |
| * decl.c, trans-decl.c: Fix comment typos. | |
| * gfortran.texi: Fix a typo. | |
| 2005-11-05 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * 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 <kargls@comcast.net> | |
| PR fortran/24636 | |
| * match.c (gfc_match_stopcode): Set stop_code = -1. | |
| 2005-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| PR fortran/18452 | |
| * lang-specs.h: Pass -lang-fortran to the preprocessor. | |
| 2005-11-02 Andrew Pinski <pinskia@physics.uc.edu> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| * 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/24008 | |
| * decl.c (gfc_match_entry): Function entries need an argument list. | |
| 2005-11-01 Erik Edelmann <eedelman@gcc.gnu.org> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/24404 | |
| * resolve.c (resolve_symbol): Output symbol names in more error | |
| messages, clarify error message. | |
| 2005-11-01 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * dump-parse-tree.c (show_symtree): Revert change unintentionally | |
| committed in r106246. | |
| 2005-11-01 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <schwab@suse.de> | |
| * 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 <eedelman@gcc.gnu.org> | |
| * gfortran.texi: Update contributors. | |
| 2005-10-30 Erik Edelmann <eedelman@gcc.gnu.org> | |
| 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 <Thomas.Koenig@online.de> | |
| * gfortran.texi: Remove reservations about I/O usability. Document | |
| that array intrinsics mostly work. | |
| 2005-10-30 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * gfortran.texi: Move license stuff to back. Add information | |
| on ENUM and ENUMERATOR. | |
| * invoke.texi: Document -fshort-enums. | |
| 2005-10-30 Gaurav Gautam <gauravga@noida.hcltech.com> | |
| Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * 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 <coudert@clipper.ens.fr> | |
| * 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 <stevenb@suse.de> | |
| * gfortran.texi: Update contributors. | |
| 2005-10-29 Steven Bosscher <stevenb@suse.de> | |
| * interface.c: Fix previous checkin (an incomplete patch | |
| was commited for me). | |
| 2005-10-29 Joseph S. Myers <joseph@codesourcery.com> | |
| * intrinsic.texi: Remove empty @cindex line. | |
| 2005-10-28 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * 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 <stevenb@suse.de> | |
| PR fortran/24545 | |
| * interface.c (gfc_match_end_interface): Fix typo in | |
| INTERFACE_USER_OP case. | |
| 2005-10-26 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <jakub@redhat.com> | |
| * 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 <fengwang@nudt.edu.cn> | |
| 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 <langton2@llnl.gov> | |
| 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 <langton2@llnl.gov> | |
| * 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 <coudert@clipper.ens.fr> | |
| 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 <pinskia@physics.uc.edu> | |
| 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 <langton2@llnl.gov> | |
| * decl.c (match_type_spec): Add a BYTE type as an extension. | |
| 2005-10-23 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <eedelman@gcc.gnu.org> | |
| PR fortran/24426 | |
| * decl.c (variable_decl): Don't assign default initializers to | |
| pointers. | |
| 2005-10-21 Jakub Jelinek <jakub@redhat.com> | |
| * 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 <erik.edelmann@iki.fi> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <erik.edelmann@iki.fi> | |
| PR 22273 | |
| * expr.c (check_inquiry): Add "len" to inquiry_function. | |
| 2005-10-14 Jakub Jelinek <jakub@redhat.com> | |
| * primary.c (match_boz_constant): Add missing break after gfc_error. | |
| 2005-10-12 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <coudert@clipper.ens.fr> | |
| * 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 <pault@gcc.gnu.org> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <jakub@redhat.com> | |
| * 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 <kargls@comcast.net> | |
| PR fortran/20786 | |
| * iresolve.c (gfc_resolve_aint, gfc_resolve_anint): Type conversion | |
| of the argument. | |
| 2005-10-11 Jakub Jelinek <jakub@redhat.com> | |
| * f95-lang.c (gfc_init_decl_processing): Initialize | |
| void_list_node. | |
| 2005-10-07 Erik Edelmann <erik.edelmann@iki.fi> | |
| 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 <rguenther@suse.de> | |
| PR fortran/24176 | |
| * parse.c (gfc_parse_file): Exit early for empty files. | |
| 2005-10-03 Steve Ellcey <sje@cup.hp.com> | |
| * 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 <coudert@clipper.ens.fr> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <jakub@redhat.com> | |
| 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 <jblomqvi@cc.hut.fi> | |
| * 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 <jakub@redhat.com> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <kargls@comcast.net> | |
| PR fortran/24005 | |
| * interface.c (check_interface1): Fix NULL dereference. | |
| 2005-09-22 Erik Edelmann <erik.edelmann@iki.fi> | |
| PR fortran/23843 | |
| * resolve.c (derived_inaccessible): New function. | |
| (resolve_transfer): Use it to check for private | |
| components. | |
| 2005-09-22 Steven G. Kargl <kargls@comcast.net> | |
| 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 <erik.edelmann@iki.fi> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| 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 <jakub@redhat.com> | |
| PR fortran/23663 | |
| * primary.c (match_actual_arg): Handle ENTRY the same way | |
| as FUNCTION. | |
| 2005-09-18 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * Make-lang.in: Make check-fortran alias for check-gfortran. | |
| 2005-09-18 Andreas Jaeger <aj@suse.de> | |
| * module.c (read_module): Add missed line from last patch. | |
| 2005-09-18 Erik Edelmann <erik.edelmann@iki.fi> | |
| PR fortran/15975 | |
| * resolve.c (resolve_symbol): Don't assign default | |
| initializer to pointers. | |
| 2005-09-18 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <coudert@clipper.ens.fr> | |
| 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 <paul@codesourcery.com> | |
| PR fortran/23906 | |
| * dependency.c (transform_sections): Divide by correct value. | |
| Elaborate comment. | |
| 2005-09-14 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <erik.edelmann@iki.fi> | |
| 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 <richard@codesourcery.com> | |
| 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 <richard@codesourcery.com> | |
| 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 <coudert@clipper.ens.fr> | |
| * 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 <Thomas.Koenig@online.de> | |
| gfortran.texi: Document IOSTAT= specifier. | |
| 2005-09-09 Thomas Koenig <Thomas.Koenig@online.de> | |
| * 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 <richard@codesourcery.com> | |
| * match.h (gfc_match_equiv_variable): Declare. | |
| 2005-09-09 Richard Sandiford <richard@codesourcery.com> | |
| 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 <richard@codesourcery.com> | |
| 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 <richard@codesourcery.com> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/23765 | |
| * match.c (gfc_match_common): Remove unnecessary / wrong special | |
| cases for end-of-statement. | |
| 2005-09-08 Janne Blomqvist <jblomqvi@cc.hut.fi> | |
| * gfortran.texi: Add section about implemented F2003 features. | |
| 2005-09-08 Richard Sandiford <richard@codesourcery.com> | |
| 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 <richard@codesourcery.com> | |
| 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 <richard@codesourcery.com> | |
| PR fortran/23373 | |
| * trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary | |
| descriptor if the rhs is not a null pointer or variable. | |
| 2005-09-07 Thomas Koenig <Thomas.Koenig@online.de> | |
| PR fortran/20848 | |
| * symbol.c(check_conflict): Add conflict for parameter/save, | |
| 2005-09-06 Richard Sandiford <richard@codesourcery.com> | |
| PR fortran/19269 | |
| * simplify.c (gfc_simplify_transpose): Set the result's typespec from | |
| the source, not the first element of the return value. | |
| 2005-09-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/23661 | |
| * io.c (match_io): Correctly backup if PRINT followed by | |
| symbol which is not a namelist. Force blank between PRINT | |
| and namelist in free form. | |
| 2005-08-31 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| PR fortran/20592 | |
| * gfortran.h (gfc_option_t): Add flag_automatic. | |
| * invoke.texi: Document the -fno-automatic option. | |
| * lang.opt: Add a -fautomatic option. | |
| * options.c (gfc_init_options): Default for -fautomatic is on. | |
| (gfc_handle_option): Add handling of -fautomatic option. | |
| * resolve.c (gfc_resolve): When -fno-automatic is used, mark | |
| needed variables as SAVE. | |
| 2005-08-27 Erik Edelmann <erik.edelmann@iki.fi> | |
| * trans-array.c (gfc_trans_deferred_array): Fix comments. | |
| 2005-08-27 Erik Schnetter <schnetter@aei.mpg.de> | |
| * primary.c (match_charkind_name): Fix typo in comment leading to | |
| function. | |
| 2005-08-25 Erik Edelmann <eedelman@acclab.helsinki.fi> | |
| PR fortran/20363 | |
| * symbol.c (find_special): Remove. | |
| (build_sym, add_init_expr, attr_decl1): Remove calls to | |
| find_special in favor of calls to gfc_get_symbol. | |
| 2005-08-24 Thomas Koenig <Thomas.Koenig@online.de> | |
| PR fortran/17758 | |
| * gfortran.h (symbol_attribute): Add noreturn to the structure. | |
| (gfc_intrinsic_sym): Add noreturn to the structure. | |
| * intrinsic.c (make_noreturn): New function. | |
| (add_subroutines): Mark subroutines abort and exit as noreturn. | |
| (gfc_intrinsic_sub_interface): Copy noreturn attribute from | |
| isym to the resolved symbol. | |
| * trans-decl.c (gfc_get_extern_function_decl): Set function | |
| as VOLATILE (== noreturn) if the noreturn attribute is set. | |
| 2005-08-21 Steven G. Kargl <kargls@comcast.net> | |
| * decl.c: Typo in comment. | |
| 2005-08-21 Steven G. Kargl <kargls@comcast.net> | |
| * array.c: Bump GFC_MAX_AC_EXPAND from 100 to 65535. | |
| 2005-08-21 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * gfortran.h (gfc_option_t): Remove source field. Add | |
| flag_d_lines field. | |
| (gfc_new_file): Remove arguments in prototype. | |
| (gfc_source_file): Make 'const char *'. | |
| * f95-lang.c (gfc_init): Use gfc_source_file instead of | |
| gfc_option.source. Call gfc_new_file without arguments. | |
| * invoke.texi: Document new options '-fd-lines-as-code' and | |
| '-fd-lines-as-comment'. | |
| * lang.opt: Add new options. Alphabetize. | |
| * options.c (gfc_init_options): Initialize gfc_source_file instead | |
| of gfc_option.source. Initialize gfc_option.flag_d_lines. | |
| (form_from_filename): Move here from scanner.c. Make | |
| 'filename' argument 'const'. | |
| (gfc_post_options): Set gfc_source_file. Determine source form. | |
| Warn if 'd-lines*' are used in free form. | |
| * scanner.c (gfc_source_file): Constify. | |
| (skip_fixed_comments): Deal with d-lines. | |
| (get_file): Constify argument 'name'. | |
| (load_file): Constify argument 'filename'. | |
| (form_from_filename): Moved to options.c. | |
| (gfc_new_file): Remove arguments. Don't initialize | |
| gfc_source_file, don't determine source form. | |
| * trans-const.c (gfc_init_constants): Use gfc_source_file instead | |
| of gfc_option.source. | |
| 2005-08-19 Steven G. Kargl <kargls@comcast.net> | |
| PR fortran/23065 | |
| * gfortran.h: Remove PATH_MAX definition. | |
| * module.c (write_module, gfc_dump_module): Use alloca to allocate | |
| buffers. | |
| * scanner.c (gfc_release_include_path, form_from_filename): Ditto. | |
| 2005-08-16 Huang Chun <chunhuang73@hotmail.com> | |
| * trans-expr.c (gfc_conv_power_op): Evaluate the expression before | |
| expand. | |
| 2005-08-14 Asher Langton <langton2@llnl.gov> | |
| * parse.c (match): Enclose macro in do...while(0) and braces. | |
| 2005-08-14 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/21432. | |
| * gfortran.texi: Document PRINT namelist. | |
| 2005-08-14 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/21432. | |
| * io.c (match_io): Add code to implement PRINT namelist. | |
| 2005-08-14 Canqun Yang <canqun@nudt.edu.cn> | |
| * trans-stmt.c (gfc_trans_arithmetic_if): Optimized in case of equal | |
| labels. | |
| 2005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| Steven Bosscher <stevenb@suse.de> | |
| PR libfortran/20006 | |
| * gfortran.h: Add is_main_program member to symbol_attribute. | |
| * trans-decl: Add a gfor_fndecl_set_std tree. | |
| (gfc_build_builtin_function_decls): Create it. | |
| (gfc_generate_function_code): Add this call at the beginning of | |
| the main program. | |
| * trans.c (gfc_generate_code): Move main_program and attr. | |
| * trans.h: Add declaration for gfor_fndecl_set_std. | |
| 2005-08-10 Thomas Koenig <Thomas.Koenig@online.de> | |
| PR libfortran/22143 | |
| gfortran.h: Declare new function gfc_resolve_dim_arg. | |
| resolve.c: New function gfc_resolve_dim_arg. | |
| iresolve.c (gfc_resolve_all): Use gfc_resolve_dim_arg. | |
| (gfc_resolve_any): Likewise. | |
| (gfc_resolve_count): Likewise. | |
| (gfc_resolve_cshift): Likewise. If the kind of shift is less | |
| gfc_default_integer_kind, convert it to default integer type. | |
| (gfc_resolve_eoshift): Likewise. | |
| (gfc_resolve_maxloc): Use gfc_resolve_dim_arg. | |
| (gfc_resolve_maxval): Likewise. | |
| (gfc_resolve_minloc): Likewise. | |
| (gfc_resolve_minval): Likewise. | |
| (gfc_resolve_product): Likewise. | |
| (gfc_resolve_spread): Likewise. | |
| (gfc_resolve_sum): Likewise. | |
| 2005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check | |
| functions for new intrinsics TTYNAM and ISATTY. | |
| * intrinsic.c (add_functions, add_subroutines): Add new | |
| intrinsics. | |
| * intrinsic.h: Add prototypes for new check and resolve | |
| functions. | |
| * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New | |
| resolve functions for intrinsics TTYNAM and ISATTY. | |
| * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY. | |
| * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY. | |
| 2005-08-09 Jakub Jelinek <jakub@redhat.com> | |
| * scanner.c (preprocessor_line): Don't write beyond the end of flag | |
| buffer. | |
| 2005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi> | |
| 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 | |
| comment appropriately. (gfc_match_flush): New function. | |
| * match.c (gfc_match_if): Add match for flush. | |
| * match.h: Add prototype. | |
| * parse.c (decode_statement): Add flush to 'f' case. | |
| (next_statement): Add case for flush. (gfc_ascii_statement): Likewise. | |
| * resolve.c (resolve_code): Add flush case. | |
| * st.c (gfc_free_statement): Add flush case. | |
| * trans-io.c: Add prototype for flush. | |
| (gfc_build_io_library_fndecls): Build fndecl for flush. | |
| (gfc_trans_flush): New function. | |
| * trans-stmt.h: Add prototype. | |
| * trans.c (gfc_trans_code): Add case for flush. | |
| 2005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * primary.c (match_hollerith_constant): Fix typo. | |
| 2005-08-06 Kazu Hirata <kazu@codesourcery.com> | |
| * decl.c, dump-parse-tree.c, gfortran.texi, intrinsic.texi, | |
| invoke.texi, resolve.c, trans-array.c, trans-array.h, | |
| trans-common.c, trans-expr.c, trans-io.c, trans.h: Fix | |
| comment/doc typos. Follow spelling conventions. | |
| 2005-08-06 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/18833 | |
| PR fortran/20850 | |
| * primary.c (match_varspec): If equiv_flag, don't look at sym's | |
| attributes, call gfc_match_array_ref up to twice and don't do any | |
| substring or component processing. | |
| * resolve.c (resolve_equivalence): Transform REF_ARRAY into | |
| REF_SUBSTRING or nothing if needed. Check that substrings | |
| don't have zero length. | |
| 2005-08-05 Thomas Koenig <Thomas.Koenig@online.de> | |
| * trans-expr.c (gfc_build_builtin_function_decls): Mark | |
| stop_numeric and stop_string as non-returning. | |
| 2005-08-04 Paul Brook <paul@codesourcery.com> | |
| * trans-expr.c (gfc_conv_expr, gfc_conv_expr_type): Update comments. | |
| (gfc_conv_expr_lhs): Fix assertion. | |
| (gfc_conv_expr_val): Merge post block. Set se.expr to new value. | |
| 2005-08-02 David Edelsohn <edelsohn@gnu.org> | |
| PR fortran/22491 | |
| * expr.c (simplify_parameter_variable): Do not copy the subobject | |
| references if the expression value is a constant. | |
| * expr.c (gfc_simplify_expr): Evaluate constant substrings. | |
| 2005-07-31 Jerry DeLisle <jvdelisle@verizon.net> | |
| * intrinsic.texi: Add documentation for exponent, floor, and fnum and | |
| fix description of ceiling in index. | |
| 2005-07-31 Steven Bosscher <stevenb@suse.de> | |
| * trans-decl.c (gfc_build_builtin_function_decls): Give the internal | |
| malloc functions the 'malloc' attribute. Give runtime_error the | |
| 'noreturn' attribute. | |
| 2005-07-31 Steven Bosscher <stevenb@suse.de> | |
| * trans-stmt.c (gfc_trans_goto): Jump to the known label instead | |
| of the assigned goto variable. | |
| 2005-07-29 Steven Bosscher <stevenb@suse.de> | |
| * trans-types.h (gfc_array_range_type): Add missing GTY decl for this. | |
| 2005-07-28 Andrew Pinski <pinskia@physics.uc.edu> | |
| * fortran/f95-lang.c (language_function): Remove | |
| named_labels, shadowed_labels, returns_value, returns_abnormally, | |
| warn_about_return_type, and extern_inline fields. | |
| (named_labels): Remove variable. | |
| (gfc_init_decl_processing): Remove setting of named_labels. | |
| 2005-07-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
| PR fortran/22503 | |
| * resolve.c (resolve_operator): Improve diagnostic for comparison | |
| of logicals with invalid operator. | |
| 2005-07-25 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/20063 | |
| * data.c (gfc_assign_data_value_range): Call | |
| create_character_initializer if last_ts is a character type. | |
| 2005-07-22 Manfred Hollstein <mh@suse.com> | |
| * match.c (gfc_match_symbol): Fix uninitialised warnings. | |
| * matchexp.c (gfc_match_expr): Likewise. | |
| 2005-07-20 Giovanni Bajo <giovannibajo@libero.it> | |
| Make CONSTRUCTOR use VEC to store initializers. | |
| * trans-array.c (gfc_build_null_descriptor, | |
| gfc_trans_array_constructor_value, gfc_conv_array_initializer): | |
| Update to cope with VEC in CONSTRUCTOR_ELTS. | |
| * trans-common.c (create_common): Likewise. | |
| * trans-expr.c (gfc_conv_structure): Likewise. | |
| * trans-stmt.c (gfc_trans_character_select): Use | |
| build_constructor_from_list instead of build_constructor. | |
| 2005-07-19 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/16940 | |
| * resolve.c (resolve_symbol): A symbol with FL_UNKNOWN | |
| is matched against interfaces in parent namespaces. If there | |
| the symtree is set to point to the interface. | |
| 2005-07-16 David Edelsohn <edelsohn@gnu.org> | |
| PR fortran/21730 | |
| * decl.c (do_parm): Adjust character initializer to character length | |
| of symbol before assigning. | |
| 2005-07-14 Steve Ellcey <sje@cup.hp.com> | |
| * trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5. | |
| 2005-07-14 Jakub Jelinek <jakub@redhat.com> | |
| * gfortran.h (MAX_ERROR_MESSAGE): Remove. | |
| (gfc_error_buf): Add allocated and index fields. Change message | |
| field from array to a pointer. | |
| * error.c (use_warning_buffer, error_ptr, warning_ptr): Remove. | |
| (cur_error_buffer): New variable. | |
| (error_char): Use cur_error_buffer->{message,index} instead of | |
| {warning,error}_{buffer.message,ptr}. Reallocate message buffer | |
| if too small. | |
| (gfc_warning, gfc_notify_std, gfc_error, gfc_error_now): Setup | |
| cur_error_buffer and its index rather than {warning,error}_ptr | |
| and use_warning_buffer. | |
| (gfc_warning_check, gfc_error_check): Don't print anything if | |
| message is NULL. | |
| (gfc_push_error): Allocate saved message with xstrdup. | |
| (gfc_pop_error): Free saved message with gfc_free. | |
| (gfc_free_error): New function. | |
| * primary.c (match_complex_constant): Call gfc_free_error if | |
| gfc_pop_error will not be called. | |
| * match.c (gfc_match_st_function): Likewise. | |
| PR fortran/22417 | |
| * scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new | |
| file. Fix file left but not entered warning. | |
| 2005-07-14 Feng Wang <fengwang@nudt.edu.cn> | |
| Steven G. Kargl <kargls@comcast.net> | |
| * array.c (resolve_character_array_constructor): Allocate gfc_charlen | |
| for the array and attach to namespace list for automatic deallocation. | |
| 2005-07-13 Andreas Schwab <schwab@suse.de> | |
| * Make-lang.in (fortran/dependency.o): Depend on | |
| $(GFORTRAN_TRANS_DEPS). | |
| 2005-07-11 Jakub Jelinek <jakub@redhat.com> | |
| * trans-stmt.c (gfc_trans_forall_loop): Clear maskindex before | |
| the outermost loop. | |
| (gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp, | |
| gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_2): | |
| Don't clear maskindexes here. | |
| 2005-07-08 Daniel Berlin <dberlin@dberlin.org> | |
| * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN | |
| is removed. | |
| 2005-07-08 Jakub Jelinek <jakub@redhat.com> | |
| * primary.c (gfc_match_rvalue): Handle ENTRY the same way | |
| as FUNCTION. | |
| 2005-07-07 Jakub Jelinek <jakub@redhat.com> | |
| * scanner.c (load_line): Add pbuflen argument, don't make | |
| buflen static. If maxlen == 0 or preprocessor_flag, | |
| don't truncate at buflen, but at maxlen. In xrealloc add | |
| 1 byte at the end for the terminating '\0'. Don't fill | |
| with spaces up to buflen, but gfc_option.fixed_line_length. | |
| (load_file): Adjust load_line caller. Add line_len variable. | |
| * scanner.c (preprocessor_line): Only set current_file->line when errors | |
| have not been encountered. Warn and don't crash if a file leave | |
| preprocessor line has no corresponding entering line. Formatting. | |
| 2005-07-07 Steven Bosscher <stevenb@suse.de> | |
| * primary.c (match_hollerith_constant): Use int, not unsigned int, | |
| for the hollerith length. Fix indentation. | |
| 2005-07-07 Feng Wang <fengwang@nudt.edu.cn> | |
| PR fortran/16531 | |
| PR fortran/15966 | |
| PR fortran/18781 | |
| * arith.c (gfc_hollerith2int, gfc_hollerith2real, | |
| gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical): | |
| New functions. | |
| (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist. | |
| * arith.h (gfc_hollerith2int, gfc_hollerith2real, | |
| gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical): | |
| Add prototypes. | |
| * expr.c (free_expr0): Free memery allocated for Hollerith constant. | |
| (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith. | |
| (gfc_check_assign): Enable conversion from Hollerith to other. | |
| * gfortran.h (bt): Add BT_HOLLERITH. | |
| (gfc_expr): Add from_H flag. | |
| * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH. | |
| (add_conversions): Add conversions from Hollerith constant to other. | |
| (do_simplify): Don't simplify if Hollerith constant arguments exist. | |
| * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU. | |
| * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH. | |
| (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH. | |
| * primary.c (match_hollerith_constant): New function. | |
| (gfc_match_literal_constant): Add match Hollerith before Integer. | |
| * simplify.c (gfc_convert_constant): Add conversion from Hollerith | |
| to other. | |
| * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to | |
| convert Hollerith constant to tree. | |
| * trans-io.c (gfc_convert_array_to_string): Get array's address and | |
| length to set string expr. | |
| (set_string): Deal with array assigned Hollerith constant and character | |
| array. | |
| * gfortran.texi: Document Hollerith constants as extention support. | |
| 2005-07-07 Feng Wang <fengwang@nudt.edu.cn> | |
| PR fortran/22327 | |
| * trans-array.c (gfc_trans_array_constructor_value): Fix index of data. | |
| 2005-07-07 Jakub Jelinek <jakub@redhat.com> | |
| * decl.c (gfc_match_entry): Allow ENTRY without parentheses | |
| even in FUNCTIONs. | |
| 2005-07-03 Kazu Hirata <kazu@codesourcery.com> | |
| * gfortran.texi, intrinsic.texi: Fix typos. | |
| * symbol.c: Fix a comment typo. | |
| 2005-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
| * error.c (error_printf, error_print): Use ATTRIBUTE_GCC_GFC. | |
| * gfortran.h (ATTRIBUTE_GCC_GFC): New. | |
| (gfc_warning, gfc_warning_now, gfc_error, gfc_error_now, | |
| gfc_fatal_error, gfc_internal_error, gfc_notify_std): Use | |
| ATTRIBUTE_GCC_GFC. | |
| 2005-07-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| PR fortran/20842 | |
| * io.c (match_dt_element): Do not allow END tag in PRINT or | |
| WRITE statement. | |
| 2005-07-02 Joseph S. Myers <joseph@codesourcery.com> | |
| * lang.opt: Remove "." from end of help texts. | |
| 2005-07-01 Jerry DeLisle <jvdelisle@verizon.net> | |
| * gfortran.texi: Fix typos and grammar. | |
| * invoke.texi: Fix typos and grammar. | |
| * intrinsic.texi: Add documentaion for eoshift, epsilon, etime, and | |
| exit. Fixed alignment of text for dtime syntax. Fixed a few line | |
| lengths. | |
| 2005-06-25 Jakub Jelinek <jakub@redhat.com> | |
| * trans-stmt.c (gfc_trans_forall_1): Prefer to use smaller logical | |
| type than boolean_type_node. | |
| 2005-06-25 Kelley Cook <kcook@gcc.gnu.org> | |
| * all files: Update FSF address in copyright headers. | |
| 2005-06-24 Jerry DeLisle <jvdelisle@verizon.net> | |
| PR fortran/21915 | |
| * gfortran.h: Add symbols for new intrinsic functions. | |
| * intrinsic.c: Add new functions acosh, asinh, and atanh. | |
| * intrinsic.h: Add prototypes for the new functions. | |
| * iresolve.c (gfc_resolve_acosh): New function. | |
| (gfc_resolve_asinh): New function. | |
| (gfc_resolve_atanh): New function. | |
| * mathbuiltins.def: Add defines. | |
| * simplify.c (gfc_simplify_acosh): New function. | |
| (gfc_simplify_asinh): New function. | |
| (gfc_simplify_atanh): New function. | |
| 2005-06-24 Feng Wang <fengwang@nudt.edu.cn> | |
| * simplify.c (gfc_simplify_modulo): Don't clear before get result. | |
| 2005-06-22 Paul Brook <paul@codesourcery.com> | |
| PR fortran/21034 | |
| * symbol.c (gfc_is_var_automatic): New function. | |
| (save_symbol): Use it. | |
| 2005-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> | |
| Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/22010 | |
| Port from g95. | |
| * module.c (mio_namelist): New function. Correct to set | |
| namelist_tail and to give error on renaming namelist by use | |
| association. | |
| (mio_symbol): Call mio_namelist. | |
| 2005-06-19 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * gfortran.h: Add flag_backslash compile-time option. | |
| * lang.opt: Add support for -fbackslash option. | |
| * options.c: Likewise. | |
| * primary.c: Implement behavior for -fno-backslash. | |
| * invoke.texi: Add doc for -fbackslash option. | |
| * gfortran.texi: Remove mention of -fno-backslash as a | |
| possible extension. | |
| 2005-06-20 Steven G. Kargl <kargls@comcast.net> | |
| (port from g95) | |
| PR fortran/21257 | |
| * match.c (gfc_match_label): Detect duplicate labels. | |
| 2005-06-20 Erik Edelmann <erik.edelmann@iki.fi> | |
| * intrinsic.c (check_intrinsic_standard): Fix spelling error | |
| in a warning message. | |
| 2005-06-18 Erik Edelman <eedelman@acclab.helsinki.fi> | |
| Steven G. Kargl <kargls@comast.net> | |
| 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 <kargls@comcast.net> | |
| * intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic | |
| functions whose simplification routine return FAILURE. | |
| 2005-06-13 Geoffrey Keating <geoffk@apple.com> | |
| * 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 <jakub@redhat.com> | |
| PR fortran/22038 | |
| * trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex | |
| in the innermost loop. | |
| * trans-expr.c (gfc_conv_function_call): Return int instead of | |
| void. Use a local variable for has_alternate_specifier and | |
| return it. Avoid modification of function type's return value | |
| in place, since it may be shared. | |
| * trans.h (has_alternate_specifier): Remove. | |
| (gfc_conv_function_call): Change return type. | |
| * trans-stmt.c (has_alternate_specifier): Remove. | |
| (gfc_trans_call): Add a local has_alternate_specifier variable, | |
| set it from gfc_conv_function_call return value. | |
| 2005-06-12 Richard Henderson <rth@redhat.com> | |
| * 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| * 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 <kargls@comcast.net> | |
| 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 <jvdelisle@verizon.net> | |
| * intrinsic.texi: Add documentation for dcmplx, digits, | |
| dim, idim, ddim, dot_product, dprod, dreal, and dtime. | |
| 2005-06-05 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| Erik Schnetter <schnetter@aei.mpg.de> | |
| PR fortran/19195 | |
| * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment, | |
| remove FIXME comment. | |
| 2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * match.c (match_forall_iterator): Don't immediately give error if '=' | |
| is not followed by an expression. | |
| 2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| Erik Edelmann <erik.edelmann@iki.fi> | |
| * array.c (gfc_match_array_constructor): Disallow empty array | |
| constructor. | |
| 2005-06-03 Jerry DeLisle <jvdelisle@verizon.net> | |
| * 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 <roger@eyesopen.com> | |
| * 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 <pault@gcc.gnu.org> | |
| * 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 <jakub@redhat.com> | |
| 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 <fengwang@nudt.edu.cn> | |
| PR fortran/20883 | |
| * fortran/io.c (resolve_tag): Fix error message. | |
| 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
| * fortran/trans-decl.c: Don't include errors.h. | |
| * fortran/Make-lang.in: Updates dependencies. | |
| 2005-05-31 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <roger@eyesopen.com> | |
| * 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 <kazu@cs.umass.edu> | |
| * trans-expr.c: Remove trailing ^M. | |
| * trans-expr.c: Fix comment typos. | |
| 2005-05-29 Paul Thomas <pault@gcc.gnu.org> | |
| 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 <jblomqvi@vipunen.hut.fi> | |
| Steven G. Kargl <kargls@comcast.net> | |
| fortran/PR20846 | |
| * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage. | |
| 2005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| PR libfortran/20006 | |
| * io.c (format_item_1): Add check and extension warning for | |
| $ edit descriptor. | |
| 2005-05-28 Steven G. Kargl <kargls@comcast.net> | |
| * 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 <jvdelisle@verizon.net> | |
| Steven G. Kargl <kargls@comcast.net> | |
| * intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING | |
| and CMPLX | |
| 2005-05-27 Steven G. Kargl <kargls@comcast.net> | |
| * trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force | |
| like types in comparsion. | |
| 2005-05-26 Kazu Hirata <kazu@cs.umass.edu> | |
| * 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 <roger@eyesopen.com> | |
| * gfortran.texi: Document some more GNU extensions. | |
| 2005-05-22 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * error.c (gfc_warning): Fix typo in comment. | |
| 2005-05-18 Thomas Koenig <Thomas.Koenig@online.de> | |
| 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 <erik.edelmann@iki.fi> | |
| * array.c (gfc_match_array_constructor): Support [ ... ] | |
| style array constructors. | |
| 2005-05-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * 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 <fengwang@nudt.edu.cn> | |
| PR fortran/20954 | |
| * trans-const.c (gfc_conv_const_charlen): Use gfc_charlen_type_node to | |
| build character length. | |
| 2005-05-17 Zdenek Dvorak <dvorakz@suse.cz> | |
| * 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 <jakub@redhat.com> | |
| 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 <fengwang@nudt.edu.cn> | |
| Jerry DeLisle <jvdelisle@verizon.net> | |
| 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 <paul@codesourcery.com> | |
| * trans-stmt.c (gfc_trans_forall_1): Fix comment typo. | |
| 2005-05-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * trans-types.c (gfc_is_nodesc_array): Remove redundant check. | |
| 2005-05-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/21260 | |
| * io.c (check_format): Look for literal characters inside | |
| hollerith constant. | |
| 2005-05-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| * 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 <kazu@cs.umass.edu> | |
| * intrinsic.texi: Fix typos. | |
| 2005-05-07 Steven G. Kargl <kargls@comcast.net> | |
| * intrinsic.texi: Document ASSOCIATED and ATAN2. Update Bessel function | |
| description to include information about scalar arguments. | |
| 2005-05-03 Kazu Hirata <kazu@cs.umass.edu> | |
| * Make-lang.in, dump-parse-tree.c, invoke.texi, lang.opt, | |
| match.h, trans-array.h: Update copyright. | |
| 2005-04-29 Tom Tromey <tromey@redhat.com> | |
| * f95-lang.c (poplevel): Updated for change to build_block. | |
| 2005-04-29 Jakub Jelinek <jakub@redhat.com> | |
| 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 <coudert@clipper.ens.fr> | |
| * gfortran.h (gfc_namespace): Add seen_implicit_none field, | |
| Tobias forgot this in previous commit. | |
| 2005-04-29 Paul Brook <paul@codesourcery.com> | |
| * trans-expr.c (gfc_conv_expr_present): Fix broken assert. Update | |
| comment. | |
| 2005-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| * 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 <coudert@clipper.ens.fr> | |
| 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 <coudert@clipper.ens.fr> | |
| PR fortran/21177 | |
| * interface.c (compare_parameter): Ignore type for EXPR_NULL | |
| only if type is BT_UNKNOWN. | |
| 2005-04-25 Paul Brook <paul@codesourcery.com> | |
| Steven G. Kargl <kargls@comcast.net> | |
| 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 <tobias.schlueter@physik.uni-muenchen.de> | |
| 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 <dj@redhat.com> | |
| * trans-decl.c: Adjust warning() callers. | |
| 2005-04-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as | |
| intermediate representation. Fix typo in comment. | |
| 2005-04-21 Steven G. Kargl <kargls@comcast.net> | |
| * trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation; | |
| simplify logic; Add a gcc_assert. | |
| 2005-04-19 Steven G. Kargl <kargls@comcast.net> | |
| * trans-const.c (gfc_conv_mpz_to_tree): Fix comment. | |
| 2005-04-19 Arnaud Desitter <arnaud.desitter@ouce.ox.ac.uk> | |
| Steven G. Kargl <kargls@comcast.net> | |
| * invoke.texi: Update -Waliasing description | |
| 2005-04-19 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| 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 <pault@gcc.gnu.org> | |
| 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 <rguenth@gcc.gnu.org> | |
| * 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 <rguenth@gcc.gnu.org> | |
| 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 <kargls@comcast.net> | |
| * 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 <kazu@cs.umass.edu> | |
| * simplify.c: Fix a comment typo. | |
| 2005-04-11 Richard Sandiford <rsandifo@redhat.com> | |
| * lang.opt: Refer to the GCC internals documentation instead of c.opt. | |
| 2005-04-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * simplify.c (gfc_simplify_nearest): Overhaul. | |
| 2005-04-10 Kazu Hirata <kazu@cs.umass.edu> | |
| * interface.c: Fix a comment typo. | |
| 2005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * match.c (match_arithmetic_if): Arithmetic IF is obsolete in | |
| Fortran 95. | |
| 2005-04-09 Steven G. Kargl <kargls@comcast.net> | |
| * simplify.c (gfc_simplify_anint): Use mpfr_round() | |
| (gfc_simplify_dnint): ditto. | |
| (gfc_simplify_nint): ditto. | |
| 2005-04-09 Andrew Pinski <pinskia@physics.uc.edu> | |
| PR fortran/13257 | |
| * io.c (check_format): Allow an optional comma | |
| between descriptors. | |
| 2005-04-09 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * 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 <dnovillo@redhat.com> | |
| * match.c (gfc_match_arithmetic_if): Declare static. | |
| 2005-04-08 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| 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 <kargls@comcast.net> | |
| * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x)) | |
| 2005-04-06 Steven G. Kargl <kargls@comcast.net> | |
| * invoke.texi: Remove documentation of -std=f90 | |
| 2005-04-06 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * expr.c (gfc_check_assign): Don't allow NULL as rhs in a | |
| non-pointer assignment. | |
| 2005-04-05 Feng Wang <fengwang@nudt.edu.cn> | |
| 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 <coudert@clipper.ens.fr> | |
| * intrinsic.texi: BES?? functions are not in the f95 standard. | |
| 2005-04-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN. | |
| 2005-04-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1, | |
| BESYN, ATAN, COSH, ERF, ERC, SINH, TANH. | |
| 2005-04-02 Steven G. Kargl <kargls@comcast.net> | |
| * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos | |
| 2005-04-01 Kazu Hirata <kazu@cs.umass.edu> | |
| * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c, | |
| trans.h: Fix comment typos. | |
| 2005-03-29 Steven G. Kargl <kargls@comcast.net> | |
| * 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 | |
| fdefault-integer-8, and fdefault-real-8 definitions. | |
| * options.c (gfc_init_options): Set option defaults | |
| (gfc_handle_option): Handle command line options. | |
| * trans-types.c (gfc_init_kinds): Use options. | |
| 2005-03-29 Keith Besaw <kbesaw@us.ibm.com> | |
| * f95-lang.c (builtin_function): Process the attrs parameter | |
| and apply the "const" attribute to the builtin if found. | |
| 2005-03-27 Steven G. Kargl <kargls@comcast.net> | |
| * intrinsic.texi: Document AIMAG, AINT, ALL | |
| 2005-03-26 Steven G. Kargl <kargls@comcast.net> | |
| * arith.c (check_result): Fix illogical logic. | |
| 2005-03-26 Canqun Yang <canqun@nudt.edu.cn> | |
| * trans-common.c (create_common): Build RECORD_NODE for common blocks | |
| contain no equivalence objects. | |
| (add_equivalences): New argument saw_equiv. | |
| (trans_common): New local variable saw_equiv. | |
| (finish_equivalences): Add a local variable dummy, Always pass true | |
| for the 3rd parameter to create_common. | |
| 2005-03-25 Steven G. Kargl <kargls@comcast.net> | |
| * intrinsic.texi: Fix "make dvi" | |
| 2005-03-24 Steven G. Kargl <kargls@comcast.net> | |
| * intrinsic.texi: New file. | |
| * gfortran.texi: Include it; white space change; fix typo. | |
| 2005-03-23 Joseph S. Myers <joseph@codesourcery.com> | |
| * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. | |
| 2005-03-23 Steven Bosscher <stevenb@suse.de> | |
| * convert.c (convert): Replace fold (buildN (...)) with fold_buildN. | |
| * trans-array.c (gfc_trans_allocate_array_storage, | |
| gfc_trans_allocate_temp_array gfc_trans_array_constructor_value, | |
| gfc_conv_array_index_ref, gfc_trans_array_bound_check, | |
| gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref, | |
| gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_conv_ss_startstride, | |
| gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds, | |
| gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, | |
| gfc_conv_expr_descriptor): Likewise. | |
| * trans-expr.c (gfc_conv_powi, gfc_conv_string_tmp, | |
| gfc_conv_concat_op, gfc_conv_expr_op): Likewise. | |
| * trans-intrinsic.c (build_round_expr, gfc_conv_intrinsic_bound, | |
| gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_sign, | |
| gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, | |
| gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop, | |
| gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits, | |
| gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc, | |
| gfc_conv_intrinsic_merge, prepare_arg_info, | |
| gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_repeat): Likewise. | |
| * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do, gfc_trans_do_while, | |
| gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs, | |
| generate_loop_for_rhs_to_temp, compute_inner_temp_size, | |
| allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp, | |
| gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign): | |
| Likewise. | |
| * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Likewise. | |
| * trans.c (gfc_add_modify_expr): Likewise. | |
| 2005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill, | |
| gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub, | |
| gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename, | |
| gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror, | |
| gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub, | |
| gfc_check_perror): new functions to check newly implemented | |
| g77 intrinsics. | |
| * gfortran.h: adding symbols for new intrinsics. | |
| * intrinsic.c (add_functions): adding new intrinsics. | |
| (add_subroutines): adding new intrinsics. | |
| * intrinsic.h: prototype for all checking and resolving | |
| functions. | |
| * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub, | |
| gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill, | |
| gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk, | |
| gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub, | |
| gfc_resolve_kill_sub, gfc_resolve_link_sub, | |
| gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub, | |
| gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub, | |
| gfc_resolve_perror): new functions to resolve intrinsics. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): add case | |
| for new symbols. | |
| 2005-03-19 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * dump-parse-tree.c (gfc_show_expr): Dump name of namespace | |
| in which the variable is declared. | |
| PR fortran/18525 | |
| * resolve.c (was_declared): Also check for dummy attribute. | |
| 2005-03-19 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * gfortran.h (arith): Remove ARITH_0TO0. | |
| * arith.c (gfc_arith_error): Remove handling of ARITH_0TO0. | |
| (gfc_arith_power): Remove special casing of zero to integral | |
| power zero. | |
| 2005-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
| * Make-lang.in (fortran-warn): Remove -Wno-error. | |
| (expr.o-warn, resolve.o-warn, simplify.o-warn, | |
| trans-common.o-warn): Specify -Wno-error. | |
| 2005-03-17 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * trans-array.c (gfc_trans_static_array_pointer, | |
| get_array_ctor_var_strlen, gfc_conv_array_index_offset): Fix | |
| comment and formatting typos. | |
| 2005-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
| * invoke.texi: Fix typos. | |
| 2005-03-15 Zack Weinberg <zack@codesourcery.com> | |
| * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi. | |
| 2005-03-15 Feng Wang <fengwang@nudt.edu.cn> | |
| * trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag | |
| to zero on label_tree. | |
| 2005-03-15 Feng Wang <fengwang@nudt.edu.cn> | |
| PR fortran/18827 | |
| * io.c (resolve_tag): Add checking on assigned label. | |
| (match_dt_format): Does not set symbol assign attribute. | |
| * match.c (gfc_match_goto):Does not set symbol assign attribute. | |
| * resolve.c (resolve_code): Add checking on assigned label. | |
| * trans-common.c (build_field): Deals with common variable assigned | |
| a label. | |
| * trans-stmt.c (gfc_conv_label_variable): New function. | |
| (gfc_trans_label_assign): Use it. | |
| (gfc_trans_goto): Ditto. | |
| * trans-io.c (set_string): Ditto. | |
| * trans.h (gfc_conv_label_variable): Add prototype. | |
| 2005-03-14 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/20467 | |
| * symbol.c (check_conflict): A dummy argument can't be a statement | |
| function. | |
| 2005-03-14 Zdenek Dvorak <dvorakz@suse.cz> | |
| * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert | |
| the argument of the shift to the unsigned type. | |
| 2005-03-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/16907 | |
| * resolve.c (gfc_resolve_index): Allow REAL indices as an extension. | |
| 2005-03-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/20323 | |
| * resolve.c (gfc_resolve): Check if character lengths are | |
| specification expressions. | |
| 2005-03-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/20361 | |
| * trans-array.c (gfc_stack_space_left): Remove unused variable. | |
| (gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed | |
| code. | |
| * trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack): | |
| Remove declaration / prototype. | |
| * trans-common.c (build_equiv_decl): Give union a name. Check if | |
| it can be put on the stack. | |
| * trans-decl.c (gfc_stack_space_left): Move function here. | |
| (gfc_build_qualified_array): Fix comment typo. | |
| * trans.h (gfc_put_var_on_stack): Add prototype. | |
| 2005-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
| * Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error. | |
| * decl.c, trans.c: Don't use C++ style comments. | |
| * gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access, | |
| ifsrc): Give names to enums and use ENUM_BITFIELD. | |
| (gfc_access): Remove trailing comma. | |
| 2005-03-05 Steven G. Kargl <kargls@comcast.net> | |
| PR 19936 | |
| * primary.c (match_complex_constant): Mangled complex constant may | |
| be an implied do-loop. Give implied do-loop matcher a chance. | |
| 2005-03-05 Steven G. Kargl <kargls@comcast.net> | |
| PR fortran/19754 | |
| * resolve.c (compare_shapes): New function. | |
| (resolve_operator): Use it. | |
| 2005-03-05 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * trans-const.c (gfc_conv_constant_to_tree): Use correct tree | |
| type for COMPLEX constants. | |
| 2005-03-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/19673 | |
| * trans-expr.c (gfc_conv_function_call): Correctly dereference | |
| argument from a pointer function also if it has a result clause. | |
| 2005-03-04 Steven G. Kargl <kargls@comcast.net> | |
| * expr.c (gfc_copy_shape_excluding): Change && to ||. | |
| 2005-03-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo, | |
| clarify comment. | |
| 2005-02-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| (port from g95) | |
| PR fortran/19479 | |
| * simplify.c (gfc_simplify_bound): Rename to ... | |
| (simplify_bound): ... this and overhaul. | |
| 2005-02-28 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument. | |
| (gfc_conv_intrinsic_function): update function calls | |
| 2005-02-27 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/20058 | |
| * trans-types.c (gfc_max_integer_kind): Declare | |
| (gfc_init_kinds): Initialize it. | |
| * gfortran.h (gfc_max_integer_kind): extern it. | |
| * primary.c (match_boz_constant): Use it; remove gfortran extension | |
| of kind suffixes on BOZ literal constants | |
| 2005-02-27 Steven G. Kargl <kargls@comcast.net> | |
| * arith.c (gfc_check_real_range): Remove multiple returns | |
| (check_result): New function. | |
| (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times, | |
| gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it. | |
| 2005-02-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
| * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s). | |
| 2005-02-24 Tobias Schl"uter <tobias.schlueter@physik.uni-meunchen.de> | |
| Unrevert previously reverted patch. Adding this fix: | |
| * module.c (find_true_name): Deal with NULL module. | |
| 2005-02-24 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| Revert yesterday's patch: | |
| 2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * gfortran.h (gfc_component, gfc_actual_arglist, ... | |
| ... argument. Copy string instead of pointing to it. | |
| 2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * gfortran.h (gfc_get_namespace): Add second argument to prototype. | |
| * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to | |
| gfc_get_namespace. | |
| * module.c (mio_namespace_ref, load_needed): Likewise. | |
| * parse.c (parse_interface, parse_contained): Likewise. Here the | |
| correct second argument matters. | |
| * symbol.c (gfc_get_namespace): Add parent_types argument, only copy | |
| parent's implicit types if this is set. | |
| (gfc_symbol_init_2): Pass second argument to gfc_get_namespace. | |
| * trans-common.c (build_common_decl): Likewise. | |
| * gfortran.h (symbol_attribute): New 'untyped' field, fix comment | |
| formatting. | |
| * symbol.c (gfc_set_default_type): Issue error only once, by setting | |
| and checking 'untyped' attribute. | |
| * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop' | |
| fields into new struct 'op' inside the 'value' union. | |
| * arith.c (eval_intrinsic): Adapt all users. | |
| * dependency.c (gfc_check_dependency): Likewise. | |
| * dump-parse-tree.c (gfc_show_expr): Likewise. | |
| * expr.c (gfc_get_expr): Don't clear removed fields. | |
| (free_expr0, gfc_copy_expr, gfc_type_convert_binary, | |
| gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr, | |
| check_intrinsic_op): Adapt to new field names. | |
| * interface.c (gfc_extend_expr): Likewise. Also explicitly | |
| nullify 'esym' and 'isym' fields of new function call. | |
| * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul): | |
| Adapt to renamed structure fields. | |
| * matchexp.c (build_node, match_level_1, match_expr): Likewise. | |
| * module.c (mio_expr): Likewise. | |
| * resolve.c (resolve_operator): Likewise. | |
| (gfc_find_forall_index): Likewise. Only look through operands | |
| if dealing with EXPR_OP | |
| * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields. | |
| * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op, | |
| gfc_conv_concat_op, gfc_conv_expr_op): Likewise. | |
| [ Reverted ] | |
| * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make | |
| 'name' a 'const char *'. | |
| (gfc_symbol): Likewise, also for 'module'. | |
| (gfc_symtree): Make 'name' a 'const char *'. | |
| (gfc_intrinsic_sym): Likewise, also for 'lib_name'. | |
| (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to | |
| 'char *' argument. | |
| (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to | |
| initialize 'SYM->module'. | |
| * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL | |
| pointer instead of empty string. | |
| * dump-parse-tree.c (gfc_show_actual_arglist): Likewise. | |
| * interface.c (gfc_compare_types): Adapt check to account for possible | |
| NULL pointer. | |
| (compare_actual_formal): Check for NULL pointer instead of empty | |
| string. | |
| * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg): | |
| Add 'const' qualifier. | |
| (conv_name): Return a heap allocated string. | |
| (find_conv): Add 'const' qualifier to 'target'. | |
| (add_sym): Use 'gfc_get_string' instead of 'strcpy'. | |
| (make_generic): Check for NULL pointer instead of empty string. | |
| (make_alias): Use 'gfc_get_string' instead of 'strcpy'. | |
| (add_conv): No need to strcpy result from 'conv_name'. | |
| (sort_actual): Check for NULL pointer instead of empty string. | |
| * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg): | |
| Adapt prototype. | |
| * module.c (compare_true_names): Compare pointers instead of strings | |
| for 'module' member. | |
| (find_true_name): Initialize string fields with gfc_get_string. | |
| (mio_pool_string): New function. | |
| (mio_internal_string): Adapt comment. | |
| (mio_component_ref, mio_component, mio_actual_arg): Use | |
| 'mio_pool_string' instead of 'mio_internal_string'. | |
| (mio_symbol_interface): Add 'const' qualifier to string arguments. | |
| Add level of indirection. Use 'mio_pool_string' instead of | |
| 'mio_internal_string'. | |
| (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'. | |
| (write_common, write_symbol): Use 'mio_pool_string' instead of | |
| 'mio_internal_string'. | |
| (write_symbol0, write_symbol1): Likewise, also check for NULL pointer | |
| instead of empty string. | |
| (write_operator, write_generic): Pass correct type variable to | |
| 'mio_symbol_interface'. | |
| (write_symtree): Use 'mio_pool_string' instead of | |
| 'mio_internal_string'. | |
| * primary.c (match_keyword_arg): Adapt check to possible | |
| case of NULL pointer. Use 'gfc_get_string' instead of 'strcpy'. | |
| * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree, | |
| gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of | |
| 'strcpy'. | |
| (ambiguous_symbol): Check for NULL pointer instead of empty string. | |
| (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string | |
| arguments. | |
| * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL | |
| pointer instead of empty string. | |
| * trans-decl.c (gfc_sym_mangled_identifier, | |
| gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl, | |
| gfc_get_symbol_decl): Likewise. | |
| * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to | |
| argument. Copy string instead of pointing to it. | |
| 2005-02-23 Kazu Hirata <kazu@cs.umass.edu> | |
| * intrinsic.h, st.c: Update copyright. | |
| 2005-02-20 Steven G. Kargl <kargls@comcast.net> | |
| * symbol.c: Typos in comments. | |
| 2005-02-20 Steven G. Kargl <kargls@comcast.net> | |
| * expr.c (gfc_type_convert_binary): Typo in comment. | |
| 2005-02-19 Steven G. Kargl <kargls@comcast.net> | |
| * check.c (gfc_check_selected_int_kind): New function. | |
| * intrinsic.h: Prototype it. | |
| * intrinsic.c (add_function): Use it. | |
| * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change | |
| BT_REAL to BT_INTEGER and use gfc_default_integer_kind. | |
| 2005-02-19 Steven G. Kargl <kargls@comcast.net> | |
| * check.c (gfc_check_int): improve checking of optional kind | |
| * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER | |
| 2005-02-19 Steven G. Kargl <kargls@comcast.net> | |
| * check.c (gfc_check_achar): New function | |
| * intrinsic.h: Prototype it. | |
| * intrinsic.c (add_function): Use it. | |
| 2005-02-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * trans-stmt.c (generate_loop_for_temp_to_lhs, | |
| generate_loop_for_rhs_to_temp): Remove if whose condition is | |
| always true. | |
| 2005-02-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ... | |
| (gfc_use_derived): ... this function. | |
| 2005-02-09 Richard Henderson <rth@redhat.com> | |
| * f95-lang.c (gfc_init_builtin_functions): Call | |
| build_common_builtin_nodes; do not define any functions handled | |
| by it. | |
| 2005-02-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for | |
| EXPR_SUBSTRING. | |
| (gfc_is_constant_expr): Check 'ref' to determine if substring | |
| reference is constant. | |
| (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'. | |
| (check_init_expr, check_restricted): Check 'ref' instead of 'op1' | |
| and 'op2'. | |
| * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'. | |
| 2005-02-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save, | |
| gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data, | |
| gfc_add_in_namelist, gfc_add_sequence, gfc_add_function, | |
| gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry, | |
| gfc_add_procedure): Add argument. | |
| * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name, | |
| 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_subroutine, attr_decl1, gfc_add_dimension, | |
| access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc, | |
| gfc_match_derived_decl): Update callers. | |
| * interface.c (gfc_match_interface): Likewise. | |
| * match.c (gfc_match_label, gfc_add_flavor, | |
| gfc_match_call, gfc_match_common, gfc_match_block_data, | |
| gfc_match_namelist, gfc_match_module, gfc_match_st_function): | |
| Likewise. | |
| * parse.c (parse_derived, parse_interface, parse_contained), | |
| primary.c (gfc_match_rvalue, gfc_match_variable): Likewise. | |
| * resolve.c (resolve_formal_arglist, resolve_entries): Update callers. | |
| * symbol.c (check_conflict, check_used): Add new 'name' argument, | |
| use when printing error message. | |
| (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy, | |
| gfc_add_generic, gfc_add_in_common, gfc_add_data, | |
| gfc_add_in_namelist, gfc_add_sequence, gfc_add_function, | |
| gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry, | |
| gfc_add_procedure): Add new 'name' argument. Pass along to | |
| check_conflict and check_used. | |
| (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic, | |
| gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental, | |
| gfc_add_pure, gfc_add_recursive, gfc_add_intent, | |
| gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new | |
| argument in calls to any of the modified functions. | |
| 2005-02-06 Joseph S. Myers <joseph@codesourcery.com> | |
| * gfortran.texi: Don't give last update date. | |
| 2005-01-30 Richard Henderson <rth@redhat.com> | |
| * options.c (gfc_init_options): Zero flag_errno_math. | |
| 2005-01-29 Paul Brook <paul@codesourcery.com> | |
| PR fortran/18565 | |
| * check.c (real_or_complex_check): New function. | |
| (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions. | |
| * intrinsic.c (add_functions): Use new check functions. | |
| * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): | |
| Add prototypes. | |
| 2005-01-29 Steven G. Kargl <kargls@comcast.net> | |
| PR fortran/19589 | |
| * expr.c (gfc_check_assign): Check for conformance of logical operands | |
| 2005-01-27 Steven Bosscher <stevenb@suse.de> | |
| * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and | |
| TREE_USED for all labels. | |
| (gfc_trans_entry_master_switch): Use it instead of building a | |
| label by hand. | |
| * trans-io.c (add_case): Likewise. | |
| * trans-stmt.c (gfc_trans_integer_select): Likewise. | |
| 2005-01-23 Paul Brook <paul@codesourcery.com> | |
| Steven G. Kargl <kargls@comcast.net> | |
| PR fortran/17941 | |
| * arith.c (gfc_convert_real): Remove sign handling. | |
| * primary.c (match_digits): Allow whitespace after initial sign. | |
| (match_real_const): Handle signs here. Allow whitespace after | |
| initial sign. Remove dead code. | |
| (match_const_complex_part): Remove. | |
| (match_complex_part): Use match_{real,integer}_const. | |
| (match_complex_constant): Cross-promote integer types. | |
| 2005-01-23 James A. Morrison <phython@gcc.gnu.org> | |
| PR fortran/19294 | |
| * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or | |
| transpose_c8 for complex types. | |
| 2005-01-23 Kazu Hirata <kazu@cs.umass.edu> | |
| * data.c, dependency.c, f95-lang.c, io.c, trans-array.c, | |
| trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c, | |
| trans-stmt.c, trans-types.c, trans.h: Fix comment typos. | |
| Follow spelling conventions. | |
| 2005-01-22 Bud Davis <bdavis9659@comcast.net> | |
| PR fortran/19313 | |
| * trans-io.c (gfc_trans_inquire): Added code to support | |
| pad. | |
| 2005-01-22 Steven G. Kargl <kargls@comcast.net> | |
| * intrinsic.c (make_alias): Add standard argument. | |
| (add_functions): Update make_alias calls. | |
| 2005-01-22 Paul Brook <paul@codesourcery.com> | |
| * trans-expr.c (gfc_conv_function_call): Remove bogus TODO. | |
| 2005-01-22 Paul Brook <paul@codesourcery.com> | |
| * gfortran.h (gfc_check_access): Add prototype. | |
| * match.c (gfc_match_namelist): Remove TODO. | |
| * module.c (check_access): Rename ... | |
| (gfc_check_access): ... to this. Boolify. Update callers. | |
| * resolve.c (resolve_symbol): Check for private objects in public | |
| namelists. | |
| 2005-01-22 Paul Brook <paul@codesourcery.com> | |
| * primary.c (gfc_match_rvalue): Only apply implicit type if variable | |
| does not have an explicit type. | |
| (gfc_match_variable): Resolve implicit derived types in all cases. | |
| Resolve contained function types from their own namespace, not the | |
| parent. | |
| * resolve.c (resolve_contained_fntype): Remove duplicate sym->result | |
| checking. Resolve from the contained namespace, not the parent. | |
| 2005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/19543 | |
| * trans-const.c (gfc_conv_constant_to_tree): Give logical | |
| constants the correct type. | |
| PR fortran/19194 | |
| * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string | |
| length parameters. | |
| (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not | |
| pointer fields. | |
| 2005-01-18 Kazu Hirata <kazu@cs.umass.edu> | |
| * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c, | |
| gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c, | |
| match.c, matchexp.c, misc.c, module.c, options.c, parse.c, | |
| scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c, | |
| trans-io.c, trans-stmt.c, trans.c: Update copyright. | |
| 2005-01-17 Ira Rosen <irar@il.ibm.com> | |
| * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins. | |
| 2005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> | |
| PR fortran/19182 | |
| * error.c (error_char): Line-buffer errors / warnings. | |
| 2005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> | |
| * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed / | |
| unsigned issue. Use build_int_cst instead of converting | |
| integer_zero_node. Remove unnecessary conversion. | |
| * 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, | |
| gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall, | |
| gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest, | |
| gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead | |
| of converting 'integer_zero_node' or 'integer_one_node' | |
| respectively. | |
| (gfc_conv_intrinsic_ishftc): Same, but store in local variable to | |
| evade re-building. | |
| (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing, | |
| gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use | |
| 'build_int_cst' instead of converting 'integer_zero_node' or | |
| 'integer_one_node' respectively. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_index, | |
| gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove | |
| 'gfc'-prefix from local variable, remove dead code, use correct | |
| type when inserting argument. | |
| * trans-intrinsic.c, trans-types.c: Update copyright years. | |
| 2005-01-16 Steven G. Kargl <kargls@comcast.net> | |
| PR 19168 | |
| * resolve.c (check_case_overlap): Typo in comment. | |
| (validate_case_label_expr): Fix up kinds of case values | |
| (resolve_select): Properly handle kind mismatches. | |
| 2005-01-16 Paul Brook <paul@codesourcery.com> | |
| PR fortran/17675 | |
| * trans-common.c (translate_common): Remove duplicate function call. | |
| (finish_equivalences): Preserve alignment when biasing offsets. | |
| 2005-01-15 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de | |
| * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming | |
| ASCII-like character encoding. | |
| 2005-01-14 Steven G. Kargl <kargls@comcast.net> | |
| * resolve.c (compare_case): Cleanup. | |
| 2005-01-14 Steven G. Kargl <kargls@comcast.net> | |
| * resolve.c (compare_case): Give arguments correct type. | |
| 2005-01-13 Kazu Hirata <kazu@cs.umass.edu> | |
| * iresolve.c, trans-common.c, trans-types.c: Fix comment | |
| typos. | |
| 2005-01-09 Paul Brook <paul@codesourcery.com> | |
| PR fortran/17675 | |
| * trans-common.c (current_common, current_offset): Remove. | |
| (create_common): Add head argument. | |
| (align_segment): New function. | |
| (apply_segment_offset): New function. | |
| (translate_common): Merge code from new_segment. Handle alignment. | |
| (new_segment): Remove. | |
| (finish_equivalences): Ensure proper alignment. | |
| 2005-01-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * trans-const.c: Don't include unused math.h. | |
| * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl, | |
| gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc, | |
| gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove | |
| trailing whitespace. | |
| (prepare_arg_info): Fix formatting, indenting and remove trailing | |
| whitespace. | |
| (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove | |
| trailing whitespace. | |
| * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1, | |
| gfc_constant_result, gfc_range_check, gfc_arith_power, | |
| eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real, | |
| gfc_real2complex, gfc_complex2int, gfc_complex2real, | |
| gfc_complex2complex): Fix whitespace issues. | |
| * check.c (must_be, type_check, numeric_check, int_or_real_check, | |
| logical_array_check, array_check, scalar_check, nonoptional_check, | |
| variable_check, dim_check, check_a_kind, gfc_check_a_ikind, | |
| gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any, | |
| gfc_check_allocated, gfc_check_a_p, gfc_check_besn, | |
| gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count, | |
| gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble, | |
| gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift, | |
| gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i, | |
| gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset, | |
| gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int, | |
| gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind, | |
| gfc_check_lbound, gfc_check_logical, min_max_args, | |
| gfc_check_min_max_integer, gfc_check_min_max_real, | |
| gfc_check_min_max_double, gfc_check_matmul, | |
| gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest, | |
| gfc_check_pack, gfc_check_precision, gfc_check_radix, | |
| gfc_check_range, gfc_check_real, gfc_check_repeat, | |
| gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind, | |
| gfc_check_set_exponent): Fix formatting issues. | |
| (gfc_check_size, gfc_check_sign): Alphabetize function order, | |
| remove whitespace-only line. | |
| (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat, | |
| gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose, | |
| gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x, | |
| gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits, | |
| gfc_check_random_number, gfc_check_random_seed, | |
| gfc_check_second_sub, gfc_check_system_clock, | |
| gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush, | |
| gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink, | |
| gfc_check_unlink_sub): Fix formatting issues. | |
| 2005-01-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> | |
| * gfortran.h: Remove outdated comment. Don't include stdio.h | |
| explicitly. | |
| 2005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> | |
| * gfortranspec.c (lang_specific_driver): Change year to 2005 in | |
| output of 'gfortran --version'. | |
| 2005-01-03 Steven G. Kargl <kargls@comcast.net> | |
| * arith.c: Add system.h; remove string.h | |
| * decl.c: Ditto | |
| * matchexp.c: Ditto | |
| * parse.c: Ditto | |
| * resolve.c: Ditto | |
| * st.c: Ditto | |
| * check.c: Remove stdlib.h and stdarg.h | |
| * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h | |
| * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h | |
| * f95-lang.c: Add system.h; remove stdio.h | |
| * interface.c: Add system.h; remove stdlib.h and string.h | |
| * intrinsic.c: Remove stdarg.h, stdio.h, and string.h | |
| * io.c: Remove string.h | |
| * simplify.c: Ditto | |
| * match.c: Remove stdarg.h and string.h | |
| * misc.c: Update copyright; add system.h; remove stdlib.h, | |
| string.h, and sys/stat.h | |
| * module.c: Add system.h; remove string.h, stdio.h, errno.h, | |
| unistd.h, and time.h | |
| * option.c: Remove string.h and stdlib.h | |
| * primary.c: Ditto | |
| * scanner.c: Update copyright; add system.h; remove stdlib.h, | |
| stdio.h, string.h, and strings.h | |
| * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h | |
| * trans-array.c: Remove stdio.h and gmp.h | |
| * trans-const.c: Ditto | |
| * trans-expr.c: Ditto | |
| * trans-io.c: Ditto | |
| * trans-stmt.c: Ditto | |
| * trans.c: Ditto | |
| * trans-intrinsic.c: Remove stdio.h and string.h | |
| Copyright (C) 2005 Free Software Foundation, Inc. | |
| Copying and distribution of this file, with or without modification, | |
| are permitted in any medium without royalty provided the copyright | |
| notice and this notice are preserved. |