Francois-Xavier Coudert
31043f6cfc
re PR fortran/15586 (gfortran should support i18n in its compiler messages)
...
PR fortran/15586
* arith.c (gfc_arith_error): Add translation support
for error messages.
* array.c (gfc_match_array_ref): Likewise.
(gfc_match_array_spec): Likewise.
* check.c (must_be): Add msgid convention to third argument.
(same_type_check): Add translation support for error message.
(rank_check): Likewise.
(kind_value_check): Likewise.
(gfc_check_associated): Correct typo.
(gfc_check_reshape): Add translation support for error message.
(gfc_check_spread): Likewise.
* error.c (error_printf): Add nocmsgid convention to argument.
(gfc_warning, gfc_notify_std, gfc_warning_now, gfc_warning_check)
(gfc_error, gfc_error_now): Likewise.
(gfc_status): Add cmsgid convention to argument.
* expr.c (gfc_extract_int): Add translation support
for error messages.
(gfc_check_conformance): Add msgid convention to argument.
(gfc_check_pointer_assign): Correct tabbing.
* gfortran.h: Include intl.h header. Remove prototype
for gfc_article.
* gfortranspec.c: Include intl.h header.
(lang_specific_driver): Add translation support for --version.
* io.c (check_format): Add translation support for
error message.
(format_item_1): Likewise.
(data_desc): Likewise.
* matchexp.c: Likewise.
* misc.c (gfc_article): Remove function.
* module.c (bad_module): Use msgid convention. Add
translation support for error messages.
(require_atom): Add translation support for error messages.
* parse.c (gfc_ascii_statement): Likewise.
(gfc_state_name): Likewise.
* primary.c (match_boz_constant): Reorganise error
messages for translations.
* resolve.c (resolve_entries): Likewise.
(resolve_operator): Add translation support for error messages.
(gfc_resolve_expr): Use msgid convention. Reorganise error
messages for translations.
(resolve_symbol): Add translation support for error messages.
* symbol.c (gfc_add_procedure): Remove use of gfc_article function.
* trans-const.c (gfc_build_string_const): Use msgid convention.
* exgettext: Add a new nocmsgid convention for arguments
that should be marked as no-c-format.
* gcc.pot: Regenerate.
From-SVN: r104372
2005-09-17 18:58:01 +00:00
François-Xavier Coudert
ae8b87895f
check.c (gfc_check_ttynam_sub, [...]): Add check functions for new intrinsics TTYNAM and ISATTY.
...
* check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check
functions for new intrinsics TTYNAM and ISATTY.
* intrinsic.c (add_functions, add_subroutines): Add new
intrinsics.
* intrinsic.h: Add prototypes for new check and resolve
functions.
* iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New
resolve functions for intrinsics TTYNAM and ISATTY.
* gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY.
* trans-intrinsic.c: Add case for GFC_ISYM_ISATTY.
* 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.
From-SVN: r102915
2005-08-09 17:33:17 +00:00
Kelley Cook
ab57747bb0
Update FSF address.
...
From-SVN: r101310
2005-06-25 00:40:37 +00:00
Paul Brook
860c8f3ba9
re PR fortran/20879 (argument to ICHAR must have length one)
...
2005-04-25 Paul Brook <paul@codesourcery.com>
Steven G. Kargl <kargls@comcast.net>
PR fortran/20879
* check.c (gfc_check_ichar_iachar): New function.
* instinsic.h (gfc_check_ichar_iachar): Add prototype.
* intrinsic.c (add_functions): Use it.
* primary.c (match_varspec, gfc_match_rvalue): Clear incorrect
character expression lengths.
testsuite/
* gfortran.dg/ichar_1.f90: New file.
Co-Authored-By: Steven G. Kargl <kargls@comcast.net>
From-SVN: r98686
2005-04-25 00:09:11 +00:00
François-Xavier Coudert
f77b6ca3da
Makefile.am: Added new files.
...
* Makefile.am: Added new files.
* 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.
From-SVN: r96893
2005-03-22 22:08:22 +00:00
Tobias Schlüter
cb9e4f55b0
Unrevert previously reversed patch, adding this patch:
...
* module.c (find_true_name): Deal with NULL module.
From-SVN: r95506
2005-02-24 19:26:27 +01:00
Tobias Schlüter
f5e9e99c8d
Revert yesterday's patch:
...
2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
* gfortran.h (gfc_component, gfc_actual_arglist, ...
... argument. Copy string instead of pointing to it.
From-SVN: r95496
2005-02-24 14:01:44 +01:00
Tobias Schlüter
e9444bd5ee
gfortran.h (gfc_component, [...]): Make 'name' a 'const char *'.
...
* gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
'name' a 'const char *'.
(gfc_symbol): Likewise, also for 'module'.
(gfc_symtree): Make 'name' a 'const char *'.
(gfc_intrinsic_sym): Likewise, also for 'lib_name'.
(gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
'char *' argument.
(gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
initialize 'SYM->module'.
* check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
pointer instead of empty string.
* dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
* interface.c (gfc_compare_types): Adapt check to account for possible
NULL pointer.
(compare_actual_formal): Check for NULL pointer instead of empty
string.
* intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
Add 'const' qualifier.
(conv_name): Return a heap allocated string.
(find_conv): Add 'const' qualifier to 'target'.
(add_sym): Use 'gfc_get_string' instead of 'strcpy'.
(make_generic): Check for NULL pointer instead of 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.
From-SVN: r95472
2005-02-23 23:14:12 +01:00
Steven G. Kargl
145cf79b57
check.c (gfc_check_selected_int_kind): New function.
...
* check.c (gfc_check_selected_int_kind): New function.
* intrinsic.h: Prototype it.
* intrinsic.c (add_function): Use it.
* simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
BT_REAL to BT_INTEGER and use gfc_default_integer_kind.
From-SVN: r95291
2005-02-19 20:29:05 +00:00
Steven G. Kargl
c60d77d4db
check.c (gfc_check_int): improve checking of optional kind
...
* check.c (gfc_check_int): improve checking of optional kind
* simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
* gfortran.dg/int_1.f90: New test.
From-SVN: r95290
2005-02-19 20:07:47 +00:00
Steven G. Kargl
332e7efe7f
check.c (gfc_check_achar): New function
...
* check.c (gfc_check_achar): New function
* intrinsic.h: Prototype it.
* intrinsic.c (add_function): Use it.
* gfortran.dg/achar_1.f90: New test.
From-SVN: r95288
2005-02-19 19:16:09 +00:00
Paul Brook
985aff9c17
re PR fortran/18565 (gfortran: CONJG: false error message about standard violation)
...
2005-01-29 Paul Brook <paul@codesourcery.com>
PR fortran/18565
* check.c (real_or_complex_check): New function.
(gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
* intrinsic.c (add_functions): Use new check functions.
* intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
Add prototypes.
testsuite/
* gfortran.dg/double_complex_1.f90: New test.
From-SVN: r94412
2005-01-29 17:46:34 +00:00
Kazu Hirata
ec3781807e
arith.c, [...]: Update copyright.
...
* arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
trans-io.c, trans-stmt.c, trans.c: Update copyright.
From-SVN: r93830
2005-01-18 12:11:56 +00:00
Tobias Schlüter
27dfc9c46d
arith.c (arctangent2, [...]): Fix whitespace issues.
...
* arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
gfc_constant_result, gfc_range_check, gfc_arith_power,
eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
gfc_real2complex, gfc_complex2int, gfc_complex2real,
gfc_complex2complex): Fix whitespace issues.
check.c (must_be, type_check, numeric_check, int_or_real_check,
logical_array_check, array_check, scalar_check, nonoptional_check,
variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
gfc_check_lbound, gfc_check_logical, min_max_args,
gfc_check_min_max_integer, gfc_check_min_max_real,
gfc_check_min_max_double, gfc_check_matmul,
gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
gfc_check_pack, gfc_check_precision, gfc_check_radix,
gfc_check_range, gfc_check_real, gfc_check_repeat,
gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
gfc_check_set_exponent): Fix formatting issues.
(gfc_check_size, gfc_check_sign): Alphabetize function order,
remove whitespace-only line.
(gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
gfc_check_random_number, gfc_check_random_seed,
gfc_check_second_sub, gfc_check_system_clock,
gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
gfc_check_unlink_sub): Fix formatting issues.
From-SVN: r93093
2005-01-08 23:40:47 +01:00
Steven G. Kargl
d22e48951c
arith.c: Add system.h; remove string.h
...
* arith.c: Add system.h; remove string.h
* decl.c: Ditto
* matchexp.c: Ditto
* parse.c: Ditto
* resolve.c: Ditto
* st.c: Ditto
* check.c: Remove stdlib.h and stdarg.h
* error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
* expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
* f95-lang.c: Add system.h; remove stdio.h
* interface.c: Add system.h; remove stdlib.h and string.h
* intrinsic.c: Remove stdarg.h, stdio.h, and string.h
* io.c: Remove string.h
* simplify.c: Ditto
* match.c: Remove stdarg.h and string.h
* misc.c: Update copyright; add system.h; remove stdlib.h,
string.h, and sys/stat.h
* module.c: Add system.h; remove string.h, stdio.h, errno.h,
unistd.h, and time.h
* option.c: Remove string.h and stdlib.h
* primary.c: Ditto
* scanner.c: Update copyright; add system.h; remove stdlib.h,
stdio.h, string.h, and strings.h
* symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
* trans-array.c: Remove stdio.h and gmp.h
* trans-const.c: Ditto
* trans-expr.c: Ditto
* trans-io.c: Ditto
* trans-stmt.c: Ditto
* trans.c: Ditto
* trans-intrinsic.c: Remove stdio.h and string.h
From-SVN: r92866
2005-01-03 13:43:55 -08:00
Steven G. Kargl
c3d003d207
re PR fortran/16581 (gfortran F90 bit intrinsics don't work with integer*{1,2,8})
...
2004-12-12 Steven G. Kargl <kargls@comcast.net>
PR fortran/16581
* check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits,
gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default
integer kind check; Issue error for -std=f95 when needed.
* intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to
GFC_STD_F95.
* iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior):
Promote arguments to same kind.
From-SVN: r92063
2004-12-12 21:09:09 +00:00
Steven G. Kargl
df65f0938c
flush.c: New file.
...
2004-12-02 Steven G. Kargl <kargls@comcast.net>
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.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r91609
2004-12-02 04:10:26 +00:00
Steven G. Kargl
d8fe26b2cd
check.c (gfc_check_getcwd_sub): Fix seg fault.
...
* check.c (gfc_check_getcwd_sub): Fix seg fault.
* check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub,
gfc_check_unlink,gfc_check_unlink_sub): New functions
* gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols
* intrinsic.c (add_functions,add_subroutines): Add umask, unlink,
exit to intrinsics symbol tables.
* intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit,
gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask,
gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub,
gfc_resolve_unlink_sub): Add and sort prototypes.
* iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit,
gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions
* trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols
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
From-SVN: r90949
2004-11-20 01:44:49 +00:00
Canqun Yang
7a003d8e2e
check.c (gfc_check_rand): Allow missing optional argument.
...
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.
libgfortran/
* intrinsics/rand.c (irand): Handle NULL argument.
From-SVN: r89886
2004-10-30 14:18:34 +00:00
Tobias Schlüter
5b1374e965
re PR fortran/17776 (no subroutine system)
...
fortran/
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.
From-SVN: r88532
2004-10-04 23:30:32 +02:00
Steven G. Kargl
a8c60d7fff
check.c (gfc_check_getcwd_sub): New function.
...
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.
libgfortran/
* intrinsics/getcwd.c: New file.
* Makefile.am: Add getcwd.c.
* Makefile.in: Regenerated.
From-SVN: r87552
2004-09-15 14:09:17 +00:00
Steven G. Kargl
e8525382d9
check.c (gfc_check_besn, [...]): New functions.
...
2004-08-29 Steven G. Kargl <kargls@comcast.net>
Paul Brook <paul@codesourcery.com>
* check.c (gfc_check_besn, gfc_check_g77_math1): New functions.
* f95-lang.c (DO_DEFINE_MATH_BUILTIN): Define.
(DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it.
(build_builtin_fntypes): New function.
(gfc_init_builtin_functions): Use it.
* gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_{J,Y}{0,1,N}
and GFC_ISYM_ERF{,C}.
(gfc_c_int_kind): Declare.
* intrinsic.c (add_functions): Add [d]bes* and [d]erf*.
* intrinsic.h (gfc_check_besn, gfc_check_g77_math1, gfc_resolve_besn,
gfc_resolve_g77_math1): Add prototypes.
* resolve.c (gfc_resolve_besn, gfc_resolve_g77_math1): New functions.
* mathbuiltins.def: Add comment. Change third argument. Use
DEFINE_MATH_BUILTIN_C. Add bessel and error functions.
* trans-intrinsic.c (BUILT_IN_FUNCTION): Define.
(DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it.
* trans-types.c (gfc_c_int_kind): Declare.
(gfc_init_kinds): Set it.
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.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r86727
2004-08-29 15:58:16 +00:00
Tobias Schlüter
9d64df18fd
gfortran.h (gfc_default_*_kind): Remove prototypes, add extern variable declaration of same name.
...
* gfortran.h (gfc_default_*_kind): Remove prototypes, add extern
variable declaration of same name.
* arith.c, check.c, decl.c, dump_parse_tree.c, expr.c,
intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c,
resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c:
Replace all calls to gfc_default_*_kind with variable accesses.
* trans-types.c: Same as above.
(gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove
static qualifier. Replace all occurences.
(gfc_default_*_kind): Remove functions.
From-SVN: r86662
2004-08-27 16:49:35 +02:00
Tobias Schlüter
a1bab9ea96
check.c (gfc_check_atan2): New function.
...
* check.c (gfc_check_atan2): New function.
* intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2
* intrinsic.h (gfc_check_atan2): Add prototype.
From-SVN: r86628
2004-08-26 19:11:27 +02:00
Richard Henderson
e7a2d5fb77
arith.c (gfc_validate_kind): Add may_fail argument; abort if false and we don't validate the kind.
...
* arith.c (gfc_validate_kind): Add may_fail argument; abort if
false and we don't validate the kind.
(gfc_check_integer_range, gfc_check_real_range): Update to match.
* check.c (kind_check): Likewise.
* decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise.
(match_char_spec, match_logical_spec): Likewise.
* gfortran.h (gfc_validate_kind): Likewise.
* options.c (gfc_handle_option): Likewise.
* primary.c (match_integer_constant, match_real_constant,
match_string_constant, match_logical_constant,
match_const_complex_part): Likewise.
* simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits,
gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr,
gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc,
gfc_simplify_maxexponent, gfc_simplify_minexponent,
gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision,
gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing,
gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan,
gfc_simplify_tiny): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
prepare_arg_info): Likewise.
From-SVN: r86608
2004-08-25 23:07:52 -07:00
Tobias Schlüter
617097a337
check.c (gfc_check_reduction): Rename to ...
...
* check.c (gfc_check_reduction): Rename to ...
(check_reduction): ... this. Make static. Don't check type of
first argument.
(gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions.
* intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and
SUM to use new check functions.
(check_specific): Change logic to call new functions.
* intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum):
Add prototypes.
(gfc_check_reduction): Remove prototype.
From-SVN: r86377
2004-08-22 14:09:26 +02:00
Erik Schnetter
7551270e1b
re PR fortran/16946 (sum (array, mask) is not accepted)
...
fortran/
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.
From-SVN: r86255
2004-08-19 17:31:37 +02:00
Tobias Schlüter
f3207b37d3
re PR fortran/14928 (minloc intrinsic does not understand mask)
...
fortran/
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.
Co-Authored-By: Andrew Vaught <andyv@firstinter.net>
From-SVN: r83111
2004-06-14 17:56:50 +02:00
Steven G. Kargl
2bd7494908
check.c (gfc_check_second_sub, [...]): New functions.
...
* check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_rand
gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions.
* gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME,
GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND.
* trans-intrinsic.c: Use symbols.
* intrinsic.c (add_sym_2s): New function.
* intrinsic.c: Add etime, dtime, irand, rand, second, srand.
* intrinsic.h: Function prototypes.
* iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub
gfc_resolve_srand): New functions.
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.
From-SVN: r83034
2004-06-12 17:34:47 +00:00
Steven G. Kargl
95d3f56711
* check.c (gfc_check_random_seed): Issue for too many arguments.
...
From-SVN: r82162
2004-05-23 11:06:09 +00:00
Steven G. Kargl
21fdfcc12c
check.c (gfc_check_system_clock): New function.
...
* 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.
libgfortran/
* intrinsics/system_clock: New file.
* Makefile.am: Add intrinsics/system_clock.c.
* Makefile.in: Regenerate.
From-SVN: r82131
2004-05-22 12:47:42 +00:00
Tobias Schlüter
9fc4d79ba4
Make-lang.in, [...]: Update copyright years and boilerplate.
...
* Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c,
decl.c, dependency.c, dependency.h, dump-parse-tree.c, error.c,
expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c,
intrinsic.h, io.c, iresolve.c, lang-specs.h, match.c, match.h,
matchexp.c, misc.c, module.c, options.c, parse.c, parse.h,
primary.c, resolve.c, scanner.c, simplify.c, st.c, symbol.c,
trans-array.c, trans-array.h, trans-common.c, trans-const.c,
trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c,
trans-io.c, trans-stmt.c, trans-stmt.h, trans-types.c,
trans-types.h, trans.c, trans.h: Update copyright years and
boilerplate.
* data.c: Likewise, also removed two whitespace-only lines.
* gfortranspec.c, lang.opt: Update copyright years.
From-SVN: r81839
2004-05-14 15:00:04 +02:00
Diego Novillo
6de9cd9a88
Merge tree-ssa-20020619-branch into mainline.
...
From-SVN: r81764
2004-05-13 02:41:07 -04:00