summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/check.c
Commit message (Collapse)AuthorAgeFilesLines
...
* * intrinsic.c (add_functions): Add ctime and fdate intrinsics.fxcoudert2005-11-061-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (add_subroutines): Likewise. * intrinsic.h: Prototypes for gfc_check_ctime, gfc_check_ctime_sub, gfc_check_fdate_sub, gfc_resolve_ctime, gfc_resolve_fdate, gfc_resolve_ctime_sub, gfc_resolve_fdate_sub. * gfortran.h: Add GFC_ISYM_CTIME and GFC_ISYM_FDATE. * iresolve.c (gfc_resolve_ctime, gfc_resolve_fdate, gfc_resolve_ctime_sub, gfc_resolve_fdate_sub): New functions. * trans-decl.c (gfc_build_intrinsic_function_decls): Add gfor_fndecl_fdate and gfor_fndecl_ctime. * check.c (gfc_check_ctime, gfc_check_ctime_sub, gfc_check_fdate_sub): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate): New functions. (gfc_conv_intrinsic_function): Add cases for GFC_ISYM_CTIME and GFC_ISYM_FDATE. * intrinsic.texi: Documentation for the new CTIME and FDATE intrinsics. * trans.h: Declarations for gfor_fndecl_ctime and gfor_fndecl_fdate. * intrinsics/ctime.c: New file. * configure.ac: Add check for ctime. * Makefile.am: Add ctime.c * configure: Regenerate. * config.h.in: Regenerate. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106558 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsic.c (add_functions): Add function version of TTYNAM.fxcoudert2005-11-051-0/+13
| | | | | | | | | | | | | | | | | | * intrinsic.h: Add prototypes for gfc_check_ttynam and gfc_resolve_ttynam. * gfortran.h: Add case for GFC_ISYM_TTYNAM. * iresolve.c (gfc_resolve_ttynam): New function. * trans-decl.c (gfc_build_intrinsic_function_decls): Add a tree for function call to library ttynam. * check.c (gfc_check_ttynam): New function. * trans-intrinsic.c (gfc_conv_intrinsic_ttynam): New function. (): Call gfc_conv_intrinsic_ttynam. * trans.h: Add prototype for gfor_fndecl_ttynam. * intrinsics/tty.c (ttynam): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106522 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-11-01 Paul Thomas <pault@gcc.gnu.org>pault2005-11-011-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/21565 * symbol.c (check_conflict): An object cannot be in a namelist and in block data. PR fortran/18737 * resolve.c (resolve_symbol): Set the error flag to gfc_set_default_type, in the case of an external symbol, so that an error message is emitted if IMPLICIT NONE is set. PR fortran/14994 * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SECNDS to enum. * check.c (gfc_check_secnds): New function. * intrinsic.c (add_functions): Add call to secnds. * iresolve.c (gfc_resolve_secnds): New function. * trans-intrinsic (gfc_conv_intrinsic_function): Add call to secnds via case GFC_ISYM_SECNDS. * intrinsic.texi: Add documentation for secnds. 2005-11-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/14994 * libgfortran/intrinsics/date_and_time.c: Add interface to the functions date_and_time for the intrinsic function secnds. 2005-11-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/21565 gfortran.dg/namelist_blockdata.f90: New test. PR fortran/18737 gfortran.dg/external_implicit_none.f90: New test. PR fortran/14994 * gfortran.dg/secnds.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106317 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_malloc, gfc_check_free): New functions.fxcoudert2005-10-301-0/+25
| | | | | | | | | | | | | | | | | | | | | | | * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_MALLOC. * intrinsic.c (add_functions): Add symbols for MALLOC function. (add_subroutines): Add symbol for FREE subroutine. * intrinsic.h: Prototypes for gfc_check_malloc, gfc_check_free, gfc_resolve_malloc and gfc_resolve_free. * intrinsic.texi: Add doc for FREE and MALLOC intrinsics. * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case for GFC_ISYM_MALLOC. * Makefile.am: Add intrinsics/malloc.c file. * Makefile.in: Regenerate. * intrinsics/malloc.c: New file, with implementations for free and malloc library functions. * gfortran.dg/malloc_free_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106016 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_alarm_sub, gfc_check_signal,fxcoudert2005-10-281-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | gfc_check_signal_sub): New functions. * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIGNAL. * intrinsic.c (add_functions): Add signal intrinsic. (add_subroutines): Add signal and alarm intrinsics. * intrinsic.texi: Document the new intrinsics. * iresolve.c (gfc_resolve_signal, gfc_resolve_alarm_sub, gfc_resolve_signal_sub): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case for GFC_ISYM_SIGNAL. * intrinsic.h: Add prototypes for gfc_check_alarm_sub, gfc_check_signal, gfc_check_signal_sub, gfc_resolve_signal, gfc_resolve_alarm_sub, gfc_resolve_signal_sub. * Makefile.am (intrinsics): Add signal.c. * Makefile.in: Regenerate. * configure.ac: Checks for signal and alarm. * config.h.in: Regenerate. * configure: Regenerate. * intrinsics/signal.c: New file for SIGNAL and ALARM intrinsics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105967 138bc75d-0d04-0410-961f-82ee72b054a4
* Commit for Asher Langtonsteven2005-10-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/17031 PR fortran/22282 fortran/ * check.c (gfc_check_loc) : New function * decl.c (variable_decl): New variables cp_as and sym. Added a check for variables that have already been declared as Cray Pointers, so we can get the necessary attributes without adding a new symbol. (attr_decl1): Added code to catch pointee symbols and "fix" their array specs. (cray_pointer_decl): New method. (gfc_match_pointer): Added Cray pointer parsing code. (gfc_mod_pointee_as): New method. * expr.c (gfc_check_assign): added a check to catch vector-type assignments to pointees with an unspecified final dimension. * gfortran.h: (GFC_ISYM_LOC): New. (symbol_attribute): Added cray_pointer and cray_pointee bits. (gfc_array_spec): Added cray_pointee and cp_was_assumed bools. (gfc_symbol): Added gfc_symbol *cp_pointer. (gfc_option): Added flag_cray_pointer. (gfc_add_cray_pointee): Declare. (gfc_add_cray_pointer ): Declare. (gfc_mod_pointee_as): Declare. * intrinsic.c (add_functions): Add code for loc() intrinsic. * intrinsic.h (gfc_check_loc): Declare. (gfc_resolve_loc): Declare. * iresolve.c (gfc_resolve_loc): New. * lang.opt: Added fcray-pointer flag. * options.c (gfc_init_options): Intialized gfc_match_option.flag_cray_pointer. (gfc_handle_option): Deal with -fcray-pointer. * parse.c:(resolve_equivalence): Added code prohibiting Cray pointees in equivalence statements. * resolve.c (resolve_array_ref): Added code to prevent bounds checking for Cray Pointee arrays. (resolve_equivalence): Prohibited pointees in equivalence statements. * symbol.c (check_conflict): Added Cray pointer/pointee attribute checking. (gfc_add_cray_pointer): New (gfc_add_cray_pointee): New (gfc_copy_attr): New code for Cray pointers and pointees * trans-array.c (gfc_trans_auto_array_allocation): Added code to prevent space from being allocated for pointees. (gfc_conv_array_parameter): Added code to catch pointees and correctly set their base address. * trans-decl.c (gfc_finish_var_decl): Added code to prevent pointee declarations from making it to the back end. (gfc_create_module_variable): Same. * trans-expr.c (gfc_conv_variable): added code to detect and translate pointees. (gfc_conv_cray_pointee): New. * trans-intrinsic.c (gfc_conv_intrinsic_loc): New. (gfc_conv_intrinsic_function): added entry point for loc translation. * trans.h (gfc_conv_cray_pointee): Declare. * gfortran.texi: Added section on Cray pointers, removed Cray pointers from list of proposed extensions * intrinsic.texi: Added documentation for loc intrinsic. * invoke.texi: Documented -fcray-pointer flag testsuite/ PR fortran/17031 PR fortran/22282 * gfortran.dg/cray_pointers_1.f90: New test. * gfortran.dg/cray_pointers_2.f90: New test. * gfortran.dg/cray_pointers_3.f90: New test. * gfortran.dg/loc_1.f90: New test. * gfortran.dg/loc_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105859 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/15586fxcoudert2005-10-241-60/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | * arith.c (gfc_arith_error): Change message to include locus. (check_result, eval_intrinsic, gfc_int2int, gfc_real2real, gfc_real2complex, gfc_complex2real, gfc_complex2complex): Use the new gfc_arith_error. (arith_error): Rewrite full error messages instead of building them from pieces. * check.c (must_be): Removed. (type_check, numeric_check, int_or_real_check, real_or_complex_check, kind_check, double_check, logical_array_check, array_check, scalar_check, same_type_check, rank_check, kind_value_check, variable_check, gfc_check_allocated, gfc_check_associated, gfc_check_cmplx, gfc_check_dcmplx, gfc_check_dot_product, gfc_check_index, gfc_check_kind, gfc_check_matmul, gfc_check_null, gfc_check_pack, gfc_check_precision, gfc_check_present, gfc_check_spread): Rewrite full error messages instead of building them from pieces. * decl.c (gfc_match_entry): Rewrite full error messages instead of building them from pieces. * parse.c (gfc_state_name): Remove. * parse.h: Remove prototype for gfc_state_name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105844 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-23 Andrew Pinski <pinskia@physics.uc.edu>pinskia2005-10-231-20/+25
| | | | | | | | | | | | | | | | PR fortran/23635 * gfortran.dg/ichar_1.f90: Add tests for derived types. 2005-10-23 Andrew Pinski <pinskia@physics.uc.edu> PR fortran/23635 * check.c (gfc_check_ichar_iachar): Move the code around so that the check on the length is after check for references. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105829 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/15586fxcoudert2005-09-171-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * arith.c (gfc_arith_error): Add translation support for error messages. * array.c (gfc_match_array_ref): Likewise. (gfc_match_array_spec): Likewise. * check.c (must_be): Add msgid convention to third argument. (same_type_check): Add translation support for error message. (rank_check): Likewise. (kind_value_check): Likewise. (gfc_check_associated): Correct typo. (gfc_check_reshape): Add translation support for error message. (gfc_check_spread): Likewise. * error.c (error_printf): Add nocmsgid convention to argument. (gfc_warning, gfc_notify_std, gfc_warning_now, gfc_warning_check) (gfc_error, gfc_error_now): Likewise. (gfc_status): Add cmsgid convention to argument. * expr.c (gfc_extract_int): Add translation support for error messages. (gfc_check_conformance): Add msgid convention to argument. (gfc_check_pointer_assign): Correct tabbing. * gfortran.h: Include intl.h header. Remove prototype for gfc_article. * gfortranspec.c: Include intl.h header. (lang_specific_driver): Add translation support for --version. * io.c (check_format): Add translation support for error message. (format_item_1): Likewise. (data_desc): Likewise. * matchexp.c: Likewise. * misc.c (gfc_article): Remove function. * module.c (bad_module): Use msgid convention. Add translation support for error messages. (require_atom): Add translation support for error messages. * parse.c (gfc_ascii_statement): Likewise. (gfc_state_name): Likewise. * primary.c (match_boz_constant): Reorganise error messages for translations. * resolve.c (resolve_entries): Likewise. (resolve_operator): Add translation support for error messages. (gfc_resolve_expr): Use msgid convention. Reorganise error messages for translations. (resolve_symbol): Add translation support for error messages. * symbol.c (gfc_add_procedure): Remove use of gfc_article function. * trans-const.c (gfc_build_string_const): Use msgid convention. * exgettext: Add a new nocmsgid convention for arguments that should be marked as no-c-format. * gcc.pot: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104372 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add checkfxcoudert2005-08-091-0/+32
| | | | | | | | | | | | | | | | | | | | | | | functions for new intrinsics TTYNAM and ISATTY. * intrinsic.c (add_functions, add_subroutines): Add new intrinsics. * intrinsic.h: Add prototypes for new check and resolve functions. * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New resolve functions for intrinsics TTYNAM and ISATTY. * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY. * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY. * Makefile.am: Add file intrinsics/tty.c to Makefile process. * Makefile.in: Regenerate. * io/io.h: Prototypes for new functions stream_isatty and stream_ttyname. * io/unix (stream_isatty, stream_ttyname): New functions to call isatty() and ttyname() on a given unit. * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM and ISATTY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102915 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kcook2005-06-251-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101310 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-04-25 Paul Brook <paul@codesourcery.com>pbrook2005-04-251-0/+58
| | | | | | | | | | | | | | | | | Steven G. Kargl <kargls@comcast.net> PR fortran/20879 * check.c (gfc_check_ichar_iachar): New function. * instinsic.h (gfc_check_ichar_iachar): Add prototype. * intrinsic.c (add_functions): Use it. * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect character expression lengths. testsuite/ * gfortran.dg/ichar_1.f90: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98686 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.am: Added new files.fxcoudert2005-03-221-0/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure.ac: add checks for signal.h headers file, as well as following functions: chdir, strerror, getlogin, gethostname, kill, link, symlink, perror, sleep, time. * configure: Regenerate. * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c, intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c, intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c, intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly implementend g77 intrinsics. * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill, gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub, gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename, gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror, gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub, gfc_check_perror): new functions to check newly implemented g77 intrinsics. * gfortran.h: adding symbols for new intrinsics. * intrinsic.c (add_functions): adding new intrinsics. (add_subroutines): adding new intrinsics. * intrinsic.h: prototype for all checking and resolving functions. * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub, gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill, gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk, gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub, gfc_resolve_kill_sub, gfc_resolve_link_sub, gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub, gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub, gfc_resolve_perror): new functions to resolve intrinsics. * trans-intrinsic.c (gfc_conv_intrinsic_function): add case for new symbols. * g77_intrinsics_funcs.f: New test. * g77_intrinsics_sub.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96893 138bc75d-0d04-0410-961f-82ee72b054a4
* Unrevert previously reversed patch, adding this patch:tobi2005-02-241-2/+2
| | | | | | | * module.c (find_true_name): Deal with NULL module. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95506 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert yesterday's patch:tobi2005-02-241-2/+2
| | | | | | | | | | 2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> * gfortran.h (gfc_component, gfc_actual_arglist, ... ... argument. Copy string instead of pointing to it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95496 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Maketobi2005-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'name' a 'const char *'. (gfc_symbol): Likewise, also for 'module'. (gfc_symtree): Make 'name' a 'const char *'. (gfc_intrinsic_sym): Likewise, also for 'lib_name'. (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to 'char *' argument. (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to initialize 'SYM->module'. * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL pointer instead of empty string. * dump-parse-tree.c (gfc_show_actual_arglist): Likewise. * interface.c (gfc_compare_types): Adapt check to account for possible NULL pointer. (compare_actual_formal): Check for NULL pointer instead of empty string. * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg): Add 'const' qualifier. (conv_name): Return a heap allocated string. (find_conv): Add 'const' qualifier to 'target'. (add_sym): Use 'gfc_get_string' instead of 'strcpy'. (make_generic): Check for NULL pointer instead of emptystring. (make_alias): Use 'gfc_get_string' instead of 'strcpy'. (add_conv): No need to strcpy result from 'conv_name'. (sort_actual): Check for NULL pointer instead of emptystring. * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg): Adapt prototype. * module.c (compare_true_names): Compare pointers instead of strings for 'module' member. (find_true_name): Initialize string fields with gfc_get_string. (mio_pool_string): New function. (mio_internal_string): Adapt comment. (mio_component_ref, mio_component, mio_actual_arg): Use 'mio_pool_string' instead of 'mio_internal_string'. (mio_symbol_interface): Add 'const' qualifier to string arguments. Add level of indirection. Use 'mio_pool_string' instead of 'mio_internal_string'. (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'. (write_common, write_symbol): Use 'mio_pool_string' instead of 'mio_internal_string'. (write_symbol0, write_symbol1): Likewise, also check for NULL pointer instead of empty string. (write_operator, write_generic): Pass correct type variable to 'mio_symbol_interface'. (write_symtree): Use 'mio_pool_string' instead of 'mio_internal_string'. * primary.c (match_keyword_arg): Adapt check to possible case of NULL pointer. Use 'gfc_get_string' instead of 'strcpy'. * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree, gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of 'strcpy'. (ambiguous_symbol): Check for NULL pointer instead of empty string. (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string arguments. * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL pointer instead of empty string. * trans-decl.c (gfc_sym_mangled_identifier, gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl, gfc_get_symbol_decl): Likewise. * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to argument. Copy string instead of pointing to it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95472 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_selected_int_kind): New function.kargl2005-02-191-0/+14
| | | | | | | | | | * intrinsic.h: Prototype it. * intrinsic.c (add_function): Use it. * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change BT_REAL to BT_INTEGER and use gfc_default_integer_kind. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95291 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_int): improve checking of optional kindkargl2005-02-191-2/+10
| | | | | | | | | * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER * gfortran.dg/int_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95290 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_achar): New functionkargl2005-02-191-0/+10
| | | | | | | | | | * intrinsic.h: Prototype it. * intrinsic.c (add_function): Use it. * gfortran.dg/achar_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95288 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-29 Paul Brook <paul@codesourcery.com>pbrook2005-01-291-0/+51
| | | | | | | | | | | | | | PR fortran/18565 * check.c (real_or_complex_check): New function. (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions. * intrinsic.c (add_functions): Use new check functions. * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): Add prototypes. testsuite/ * gfortran.dg/double_complex_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94412 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,kazu2005-01-181-1/+1
| | | | | | | | | | gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c, match.c, matchexp.c, misc.c, module.c, options.c, parse.c, scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c, trans-io.c, trans-stmt.c, trans.c: Update copyright. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93830 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,tobi2005-01-081-115/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gfc_constant_result, gfc_range_check, gfc_arith_power, eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real, gfc_real2complex, gfc_complex2int, gfc_complex2real, gfc_complex2complex): Fix whitespace issues. check.c (must_be, type_check, numeric_check, int_or_real_check, logical_array_check, array_check, scalar_check, nonoptional_check, variable_check, dim_check, check_a_kind, gfc_check_a_ikind, gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any, gfc_check_allocated, gfc_check_a_p, gfc_check_besn, gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count, gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble, gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift, gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i, gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset, gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int, gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind, gfc_check_lbound, gfc_check_logical, min_max_args, gfc_check_min_max_integer, gfc_check_min_max_real, gfc_check_min_max_double, gfc_check_matmul, gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest, gfc_check_pack, gfc_check_precision, gfc_check_radix, gfc_check_range, gfc_check_real, gfc_check_repeat, gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind, gfc_check_set_exponent): Fix formatting issues. (gfc_check_size, gfc_check_sign): Alphabetize function order, remove whitespace-only line. (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat, gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose, gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x, gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits, gfc_check_random_number, gfc_check_random_seed, gfc_check_second_sub, gfc_check_system_clock, gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush, gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink, gfc_check_unlink_sub): Fix formatting issues. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93093 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c: Add system.h; remove string.hrth2005-01-031-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * decl.c: Ditto * matchexp.c: Ditto * parse.c: Ditto * resolve.c: Ditto * st.c: Ditto * check.c: Remove stdlib.h and stdarg.h * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h * f95-lang.c: Add system.h; remove stdio.h * interface.c: Add system.h; remove stdlib.h and string.h * intrinsic.c: Remove stdarg.h, stdio.h, and string.h * io.c: Remove string.h * simplify.c: Ditto * match.c: Remove stdarg.h and string.h * misc.c: Update copyright; add system.h; remove stdlib.h, string.h, and sys/stat.h * module.c: Add system.h; remove string.h, stdio.h, errno.h, unistd.h, and time.h * option.c: Remove string.h and stdlib.h * primary.c: Ditto * scanner.c: Update copyright; add system.h; remove stdlib.h, stdio.h, string.h, and strings.h * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h * trans-array.c: Remove stdio.h and gmp.h * trans-const.c: Ditto * trans-expr.c: Ditto * trans-io.c: Ditto * trans-stmt.c: Ditto * trans.c: Ditto * trans-intrinsic.c: Remove stdio.h and string.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92866 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-12-12 Steven G. Kargl <kargls@comcast.net>pbrook2004-12-121-19/+42
| | | | | | | | | | | | | | PR fortran/16581 * check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default integer kind check; Issue error for -std=f95 when needed. * intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to GFC_STD_F95. * iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior): Promote arguments to same kind. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92063 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-12-02 Steven G. Kargl <kargls@comcast.net>pbrook2004-12-021-0/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paul Brook <paul@codesourcery.com> libgfortran/ * intrinsics/flush.c: New file. * intrinsics/fnum.c: ditto * intrinsics/stat.c: ditto * io/io.h (unit_to_fd): Add prototype. * io/unix.c (unit_to_fd): New function. * configure.ac: Add test for members of struct stat. Check for sys/types.h and sys/stat.h * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c} * configure.in: Regenerate. * config.h.in: Regenerate. * Makefile.in: Regenerate. fortran/ * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91609 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_getcwd_sub): Fix seg fault.steven2004-11-201-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | * check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub, gfc_check_unlink,gfc_check_unlink_sub): New functions * gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols * intrinsic.c (add_functions,add_subroutines): Add umask, unlink, exit to intrinsics symbol tables. * intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit, gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask, gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub, gfc_resolve_unlink_sub): Add and sort prototypes. * iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit, gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols libgfortran/ * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c} * Makefile.in: Regenerated * intrinsics/umask.c: New file * intrinsics/unlink.c: ditto * intrinsics/exit.c: ditto git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90949 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-10-30 Canqun Yang <canqun@nudt.edu.cn>pbrook2004-10-301-0/+6
| | | | | | | | | | | * check.c (gfc_check_rand): Allow missing optional argument. (gfc_check_irand): Ditto. * intrinsic.c (add_functions): Set arg optional flag for {i,}rand. libgfortran/ * intrinsics/rand.c (irand): Handle NULL argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89886 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-10-041-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/17776 * check.c (gfc_check_system_sub): New function. * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SYSTEM. * intrinsic.c (add_functions): Add 'system'. (add_subroutines): Add 'system'. * intrinsic.h (gfc_check_etime_sub, gfc_check_getcwd_sub): Move prototypes to other suborutines. (gfc_check_system_sub, gfc_resolve_system, gfc_resolve_system_sub): Add prototype. (gfc_resolve_system_clock): Fix formatting of prototype. * iresolve.c (gfc_resolve_system, gfc_resolve_system_sub): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_function): Deal with GFC_ISYM_SYSTEM. libgfortran/ PR fortran/17776 * intrinsics/system.c: New file. * Makefile.am: Add dependency for the new file. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88532 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-09-15 Steven G. Kargl <kargls@comcast.net>pbrook2004-09-151-0/+17
| | | | | | | | | | | | | | | | | | | * 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. libgfortran/ * intrinsics/getcwd.c: New file. * Makefile.am: Add getcwd.c. * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87552 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-29 Steven G. Kargl <kargls@comcast.net>pbrook2004-08-291-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paul Brook <paul@codesourcery.com> * check.c (gfc_check_besn, gfc_check_g77_math1): New functions. * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Define. (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it. (build_builtin_fntypes): New function. (gfc_init_builtin_functions): Use it. * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_{J,Y}{0,1,N} and GFC_ISYM_ERF{,C}. (gfc_c_int_kind): Declare. * intrinsic.c (add_functions): Add [d]bes* and [d]erf*. * intrinsic.h (gfc_check_besn, gfc_check_g77_math1, gfc_resolve_besn, gfc_resolve_g77_math1): Add prototypes. * resolve.c (gfc_resolve_besn, gfc_resolve_g77_math1): New functions. * mathbuiltins.def: Add comment. Change third argument. Use DEFINE_MATH_BUILTIN_C. Add bessel and error functions. * trans-intrinsic.c (BUILT_IN_FUNCTION): Define. (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it. * trans-types.c (gfc_c_int_kind): Declare. (gfc_init_kinds): Set it. testsuite/ * gfortran.dg/g77/README: Update. * gfortran.dg/g77/erfc.f: Copy from g77.f-torture. * gfortran.dg/g77/intrinsic-unix-bessel.f: Ditto. * gfortran.dg/g77/intrinsic-unix-erf.f: Ditto. libgfortran/ * intrinsics/bessel.c: New file. * intrinsics/erf.c: New file. * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c. * configure.ac: Test for C99 Bessel and Error functions. * Makefile.in: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86727 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_default_*_kind): Remove prototypes, add externtobi2004-08-271-11/+11
| | | | | | | | | | | | | | | variable declaration of same name. * arith.c, check.c, decl.c, dump_parse_tree.c, expr.c, intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c, resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c: Replace all calls to gfc_default_*_kind with variable accesses. * trans-types.c: Same as above. (gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove static qualifier. Replace all occurences. (gfc_default_*_kind): Remove functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86662 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_atan2): New function.tobi2004-08-261-0/+12
| | | | | | | | * intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2 * intrinsic.h (gfc_check_atan2): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86628 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c (gfc_validate_kind): Add may_fail argument; abort ifrth2004-08-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | false and we don't validate the kind. (gfc_check_integer_range, gfc_check_real_range): Update to match. * check.c (kind_check): Likewise. * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise. (match_char_spec, match_logical_spec): Likewise. * gfortran.h (gfc_validate_kind): Likewise. * options.c (gfc_handle_option): Likewise. * primary.c (match_integer_constant, match_real_constant, match_string_constant, match_logical_constant, match_const_complex_part): Likewise. * simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits, gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr, gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc, gfc_simplify_maxexponent, gfc_simplify_minexponent, gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision, gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing, gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan, gfc_simplify_tiny): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod, gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, prepare_arg_info): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86608 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_reduction): Rename to ...tobi2004-08-221-8/+27
| | | | | | | | | | | | | | | (check_reduction): ... this. Make static. Don't check type of first argument. (gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions. * intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and SUM to use new check functions. (check_specific): Change logic to call new functions. * intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum): Add prototypes. (gfc_check_reduction): Remove prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86377 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-08-191-46/+36
| | | | | | | | | | | | | | | | | | | | | | PR fortran/16946 * check.c (gfc_check_reduction): New function. (gfc_check_minval_maxval): Removed. (gfc_check_product): Removed. (gfc_check_sum): Removed. * intrinsic.h: Add/remove declarations for these. * gfortran.h: Add field f3red to union gfc_check_f. * intrinsic.c (add_sym_3red): New function. (add_functions): Register maxval, minval, product, and sum intrinsics through add_sym_3red. (check_specific): Handle f3red union field. * iresolve.c: Whitespace change. testsuite/ PR fortran/16946 * gfortran.dg/reduction.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86255 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-06-141-35/+22
| | | | | | | | | | | | | | | | | | | | | 2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> Andrew Vaught <andyv@firstinter.net> PR fortran/14928 * gfortran.h (gfc_check_f): Add new field f3ml. * check.c (gfc_check_minloc_maxloc): Take argument list instead of individual arguments, reorder if necessary. * intrinsic.h (gfc_check_minloc_maxloc): ... adapt prototype. * intrinsic.c (add_sym_3ml): New function. (add_functions): Change to add_sym_3ml for MINLOC, MAXLOC. (check_specific): Catch special case MINLOC, MAXLOC. testsuite/ PR fortran/14928 * gfortran.fortran-torture/compile/mloc.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83111 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_randpbrook2004-06-121-0/+113
| | | | | | | | | | | | | | | | | | | | | | gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions. * gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME, GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND. * trans-intrinsic.c: Use symbols. * intrinsic.c (add_sym_2s): New function. * intrinsic.c: Add etime, dtime, irand, rand, second, srand. * intrinsic.h: Function prototypes. * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub gfc_resolve_srand): New functions. libgfortran * Makefile.am: Add rand.c and etime.c * Makefile.in: Regenerated. * aclocal.in: Regenerated. * cpu_time.c (second_sub, second): New functions. * rand.c (irand, rand, srand): New file. * etime.c (etime_sub, etime): New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83034 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_random_seed): Issue for too many arguments.pbrook2004-05-231-0/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82162 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_system_clock): New function.pbrook2004-05-221-0/+59
| | | | | | | | | | | | | | | * 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. libgfortran/ * intrinsics/system_clock: New file. * Makefile.am: Add intrinsics/system_clock.c. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82131 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c,tobi2004-05-141-13/+13
| | | | | | | | | | | | | | | | | | decl.c, dependency.c, dependency.h, dump-parse-tree.c, error.c, expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c, intrinsic.h, io.c, iresolve.c, lang-specs.h, match.c, match.h, matchexp.c, misc.c, module.c, options.c, parse.c, parse.h, primary.c, resolve.c, scanner.c, simplify.c, st.c, symbol.c, trans-array.c, trans-array.h, trans-common.c, trans-const.c, trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c, trans-stmt.c, trans-stmt.h, trans-types.c, trans-types.h, trans.c, trans.h: Update copyright years and boilerplate. * data.c: Likewise, also removed two whitespace-only lines. * gfortranspec.c, lang.opt: Update copyright years. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81839 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge tree-ssa-20020619-branch into mainline.dnovillo2004-05-131-0/+1866
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81764 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud