URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [fortran/] [ChangeLog-2004] - Rev 712
Compare with Previous | Blame | View Log
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 tological shift. Call fold. Remove 0-bit shift shortcut.(gfc_conv_intrinsic_ishftc): Convert first argument to at least4 bytes bits. Convert 2nd and 3rd argument to 4 bytes. Convertresult if width(arg 1) < 4 bytes. Call fold.PR fortran/19032* trans-intrinsic.c (gfc_conv_intrinsic_mod): Update commentin front of function to match the standard. Correct handlingof MODULO.2004-12-27 Andrew Pinski <pinskia@physics.uc.edu>* trans-expr.c (gfc_conv_cst_int_power): Only check forflag_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, fixcomment 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 ofstatement.* scanner.c (skip_fixed_comments): Fix typo in comment precedingfunction.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 defaultinteger kind check; Issue error for -std=f95 when needed.* intrinsic.c (add_functions): Change ieor from GFC_STD_GNU toGFC_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. Convertstart, 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 ofsame 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 shapeto the output expression.* iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppresswarning conversion.(gfc_resolve_reshape): Force convert SHAPE and ORDER parametersto index kind.2004-12-08 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>PR fortran/18826* resolve.c (resolve_code): Impose correct restrictions onassigned 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 include2004-11-25 Joseph S. Myers <joseph@codesourcery.com>* f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quotein 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 symbols2004-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 elementtype.(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 forhidden 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 tomodule procedures as if they were module variables.2004-11-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>PR fortran/17535PR fortran/17583PR 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): Passlocus to check_intrinsic_standard.2004-10-31 Janne Blomqvist <jblomqvi@cc.hut.fi>PR fortran/17590* gfortran.h: Change GFC_STD_* flags to more appropriateones. (struct gfc_intrinsic_isym): Add field for standard. (structgfc_option_t): Add field for warning about use of nonstandardintrinsics.* intrinsic.c (add_sym): Add parameter for standard version, checkthis 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 thisagainst currently selected standard.(add_functions, add_subroutines): Add parameter to tell whichstandard 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. Fixcomment 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 reflectrealities of two's complement signed integers. Addedpedantic 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'tlink it in.2004-10-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>* trans-decl.c (generate_local_decl): Simplify logic, fix commenttypo.(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 interfacewhile loading.2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>PR fortran/17901* options.c (gfc_handle_option): Add break after handing theJ/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 associatedvariables 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 enteringloop. 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 maskis 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 forMVBITS* 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 andEND SELECT.(parse_do_block): Generate possible END DO label inside END DOblock.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): Newfunctions.* trans-intrinsic.c (gfc_conv_intrinsic_function): Deal withGFC_ISYM_SYSTEM.2004-10-04 Erik Schnetter <schnetter@aei.mpg.de>* scanner.c (preprocessor_line): Accept preprocessor lines withoutfile names. Check file names for closing quotes. Handle escapedquotes 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 beginningof function.(gfc_simplify_nearest): Same at end of function.(gfc_simplify_nint, gfc_simplify_idnint): Same at beginning offunction.(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 oftree_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 superfluousassertion.* 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 resolvedfunction to determine return type.2004-09-20 Jan Hubicka <jh@suse.cz>* trans-decl.c (build_entry_thunks): Finalize the function; do not lowertree.(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 valuecorrectly.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-classenumeration 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: Fixcomment 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 withgcc_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 toinit_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 forstrings.2004-09-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>PR fortran/16400PR 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 anunsigned 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: Replaceall 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_PRECISIONrather than gfc_int[48]_type_node for allocate choice.* trans-decl.c (gfc_build_intrinsic_function_decls): Cachelocal 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 ofsome 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 ofunsigned 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 largerthan 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/correctcomments.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. UseDEFINE_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): HandleGFC_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 offunction body. Add missing blank.(gfc_buffer_error, error_char, error_string): Remove blank line infront 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 offunction body.(gfc_get_errors): Typo fix in comment in front of function. Removeblank 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 externvariable 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, removestatic 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 iffalse 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 dereferenceresult 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): Removestring_length argument.(gfc_trans_array_ctor_element): New function.(gfc_trans_array_constructor_subarray): Use it.(gfc_trans_array_constructor_value): Ditto. Handle constantcharacter 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 ofbuild.* 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 insteadof 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 tobuild_int_cst to build_int_cst_wide in accordance to Nathan'sprevious patch.2004-08-25 Nathan Sidwell <nathan@codesourcery.com>* trans-array.c (gfc_trans_array_constructor_value): Adjustbuild_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 asrequired.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 unintentionallycommitted 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): Adjustbuild_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 insteadof 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_Pusage. 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; handleelements 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 offirst argument.(gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions.* intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT andSUM 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 pointerfor 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 andFORALL, 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/14976PR fortran/16228* data.c (assign_substring_data_value): Remove.(create_character_intializer): New function.(gfc_assign_data_value): Track the typespec for the currentsubobject. 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 intrinsicsthrough 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 handlederived-type variables. Pass string lengths.(build_dt): Code moved to build_namelist, with somechanges and additions.(gfc_build_io_library_fndecls): Declare the fifthargument 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 pointsafter 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 asoptional 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 builtinsfor 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 theinitializing of cabs{,f} and copysign{,f} functions.* trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtinsinstead 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): Usebuild_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 compiletime resolution of shape.2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi>* intrinsic.c (add_subroutines): Add getenv andget_environment_variable. (add_sym_5s): New function.* intrinsic.h (gfc_resolve_get_environment_variable): Addprototype.* iresolve.c (gfc_resolve_get_environment_variable): Newfunction.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_1gfc_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 GMPto 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 fromgfc_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 resultis not known in compile-time, generate an empty array descriptor forthe 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 callinsn 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 GNUextensions 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_DECLfor TREE_CONSTANTs.2004-07-25 Richard Henderson <rth@redhat.com>* trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIALand 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-): Newoptions.(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 lengthin 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_taginstead 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 chardeclfor 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_initfor assumed length characters.(gfc_conv_expr_descriptor): Set se->string_length if dealingwith a character expression.(gfc_cvonv_array_parameter): Pass string length when passingcharacter 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): Removeinitialization 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 untypedvariables.(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 locuswhen 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 dataname.PR fortran/16433* primary.c (match_boz_constant): Call gfc_notify_std only ifwe actually have a non-standard boz-literal-constant.PR fortran/15754* expr.c (gfc_check_assign): Print ranks if incompatible. Issuewarning 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 ifsymbol 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 blockdoesn'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 structuregfc_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 togfc_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 LHSand 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 initializationof scalar pointer components.* parse.c (decode_statement): Fix matching of BLOCK DATA.* trans-decl.c (generate_local_decl): Remove workaround obsoletedby fix for PR 15481.2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>* trans-common.c: Fix whitespace issues, make variable namesmore 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 unlesssymbol 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 aparameter 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/15481PR fortran/13372PR fortran/13575PR 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 argumenta keyword argument correctly.* resolve.c (resolve_symbol): Change call togfc_set_default_type to issue error if no implicit typecan 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/15280PR fortran/15665* gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC andGFC_ISYM_COMMAND_ARGUMENT_COUNT.* intrinsic.c (add_functions): Identify iargc. Addcommand_argument_count.(add_subroutines): Resolve getarg. Add get_command andget_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 setx_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 setimmediate_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 herefrom match.c.(gfc_match_implicit): Move here from match.c, try tomatch_char_len if match_implicit_range doesn't succeed forCHARACTER implicits. Call renamed fucntion match_type_spec.(gfc_match_data_decl, match_prefix): Call renamed functionmatch_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 tocopyright 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 correcttypes 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 typesfor 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/13249PR 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 notsymbol attributes any longer.(gfc_show_symbol): Don't show old-style commons any longer.(gfc_show_namespace): Adapt call to gfc_traverse_symtree to newinterface.* gfortran.h (symbol_attribute): Remove common and saved_commonattributes.(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 argumentinstead 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. Disallowredeclaration of USE-associated COMMON-block. Fix bug withempty common.(var_element): Adapt to new common structures.* match.h (gfc_get_common): Declare.* module.c: Add 2004 to copyright years, add commons to modulefile layout description.(ab_attribute, attr_bits, mio_symbol_attributes): Remove codefor 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 atsecond.(write_commons): New function.(write_module): Call write_commons().* symbol.c (gfc_add_saved_comon, gfc_add_common): Removefunctions 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 symboltree of the passed namespace, but require a symtree to be passedinstead. Unify with traverse_symtree.(gfc_traverse_ns): Call gfc_traverse_symtree according to newinterface.(save_symbol): Remove setting of removed attribute.* trans-common.c (gfc_sym_mangled_common_id): Change totake 'char *' argument instead of 'gfc_symbol'.(build_common_decl, new_segment, translate_common): Adapt to newdata structures, add newargument name.(create_common): Adapt to new data structures, add newargument name. Fix typo in intialization of derived types.(finish_equivalences): Add second argument in call tocreate_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 forremoved 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): Newfunctions.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 inall 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 operandfor 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. ReturnSUCCESS 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.dePR fortran/15511* scanner.c (load_line): Don't truncate preprocessor lines.Reformat error message.(preprocessor_line): Issue warning in case of malformedpreprocessor 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 codeaccordingly.2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>* array.c (gfc_insert_constructor): Avoid redundant call tompz_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_exprinstead of gfc_match_expr.* resolve.c (validate_case_label_expr): No need to check forconstant, since it wouldn't have been matched with the fix tomatch.c.2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>PR fortran/15211* trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arraysof 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 forunused 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 insteadof 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_randgfc_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_subgfc_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} forcontained procedure.2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>PR fortran/12841* interface.c (compare_parameter, compare_actual_formal): Don'tcheck types and array shapes for NULL()* trans-expr.c (conv_function_call): No double indirection forNULL()2004-06-09 Toon Moene <toon@moene.indiv.nluug.nl>* trans-expr.c (gfc_conv_cst_int_power): Computex**(-n) by converting it to (1/x)**n instead of1/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 symbolswrongly added to namespace.* trans-decl.c (gfc_create_module_variable): Don't create abackend 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 anexplicit shape. Fix typos and coding style issues in surroundinglines.2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>PR fortran/15478* gfortran.texi: The documentation doesn't contain infomration onhow to report bugs, and shouldn't, so remove the line whichsays it does.2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>* intrinsic.c (sort_actual): Keep track of type of missingarguments. (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 omittedoptional arguments.* trans-expr.c (gfc_conv_function_call): Add string lengthargument for omitted string argument.2004-06-03 Paul Brook <paul@codesourcery.com>* trans.c (gfc_finish_block, gfc_add_expr_to_block): Build statementlists 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 dealingwith 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-GCCwhere 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 stringlength 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. Enforcecharacter 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): Usegfc_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 correctingthe 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 operatorsas 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 errormessages.(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 iterationinside 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 morefundamental inadequacies.2004-05-22 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>* trans-decl.c (gfc_get_extern_function_decl): Set DECL_IS_PUREonly 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 astring literal to be optional in a format. Use gfc_notify_std toissue an error/warning as appropriate.2004-05-21 Roger Sayle <roger@eyesopen.com>* io.c (check_format): Use gfc_notify_std to determine whether toissue 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 tobe 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 complexnumber.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 isnot 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() forissuing 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 structureconstructor.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): Usegfc_current_form to find source form.* module.c (gfc_dump_module): Use gfc_source_file when printingmodule header.* error.c (show_locus, show_loci) Use new data structures to printlocus.* 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): Adaptto 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 withgfc_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. Fixcomment 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. Usegfc_source_form and gfc_source_file where appropriate.* trans-decl.c (gfc_get_label_decl): adapt to new data structureswhen 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' frompreprocessor 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 onlyfor 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 tohandle 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 functionfor NEAREST.2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>PR fortran/14066* match.c (gfc_match_do): Allow infinite loops withlabel-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, removeseen_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 andboilerplate.* 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 unusedvariables 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 commentsexplaining 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 commentexplaining 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 ifpedantic is set.2004-05-01 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>PR fortran/13940* match.c (match_data_constant): Handle case wheregfc_find_symbol sets sym to NULL2004-04-28 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>* Make-lang.in (f95-lang.o, trans-intrinsic.o): Add missingdependency on mathbuiltins.def2004-04-24 Victor Leikehman <lei@il.ibm.com>* trans-io.c (transfer_expr): Implemented recursive printingof 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. Add2004 to copyright years.* trans-expr.c, trans-decl.c: Comment update, we now generateGENERIC, 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/14921PR 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 ofthe 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 ofthe 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 13252PR 14081* f95-lang.c (gfc_init_builtin_functions): Add stack_alloc, stack_saveand 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 variablesas 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 lengthcharacter 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 operandto 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 functionsreturning 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 insteadof real.* trans-types.c (gfc_get_logical_type) implemented logical*1and 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 filesending 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 endingin .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 mismatchedtypes.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 valuedparameters.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 trackreality.(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 fromgfc_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 thelast 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 substringreference 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 copyrightnotice and this notice are preserved.
