| 2004-12-29 Steven G. Kargl <kargls@comcast.net> |
| |
| * gfortran.h (gfc_case): fix typo in comment. |
| |
| 2004-12-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to |
| logical shift. Call fold. Remove 0-bit shift shortcut. |
| (gfc_conv_intrinsic_ishftc): Convert first argument to at least |
| 4 bytes bits. Convert 2nd and 3rd argument to 4 bytes. Convert |
| result if width(arg 1) < 4 bytes. Call fold. |
| |
| PR fortran/19032 |
| * trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment |
| in front of function to match the standard. Correct handling |
| of MODULO. |
| |
| 2004-12-27 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * trans-expr.c (gfc_conv_cst_int_power): Only check for |
| flag_unsafe_math_optimizations if we have a float type. |
| |
| 2004-12-23 Steven G. Kargl <kargls@comcast.net> |
| |
| * gfortran.texi: Fix typo. |
| |
| 2004-12-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix |
| comment typo. |
| |
| 2004-12-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/18993 |
| * match.c (gfc_match_if): Don't explicitly skip optional whitespace. |
| (gfc_match_nullify): Make sure that ')' is in front of the end of |
| statement. |
| |
| * scanner.c (skip_fixed_comments): Fix typo in comment preceding |
| function. |
| |
| 2004-12-14 Richard Henderson <rth@redhat.com> |
| |
| * gfortran.h (gfc_expr.function.name): Make const. |
| (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove. |
| (gfc_get_string): Update prototype. |
| * iresolve.c: Include tree.h. |
| (string_node, HASH_SIZE, string_head, hash): Remove. |
| (gfc_get_string): Use vsnprintf, get_identifier. |
| (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove. |
| * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1. |
| (gfc_done_1): Don't call gfc_iresolve_done_1. |
| * module.c (mio_allocated_string): Take and return const char *, |
| instead of modifying char**. |
| (mio_expr): Update to match. |
| * resolve.c (pure_function): Constify name argument. |
| (resolve_function): Constify name. |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise. |
| |
| 2004-12-12 Richard Henderson <rth@redhat.com> |
| |
| * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count, |
| gfc_resolve_cshift, gfc_resolve_dot_product, gfc_resolve_eoshift, |
| gfc_resolve_matmul, gfc_resolve_maxloc, gfc_resolve_maxval, |
| gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_pack, |
| gfc_resolve_product, gfc_resolve_reshape, gfc_resolve_shape, |
| gfc_resolve_spread, gfc_resolve_sum, gfc_resolve_transpose, |
| gfc_resolve_unpack: Use PREFIX. |
| |
| 2004-12-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/18869 |
| * match.c (gfc_match_common): Skip whitespace. |
| |
| 2004-12-12 Steven G. Kargl <kargls@comcast.net> |
| |
| PR fortran/16581 |
| * check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, |
| gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default |
| integer kind check; Issue error for -std=f95 when needed. |
| * intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to |
| GFC_STD_F95. |
| * iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior): |
| Promote arguments to same kind. |
| |
| 2004-12-12 Steven G. Kargl <kargls@comcast.net> |
| Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/16222 |
| * resolve.c (gfc_resolve_iterator_expr): New function. |
| (gfc_resolve_iterator): Use it. Add real_ok argument. Convert |
| start, end and stride to correct type. |
| (resolve_code): Pass extra argument. |
| * array.c (resolve_array_list): Pass extra argument. |
| * gfortran.h (gfc_resolve): Add prototype. |
| * trans-stmt.c (gfc_trans_do): Remove redundant type conversions. |
| Handle real type iterators. |
| |
| 2004-12-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/17175 |
| * iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of |
| same kind as C's 'int'. |
| (gfc_resolve_set_exponent): Convert 'I' argument if not of kind 4. |
| |
| 2004-12-08 Richard Henderson <rth@redhat.com> |
| |
| * intrinsic.c (gfc_convert_type_warn): Propagate the input shape |
| to the output expression. |
| * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress |
| warning conversion. |
| (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters |
| to index kind. |
| |
| 2004-12-08 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/18826 |
| * resolve.c (resolve_code): Impose correct restrictions on |
| assigned variable. |
| |
| * decl.c (gfc_match_end): Use locus of END when eos is an error. |
| |
| 2004-12-02 Steven G. Kargl <kargls@comcast.net> |
| Paul Brook <paul@codesourcery.com> |
| |
| * check.c (gfc_check_flush, gfc_check_fnum): New functions. |
| (gfc_check_fstat, gfc_check_fstat_sub): New functions. |
| (gfc_check_stat, gfc_check_stat_sub): New functions. |
| * gfortran.h (GFC_ISYM_FNUM,GFC_ISYM_FSTAT,GFC_ISYM_STAT): New symbols |
| * intrinsic.c (add_functions,add_subroutines): Add flush, fnum, |
| fstat, and stat to intrinsics symbol tables. |
| * intrinsic.h (gfc_check_flush, gfc_resolve_stat_sub): Add prototypes. |
| (gfc_resolve_fstat_sub, gfc_resolve_stat): Ditto. |
| * iresolve.c (gfc_resolve_fnum, gfc_resolve_fstat): New functions. |
| (gfc_resolve_stat, gfc_resolve_flush): New functions. |
| (gfc_resolve_stat_sub,gfc_resolve_fstat_sub): New functions |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Add new intrinsics. |
| |
| 2004-12-02 Steven G. Kargl <kargls@comcast.net> |
| |
| * intrinsic.c: Fix and add comments, fix function declarations |
| (OPTIONAL,REQUIRED): New symbols |
| (add_functions,add_subroutines): Use symbols |
| (gmp.h): Remove unused include |
| |
| 2004-11-25 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quote |
| in diagnostics. |
| |
| 2004-11-24 Steven Bosscher <stevenb@suse.de> |
| |
| * options.c (gfc_post_options): Don't clear flag_inline_functions. |
| |
| 2004-11-20 Steven G. Kargl <kargls@comcast.net> |
| |
| * check.c (gfc_check_getcwd_sub): Fix seg fault. |
| |
| * check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub, |
| gfc_check_unlink,gfc_check_unlink_sub): New functions |
| * gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols |
| * intrinsic.c (add_functions,add_subroutines): Add umask, unlink, |
| exit to intrinsics symbol tables. |
| * intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit, |
| gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask, |
| gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub, |
| gfc_resolve_unlink_sub): Add and sort prototypes. |
| * iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit, |
| gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols |
| |
| 2004-11-16 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/13010 |
| * trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype. |
| (gfc_array_init_size, gfc_conv_expr_descriptor): Ditto. |
| * trans-types.c (gfc_get_dtype): Accept array type rather than element |
| type. |
| (gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE. |
| (gfc_get_array_type_bounds): Ditto. |
| (gfc_get_derived_type): Recurse into derived type pointers. |
| * trans-types.h (gfc_get_dtype): Add prototype. |
| * trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment. |
| |
| 2004-11-15 Paul Brook <paul@codesourcery.com> |
| |
| * trans-types.c (gfc_get_dtype): Remove obsolete TODO. |
| |
| 2004-11-10 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/18375 |
| * trans-expr.c (gfc_trans_subarray_assign): Free shape before ss. |
| * trans-io.c (transfer_array_component): Ditto. |
| |
| 2004-11-10 Paul Brook <paul@codesourcery.com> |
| |
| * invoke.texi: Fix typo. |
| |
| 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h, |
| gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c, |
| module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c, |
| trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c, |
| trans-io.c, trans-stmt.c, trans.h: Fix comment formatting. |
| |
| 2004-11-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/18023 |
| * io.c (resolve_tag): Tighten up exception for assigned FORMAT. |
| |
| 2004-11-06 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * gfortranspec.c: Replace GNU CC with GCC. |
| |
| 2004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * gfortranspec.c (lang_specific_driver): Change year to 2004. |
| |
| 2004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/18111 |
| * trans-decl.c (create_function_arglist): Set DECL_ARTIFICIAL for |
| hidden parameters. |
| |
| 2004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15164 |
| * trans-decl.c (gfc_finish_var_decl): Don't declare arguments to |
| module procedures as if they were module variables. |
| |
| 2004-11-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/17535 |
| PR fortran/17583 |
| PR fortran/17713 |
| * module.c (write_symbol1): Set module_name for dummy arguments. |
| |
| 2004-11-02 Paul Brook <paul@codesourcery.com> |
| |
| * intrinsic.c (check_intrinsic_standard): Include error locus. |
| Remove VLA. |
| (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Pass |
| locus to check_intrinsic_standard. |
| |
| 2004-10-31 Janne Blomqvist <jblomqvi@cc.hut.fi> |
| |
| PR fortran/17590 |
| * gfortran.h: Change GFC_STD_* flags to more appropriate |
| ones. (struct gfc_intrinsic_isym): Add field for standard. (struct |
| gfc_option_t): Add field for warning about use of nonstandard |
| intrinsics. |
| * intrinsic.c (add_sym): Add parameter for standard version, check |
| this against current standard. |
| (add_sym_0): Pass standard parameter to add_sym. |
| (add_sym_1, add_sym_0s, add_sym_1s, add_sym_1m, add_sym_2): Ditto. |
| (add_sym_2s, add_sym_3, add_sym_3ml, add_sym_3red, add_sym_3s): Ditto. |
| (add_sym_4, add_sym_4s, add_sym_5, add_sym_5s): Ditto. |
| (make_generic): Add parameter for standard, check this |
| against currently selected standard. |
| (add_functions, add_subroutines): Add parameter to tell which |
| standard an intrinsic belongs to. |
| (check_intrinsic_standard): New function. |
| (gfc_intrinsic_func_interface): Add call to check_intrinsic_standard. |
| (gfc_intrinsic_sub_interface): Ditto. |
| * lang.opt: Add Wnonstd-intrinsics option. |
| * options.c (gfc_init_options): Change to use new GFC_STD_* flags, |
| init new warning. |
| (set_Wall): Add warning about nonstd intrinsics. |
| (gfc_handle_option): Change to use new GFC_STD_* flags, |
| handle new warning. |
| * invoke.texi: Update manual to include -Wnonstd-intrinsics. |
| |
| 2004-10-30 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * f95-lang.c (lang_tree_node): Add chain_next to be the TREE_CHAIN. |
| |
| 2004-10-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * simplify.c (twos_complement): Calculate mask in GMP arithmetic. |
| |
| 2004-10-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans.c (gfc_trans_code): Set global locus after recursing. Fix |
| comment typo. |
| |
| 2004-10-30 Canqun Yang <canqun@nudt.edu.cn> |
| |
| * check.c (gfc_check_rand): Allow missing optional argument. |
| (gfc_check_irand): Ditto. |
| * intrinsic.c (add_functions): Set arg optional flag for {i,}rand. |
| |
| 2004-10-28 Scott Robert Ladd <scott.ladd@coyotegulch.com> |
| |
| PR fortran/13490, PR fortran/17912 |
| * gcc/fortran/gfortran.h: Added pedantic_min_int to gfc_integer_info |
| * gcc/fortran/gfortran.h: Added ARITH_ASYMMETRIC to arith |
| * gcc/fortran/arith.c: Added support for an "asymmetric integer" |
| warning when compiling with pedantic. |
| * gcc/fortran/arith.c: Set minimum integer values to reflect |
| realities of two's complement signed integers. Added |
| pedantic minimum. |
| |
| 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * Make-lang.in (F95_ADDITIONAL_OBJS): Kill. |
| (f951): Do not depend on F95_ADDITIONAL_OBJS and don't |
| link it in. |
| |
| 2004-10-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-decl.c (generate_local_decl): Simplify logic, fix comment |
| typo. |
| (gfc_generate_function_code): Fix formatting issue. |
| |
| 2004-10-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * module.c: Fix formatting issues. |
| |
| 2004-10-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * module.c (mio_interface_rest): Set where member of interface |
| while loading. |
| |
| 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR fortran/17901 |
| * options.c (gfc_handle_option): Add break after handing the |
| J/M option. |
| |
| 2004-10-08 Tobias Schlueter <tobias.shclueter@physik.uni-muenchen.de> |
| |
| * arith.c: Fix formatting issues. |
| |
| 2004-10-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/17676 |
| * resolve.c (resolve_operator): Use correct operator name in message. |
| |
| 2004-10-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * primary.c (match_boz_constant): Allow kind parameter suffixes. |
| Move standard warning further to the front. |
| |
| 2004-10-07 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * trans-stmt.c: Fix a comment typo. |
| |
| 2004-10-07 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/17678 |
| * trans-array.c (gfc_trans_deferred_array): Leave use associated |
| variables alone. |
| |
| 2004-10-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/17568 |
| * simplify.c (twos_complement): New function. |
| (gfc_simplify_ishft, gfc_simplify_ishftc): Revise. |
| |
| * simplify.c (gfc_simplify_abs): Use mpfr_hypot for CABS. |
| |
| 2004-10-06 Paul Brook <paul@codesourcery.com> |
| |
| * trans-stmt.c (gfc_trans_simple_do): New function. |
| (gfc_trans_do): Use it. Evaluate iteration bounds before entering |
| loop. Update comments. |
| |
| 2004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/17283 |
| * iresolve.c (gfc_resolve_pack): Choose function depending if mask |
| is scalar. |
| |
| PR fortran/17631 |
| * intrinsic.c (add_sym_5): Remove. |
| (add_subroutines): Add resolution function for MVBITS. |
| * intrinsic.h (gfc_resolve_mvbits): Declare resolution function for |
| MVBITS |
| * iresolve.c (gfc_resolve_mvbits): New function. |
| (gfc_resolve_random_number): Remove empty line at end of function. |
| |
| * trans-const.c (gfc_build_cstring_const): New function. |
| (gfc_init_cst): Use new function. |
| * trans-const.h (gfc_build_cstring_const): Add prototype. |
| * trans-io.c (set_string, set_error_locus): Use new function. |
| * trans-stmt.c (gfc_trans_goto): Use new function. |
| |
| PR fortran/17708 |
| * parse.c (accept_statement): Don't treat END DO like END IF and |
| END SELECT. |
| (parse_do_block): Generate possible END DO label inside END DO |
| block. |
| |
| PR fortran/17776 |
| * check.c (gfc_check_system_sub): New function. |
| * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SYSTEM. |
| * intrinsic.c (add_functions): Add 'system'. |
| (add_subroutines): Add 'system'. |
| * intrinsic.h (gfc_check_etime_sub, gfc_check_getcwd_sub): |
| Move prototypes to other suborutines. |
| (gfc_check_system_sub, gfc_resolve_system, gfc_resolve_system_sub): |
| Add prototype. |
| (gfc_resolve_system_clock): Fix formatting of prototype. |
| * iresolve.c (gfc_resolve_system, gfc_resolve_system_sub): New |
| functions. |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Deal with |
| GFC_ISYM_SYSTEM. |
| |
| 2004-10-04 Erik Schnetter <schnetter@aei.mpg.de> |
| |
| * scanner.c (preprocessor_line): Accept preprocessor lines without |
| file names. Check file names for closing quotes. Handle escaped |
| quotes in file names. |
| |
| 2004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| Paul Brook <paul@codesourcery.com> |
| |
| * trans-array.c (gfc_conv_expr_descriptor): Check for substriungs. |
| Use gfc_get_expr_charlen. |
| * trans-expr.c (gfc_get_expr_charlen): New function. |
| * trans.h (gfc_get_expr_charlen): Add prototype. |
| |
| 2004-10-04 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * trans-intrinsic.c: Fix a comment typo. |
| |
| 2004-10-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * simplify.c (range_check): Remove blank line at beginning of function. |
| (gfc_simplify_dint): Same at end of function. |
| (gfc_simplify_exponent, gfc_simplify_fraction): Simplify calculations. |
| (gfc_simplify_bound): Fix indentation. |
| (gfc_simplify_log10): Simplify calculation. |
| (gfc_simplify_min, gfc_simplify_max): Remove blank line at beginning |
| of function. |
| (gfc_simplify_nearest): Same at end of function. |
| (gfc_simplify_nint, gfc_simplify_idnint): Same at beginning of |
| function. |
| (gfc_simplify_rrspacing, gfc_simplify_set_exponent, |
| gfc_simplify_spacing): Simplify calulations. |
| |
| 2004-10-03 Feng Wang <fengwang@nudt.edu.cn> |
| |
| * trans-intrinsic.c: Fix comments on spacing and rrspacing |
| (gfc_conv_intrinsic_rrspacing): Add fold on constant trees. |
| |
| 2004-10-01 Jan Hubicka <jh@suse.cz> |
| |
| * f95-lang.c (gfc_expand_function): Update call of |
| tree_rest_of_compilation. |
| * trans-decl.c (gfc_generate_constructors): Likewise. |
| |
| 2004-09-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-intrinsic.c: Comment fixes. |
| |
| 2004-09-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * decl.c (add_init_expr_to_sym, variable_decl): Comment fixes. |
| |
| 2004-09-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-types.c (gfc_return_by_reference): Remove superfluous |
| assertion. |
| |
| * intrinsic.h (gfc_resolve_getcwd): Update prototype. |
| * iresolve.c (gfc_resolve_getcwd): Add second argument to function. |
| |
| PR fortran/17615 |
| * trans-expr.c (gfc_trans_arrayfunc_assign): Look at resolved |
| function to determine return type. |
| |
| 2004-09-20 Jan Hubicka <jh@suse.cz> |
| |
| * trans-decl.c (build_entry_thunks): Finalize the function; do not lower |
| tree. |
| (gfc_generate_function_code): Likewise. |
| |
| 2004-09-20 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15957 |
| * simplify.c (gfc_simplify_reshape): Set shape of return value |
| correctly. |
| |
| 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com> |
| Zack Weinberg <zack@codesourcery.com> |
| |
| * f95-lang.c, trans-expr.c, trans.c: Update for new tree-class |
| enumeration constants. |
| |
| 2004-09-17 Paul Brook <paul@codesourcery.com> |
| |
| * gfortran.h (struct gfc_linebuf): Don't use C99 empty arrays. |
| (gfc_linebuf_header_size): Define. |
| * scanner.c (load_file): Use it. |
| |
| 2004-09-16 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c, |
| interface.c, intrinsic.c, io.c, misc.c, module.c, parse.h, |
| resolve.c, scanner.c, trans-array.c, trans-array.h, |
| trans-common.c, trans-const.h, trans-decl.c, trans-expr.c, |
| trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c, |
| trans.h: Fix comment typos. Follow spelling conventions. |
| |
| 2004-09-16 Victor Leikehman <lei@il.ibm.com> |
| |
| PR/15364 |
| * trans-io.c (transfer_array_component): New function. |
| (transfer_expr): For array fields, call transfer_array_component. |
| |
| 2004-09-16 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * gfortran.texi: Fix a typo. |
| |
| 2004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com> |
| |
| * parse.c (eof_buf): Rename eof to eof_buf. |
| (unexpected_eof): Same. |
| (gfc_parse_file): Same. |
| |
| 2004-09-15 Steven G. Kargl <kargls@comcast.net> |
| |
| * check.c (gfc_check_getcwd_sub): New function. |
| * gfortran.h (GFC_ISYM_GETCWD): New symbol. |
| * intrinsic.c (add_functions): Add function definition; |
| Use symbol. |
| * intrinsic.c (add_subroutines): Add subroutine definitions. |
| * intrinsic.h: Add prototypes. |
| * iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub): |
| New functions. |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol. |
| |
| 2004-09-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/16485 |
| * module.c (write_symbol): Don't fill in module name here. |
| (write_symbol0): Fill in here instead. |
| |
| 2004-09-14 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * data.c, decl.c, f95-lang.c, gfortran.h, match.c, |
| trans-array.c, trans-common.c, trans-expr.c, |
| trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix |
| comment typos. Follow spelling conventions. |
| |
| 2004-09-09 Paul Brook <paul@codesourcery.com> |
| |
| * scanner.c (get_file): Add ATTRIBUTE_UNUSED. |
| |
| 2004-09-08 Paul Brook <paul@codesourcery.com> |
| |
| * array.c: Don't include assert.h. |
| * data.c: Don't include assert.h. Replace assert and abort with |
| gcc_assert and gcc_unreachable. |
| * dependency.c: Ditto. |
| * f95-lang.c: Ditto. |
| * iresolve.c: Ditto. |
| * resolve.c: Ditto. |
| * simplify.c: Ditto. |
| * symbol.c: Ditto. |
| * trans-array.c: Ditto. |
| * trans-common.c: Ditto. |
| * trans-const.c: Ditto. |
| * trans-decl.c: Ditto. |
| * trans-expr.c: Ditto. |
| * trans-intrinsic.c: Ditto. |
| * trans-io.c: Ditto. |
| * trans-stmt.c: Ditto. |
| * trans-types.c: Ditto. |
| * trans.c: Ditto. |
| |
| 2004-09-07 Per Bothner <per@bothner.com> |
| Paul Brook <paul@codesourcery.com> |
| |
| * error.c (show_locus): Handle mapped locations. |
| * f95-lang.c (gfc_be_parse_file): Initialize mapped locations. |
| * gfortran.h: Include input.h. |
| (struct gfc_linebuf): Use source_location. |
| * scanner.c (get_file): Initialize linemap. |
| (preprocessor_line): Pass extra argument to get_file. |
| (load_file): Ditto. Setup linemap. |
| (gfc_new_file): Handle mapped locations. |
| * trans-common.c (build_field, build_equiv_decl, build_common_decl): |
| Set decl source locations. |
| (gfc_trans_common): Set blank common block location. |
| * trans-decl.c (gfc_set_decl_location): New function. |
| (gfc_get_label_decl, gfc_get_symbol_decl): Use it. |
| (trans_function_start): Move call to gfc_set_backend_locus.. |
| (build_function_decl): ... to here. |
| (build_entry_thunks): Set and restore the backend locus. |
| (gfc_generate_constructors): Remove excess arguments to |
| init_function_start. |
| (gfc_generate_block_data): Add comments. Set the decl locus. |
| * trans-io.c (set_error_locus): Handle mapped locations. |
| * trans.c (gfc_get_backend_locus, gfc_get_backend_locus): Ditto. |
| (gfc_trans_code): Use SET_EXPR_LOCATION. |
| (gfc_generate_code): Override the location of the new symbol. |
| * trans.h (gfc_set_decl_location): Add prototype. |
| |
| 2004-08-31 Paul Brook <paul@codesourcery.com> |
| |
| * trans-types.c (gfc_type_for_mode): Return NULL for unknown modes. |
| |
| 2004-09-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15327 |
| * trans-intrinsic.c (gfc_conv_intrinsic_merge): Do the right thing for |
| strings. |
| |
| 2004-09-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/16400 |
| PR fortran/16404 |
| (port from g95) |
| * resolve.c (resolve_transfer): New function. |
| (resolve_code): Call resolve_transfer in case of EXEC_TRANSFER. |
| |
| 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/16579 |
| * trans-types.c (gfc_init_types): Make gfc_character1_type_node an |
| unsigned char. |
| |
| 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * CONTRIB, NEWS, README, TODO: Remove obsolete files. |
| |
| 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/17244 |
| * trans-types.c (gfc_return_by_reference): Remove TODO error, |
| add comment pointing out possible issue WRT compatibility with g77. |
| |
| 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-decl.c, trans-expr.c, trans-io.c, trans-types.c: Replace |
| all occurences of 'gfc_strlen_type_node' by |
| 'gfc_charlen_type_node'. |
| * trans-types.h: Same. Also update comment accordingly. |
| |
| 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * primary.c: Update copyright boilerplate to say GCC. |
| * f95-lang.c: Change initial comment to say gfortran. |
| |
| 2004-08-31 Paul Brook <paul@codesourcery.com> |
| |
| * trans-types.h: Add comments. |
| (intmax_type_node, string_type_node, const_string_type_node): Remove. |
| |
| 2004-08-30 Richard Henderson <rth@redhat.com> |
| |
| * Make-lang.in (fortran/f95-lang.o): Update dependencies. |
| (fortran/trans-decl.o, fortran/trans-types.o): Likewise. |
| * gfortran.h (gfc_integer_info): Add c_char, c_short, c_int, |
| c_long, c_long_long. |
| (gfc_logical_info): Add c_bool. |
| (gfc_real_info): Add mode_precision, c_float, c_double, c_long_double. |
| * trans-array.c (gfc_array_allocate): Use TYPE_PRECISION |
| rather than gfc_int[48]_type_node for allocate choice. |
| * trans-decl.c (gfc_build_intrinsic_function_decls): Cache |
| local copies of some kind type nodes. |
| (gfc_build_builtin_function_decls): Likewise. |
| * trans-expr.c (gfc_conv_power_op): Likewise. |
| * trans-intrinsic.c (gfc_conv_intrinsic_index, |
| gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify, |
| gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat): Likewise. |
| * trans-stmt.c (gfc_trans_pause, gfc_trans_stop, |
| gfc_trans_character_select, gfc_trans_allocate): Likewise. |
| * trans-io.c (gfc_pint4_type_node): Move into ... |
| (gfc_build_io_library_fndecls): ... here. Cache local copies of |
| some kind type nodes. |
| * trans-types.c (gfc_type_nodes): Remove. |
| (gfc_character1_type_node, gfc_strlen_type_node): New. |
| (gfc_integer_types, gfc_logical_types): New. |
| (gfc_real_types, gfc_complex_types): New. |
| (gfc_init_kinds): Fill in real mode_precision. |
| (gfc_build_int_type, gfc_build_real_type): New. |
| (gfc_build_complex_type, gfc_build_logical_type): New. |
| (c_size_t_size): New. |
| (gfc_init_types): Loop over kinds. |
| (gfc_get_int_type, gfc_get_real_type): Use gfc_validate_kind. |
| (gfc_get_complex_type, gfc_get_logical_type): Likewise. |
| (gfc_get_character_type_len): Likewise. |
| (gfc_type_for_size): Loop over kinds; use a reduced set of |
| unsigned type nodes. |
| (gfc_type_for_mode): Loop over kinds. |
| (gfc_signed_or_unsigned_type): Use gfc_type_for_size. |
| (gfc_unsigned_type, gfc_signed_type): Use gfc_signed_or_unsigned_type. |
| * trans-types.h (F95_INT1_TYPE, F95_INT2_TYPE, F95_INT4_TYPE, |
| F95_INT8_TYPE, F95_INT16_TYPE, F95_REAL4_TYPE, F95_REAL8_TYPE, |
| F95_REAl16_TYPE, F95_COMPLEX4_TYPE, F95_COMPLEX8_TYPE, |
| F95_COMPLEX16_TYPE, F95_LOGICAL1_TYPE, F95_LOGICAL2_TYPE, |
| F95_LOGICAL4_TYPE, F95_LOGICAL8_TYPE, F95_LOGICAL16_TYPE, |
| F95_CHARACTER1_TYPE, NUM_F95_TYPES, gfc_type_nodes, |
| gfc_int1_type_node, gfc_int2_type_node, gfc_int4_type_node, |
| gfc_int8_type_node, gfc_int16_type_node, gfc_real4_type_node, |
| gfc_real8_type_node, gfc_real16_type_node, gfc_complex4_type_node, |
| gfc_complex8_type_node, gfc_complex16_type_node, |
| gfc_logical1_type_node, gfc_logical2_type_node, |
| gfc_logical4_type_node, gfc_logical8_type_node, |
| gfc_logical16_type_node, gfc_strlen_kind): Remove. |
| (gfc_character1_type_node): Turn in to a variable. |
| (gfc_strlen_type_node): Likewise. |
| |
| 2004-08-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * gfortran.h (gfc_namespace): Add new field is_block_data. |
| * parse.c (accept_statement): Remove special handling for BLOCK DATA. |
| (parse_block_data): Record BLOCK DATA name, set is_block_data field. |
| * trans.c (gfc_generate_code): Handle BLOCK DATA units. |
| * trans.h (gfc_generate_block_data): Add prototype. |
| * trans-decl.c (gfc_generate_block_data): New function. |
| |
| 2004-08-29 Richard Henderson <rth@redhat.com> |
| |
| * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_export. |
| * trans-types.c (gfc_init_kinds): Reject integer kinds larger |
| than two HOST_WIDE_INT. |
| |
| 2004-08-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13910 |
| * decl.c (free_variable, free_value, gfc_free_data, var_list, |
| var_element, top_var_list, match_data_constant, top_val_list, |
| gfc_match_data): Move here from match.c. |
| (match_old_style_init): New function. |
| (variable_decl): Match old-style initialization. |
| * expr.c (gfc_get_variable_expr): New function. |
| * gfortran.h (gfc_get_variable_expr): Add prototype. |
| * gfortran.texi: Start documentation for supported extensions. |
| * match.c: Remove the functions moved to decl.c. |
| * match.h (gfc_match_data): Move prototype to under decl.c. |
| * symbol.c (gfc_find_sym_tree, gfc_find_symbol): Add/correct |
| comments. |
| |
| 2004-08-29 Steven G. Kargl <kargls@comcast.net> |
| Paul Brook <paul@codesourcery.com> |
| |
| * check.c (gfc_check_besn, gfc_check_g77_math1): New functions. |
| * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Define. |
| (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it. |
| (build_builtin_fntypes): New function. |
| (gfc_init_builtin_functions): Use it. |
| * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_{J,Y}{0,1,N} |
| and GFC_ISYM_ERF{,C}. |
| (gfc_c_int_kind): Declare. |
| * intrinsic.c (add_functions): Add [d]bes* and [d]erf*. |
| * intrinsic.h (gfc_check_besn, gfc_check_g77_math1, gfc_resolve_besn, |
| gfc_resolve_g77_math1): Add prototypes. |
| * resolve.c (gfc_resolve_besn, gfc_resolve_g77_math1): New functions. |
| * mathbuiltins.def: Add comment. Change third argument. Use |
| DEFINE_MATH_BUILTIN_C. Add bessel and error functions. |
| * trans-intrinsic.c (BUILT_IN_FUNCTION): Define. |
| (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it. |
| * trans-types.c (gfc_c_int_kind): Declare. |
| (gfc_init_kinds): Set it. |
| |
| 2004-08-29 Steven G. Kargl <kargls@comcast.net> |
| Paul Brook <paul@codesourcery.com> |
| |
| * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_GET?ID. |
| (gfc_check_f, gfc_simplify_f): Add f0. |
| * intrinsic.c (do_check): Call f0. Flatten. |
| (add_sym_0): Fix prototype. Set f0. |
| (add_functions): Add getgid, getgid and getuid. |
| (resolve_intrinsic): Remove obsolete comment. |
| (do_simplify): Call f0. |
| * intrinsic.h (gfc_resolve_getgid, gfc_resolve_getpid, |
| gfc_resolve_getuid): Add prototypes. |
| * iresolve.c (gfc_resolve_getgid, gfc_resolve_getpid, |
| gfc_resolve_getuid): New functions. |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Handle |
| GFC_ISYM_GET?ID. |
| |
| 2004-08-28 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * error.c (gfc_error_init_1): Remove blank line in front of |
| function body. Add missing blank. |
| (gfc_buffer_error, error_char, error_string): Remove blank line in |
| front of function body. |
| (show_locus): Add comma in comment. |
| (gfc_clear_warning, gfc_warning_check, gfc_clear_error, |
| gfc_push_error, gfc_pop_error): Remove blank line in front of |
| function body. |
| (gfc_get_errors): Typo fix in comment in front of function. Remove |
| blank line in front of function body. |
| |
| 2004-08-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * gfortran.h (gfc_default_*_kind): Remove prototypes, add extern |
| variable declaration of same name. |
| * arith.c, check.c, decl.c, dump_parse_tree.c, expr.c, |
| intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c, |
| resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c: |
| Replace all calls to gfc_default_*_kind with variable accesses. |
| * trans-types.c: Same as above. |
| (gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove |
| static qualifier. Replace all occurences. |
| (gfc_default_*_kind): Remove functions. |
| |
| 2004-08-26 Richard Henderson <rth@redhat.com> |
| |
| * arith.c: Include system.h, not real system headers. |
| (MPZ_NULL, MPF_NULL, DEF_GFC_INTEGER_KIND, DEF_GFC_LOGICAL_KIND, |
| DEF_GFC_REAL_KIND, GFC_SP_KIND, GFC_SP_PREC, GFC_SP_EMIN, GFC_SP_EMAX, |
| GFC_DP_KIND, GFC_DP_PREC, GFC_DP_EMIN, GFC_DP_EMAX, GFC_QP_KIND, |
| GFC_QP_PREC, GFC_QP_EMIN, GFC_QP_EMAX): Remove. |
| (gfc_integer_kinds, gfc_logical_kinds, gfc_real_kinds, |
| gfc_index_integer_kind, gfc_default_integer_kind, |
| gfc_default_real_kind,gfc_default_double_kind, |
| gfc_default_character_kind, gfc_default_logical_kind, |
| gfc_default_complex_kind, validate_integer, validate_real, |
| validate_logical, validate_character, |
| gfc_validate_kind): Move to trans-types.c. |
| (gfc_set_model_kind): Use gfc_validate_kind. |
| (gfc_set_model): Just copy the current precision to default. |
| (gfc_arith_init_1): Use mpfr precision 128 for integer setup. |
| * f95-lang.c (gfc_init_decl_processing): Invoke gfc_init_kinds. |
| * gfortran.h: Update file commentary. |
| * trans-types.c (MAX_INT_KINDS, MAX_REAL_KINDS): New. |
| (gfc_default_integer_kind_1, gfc_default_real_kind_1, |
| gfc_default_double_kind_1, gfc_default_character_kind_1, |
| gfc_default_logical_kind_1, gfc_default_complex_kind_1): New. |
| (gfc_init_kinds): New. |
| (gfc_init_types): Don't set gfc_index_integer_kind here. |
| * trans-types.h (gfc_init_kinds): Declare. |
| * doc/invoke.texi: Clarify DOUBLE PRECISION behaviour wrt -r8. |
| |
| 2004-08-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * check.c (gfc_check_atan2): New function. |
| * intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2 |
| * intrinsic.h (gfc_check_atan2): Add prototype. |
| |
| 2004-08-25 Richard Henderson <rth@redhat.com> |
| |
| * arith.c (gfc_validate_kind): Add may_fail argument; abort if |
| false and we don't validate the kind. |
| (gfc_check_integer_range, gfc_check_real_range): Update to match. |
| * check.c (kind_check): Likewise. |
| * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise. |
| (match_char_spec, match_logical_spec): Likewise. |
| * gfortran.h (gfc_validate_kind): Likewise. |
| * options.c (gfc_handle_option): Likewise. |
| * primary.c (match_integer_constant, match_real_constant, |
| match_string_constant, match_logical_constant, |
| match_const_complex_part): Likewise. |
| * simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits, |
| gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr, |
| gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc, |
| gfc_simplify_maxexponent, gfc_simplify_minexponent, |
| gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision, |
| gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing, |
| gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan, |
| gfc_simplify_tiny): Likewise. |
| * trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod, |
| gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, |
| prepare_arg_info): Likewise. |
| |
| 2004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * expr.c (gfc_check_assign): Add comment. Add new warning. |
| * trans-expr.c (gfc_conv_function_call): Correctly dereference |
| result of pointer valued function when not in pointer assignment. |
| |
| 2004-08-25 Paul Brook <paul@codesourcery.com> |
| |
| * config-lang.in: Remove dead commented line. |
| * module.c: Replace g95 with gfortran in comment. |
| |
| 2004-08-25 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/17190 |
| * arith.c (gfc_mpfr_to_mpz): Workaround mpfr bug. |
| |
| 2004-08-25 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/17144 |
| * trans-array.c (gfc_trans_allocate_temp_array): Remove |
| string_length argument. |
| (gfc_trans_array_ctor_element): New function. |
| (gfc_trans_array_constructor_subarray): Use it. |
| (gfc_trans_array_constructor_value): Ditto. Handle constant |
| character arrays. |
| (get_array_ctor_var_strlen, get_array_ctor_strlen): New functions. |
| (gfc_trans_array_constructor): Use them. |
| (gfc_add_loop_ss_code): Update to new gfc_ss layout. |
| (gfc_conv_ss_descriptor): Remember section string length. |
| (gfc_conv_scalarized_array_ref): Ditto. Remove dead code. |
| (gfc_conv_resolve_dependencies): Update to new gfc_ss layout. |
| (gfc_conv_expr_descriptor): Ditto. |
| (gfc_conv_loop_setup): Ditto. Spelling fixes. |
| * trans-array.h (gfc_trans_allocate_temp_array): Update prototype. |
| * trans-const.c (gfc_conv_constant): Update to new gfc_ss layout. |
| * trans-expr.c (gfc_conv_component_ref): Turn error into ICE. |
| (gfc_conv_variable): Set string_length from section. |
| (gfc_conv_function_call): Remove extra argument. |
| (gfc_conv_expr, gfc_conv_expr_reference): Update to new gfc_ss layout. |
| * trans-types.c (gfc_get_character_type_len): New function. |
| (gfc_get_character_type): Use it. |
| (gfc_get_dtype): Return zero for internal types. |
| * trans-types.h (gfc_get_character_type_len): Add prototype. |
| * trans.h (struct gfc_ss): Move string_length out of union. |
| |
| 2004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans.h (build2_v, build3_v): New macros. |
| (build_v): Remove. |
| * f95-lang.c (gfc_truthvalue_conversion): Use build2 instead of |
| build. |
| * trans-array.c (gfc_conv_descriptor_data, |
| gfc_conv_descriptor_offset, gfc_conv_descriptor_dimension, |
| gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound, |
| gfc_conv_descriptor_ubound, gfc_trans_allocate_array_storage, |
| gfc_trans_allocate_temp_array, |
| gfc_trans_array_constructor_subarray, |
| 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_conv_array_ref, gfc_trans_preloop_setup, |
| gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride, |
| gfc_conv_loop_setup, gfc_array_init_size, |
| gfc_conv_array_initializer, gfc_trans_array_bounds, |
| gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, |
| gfc_conv_expr_descriptor, gfc_conv_array_parameter, |
| gfc_trans_deferred_array): Use buildN and buildN_v macros instead |
| of build and build_v as appropriate. |
| * trans-common.c (create_common): Same. |
| * trans-decl.c (gfc_trans_auto_character_variable, |
| gfc_trans_entry_master_switch, gfc_generate_function_code): Same. |
| * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring, |
| gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi, |
| gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op, |
| gfc_conv_expr_op, gfc_conv_function_call, |
| gfc_trans_structure_assign): Same. |
| * trans-intrinsic.c (build_fixbound_expr, build_round_expr, |
| gfc_conv_intrinsic_aint, gfc_conv_intrinsic_bound, |
| gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod, |
| gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign, |
| gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_minmax, |
| gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count, |
| gfc_conv_intrinsic_arith, 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_merge, gfc_conv_intrinsic_strcmp, |
| gfc_conv_allocated, gfc_conv_associated, prepare_arg_info, |
| gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing, |
| gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat, |
| gfc_conv_intrinsic_iargc): Same. |
| * trans-io.c (set_parameter_value, set_parameter_ref, set_string, |
| set_flag, add_case, io_result, transfer_namelist_element, |
| transfer_expr): Same. |
| * trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_if_1, |
| gfc_trans_arithmetic_if, gfc_trans_do, gfc_trans_do_while, |
| gfc_trans_integer_select, gfc_trans_logical_select, |
| gfc_trans_character_select, gfc_trans_forall_loop, |
| gfc_trans_nested_forall_loop, gfc_do_allocate, |
| generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, |
| compute_inner_temp_size, compute_overall_iter_number, |
| allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp, |
| gfc_trans_forall_1, gfc_evaluate_where_mask, |
| gfc_trans_where_assign, gfc_trans_allocate): Same. |
| * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Same. |
| * trans.c (gfc_add_modify_expr, gfc_finish_block, |
| gfc_build_array_ref, gfc_build_function_call, |
| gfc_trans_runtime_check): Same. |
| |
| 2004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-const.c (gfc_conv_mpz_to_tree): Change call to |
| build_int_cst to build_int_cst_wide in accordance to Nathan's |
| previous patch. |
| |
| 2004-08-25 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * trans-array.c (gfc_trans_array_constructor_value): Adjust |
| build_int_cst calls. |
| * trans-const.c (gfc_build_string_const, gfc_init_constants, |
| gfc_conv_mpz_to_tree, gfc_conv_constant_to_tree): Likewise. |
| * trans-decl.c (gfc_get_symbol_decl, build_entry_thunks, |
| gfc_trans_entry_master_switch): Likewise. |
| * trans-intrinsic.c (gfc_conv_intrinsic_ibits, |
| gfc_conv_intrinsic_len, prepare_arg_info): Likewise. |
| * trans-io.c (add_case, set_error_locus, |
| transfer_namelist_element, transfer_expr): Likewise. |
| * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause, |
| gfc_trans_stop, gfc_trans_character_select): Likewise. |
| * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise. |
| * trans.c (gfc_trans_runtime_check): Likewise. |
| |
| 2004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-decl.c, trans-types.c: Add and remove blank lines as |
| required. |
| |
| 2004-08-24 Richard Henderson <rth@redhat.com> |
| |
| * trans-const.c (gfc_conv_mpz_to_tree): Fix 64-bit shift warning. |
| |
| 2004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * resolve.c (merge_argument_lists): Revert unintentionally |
| committed change. |
| |
| 2004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-decl.c (build_function_decl): Fix spelling in comment. |
| (build_entry_thunks): Remove code with no function. |
| (gfc_build_intrinsic_function_decls): Remove empty line. |
| |
| * resolve.c (resolve_entries): Fix a bunch of comment typos. |
| |
| 2004-08-24 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * f95-lang.c (gfc_init_decl_processing): Adjust |
| build_common_tree_nodes call. |
| |
| 2004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-types.c: Spelling and formatting fixes. |
| |
| 2004-08-23 Richard Henderson <rth@redhat.com> |
| |
| * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead |
| of going through an intermediate string. Fix 32/64 int/long bug. |
| |
| 2004-08-23 Eric Christopher <echristo@redhat.com> |
| |
| * trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P |
| usage. Use build_vector_type_for_mode for vector types. |
| |
| 2004-08-22 Richard Henderson <rth@redhat.com> |
| |
| PR 13465 |
| * data.c (find_con_by_offset): Search ordered list; handle |
| elements with repeat counts. |
| (gfc_assign_data_value_range): New. |
| * gfortran.h (struct gfc_data_value): Make repeat unsigned. |
| (gfc_assign_data_value_range): Declare. |
| * match.c (top_val_list): Extract repeat count into a temporary. |
| * resolve.c (values): Make left unsigned. |
| (next_data_value): Don't decrement left. |
| (check_data_variable): Use gfc_assign_data_value_range. |
| |
| 2004-08-22 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-const.c, trans-decl.c, trans-expr.c: Spelling fixes. |
| |
| 2004-08-22 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * check.c (gfc_check_reduction): Rename to ... |
| (check_reduction): ... this. Make static. Don't check type of |
| first argument. |
| (gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions. |
| * intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and |
| SUM to use new check functions. |
| (check_specific): Change logic to call new functions. |
| * intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum): |
| Add prototypes. |
| (gfc_check_reduction): Remove prototype. |
| |
| 2004-08-20 Paul Brook <paul@codesourcery.com> |
| Canqun Yang <canqun@nudt.edu.cn> |
| |
| PR fortran/17077 |
| * trans-array.c (gfc_conv_array_parameter): Pass correct pointer |
| for automatic arrays. |
| * trans-types.c (gfc_get_nodesc_array_type): Add comment. |
| |
| 2004-08-19 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| (Port from g95) |
| |
| PR fortran/17074 |
| * match.c (match_simple_forall, match_simple_where): Forward-declare. |
| (gfc_match_if): Order statement list alphabetically, add WHERE and |
| FORALL, remove double PAUSE. |
| (gfc_match_simple_where, match_forall_header, |
| gfc_match_simple_forall): New functions. |
| (gfc_match_forall): Use match_forall_header. |
| |
| 2004-08-19 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/17091 |
| * gfortran.h (gfc_access): Give ACCESS_UNKNOWN value 0. |
| * symbol.c (gfc_clear_attr): Use memset. |
| |
| 2004-08-19 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/14976 |
| PR fortran/16228 |
| * data.c (assign_substring_data_value): Remove. |
| (create_character_intializer): New function. |
| (gfc_assign_data_value): Track the typespec for the current |
| subobject. Use create_character_intializer. |
| |
| 2004-08-19 Erik Schnetter <schnetter@aei.mpg.de> |
| |
| PR fortran/16946 |
| * check.c (gfc_check_reduction): New function. |
| (gfc_check_minval_maxval): Removed. |
| (gfc_check_product): Removed. |
| (gfc_check_sum): Removed. |
| * intrinsic.h: Add/remove declarations for these. |
| * gfortran.h: Add field f3red to union gfc_check_f. |
| * intrinsic.c (add_sym_3red): New function. |
| (add_functions): Register maxval, minval, product, and sum intrinsics |
| through add_sym_3red. |
| (check_specific): Handle f3red union field. |
| * iresolve.c: Whitespace change. |
| |
| 2004-08-18 Paul Brook <paul@codesourcery.com> |
| |
| * trans-types.c (gfc_sym_type): Use pointer types for optional args. |
| |
| 2004-08-18 Victor Leikehman <lei@il.ibm.com> |
| |
| PR fortran/13278 |
| * trans-io.c (transfer_namelist_element): New. Recursively handle |
| derived-type variables. Pass string lengths. |
| (build_dt): Code moved to build_namelist, with some |
| changes and additions. |
| (gfc_build_io_library_fndecls): Declare the fifth |
| argument in st_set_nml_var_char -- string_length. |
| |
| 2004-08-17 Paul Brook <paul@codesourcery.com> |
| Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13082 |
| * decl.c (get_proc_name): Update mystery comment. |
| (gfc_match_entry): Check for errors earlier. Add entry point to list. |
| * dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes. |
| * gfortran.h (symbol_attribute): Add entry_master. Document entry. |
| (struct gfc_entry_list): Define. |
| (gfc_get_entry_list): Define. |
| (struct gfc_namespace): Add refs and entries. |
| (enum gfc_exec_op): Add EXEC_ENTRY. |
| (struct gfc_code): Add ext.entry. |
| * module.c (ab_attribute, attr_bits): Remove AB_ENTRY. |
| (mio_symbol_attribute): Don't save/reture addr->entry. |
| (mio_namespace_ref): Refcount namespaces. |
| * parse.c (accept_statement): Handle ST_ENTRY. |
| (gfc_fixup_sibling_symbols): Mark symbol as referenced. |
| (parse_contained): Fixup sibling references to entry points |
| after parsing the procedure body. |
| * resolve.c (resolve_contained_fntype): New function. |
| (merge_argument_lists, resolve_entries): New functions. |
| (resolve_contained_functions): Use them. |
| (resolve_code): Handle EXEC_ENTRY. |
| (gfc_resolve): Call resolve_entries. |
| * st.c (gfc_free_statement): Handle EXEC_ENTRY. |
| * symbol.c (gfc_get_namespace): Refcount namespaces. |
| (gfc_free_namespace): Ditto. |
| * trans-array.c (gfc_trans_dummy_array_bias): Treat all args as |
| optional when multiple entry points are present. |
| * trans-decl.c (gfc_get_symbol_decl): Remove incorrect check. |
| (gfc_get_extern_function_decl): Add assertion. Fix coment. |
| (create_function_arglist, trans_function_start, build_entry_thunks): |
| New functions. |
| (gfc_build_function_decl): Rename ... |
| (build_function_decl): ... to this. |
| (gfc_create_function_decl): New function. |
| (gfc_generate_contained_functions): Use it. |
| (gfc_trans_entry_master_switch): New function. |
| (gfc_generate_function_code): Use new functions. |
| * trans-stmt.c (gfc_trans_entry): New function. |
| * trans-stmt.h (gfc_trans_entry): Add prototype. |
| * trans-types.c (gfc_get_function_type): Add entry point argument. |
| * trans.c (gfc_trans_code): Handle EXEC_ENTRY. |
| (gfc_generate_module_code): Call gfc_create_function_decl. |
| * trans.h (gfc_build_function_decl): Remove. |
| (gfc_create_function_decl): Add prototype. |
| |
| 2004-08-15 Andrew Pinski <apinski@apple.com> |
| |
| PR fortran/17030 |
| * f95-lang.c (gfc_init_builtin_functions): Initialize the builtins |
| for cabs{,f} and copysign{,f}. |
| * trans-decl.c (gfor_fndecl_math_cabsf): Delete. |
| (gfor_fndecl_math_cabs): Delete. |
| (gfor_fndecl_math_sign4): Delete. |
| (gfor_fndecl_math_sign8): Delete. |
| (gfc_build_intrinsic_function_decls): Remove the |
| initializing of cabs{,f} and copysign{,f} functions. |
| * trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtins |
| instead of the functions definitions. |
| (gfc_conv_intrinsic_sign): Likewise. |
| * trans.h (gfor_fndecl_math_cabsf): Delete. |
| (gfor_fndecl_math_cabs): Delete. |
| (gfor_fndecl_math_sign4): Delete. |
| (gfor_fndecl_math_sign8): Delete. |
| |
| 2004-08-15 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * trans-array.c (gfc_trans_array_constructor_value): Use |
| build_int_cst. |
| * trans-const.c (gfc_build_string_const, |
| gfc_init_constants, gfc_conv_mpz_to_tree, |
| gfc_conv_constant_to_tree): Likewise. |
| * trans-decl.c (gfc_get_symbol_decl): Likewise. |
| * trans-intrinsic.c (gfc_conv_intrinsic_ibits, |
| gfc_conv_intrinsic_len, prepare_arg_info): Likewise. |
| * trans-io.c (add_case, set_error_locus, build_dt, |
| transfer_expr): Likewise. |
| * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause, |
| gfc_trans_stop, gfc_trans_character_select): Likewise. |
| * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise. |
| * trans.c (gfc_trans_runtime_check): Likewise. |
| |
| 2004-08-14 Paul Brook <paul@codesourcery.com> |
| |
| * trans-decl.c (gfc_build_function_decl): Remove dead code. |
| |
| 2004-08-14 Paul Brook <paul@codesourcery.com> |
| |
| * trans-arry.c (gfc_trans_auto_array_allocation): Remove unused var. |
| |
| 2004-08-13 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * gfortran.h: Add comments. |
| * parse.c (parse_contained): Fix comment typo. |
| * resolve.c (was_declared): Ditto. |
| * symbol.c: Ditto. |
| |
| 2004-08-11 Paul Brook <paul@codeourcery.com> |
| |
| PR fortran/16917 |
| * intrinsic.c (add_functions): Add dfloat as an alias for dble. |
| |
| 2004-08-10 Richard Henderson <rth@redhat.com> |
| |
| * f95-lang.c (gfc_init_builtin_functions): Remove |
| __builtin_stack_alloc, add __builtin_alloca. |
| * trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR. |
| * trans-decl.c (gfc_trans_auto_character_variable): Likewise. |
| |
| 2004-08-10 Paul Brook <paul@codesourcery.com> |
| |
| * trans-io.c (transfer_expr): Handle pointters. |
| |
| 2004-08-10 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/16919 |
| * trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT. |
| (gfc_conv_array_index_offset): Allow "temporary" with nonzero delta. |
| (gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary): |
| Handle GFC_SS_COMPONENT. |
| (gfc_conv_ss_startstride): Ditto. Set ss->shape. |
| (gfc_conv_loop_setup): Tweak commends. Remove dead code. |
| Use ss->shape. |
| (gfc_conv_array_initializer): Call specific initializer routines. |
| * trans-expr.c (gfc_trans_structure_assign): New function. |
| (gfc_trans_subarray_assign): New function. |
| (gfc_trans_subcomponent_assign): New fucntion |
| (gfc_conv_structure): Use them. |
| * trans.h (gfc_ss_type): Add GFC_SS_COMPONENT. |
| (gfc_ss): Add shape. |
| |
| 2004-08-08 Victor Leikehman <lei@il.ibm.com> |
| |
| * simplify.c (gfc_simplify_shape): Bugfix. |
| * expr.c (gfc_copy_shape_excluding): New function. |
| * gfortran.h (gfc_get_shape): Bugfix. |
| (gfc_copy_shape_excluding): Added declaration. |
| * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count, |
| gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound, |
| gfc_resolve_ubound, gfc_resolve_transpose): Added compile |
| time resolution of shape. |
| |
| 2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi> |
| |
| * intrinsic.c (add_subroutines): Add getenv and |
| get_environment_variable. (add_sym_5s): New function. |
| * intrinsic.h (gfc_resolve_get_environment_variable): Add |
| prototype. |
| * iresolve.c (gfc_resolve_get_environment_variable): New |
| function. |
| |
| 2004-08-06 Feng Wang <fengwang@nudt.edu.cn> |
| |
| * f95-lang.c (gfc_init_builtin_functions): Fix the number of |
| __builtin_pow[f] arguments. |
| |
| 2004-08-06 Steven G. Kargl <kargls@comcast.net> |
| |
| * arith.c: Add #define for model numbers. Remove global GMP variables. |
| (natural_logarithm,common_logarithm,exponential,sine, |
| cosine,arctangent,hypercos,hypersine ): Remove. |
| (gfc_mpfr_to_mpz,gfc_set_model_kind,gfc_set_model): New functions. |
| (arctangent2,gfc_arith_init_1,gfc_arith_done_1 |
| gfc_check_real_range, gfc_constant_result, gfc_range_check, |
| gfc_arith_uminus,gfc_arith_plus, gfc_arith_minus, gfc_arith_times, |
| gfc_arith_divide,complex_reciprocal,complex_pow_ui, |
| gfc_arith_power,gfc_compare_expr,compare_complex,gfc_convert_real, |
| gfc_convert_complex,gfc_int2real,gfc_int2complex, |
| gfc_real2int,gfc_real2real,gfc_real2complex, |
| gfc_complex2int,gfc_complex2real,gfc_complex2complex): Convert GMP |
| to MPFR, use new functions. |
| * arith.h: Remove extern global variables. |
| (natural_logarithm,common_logarithm,exponential, sine, cosine, |
| arctangent,hypercos,hypersine): Remove prototypes. |
| (arctangent2): Update prototype from GMP to MPFR. |
| (gfc_mpfr_to_mpz, gfc_set_model_kind,gfc_set_model): Add prototypes. |
| * dump-parse-tree.c (gfc_show_expr): Convert GMP to MPFR. |
| * expr.c (free_expr0,gfc_copy_expr): Convert GMP to MPFR. |
| * gfortran.h (GFC_REAL_BITS): Remove. |
| (arith): Add ARITH_NAN. |
| Include mpfr.h. Define GFC_RND_MODE. |
| Rename GCC_GFORTRAN_H GFC_GFC_H. |
| (gfc_expr): Convert GMP to MPFR. |
| * module.c: Add arith.h, correct type in comment. |
| (mio_gmp_real): Convert GMP to MPFR. |
| (mio_expr): Use gfc_set_model_kind(). |
| * primary.c: Update copyright date with 2004. |
| (match_real_constant,match_const_complex_part): Convert GMP to MPFR. |
| * simplify.c: Remove global GMP variables |
| (gfc_simplify_abs,gfc_simplify_acos,gfc_simplify_aimag, |
| gfc_simplify_aint,gfc_simplify_dint,gfc_simplify_anint, |
| gfc_simplify_dnint,gfc_simplify_asin,gfc_simplify_atan, |
| gfc_simplify_atan2,gfc_simplify_ceiling,simplify_cmplx, |
| gfc_simplify_conjg,gfc_simplify_cos,gfc_simplify_cosh, |
| gfc_simplify_dim,gfc_simplify_dprod,gfc_simplify_epsilon, |
| gfc_simplify_exp,gfc_simplify_exponent,gfc_simplify_floor, |
| gfc_simplify_fraction,gfc_simplify_huge,gfc_simplify_int, |
| gfc_simplify_ifix,gfc_simplify_idint,gfc_simplify_log, |
| gfc_simplify_log10,simplify_min_max,gfc_simplify_mod, |
| gfc_simplify_modulo,gfc_simplify_nearest,simplify_nint, |
| gfc_simplify_rrspacing,gfc_simplify_scale, |
| gfc_simplify_set_exponent,gfc_simplify_sign,gfc_simplify_sin, |
| gfc_simplify_sinh,gfc_simplify_spacing,gfc_simplify_sqrt, |
| gfc_simplify_tan,gfc_simplify_tanh,gfc_simplify_tiny, |
| gfc_simplify_init_1,gfc_simplify_done_1): Convert GMP to MPFR. |
| Use new functions. |
| * trans-const.c (gfc_conv_mpfr_to_tree): Rename from |
| gfc_conv_mpf_to_tree. Convert it to use MPFR |
| (gfc_conv_constant_to_tree): Use it. |
| * trans-const.h: Update prototype for gfc_conv_mpfr_to_tree(). |
| * trans-intrinsic.c: Add arith.h, remove gmp.h |
| (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod): Convert GMP to MPFR. |
| |
| 2004-08-06 Victor Leikehman <lei@il.ibm.com> |
| Paul Brook <paul@codesourcery.com> |
| |
| * trans-array.c (gfc_trans_allocate_array_storage, |
| gfc_trans_allocate_temp_array, gfc_add_loop_ss_code, |
| gfc_conv_loop_setup): For functions, if the shape of the result |
| is not known in compile-time, generate an empty array descriptor for |
| the result and let the callee to allocate the memory. |
| (gfc_trans_dummy_array_bias): Do nothing for pointers. |
| (gfc_conv_expr_descriptor): Use function return values directly. |
| * trans-expr.c (gfc_conv_function_call): Always add byref call |
| insn to pre chain. |
| (gfc_trans_pointer_assignment): Add comments. |
| (gfc_trans_arrayfunc_assign): Don't chain on expression. |
| |
| 2004-08-01 Roger Sayle <roger@eyesopen.com> |
| |
| * options.c (gfc_init_options): Don't warn about the use GNU |
| extensions by default. |
| (gfc_post_options): Warn about GNU extensions with -pedantic. |
| (gfc_handle_option): Don't warn about GNU extensions with -std=gnu. |
| |
| 2004-07-30 Richard Henderson <rth@redhat.com> |
| |
| * trans-expr.c (gfc_conv_expr_reference): Create a CONST_DECL |
| for TREE_CONSTANTs. |
| |
| 2004-07-25 Richard Henderson <rth@redhat.com> |
| |
| * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL |
| and DECL_IGNORED_P on RESULT_DECL. |
| (gfc_generate_constructors): Likewise. |
| |
| 2004-07-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/16465 |
| * lang.opt (ffixed-line-length-none, ffixed-line-length-): New |
| options. |
| (ffixed-line-length-80, ffixed-line-length-132): Remove. |
| * options.c (gfc_handle_options): Deal with changed options. |
| * scanner.c (load_line): Change second arg to 'char **', |
| allocate if pointing to NULL. Keep track of buffer's length. |
| Adapt buffer size to overlong lines. Pad lines to full length |
| in fixed form. |
| (load_file): Adapt to new interface of load_line. |
| |
| 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> |
| |
| * trans.h (builtin_function): Declare. |
| |
| 2004-07-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/16404 |
| (parts ported from g95) |
| * parse.h (gfc_state_data): New field do_variable. |
| (gfc_check_do_variable): Add prototype. |
| * parse.c (push_state): Initialize field 'do_variable'. |
| (gfc_check_do_variable): New function. |
| (parse_do_block): Remember do iterator variable. |
| (parse_file): Initialize field 'do_variable'. |
| * match.c (gfc_match_assignment, gfc_match_do, |
| gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate): |
| Add previously missing checks. |
| (gfc_match_return): Reformat error message. |
| * io.c (match_out_tag): New function. |
| (match_open_element, match_close_element, |
| match_file_element, match_dt_element): Call match_out_tag |
| instead of match_vtag where appropriate. |
| (match_io_iterator, match_io_element): Add missing check. |
| (match_io): Reformat error message. |
| (match_inquire_element): Call match_out_tag where appropriate. |
| |
| * parse.c (gfc_check_do_variable): Fix error locus. |
| |
| 2004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15129 |
| * trans-decl.c (gfc_build_function_decl): Create a new chardecl |
| for every assumed length character dummy argument. |
| |
| PR fortran/15140 |
| * trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion. |
| |
| PR fortran/13792 |
| * simplify.c (gfc_simplify_bound): Copy the bound expression. |
| |
| 2004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15324 |
| * trans-array.c gfc_trans_g77_array, |
| gfc_trans_dummy_array_bias): Don't call gfc_trans_string_init |
| for assumed length characters. |
| (gfc_conv_expr_descriptor): Set se->string_length if dealing |
| with a character expression. |
| (gfc_cvonv_array_parameter): Pass string length when passing |
| character array according to g77 conventions. |
| |
| 2004-07-12 Paul Brook <paul@codesourcery.com> |
| |
| * expr.c (gfc_check_assign_symbol): Handle pointer assignments. |
| * trans-array.c (gfc_trans_auto_array_allocation): Remove |
| initialization code. |
| * trans-common.c (create_common): Use gfc_conv_initializer. |
| * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer. |
| * trans-expr.c (gfc_conv_initializer): New function. |
| (gfc_conv_structure): Use it. |
| * trans.h (gfc_conv_initializer): Add prototype. |
| |
| 2004-07-11 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/15986 |
| * parse.c (gfc_fixup_sibling_symbols): Also look for untyped |
| variables. |
| (parse_contained): Mark contained symbols as referenced. |
| |
| 2004-07-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/16455 |
| * module.c (gfc_dump_module, gfc_use_module): Print locus |
| when opening of module file fails. |
| |
| PR fortran/16404 |
| * io.c (match_io): Flag 'WRITE(...), ...' as extension. |
| |
| PR fortran/16404 |
| * match.c (gfc_match_program): A program name is obligatory. |
| (gfc_match_return): RETURN in main program is an extension. |
| (gfc_match_block_data): A space is required before a block data |
| name. |
| |
| PR fortran/16433 |
| * primary.c (match_boz_constant): Call gfc_notify_std only if |
| we actually have a non-standard boz-literal-constant. |
| |
| PR fortran/15754 |
| * expr.c (gfc_check_assign): Print ranks if incompatible. Issue |
| warning if assigning NULL(). |
| |
| 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
| |
| * f95-lang.c (set_block): Remove. |
| (gfc_clear_binding_stack): New. |
| (LANG_HOOKS_CLEAR_BINDING_STACK): Define. |
| (struct binding_level): Remove block_created_by_back_end. |
| (clear_binding_level): Likewise. |
| (poplevel): Don't handle block_created_by_back_end. |
| |
| 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-decl.c (gfc_create_module_variable): Nothing to do if |
| symbol is in common, because we ... |
| (gfc_generate_module_vars): Call gfc_trans_common. |
| |
| 2004-07-10 Paul Brook <paul@codesourcery.com> |
| |
| * trans-array.c (gfc_build_null_descriptor): New function. |
| (gfc_trans_static_array_pointer): Use it. |
| * trans-array.h (gfc_build_null_descriptor): Add prototype. |
| * trans-expr.c (gfc_conv_structure): Handle array pointers. |
| |
| 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/16336 |
| * decl.c (gfc_match_save): Use-associated common block |
| doesn't collide. |
| * gfortran.h (gfc_common_head): Add new field 'name'. |
| Fix typo in comment after #endif. |
| * match.c (gfc_get_common): Add new argument from_common, |
| mangle name if flag is set, fill in new field in structure |
| gfc_common_head. |
| (match_common): Set new arg in call to gfc_get_common, |
| use-associated common block doesn't collide. |
| * match.h (gfc_get_common): Adapt prototype. |
| * module.c (load_commons): Set new arg in call to |
| gfc_get_common. |
| * symbol.c (free_common_tree): New function. |
| (gfc_free_namespace): Call new function. |
| * trans-common.c (several functions): Remove argument |
| 'name', use name from gfc_common_head instead. |
| |
| 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * expr.c (gfc_check_pointer_assign): Verify that rank of the LHS |
| and RHS match. Return early if the RHS is NULL(). |
| |
| PR fortran/16336 |
| * match.c (match_common): Fix error reporting for used common. |
| |
| PR fortran/15969 |
| * trans-expr.c (gfc_conv_structure): Handle initialization |
| of scalar pointer components. |
| |
| * parse.c (decode_statement): Fix matching of BLOCK DATA. |
| |
| * trans-decl.c (generate_local_decl): Remove workaround obsoleted |
| by fix for PR 15481. |
| |
| 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-common.c: Fix whitespace issues, make variable names |
| more readable. |
| (create_common): Additionally, make loop logic more obvious. |
| |
| 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/13415 |
| * trans-common.c (calculate_length): Remove ... |
| (get_segment_info): Merge into here. Save field type. |
| (build_field): Use saved type. |
| (create_common, new_condition, new_segment, finish_equivalences): |
| Use new get_segment_info. |
| * trans-types.c: Update comment. |
| |
| 2004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/14077 |
| * moduele.c (mio_symbol): Don't I/O initial values unless |
| symbol is a parameter. |
| |
| 2004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13201 |
| * resolve.c (resolve_symbol): Verify that the shape of a |
| parameter array is not only explicit, but also constant. |
| * array.c (gfc_is_compile_time_shape): New function. |
| * gfortran.h (gfc_is_compile_time_shape): Add prototype. |
| |
| 2004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15481 |
| PR fortran/13372 |
| PR fortran/13575 |
| PR fortran/15978 |
| * module.c (write_symbol, write_symtree): Remove workaround. |
| * primary.c (match_actual_arglist): Enhance comment. |
| (gfc_match_rvalue): Handle function call with first argument |
| a keyword argument correctly. |
| * resolve.c (resolve_symbol): Change call to |
| gfc_set_default_type to issue error if no implicit type |
| can be found. |
| * trans-decl.c (gfc_create_module_variable): Remove workaround. |
| |
| 2004-07-08 Paul Brook <paul@codesourcery.com> |
| |
| * intrinsic.c (add_sym_4s): New function. |
| (add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s. |
| |
| 2004-07-04 Janne Blomqvist <jblomqvi@cc.hut.fi> |
| Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/15280 |
| PR fortran/15665 |
| * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and |
| GFC_ISYM_COMMAND_ARGUMENT_COUNT. |
| * intrinsic.c (add_functions): Identify iargc. Add |
| command_argument_count. |
| (add_subroutines): Resolve getarg. Add get_command and |
| get_command_argument. |
| * intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command, |
| gfc_resolve_get_command_argument): Add prototypes. |
| * iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command, |
| gfc_resolve_get_command_argument): New functions. |
| * trans-decl.c (gfor_fndecl_iargc): New variable. |
| (gfc_build_intrinsic_function_decls): Set it. |
| * trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function. |
| (gfc_conv_intrinsic_function): Use it. |
| * trans.h (gfor_fndecl_iargc): Declare. |
| |
| 2004-07-04 Matthias Klose <doko@debian.org> |
| |
| * Make-lang.in: Generate and install gfortran man page. |
| * invoke.texi: Remove extra '@c man end'. |
| |
| 2004-07-04 Richard Henderson <rth@redhat.com> |
| |
| * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack. |
| |
| 2004-07-04 Paul Brook <paul@codesourcery.com> |
| |
| * decl.c (gfc_match_implicit_range): Don't use typespec. |
| (gfc_match_implicit): Handle character selectors. |
| * gfortran.h (gfc_set_implicit): Remove prototype. |
| (gfc_add_new_implicit_range, gfc_merge_new_implicit): Update. |
| * parse.c (accept_statement): Don't call gfc_set_implicit. |
| * symbol.c (new_ts): Remove. |
| (gfc_set_implicit_none): Use same loop bounds as other functions. |
| (gfc_set_implicit): Remove. |
| (gfc_clear_new_implicit, gfc_add_new_implicit_range): Only set flags. |
| (gfc_merge_new_implicit): Combine with gfc_set_implicit. |
| |
| 2004-06-30 Richard Henderson <rth@redhat.com> |
| |
| * match.c (var_element): Remove unused variable. |
| |
| * trans-decl.c (gfc_generate_function_code): Don't set |
| x_whole_function_mode_p. |
| (gfc_generate_constructors): Likewise. |
| |
| 2004-06-30 Richard Henderson <rth@redhat.com> |
| |
| * trans-decl.c (gfc_generate_function_code): Don't set |
| immediate_size_expand. |
| (gfc_generate_constructors): Likewise. |
| |
| 2004-06-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/16161 |
| * decl.c (gfc_match_type_spec): Rename second argument to |
| 'implicit_flag', reverse meaning. Don't match_char_spec if |
| 'implicit_flag' is set. Rename to ... |
| (match_type_spec): ... this. |
| (gfc_match_implicit_none, match_implicit_range): Move here |
| from match.c. |
| (gfc_match_implicit): Move here from match.c, try to |
| match_char_len if match_implicit_range doesn't succeed for |
| CHARACTER implicits. Call renamed fucntion match_type_spec. |
| (gfc_match_data_decl, match_prefix): Call renamed function |
| match_type_spec. |
| * match.c (gfc_match_implicit_none, match_implicit_range, |
| gfc_match_implicit): Move to decl.c. |
| * match.h (gfc_match_implicit_none, gfc_match_implicit): |
| Move protoypes to section 'decl.c'. |
| (gfc_match_type_spec): Remove prototype. |
| |
| 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to |
| copyright years. |
| |
| 2004-06-29 Steven Bosscher <stevenb@suse.de> |
| |
| Make sure types in assignments are compatible. Mostly mechanical. |
| * trans-const.h (gfc_index_one_node): New define. |
| * trans-array.c (gfc_trans_allocate_array_storage, |
| gfc_trans_allocate_temp_array, gfc_trans_array_constructor_subarray, |
| gfc_trans_array_constructor_value, gfc_trans_array_constructor, |
| gfc_conv_array_ubound, gfc_conv_array_ref, |
| gfc_trans_scalarized_loop_end, gfc_conv_section_startstride, |
| gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_array_init_size, |
| gfc_trans_array_bounds, gfc_trans_dummy_array_bias, |
| gfc_conv_expr_descriptor, gfc_trans_deferred_array): Use the correct |
| types in assignments, conversions and conditionals for expressions. |
| * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring, |
| gfc_conv_unary_op, gfc_conv_cst_int_power, gfc_conv_string_tmp, |
| gfc_conv_function_call, gfc_trans_pointer_assignment, |
| gfc_trans_scalar_assign): Likewise. |
| * trans-intrinsic.c (build_fixbound_expr, gfc_conv_intrinsic_bound, |
| gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count, |
| gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_btest, |
| gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ishft, |
| gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_strcmp, |
| gfc_conv_allocated, gfc_conv_associated, |
| gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_trim): Likewise. |
| * trans-io.c (set_string): Likewise. |
| * trans-stmt.c (gfc_trans_do, gfc_trans_forall_loop, |
| gfc_do_allocate, generate_loop_for_temp_to_lhs, |
| generate_loop_for_rhs_to_temp, compute_inner_temp_size, |
| compute_overall_iter_number, gfc_trans_assign_need_temp, |
| gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1, |
| gfc_evaluate_where_mask, gfc_trans_where_assign, |
| gfc_trans_where_2): Likewise. |
| * trans-types.c (gfc_get_character_type, gfc_build_array_type, |
| gfc_get_nodesc_array_type, gfc_get_array_type_bounds): Likewise. |
| |
| * trans.c (gfc_add_modify_expr): Add sanity check that types |
| for the lhs and rhs are the same for scalar assignments. |
| |
| 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * dump-parse-tree.c (show_common): New function. |
| (gfc_show_namespace): Show commons. |
| |
| 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| Andrew Vaught <andyv@firstinter.net> |
| |
| PR fortran/13249 |
| PR fortran/15481 |
| * decl.c (gfc_match_save): Adapt to new common structures, |
| don't allow saving USE-associated common. |
| * dump-parse-tree (gfc_show_attr): (saved_)common are not |
| symbol attributes any longer. |
| (gfc_show_symbol): Don't show old-style commons any longer. |
| (gfc_show_namespace): Adapt call to gfc_traverse_symtree to new |
| interface. |
| * gfortran.h (symbol_attribute): Remove common and saved_common |
| attributes. |
| (gfc_symbol): Remove common_head element. |
| (gfc_common_head): New struct. |
| (gfc_get_common_head): New macro. |
| (gfc_symtree): Add field 'common' to union. |
| (gfc_namespace): Add field 'common_root'; change type of field |
| 'blank_common' to blank_common. |
| (gfc_add_data): New prototype. |
| (gfc_traverse_symtree): Expect a symtree as first argument |
| instead of namespace. |
| * match.c (gfc_get_common): New function. |
| (match_common_name): Change to take char * as argument, adapt, |
| fix bug with empty name. |
| (gfc_match_common): Adapt to new data structures. Disallow |
| redeclaration of USE-associated COMMON-block. Fix bug with |
| empty common. |
| (var_element): Adapt to new common structures. |
| * match.h (gfc_get_common): Declare. |
| * module.c: Add 2004 to copyright years, add commons to module |
| file layout description. |
| (ab_attribute, attr_bits, mio_symbol_attributes): Remove code |
| for removed attributes. |
| (mio_symbol): Adapt to new way of storing common relations. |
| (load_commons): New function. |
| (read_module): Skip common list on first pass, load_commons at |
| second. |
| (write_commons): New function. |
| (write_module): Call write_commons(). |
| * symbol.c (gfc_add_saved_comon, gfc_add_common): Remove |
| functions related to removed attributes. |
| (gfc_add_data): New function. |
| (gfc_clear_attr): Don't set removed attributes. |
| (gfc_copy_attr): Don't copy removed attributes. |
| (traverse_symtree): Remove. |
| (gfc_traverse_symtree): Don't traverse symbol |
| tree of the passed namespace, but require a symtree to be passed |
| instead. Unify with traverse_symtree. |
| (gfc_traverse_ns): Call gfc_traverse_symtree according to new |
| interface. |
| (save_symbol): Remove setting of removed attribute. |
| * trans-common.c (gfc_sym_mangled_common_id): Change to |
| take 'char *' argument instead of 'gfc_symbol'. |
| (build_common_decl, new_segment, translate_common): Adapt to new |
| data structures, add new |
| argument name. |
| (create_common): Adapt to new data structures, add new |
| argument name. Fix typo in intialization of derived types. |
| (finish_equivalences): Add second argument in call to |
| create_common. |
| (named_common): take 'gfc_symtree' instead of 'gfc_symbol'. |
| (gfc_trans_common): Adapt to new data structures. |
| * trans-decl.c (gfc_create_module_variables): Remove test for |
| removed attribute. |
| |
| 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * io.c: Add 2004 to copyright years. |
| |
| 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| Andrew Vaught <andyv@firstinter.net> |
| |
| * gfortran.h (gfc_gsymbol): New typedef. |
| (gfc_gsym_root): New variable. |
| (gfc_get_gsymbol, gfc_find_gsym): New prototypes. |
| * parse.c (global_used): New function. |
| (parse_block_data): Check for double empty BLOCK DATA, |
| use global symbol table. |
| (parse_module): Use global symbol table. |
| (add_global_procedure, add_global_program): New functions. |
| (gfc_parse_file): Use global symbol table. |
| * symbol.c (gfc_gsym_root): New variable. |
| (gfc_find_gsym, gsym_compare, gfc_get_gsymbol): New |
| functions. |
| |
| 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * module.c (mio_gmp_real): Correct writing of negative numbers. |
| |
| 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15963 |
| * expr.c (check_intrinsic_op): Allow comparison of characters. |
| Make logic easier. |
| |
| 2004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| Andrew Vaught <andyv@firstinter.net> |
| |
| * decl.c (contained_procedure): New function. |
| (match_end): Verify correctness of END STATEMENT in |
| all cases. |
| |
| 2004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| Andrew Vaught <andyv@firstinter.net> |
| |
| PR fortran/15190 |
| * decl.c (gfc_match_type_spec), io.c (match_io), parse.c |
| (decode_statement): Enforce required space in free-form. |
| |
| 2004-06-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted. |
| * trans-array.c (gfc_conv_descriptor_data): Add operand |
| for COMPONENT_REF. |
| (gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise. |
| (gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise. |
| (gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise. |
| * trans-common.c (create_common): Likewise. |
| * trans-expr.c (gfc_conv_component_ref): Likewise. |
| * trans-io.c (set_parameter_value): Likewise. |
| (set_parameter_ref, set_string, set_flag, io_result): Likewise. |
| (transfer_expr): Likewise. |
| * trans-decl.c (gfc_trans_auto_character_variable): |
| Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified. |
| (gfc_gimplify_function): New function. |
| (gfc_generate_function-code): Properly handle nested functions. |
| * trans.c (gfc_build_array_ref): Add two new operands for ARRAY_REF. |
| |
| 2004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi> |
| |
| PR fortran/15750 |
| * io.c (gfc_match_inquire): Bugfix for iolength related stuff. |
| (gfc_resolve_inquire): Resolve the iolength tag. Return |
| SUCCESS at end of function if no failure has occured. |
| * resolve.c (resolve_code): Resolve if iolength is encountered. |
| * trans-io.c: (ioparm_iolength, iocall_iolength, |
| iocall_iolength_done): New variables. |
| (last_dt): Add IOLENGTH. |
| (gfc_build_io_library_fndecls ): Set iolength related variables. |
| (gfc_trans_iolength): Implement. |
| (gfc_trans_dt_end): Treat iolength as a third form of data transfer. |
| |
| 2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de |
| |
| PR fortran/15511 |
| * scanner.c (load_line): Don't truncate preprocessor lines. |
| Reformat error message. |
| (preprocessor_line): Issue warning in case of malformed |
| preprocessor line. |
| |
| 2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * resolve.c (resolve_symbol): Add comment in function body. |
| (check_data_variable): Change type of mark to ar_type, adapt code |
| accordingly. |
| |
| 2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * array.c (gfc_insert_constructor): Avoid redundant call to |
| mpz_comp. Add 2004 to copyright years. |
| |
| 2004-06-21 Joseph S. Myers <jsm@polyomino.org.uk> |
| |
| * trans.h (stmtblock_t): Change has_scope to unsigned int. |
| |
| 2004-06-20 Steven G. Kargl <kargls@comcast.net> |
| |
| * arith.c (gfc_range_check): correct complex underflow. |
| |
| 2004-06-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15962 |
| * match.c (match_case_selector): Call gfc_match_init_expr |
| instead of gfc_match_expr. |
| * resolve.c (validate_case_label_expr): No need to check for |
| constant, since it wouldn't have been matched with the fix to |
| match.c. |
| |
| 2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15211 |
| * trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arrays |
| of strings. |
| |
| 2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15510 |
| * trans-deecl.c (generate_local_decl): Do not issue warning for |
| unused variables if they're use associated. |
| |
| 2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| Andrew Vaught <andyv@firstinter.net> |
| |
| PR fortran/14928 |
| * gfortran.h (gfc_check_f): Add new field f3ml. |
| * check.c (gfc_check_minloc_maxloc): Take argument list instead |
| of individual arguments, reorder if necessary. |
| * intrinsic.h (gfc_check_minloc_maxloc): ... adapt prototype. |
| * intrinsic.c (add_sym_3ml): New function. |
| (add_functions): Change to add_sym_3ml for MINLOC, MAXLOC. |
| (check_specific): Catch special case MINLOC, MAXLOC. |
| |
| 2004-06-14 Paul Brook <paul@codesourcery.com> |
| |
| * intrinsic.c (add_sym_2s): Use correct function types. |
| |
| 2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * Make-lang.in (F95_OBJS, F95_PARSER_OBJS): Alphabetize. Move data.c |
| * data.c (gfc_get_section_index): Remove dependency on trans.h. |
| |
| 2004-06-12 Steven G. Kargl <kargls@comcast.net> |
| |
| * check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_rand |
| gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions. |
| * gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME, |
| GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND. |
| * trans-intrinsic.c: Use symbols. |
| * intrinsic.c (add_sym_2s): New function. |
| * intrinsic.c: Add etime, dtime, irand, rand, second, srand. |
| * intrinsic.h: Function prototypes. |
| * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub |
| gfc_resolve_srand): New functions. |
| |
| 2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/14957 |
| * decl.c (gfc_match_end): Require END {SUBROUTINE|FUNCTION} for |
| contained procedure. |
| |
| 2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/12841 |
| * interface.c (compare_parameter, compare_actual_formal): Don't |
| check types and array shapes for NULL() |
| * trans-expr.c (conv_function_call): No double indirection for |
| NULL() |
| |
| 2004-06-09 Toon Moene <toon@moene.indiv.nluug.nl> |
| |
| * trans-expr.c (gfc_conv_cst_int_power): Compute |
| x**(-n) by converting it to (1/x)**n instead of |
| 1/x**n. |
| |
| 2004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13372 |
| * module.c (write_symbol, write_symtree): Don't write symbols |
| wrongly added to namespace. |
| * trans-decl.c (gfc_create_module_variable): Don't create a |
| backend decl for a symbol incorrectly added to namespace. |
| |
| 2004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13201 |
| * resolve.c (resolve_symbol): Verify that parameter array has an |
| explicit shape. Fix typos and coding style issues in surrounding |
| lines. |
| |
| 2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15478 |
| * gfortran.texi: The documentation doesn't contain infomration on |
| how to report bugs, and shouldn't, so remove the line which |
| says it does. |
| |
| 2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * intrinsic.c (sort_actual): Keep track of type of missing |
| arguments. (Missing from previous commit.) |
| |
| 2004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * gfortran.h (gfc_actual_arglist): New field missing_arg_type. |
| * interface.c (compare_actual_formal): Keep type of omitted |
| optional arguments. |
| * trans-expr.c (gfc_conv_function_call): Add string length |
| argument for omitted string argument. |
| |
| 2004-06-03 Paul Brook <paul@codesourcery.com> |
| |
| * trans.c (gfc_finish_block, gfc_add_expr_to_block): Build statement |
| lists instead of compound expr chains. |
| (gfc_trans_code): Annotate statement lists. |
| |
| 2004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-array.c: Fix spelling in comments. |
| |
| 2004-06-02 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15557 |
| * data.c (assign_substring_data_value): New function. |
| (gfc_assign_data_value): Call the new function if we're dealing |
| with a substring LHS. |
| |
| 2004-06-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15477 |
| * gfortran.h (GFC_VERSION): Remove. |
| * gfortran.texi (version-gfortran): Remove, replace by version-GCC |
| where used. |
| |
| 2004-05-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-types.c: Fix spelling & layout in comments. |
| |
| 2004-05-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/14067 |
| * trans-const.c (gfc_conv_string_init): Allow variable string |
| length lower than initialization string length. |
| |
| 2004-05-30 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/15620 |
| * trans-decl.c (gfc_shadow_sym, gfc_restore_sym): New functions. |
| * trans-expr.c (gfc_trans_string_copy): New function. |
| (gfc_conv_statement_function): Use them. Create temp vars. Enforce |
| character lengths. |
| (gfc_conv_string_parameter): Use gfc_trans_string_copy. |
| * trans-stmt.c (gfc_trans_forall_1): Use gfc_{shadow,restore}_sym. |
| * trans.h (struct gfc_saved_var): Define. |
| (gfc_shadow_sym, gfc_restore_sym): Add prototypes. |
| |
| 2004-05-30 Steven G. Kargl <kargls@comcast.net> |
| |
| * iresolve.c (gfc_resolve_random_number): Clean up conditional. |
| |
| 2004-05-29 Steven G. Kargl <kargls@comcast.net> |
| |
| * simplify.c (gfc_simplify_log): Remove useless line of code. |
| |
| 2004-05-29 Paul Brook <paul@codesourcery.com> |
| |
| * trans-common.c (find_equivalence): Find multiple rules. |
| |
| 2004-05-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * gfortran.h (gfc_current_locus, gfc_set_locus): Remove. |
| (gfc_current_locus): Declare new global variable. |
| * scanner.c (gfc_current_locus, gfc_set_locus): Remove. |
| (gfc_current_locus1): Rename ... |
| (gfc_current_locus): ... to this. |
| (gfc_at_eof, gfc_at_bol, gfc_at_eol, gfc_advance_line, next_char, |
| skip_fixed_comments, skip_free_comments, gfc_next_char_literal, |
| gfc_peek_char, gfc_gobble_whitespace, gfc_new_file): Use |
| gfc_current_locus instead of gfc_current_locus1, gfc_set_locus() |
| and gfc_current_locus(), respectively. |
| * array.c (match_subscript, gfc_match_array_ref, match_array_list, |
| match_array_cons_element, gfc_match_array_constructor): |
| Read/modify gfc_current_locus instead of calling gfc_set_locus() |
| and gfc_current_locus(). |
| * decl.c (gfc_match_null, variable_decl, gfc_match_kind_spec, |
| match_attr_spec, gfc_match_function_decl, gfc_match_end, |
| attr_decl1, gfc_match_save): Likewise. |
| * error.c (error_print, gfc_internal_error): Likewise. |
| * expr.c (gfc_int_expr, gfc_default_logical_kind): Likewise. |
| * interface.c (gfc_add_interface): Likewise. |
| * io.c (gfc_match_format, match_dt_format, match_dt_element, |
| match_io_iterator, match_io): Likewise. |
| * match.c (gfc_match_space, gfc_match_eos, |
| gfc_match_small_literal_int, gfc_match_st_label, |
| gfc_match_strings, gfc_match_name, gfc_match_iterator, |
| gfc_match_char, gfc_match, gfc_match_assignment, |
| gfc_match_pointer_assignment, gfc_match_if, gfc_match_do, |
| gfc_match_nullify, gfc_match_call, match_implicit_range, |
| gfc_match_implicit, gfc_match_data, match_case_selector, |
| gfc_match_case, match_forall_iterator): Likewise. |
| * matchexp.c (gfc_match_defined_op_name, next_operator, |
| match_level_1, match_mult_operand, match_ext_mult_operand, |
| match_add_operand, match_ext_add_operand, match_level_2, |
| match_level_3, match_level_4, match_and_operand, match_or_operand, |
| match_equiv_operand, match_level_5, gfc_match_expr): Likewise. |
| * module.c (gfc_match_use, mio_array_ref, mio_expr): Likewise. |
| * parse.c (match_word, decode_statement, next_free, next_fixed, |
| add_statement, verify_st_order, parse_if_block, gfc_parse_file): |
| Likewise. |
| * primary.c (match_digits, match_integer_constant, |
| match_boz_constant, match_real_constant, match_substring, |
| next_string_char, match_charkind_name, match_string_constant, |
| match_logical_constant, match_const_complex_part, |
| match_complex_constant, match_actual_arg, match_keyword_arg, |
| gfc_match_actual_arglist, gfc_match_structure_constructor, |
| gfc_match_rvalue, gfc_match_variable): Likewise. |
| * st.c (gfc_get_code): Likewise. |
| * symbol.c (check_conflict, check_used, check_done, |
| duplicate_attr, add_flavor, gfc_add_procedure, gfc_add_intent, |
| gfc_add_access, gfc_add_explicit_interface, gfc_add_type, |
| gfc_add_component, gfc_reference_st_label, gfc_new_symbol): Likewise. |
| |
| 2004-05-26 Roger Sayle <roger@eyesopen.com> |
| |
| * io.c (format_asterisk): Silence compiler warnings by correcting |
| the number of elements of a "locus" initializer. |
| |
| 2004-05-25 Roger Sayle <roger@eyesopen.com> |
| |
| PR fortran/13912 |
| * matchexp.c: Allow unary operators after arithmetic operators |
| as a GNU extension. |
| (match_ext_mult_operand, match_ext_add_operand): New functions. |
| (match_mult_operand): Tweak to call match_ext_mult_operand. |
| (match_add_operand): Tweak to call match_ext_mult_operand. |
| (match_level_2): Rearrange to call match_ext_add_operand. |
| |
| 2004-05-25 Paul Brook <paul@codesourcery.com> |
| |
| * expr.c (check_inquiry): Remove bogus tests. |
| |
| 2004-05-23 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/13773 |
| * expr.c (restricted_args): Remove redundant checks/argument. |
| (external_spec_function): Update to match. |
| (restricted_intrinsic): Rewrite. |
| |
| 2004-05-23 Paul Brook <paul@codesourcery.com> |
| Victor Leikehman <lei@haifasphere.co.il> |
| |
| * gfortran.h (struct gfc_symbol): Add equiv_built. |
| * trans-common.c: Change int to HOST_WIDE_INT. Capitalize error |
| messages. |
| (current_length): Remove. |
| (add_segments): New function. |
| (build_equiv_decl): Create initialized common blocks. |
| (build_common_decl): Always add decl to bindings. |
| (create_common): Create initializers. |
| (find_segment_info): Reformat to match coding conventions. |
| (new_condition): Use add_segments. |
| (add_condition, find_equivalence, add_equivalences): Move iteration |
| inside functions. Only process each segment once. |
| (new_segment, finish_equivalences, translate_common): Simplify. |
| |
| 2004-05-23 Steven G. Kargl <kargls@comcast.net> |
| |
| * check.c (gfc_check_random_seed): Issue for too many arguments. |
| |
| 2004-05-22 Steven G. Kargl <kargls@comcast.net> |
| |
| * intrinsic.c (add_subroutines): Use add_sym_3s for random_seed. |
| |
| 2004-05-22 Paul Brook <paul@codesourcery.com> |
| |
| * dump-parse-tree.c (gfc_show_equiv): New function. |
| (gfc_show_namespace): Use it. |
| |
| 2004-05-22 Victor Leikehman <lei@haifasphere.co.il> |
| |
| PR fortran/13249 |
| * symbol.c (gfc_add_common): Disable checks to work around other more |
| fundamental inadequacies. |
| |
| 2004-05-22 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-decl.c (gfc_get_extern_function_decl): Set DECL_IS_PURE |
| only for functions. |
| (gfc_build_function_decl): Likewise. |
| |
| 2004-05-22 Steven G. Kargl <kargls@comcast.net> |
| |
| * check.c (gfc_check_system_clock): New function. |
| * intrinsic.c (add_sym_3s): New function. |
| (add_subroutines): Use it. |
| * intrinsic.h (gfc_check_system_clock, gfc_resolve_system_clock): |
| Add prototypes. |
| * iresolve.c (gfc_resolve_system_clock): New function. |
| |
| 2004-05-22 Steven G. Kargl <kargls@comcast.net> |
| |
| * invoke.texi: Document -Wunderflow and spell check. |
| * lang.opt: Add Wunderflow. |
| * gfortran.h (gfc_option_t): Add warn_underflow option. |
| * options.c (gfc_init_options, set_Wall): Use it. |
| * primary.c (match_real_constant): Explicitly handle UNDERFLOW. |
| * arith.c (gfc_arith_uminus, gfc_arith_plus, gfc_arith_minus, |
| gfc_arith_times, gfc_arith_divide, gfc_arith_power, gfc_real2real, |
| gfc_real2complex, gfc_complex2real, gfc_complex2complex): Ditto. |
| * arith.c (common_logarithm): Fix typo in comment. |
| |
| 2004-05-21 Roger Sayle <roger@eyesopen.com> |
| |
| * io.c (check_format): As a GNU extension, allow the comma after a |
| string literal to be optional in a format. Use gfc_notify_std to |
| issue an error/warning as appropriate. |
| |
| 2004-05-21 Roger Sayle <roger@eyesopen.com> |
| |
| * io.c (check_format): Use gfc_notify_std to determine whether to |
| issue an error/warning for omitting the digits from the X format. |
| |
| 2004-05-20 Roger Sayle <roger@eyesopen.com> |
| |
| * io.c (check_format): Allow the number before the X format to |
| be optional when not -pedantic. |
| |
| 2004-05-18 Feng Wang <fengwang@nudt.edu.cn> |
| Paul Brook <paul@codesourcery.com> |
| |
| * f95-lang.c (gfc_init_builtin_functions): Use vold_list_node. |
| Create decls for __builtin_pow{,f}. |
| * gfortran.h (PREFIX_LEN): Define. |
| * trans-decl.c (gfor_fndecl_math_powi): Add. |
| (gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove. |
| (gfc_build_intrinsic_function_decls): Create decls for powi. |
| * trans-expr.c (powi_table): Add. |
| (gfc_conv_integer_power): Remove. |
| (gfc_conv_powi): New function. |
| (gfc_conv_cst_int_power): New function. |
| (gfc_conv_power_op): Use new powi routines. |
| * trans.h (struct gfc_powdecl_list): Add. |
| (gfor_fndecl_math_powi): Add. |
| (gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove. |
| |
| 2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans.c, trans-decl.c: Fix comment typos. |
| |
| 2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-const.c (gfc_conv_mpf_to_tree): Fix typo. |
| |
| 2004-05-18 Steve Kargl <kargls@comcast.net> |
| |
| * arith.c (gfc_int2complex): Fix incorrect range checking. |
| |
| 2004-05-18 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/13930 |
| * decl.c (add_init_expr_to_sym): Remove incorrect check. |
| (default_initializer): Move to expr.c. |
| (variable_decl): Don't assign default initializer to variables. |
| * expr.c (gfc_default_initializer): Move to here. |
| * gfortran.h (gfc_default_initializer): Add prototype. |
| * resolve.c (resolve_symbol): Check for illegal initializers. |
| Assign default initializer. |
| |
| 2004-05-17 Steve Kargl <kargls@comcast.net> |
| |
| * arith.c (gfc_arith_power): Complex number raised to 0 power is 1. |
| |
| 2004-05-17 Steve Kargl <kargls@comcast.net> |
| |
| * arith.c (gfc_real2complex): Range checking wrong part of complex |
| number. |
| |
| 2004-05-16 Paul Brook <paul@codesourcery.com> |
| |
| * options.c (gfc_handle_module_path_options): Fix buffer overrun. |
| |
| 2004-05-16 Paul Brook <paul@codesourcery.com> |
| |
| * arith.c (gfc_range_check): Fix logic error. |
| |
| 2004-05-16 Steve Kargl <sgk@troutmask.apl.washington.edu> |
| |
| * arith.c: Fix comment typos. |
| |
| 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13742 |
| * decl.c (add_init_expr_to_sym): Verify that COMMON variable is |
| not initialized in a disallowed fashion. |
| * match.c (gfc_match_common): Likewise. |
| (var_element): Verify that variable is not in the blank COMMON, |
| if it is in a common. |
| |
| 2004-05-15 Joseph S. Myers <jsm@polyomino.org.uk> |
| |
| * Make-lang.in (f95.generated-manpages): Remove. |
| (f95.srcextra): New. |
| (f95.info, fortran/gfortran.info, fortran/gfortran.dvi, |
| f95.maintainer-clean): Generate info and dvi files in objdir/doc. |
| (f95.dvi): Remove. |
| (dvi): New. |
| (f95.install-info): Remove. |
| (install-info): New. |
| |
| 2004-05-15 Victor Leikehman <lei@haifasphere.co.il> |
| |
| * decl.c (add_init_expr_to_sym): Check for variable size arrays. |
| |
| 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * primary.c (match_boz_constant): Use gfc_notify_std() for |
| issuing a warning or an error. |
| |
| 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13826 |
| * primary.c (match_structure_constructor): Rename ... |
| (gfc_match_structure_constructor): ... to this. Make non-static. |
| (gfc_match_rvalue): Call renamed function. |
| * match.h (gfc_match_structure_constructor): Declare. |
| * match.c (gfc_match_data_constant): Handle structure |
| constructor. |
| |
| 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13702 |
| (Port from g95) |
| * gfortran.h (gfc_linebuf): New typedef. |
| (linebuf): Remove. |
| (gfc_file): Revamped, use new gfc_linebuf. |
| (locus): Revamped, use new types. |
| (gfc_current_file): Remove. |
| (gfc_current_form, gfc_source_file): New global variables. |
| * match.c (gfc_match_space, gfc_match_strings): Use |
| gfc_current_form to find source form. |
| * module.c (gfc_dump_module): Use gfc_source_file when printing |
| module header. |
| * error.c (show_locus, show_loci) Use new data structures to print |
| locus. |
| * scanner.c (first_file, first_duplicated_file, gfc_current_file): |
| Remove. |
| (file_head, current_file, gfc_current_form, line_head, line_tail, |
| gfc_current_locus1, gfc_source_file): New global variables. |
| (gfc_scanner_init1): Set new global variables. |
| (gfc_scanner_done1): Free new data structures. |
| (gfc_current_locus): Return pointer to gfc_current_locus1. |
| (gfc_set_locus): Set gfc_current_locus1. |
| (gfc_at_eof): Set new variables. |
| (gfc_at_bol, gfc_at_eol, gfc_advance_line, gfc_next_char): Adapt |
| to new locus structure. |
| (gfc_check_include): Remove. |
| (skip_free_comments, skip_fixed_comments): Use gfc_current_locus1. |
| (gfc_skip_comments): Use gfc_current_form, find locus with |
| gfc_current_locus1. |
| (gfc_next_char): Use gfc_current_form. |
| (gfc_peek_char, gfc_gobble_whitespace): Use gfc_current_locus1. |
| (load_line): Use gfc_current_form. Recognize ^Z as EOF. Fix |
| comment formatting. |
| (get_file): New function. |
| (preprocessor_line, include_line): New functions. |
| (load_file): Move down, rewrite to match new data structures. |
| (gfc_new_file): Rewrite to match new data structures. |
| * parse.c (next_statement): Remove code which is now useless. Use |
| gfc_source_form and gfc_source_file where appropriate. |
| * trans-decl.c (gfc_get_label_decl): adapt to new data structures |
| when determining locus of frontend code. |
| * trans-io.c (set_error_locus): Same. |
| * trans.c (gfc_get_backend_locus, gfc_set_backend_locus): Likewise. |
| * lang-specs.h (@f77-cpp-input, @f95-cpp-input): Remove '-P' from |
| preprocessor flags. |
| (all): Add missing initializers. |
| |
| 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * Make-lang.in (trans-common.o): Remove redundant dependency. |
| (data.c): Replace object file name ... |
| (data.o): ... by the correct one. |
| |
| 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * dump-parse-tree.c (gfc_show_array_ref): Print colon only |
| for ranges when dumping array references. |
| |
| 2004-05-14 Victor Leikehman <lei@haifasphere.co.il> |
| |
| * decl.c (variable_decl): Always apply default initializer. |
| |
| 2004-05-08 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15206 |
| * trans-intrinsic.c (gfc_conv_intrinsic_rrspacing): Fixed to |
| handle zero correctly. |
| |
| 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * match.c (gfc_match): Eliminate dead code. |
| |
| 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * parse.c (gfc_statement_next_fixed): (Change from Andy's tree) |
| Detect bad continuation line in fixed form sources. |
| |
| 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15205 |
| * iresolve.c (gfc_resolve_nearest): Add new function. |
| * intrinsic.h: ... declare it here. |
| * intrinsic.c (add_functions): ... add it as resolving function |
| for NEAREST. |
| |
| 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/14066 |
| * match.c (gfc_match_do): Allow infinite loops with |
| label-do-stmt. Do not enforce space after comma. |
| |
| 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/15051 |
| * parse.c (parse_interface): Allow empty INTERFACE, remove |
| seen_body. |
| |
| 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c, |
| decl.c, dependency.c, dependency.h, dump-parse-tree.c, error.c, |
| expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c, |
| intrinsic.h, io.c, iresolve.c, lang-specs.h, match.c, match.h, |
| matchexp.c, misc.c, module.c, options.c, parse.c, parse.h, |
| primary.c, resolve.c, scanner.c, simplify.c, st.c, symbol.c, |
| trans-array.c, trans-array.h, trans-common.c, trans-const.c, |
| trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c, |
| trans-io.c, trans-stmt.c, trans-stmt.h, trans-types.c, |
| trans-types.h, trans.c, trans.h: Update copyright years and |
| boilerplate. |
| * data.c: Likewise, also removed two whitespace-only lines. |
| * gfortranspec.c, lang.opt: Update copyright years. |
| |
| 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/14568 |
| * trans-decl.c (generate_local_decl): Don't warn for unused |
| variables which are in common blocks. |
| |
| 2004-05-13 Diego Novillo <dnovillo@redhat.com> |
| |
| * Make-lang.in, f95-lang.c, trans-array.c, trans-decl.c, |
| trans-expr.c, trans-intrinsic.c, trans-io.c, trans-stmt.c, |
| trans.c: Rename tree-simple.[ch] to tree-gimple.[ch]. |
| |
| 2004-05-13 Victor Leikehman <lei@haifasphere.co.il> |
| |
| PR fortran/15314 |
| * trans-expr.c (gfc_conv_structure): Use field type, not expr type. |
| |
| 2004-05-13 Joseph S. Myers <jsm@polyomino.org.uk> |
| |
| * gfortran.texi: Use @table @emph instead of @itemize @emph. |
| Remove "set DEVELOPMENT". |
| (Compiling GFORTRAN): Remove. |
| |
| 2004-05-09 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * array.c (match_subscript, match_array_ref): Add comments |
| explaining argument 'init'. |
| * decl.c, f95-lang.c, match.c, resolve.c, trans-array.c, |
| trans-expr.c, trans.c: Fix some typos in comments. |
| * dump-parse-tree.c (gfc_show_expr): Remove wrong comment. |
| * primary.c (match_digits, match_integer_constant): Add comment |
| explaining signflag. |
| |
| 2004-05-01 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13940 |
| * primary.c: Include system.h and flags.h, needed for pedantic. |
| (match_boz_constant): Allow "x" for hexadecimal constants, warn if |
| pedantic is set. |
| |
| 2004-05-01 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/13940 |
| * match.c (match_data_constant): Handle case where |
| gfc_find_symbol sets sym to NULL |
| |
| 2004-04-28 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * Make-lang.in (f95-lang.o, trans-intrinsic.o): Add missing |
| dependency on mathbuiltins.def |
| |
| 2004-04-24 Victor Leikehman <lei@il.ibm.com> |
| |
| * trans-io.c (transfer_expr): Implemented recursive printing |
| of derived types. |
| |
| 2004-04-24 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * gfortranspec.c: Do not include multilib.h. |
| |
| 2004-04-24 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * trans-intrinsic.c: Fix comment, this is not trans-expr.c. Add |
| 2004 to copyright years. |
| * trans-expr.c, trans-decl.c: Comment update, we now generate |
| GENERIC, not SIMPLE. Add 2004 to copyright years. |
| |
| 2004-04-24 Paul Brook <paul@codesourcery.com> |
| |
| * Make-lang.in (gfortranspec.o): Add dependency on $(TM_H). |
| |
| 2004-04-24 Feng Wang <fengwang@nudt.edu.cn> |
| |
| PR 14817 |
| * arith.c (gfc_arith_divide): Fix complex divide. |
| |
| 2004-04-23 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * gfortranspec.c: Include the target headers. |
| |
| 2004-04-18 Feng Wang <fengwang@nudt.edu.cn> |
| |
| PR fortran/14921 |
| PR fortran/14540 |
| * arith.c (arctangent2): New function. |
| * arith.h (arctangent2): Add function prototype. |
| * simplify.c (gfc_simplify_atan2): Use it. |
| (gfc_simplify_log): Use it. |
| |
| 2004-04-12 Diego Novillo <dnovillo@redhat.com> |
| |
| * fortran/f95-lang.c (gfc_expand_stmt): Remove. |
| (LANG_HOOKS_RTL_EXPAND_STMT): Remove. |
| |
| 2004-04-11 Bud Davis <bdavis9659@comcast.net> |
| |
| PR fortran/14872 |
| * trans-io.c (build_dt): Change REC to value. |
| |
| 2004-04-11 Feng Wang <fengwang@nudt.edu.cn> |
| |
| PR 14394 |
| * trans-const.c (gfc_conv_mpf_to_tree): Loosen the maximum digits of |
| the real value when converting mpf to string. |
| |
| 2004-04-11 Feng Wang <fengwang@nudt.edu.cn> |
| |
| PR 14395 |
| * trans-intrinsic.c (gfc_conv_intrinsic_cmplx): Fix the imag part of |
| the result. |
| |
| 2004-04-11 Feng Wang <fengwang@nudt.edu.cn> |
| |
| PR fortran/14377 |
| * simplify.c (simplify_min_max): Convert the type of the result. |
| |
| 2004-04-11 Paul Brook <paul@codesourcery.com> |
| |
| * gfortran.texi: Use full target triplet. |
| |
| 2004-04-11 Paul Brook <paul@codesourcery.com> |
| |
| * Make-lang.in (GFORTRAN_TEXI): Set it. |
| (fortran/dfortran.dvi): Use it. Add fortran to include paths. |
| (fortran/gfortran.info): Ditto. |
| * gfortran.texi: Major update. |
| * invoke.texi: New file. |
| |
| 2004-04-10 Paul Brook <paul@codesourcery.com> |
| |
| * trans-array.c (gfc_trans_allocate_temp_array, |
| gfc_conv_tmp_array_ref): Don't use GFC_DECL_STRING. |
| * trans-decl.c (gfc_build_dummy_array_decl, |
| gfc_get_symbol_decl, gfc_build_function_decl, |
| gfc_create_module_variable): Ditto. |
| * trans-expr.c (gfc_conv_variable): Ditto. |
| * trans-intrinsic.c (gfc_conv_intrinsic_len): Ditto. |
| * trans.h (GFC_DECL_STRING): Remove. |
| (GFC_DECL_PACKED_ARRAY, GFC_DECL_PARTIAL_PACKED_ARRAY, |
| GFC_DECL_ASSIGN): Renumber flags. |
| |
| 2004-04-05 Paul Brook <paul@codesourcery.com> |
| |
| PR 13252 |
| PR 14081 |
| * f95-lang.c (gfc_init_builtin_functions): Add stack_alloc, stack_save |
| and stack_restore. |
| * gfortran.h (struct gfc_charlen): Add backend_decl. |
| * trans-array.c (gfc_trans_allocate_temp_array, |
| gfc_conv_temp_array_ref, gfc_conv_resolve_dependencies, |
| (gfc_conv_loop_setup, gfc_array_allocate, gfc_conv_array_init_size): |
| Remove old, broken string handling. |
| (gfc_trans_auto_array_allocation, gfc_trans_g77_array, |
| gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor, |
| gfc_trans_deferred_array): Handle character arrays. |
| * trans-const.c (gfc_conv_const_charlen): New function. |
| * trans-const.h (gfc_conv_const_charlen): Add prototype. |
| * trans-decl.c (gfc_finish_var_decl): Don't mark automatic variables |
| as static. |
| (gfc_build_dummy_array_decl): Handle arrays with unknown element size. |
| (gfc_create_string_length): New function. |
| (gfc_get_symbol_decl): Create lengths for character variables. |
| (gfc_get_fake_result_decl): Ditto. |
| (gfc_build_function_decl): Only set length for assumed length |
| character arguments. |
| (gfc_trans_dummy_character): New function. |
| (gfc_trans_auto_character_variable): Rewrite. |
| (gfc_trans_deferred_vars): Handle more types of character variable. |
| (gfc_create_module_variable): String lengths have moved. |
| (gfc_generate_function_code): Initialize deferred var chain earlier. |
| * trans-expr.c (gfc_conv_init_string_length): Rename ... |
| (gfc_trans_init_string_length): ... to this. |
| (gfc_conv_component_ref, gfc_conv_variable, gfc_conv_concat_op, |
| gfc_conv_function_call): Update to new format for character variables. |
| (gfc_conv_string_length): Remove. |
| (gfc_conv_string_parameter): Update assertion. |
| * trans-intrinsic.c (gfc_conv_intrinsic_len): Use new location. |
| * trans-io.c (set_string): Use new macro names. |
| * trans-stmt.c (gfc_trans_label_assign. gfc_trans_goto): Ditto. |
| * trans-types.c (gfc_get_character_type): Use existing length expr. |
| (gfc_is_nodesc_array): Make public. |
| (gfc_get_dtype_cst): Rename ... |
| (gfc_get_dtype): ... to this. Handle unknown size arrays. |
| (gfc_get_nodesc_array_type): Use new name. |
| (gfc_sym_type): New character variable code. |
| (gfc_get_derived_type): Ditto. |
| (gfc_get_function_type): Evaluate character variable lengths. |
| * trans-types.h (gfc_strlen_kind): Define. |
| (gfc_is_nodesc_array): Add prototype. |
| * trans.h: Update prototypes. |
| (struct lang_type): Update comments. |
| (GFC_DECL_STRING_LEN): New name for GFC_DECL_STRING_LENGTH. |
| (GFC_KNOWN_SIZE_STRING_TYPE): Remove. |
| |
| 2004-04-04 Paul Brook <paul@codesourcery.com> |
| |
| * gfortran.h (struct gfc_option_t): Remove flag_g77_calls. |
| * options.c (gfc_init.options, gfc_handle_option): Ditto. |
| * trans-expr.c (gfc_conv_function_call): Ditto. |
| * trans-types.c (gfc_is_nodesc_array): Ditto |
| * lang.opt (fg77-calls): Remove. |
| |
| 2004-04-04 Paul Brook <paul@codesourcery.com> |
| |
| * trans-array.c (OFFSET_FIELD): Rename from BASE_FIELD. |
| (gfc_conv_descriptor_base): Rename ... |
| (gfc_conv_descriptor_offset): ... to this. |
| (gfc_trans_allocate_array_storage): Set offset to zero. |
| (gfc_conv_array_base): Rename ... |
| (gfc_conv_array_offset): ... to this. |
| (gfc_conv_array_index_ref): Add offset parameter. |
| (gfc_conv_array_ref): Include offset. |
| (gfc_trans_preloop_setup): Use existing offset. |
| (gfc_trans_allocate_temp_array, gfc_array_allocate, |
| gfc_trans_auto_array_allocation, gfc_trans_g77_array, |
| gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor, |
| gfc_conf_ss_descriptor): Set offset. |
| * trans-array.h: Rename prototypes. |
| * trans-const.h (gfc_index_zero_node): Define. |
| * trans-decl.c (gfc_build_qualified_array): Change base to offset. |
| * trans-types.c (gfc_get_array_type_bounds): Ditto. |
| (gfc_get_nodesc_array_type): Calculate offset before upper bound. |
| |
| 2004-03-25 Diego Novillo <dnovillo@redhat.com> |
| |
| * convert.c (convert): Don't handle WITH_RECORD_EXPR. |
| |
| 2004-03-24 Bud Davis <bdavis9659@comcast.net> |
| |
| PR 14055 |
| * arith.c (gfc_convert_integer,gfc_convert_real): Removed leading '+' |
| before conversion by gmp library call. |
| |
| 2004-03-24 Bud Davis <bdavis9659@comcast.net> |
| |
| PR 12921 |
| * trans-io.c (gfc_trans_open): Change RECL= to a value parameter. |
| |
| 2004-02-24 Richard Henderson <rth@redhat.com> |
| |
| * trans-array.c (gfc_trans_dummy_array_bias): Fix typo. |
| |
| 2004-02-19 Loren J. Rittle <ljrittle@acm.org> |
| |
| * Make-lang.in ($(srcdir)/fortran/gfortran.info): Move... |
| (fortran/gfortran.info): ... to here. |
| (f95.srcinfo): New. |
| |
| 2004-02-16 Richard Henderson <rth@redhat.com> |
| |
| * Make-lang.in (f95-lang.o, trans-decl.o): Depend on cgraph.h. |
| * f95-lang.c (LANG_HOOKS_EXPAND_DECL): Remove. |
| (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): New. |
| (gfc_expand_function): Rename from expand_function_body, make static, |
| don't do anything except invoke tree_rest_of_compilation. |
| (gfc_be_parse_file): Invoke cgraph. |
| (gfc_expand_decl): Remove. |
| (gfc_init_builtin_functions): Add __builtin_init_trampoline and |
| __builtin_adjust_trampoline. |
| * trans-decl.c (gfc_get_extern_function_decl): Don't set DECL_CONTEXT. |
| (gfc_finalize): New. |
| (gfc_generate_function_code): Use it. Lower nested functions. |
| * trans-expr.c (gfc_conv_function_call): Add static chain operand |
| to call_expr. |
| * trans.c (gfc_build_function_call): Likewise. |
| * trans.h (expand_function_body): Remove. |
| |
| 2004-02-15 Victor Leikehman <lei@il.ibm.com> |
| |
| PR gfortran/13433 |
| * trans-decl.c (gfc_build_function_decl) For functions |
| returning CHARACTER pass an extra length argument, |
| following g77 calling conventions. |
| * trans-types.c (gfc_get_function_type) Ditto. |
| * trans-expr.c (gfc_conv_function_call) Ditto. |
| |
| 2004-02-14 Paul Brook <paul@codesourcery.com> |
| |
| * f95-lang.c (gfc_init_builtin_functions): Build chain properly. |
| |
| 2004-02-12 Paul Brook <paul@nowt.org> |
| |
| * BUGS: Remove. |
| |
| 2004-02-08 Steve Kargl <sgk@troutmask.apl.washington.edu> |
| |
| * gfortran.texi: Fix typos. |
| |
| 2004-02-07 Bud Davis <bdavis9659@comcast.net> |
| |
| PR gfortran/13909 |
| * intrinsic.c (add_conversions) Use logical conversion instead |
| of real. |
| * trans-types.c (gfc_get_logical_type) implemented logical*1 |
| and logical*2. |
| |
| 2004-01-17 Paul Brook <paul@codesourcery.com> |
| |
| * lang-specs.h: Remove %<fixed-form. |
| |
| 2004-01-15 Toon Moene <toon@moene.indiv.nluug.nl> |
| |
| * lang-specs.h: Enable preprocessing of source files |
| ending in .F, .fpp, .FPP, .F90 and .F95. |
| |
| 2004-01-13 Toon Moene <toon@moene.indiv.nluug.nl> |
| |
| PR fortran/12912 |
| * lang-specs.h: Enable compilation of files ending |
| in .f, .for and .FOR. |
| |
| 2004-01-11 Paul Brook <paul@codesourcery.com> |
| |
| * trans-stmt.c (gfc_trans_if_1): New function. |
| (gfc_trans_if): Use it. |
| |
| 2004-01-11 Erik Schnetter <schnetter@uni-tuebingen.de> |
| |
| * gfortran.h (GFC_MAX_SYMBOL_LEN): Increase. |
| (gfc_option_t): Add max_identifier_length. |
| * lang.opt: Add fmax-identifier-length. |
| * match.c (parse_name): Use limit. |
| * options.c (gfc_init_options): Set max_identifier_length. |
| (gfc_handle_option): Ditto. |
| |
| 2004-01-11 Feng Wang <fengwang@nudt.edu.cn> |
| |
| * intrinsic.c (add_functions): Add resolve function to dcmplx. |
| * intrinsic.h (gfc_resolve_dcmplx): Add prototype. |
| * iresolve.c (gfc_resolve_dcmplx): New function. |
| |
| 2004-01-10 Paul Brook <paul@codesourcery.com> |
| |
| * trans-decl.c (gfc_get_symbol_decl): Don't set subroutine attr. |
| * trans-types.c (gfc_sym_type): Handle external dummy procedures. |
| (gfc_return_by_reference): Correct condition. |
| (gfc_get_function_type): Ditto. |
| |
| 2004-01-10 Paul Brook <paul@codesourcery.com> |
| |
| * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert mismatched |
| types. |
| |
| 2004-01-10 Huang Chun <chunhuang73@hotmail.com> |
| |
| * iresolve.c: Use correct kind. |
| |
| 2004-01-10 Huang Chun <chunhuang73@hotmail.com> |
| |
| PR fortran/13467 |
| * trans-decl.c (gfc_create_module_variable): Output array valued |
| parameters. |
| |
| 2004-01-10 Paul Brook <paul@codesourcery.com> |
| |
| * resolve.c (resolve_branch): Get error message right way round. |
| |
| 2004-01-10 Canqun Yang <canqun@nudt.edu.cn> |
| |
| * trans-array (gfc_conv_loop_setup): Adjust comment to track |
| reality. |
| (gfc_array_allocate): Don't count size of element twice. |
| |
| 2004-01-04 Paul Brook <paul@codesourcery.com> |
| |
| * lang.opt (i8, r8, std=*): Remove RejectNegative. |
| |
| 2004-01-04 Paul Brook <paul@codesourcery.com> |
| |
| * error.c (gfc_notify_std): New function. |
| * gfortran.h (gfc_notify_std): Declare. |
| (GFC_STD_*): Define. |
| (gfc_option_t): Add warn_std and allow_std. |
| * intrinsic.c (gfc_init_expr_extensions): Fix logic. |
| (gfc_intrinsic_func_interface): Use gfc_notify_std. |
| * check.c (check_rest): Use gfc_notify_std. |
| * match.c (gfc_match_pause): Ditto. |
| (gfc_match_assign): Ditto. |
| (gfc_match_goto): Ditto. |
| * resolve.c (resolve_branch): Ditto. |
| * lang.opt: Add std=<foo> and w. |
| * options.c (gfc_init_options): Set allow_std and warn_std. |
| (gfc_handle_option): Handle OPT_std_* and OPT_w. |
| |
| 2004-01-01 Paul Brook <paul@codesourcery.com> |
| |
| * array.c (gfc_append_constructor): Take constructor, not expression. |
| * data.c (struct gfc_expr_stack): Remove. |
| (expr_stack): Remove. |
| (find_con_by_offset): Rename from find_expr_in_con. |
| (find_con_by_component): Rename from find_component_in_con. |
| (gfc_get_expr_stack): Remove. |
| (gfc_assign_data_value): Rewrite. |
| (gfc_expr_push): Remove. |
| (gfc_expr_pop): Remove. |
| (gfc_advance_section): Rename from |
| gfc_modify_index_and_calculate_offset. Handle unbounded sections. |
| (gfc_get_section_index): Handle unbounded sections. |
| * gfortran.h: Update prototypes. |
| * resolve.c (check_data_variable): Array section maight not be the |
| last ref. |
| |
| 2004-01-01 Paul Brook <paul@codesourcery.com> |
| |
| PR fortran/13432 |
| * resolve.c (resolve_symbol): Allow assumed length function results. |
| |
| 2004-01-01 Steve Kargl <sgk@troutmask.apl.washington.edu> |
| |
| * match.c (gfc_match_pause): Fix spelling. |
| |
| 2004-01-01 Steven Bosscher <stevenb@suse.de> |
| |
| PR fortran/13251 |
| * trans-expr.c (gfc_conv_variable): Take the type kind of a substring |
| reference from the expression. |
| |
| |
| Copyright (C) 2004 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. |