summaryrefslogtreecommitdiffstats
path: root/libgfortran
Commit message (Collapse)AuthorAgeFilesLines
* 2005-11-14 Janne Blomqvist <jb@gcc.gnu.org>jb2005-11-1419-246/+283
| | | | | | | | | | | | | | PR fortran/21468 * Makefile.am: Add -ftree-vectorize for compiling matmul. * m4/matmul.m4: Add const and restrict to type declarations as appropriate. * m4/matmull.m4: Likewise. * Makefile.in: Regenerated. * generated/matmul_*.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106898 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsics/fget.c: New file.fxcoudert2005-11-137-10/+278
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * intrinsics/ftell.c: New file. * io/unix.c (stream_offset): New function. * io/io.h: Add prototype for stream_offset. * Makefile.am: Add intrinsics/fget.c and intrinsics/ftell.c. * Makefile.in: Regenerate. * intrinsic.c (add_functions): Add COMPLEX, FTELL, FGETC, FGET, FPUTC, FPUT, AND, XOR and OR intrinsic functions. (add_subroutines): Add FGETC, FGET, FPUTC, FPUT and FTELL intrinsic subroutines. * gfortran.h: Add GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR, GFC_ISYM_XOR. * iresolve.c (gfc_resolve_and, gfc_resolve_complex, gfc_resolve_or, gfc_resolve_fgetc, gfc_resolve_fget, gfc_resolve_fputc, gfc_resolve_fput, gfc_resolve_ftell, gfc_resolve_xor, gfc_resolve_fgetc_sub, gfc_resolve_fget_sub, gfc_resolve_fputc_sub, gfc_resolve_fput_sub, gfc_resolve_ftell_sub): New functions. * check.c (gfc_check_complex, gfc_check_fgetputc_sub, gfc_check_fgetputc, gfc_check_fgetput_sub, gfc_check_fgetput, gfc_check_ftell, gfc_check_ftell_sub, gfc_check_and): New functions. * simplify.c (gfc_simplify_and, gfc_simplify_complex, gfc_simplify_or, gfc_simplify_xor): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR and GFC_ISYM_XOR. * intrinsic.h: Add prototypes for all functions added to iresolve.c, simplify.c and check.c. * gfortran.dg/complex_intrinsic_1.f90: New test. * gfortran.dg/complex_intrinsic_2.f90: New test. * gfortran.dg/fgetc_1.f90: New test. * gfortran.dg/fgetc_2.f90: New test. * gfortran.dg/fgetc_3.f90: New test. * gfortran.dg/ftell_1.f90: New test. * gfortran.dg/ftell_2.f90: New test. * gfortran.dg/gnu_logical_1.F: New test. * gfortran.dg/gnu_logical_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106859 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/24787kargl2005-11-122-25/+26
| | | | | | | | | | | | * intrinsics/string_intrinsics.c (string_scan): Off by one; Fix typos in nearby comment. * gfortran.dg/scan_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106828 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-11-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2005-11-111-5/+22
| | | | | | | | | | | | | PR libgfortran/24699, 24700, 24719, 24785 * io/transfer.c (read_sf): Remove incorrect statement that was clearing bytes_left. (formatted_transfer_scalar): Add handling of end-of-record condition, setting values correctly to backup. Handle x format when doing non-advancing write. (st_read): Initialize current_record. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106797 138bc75d-0d04-0410-961f-82ee72b054a4
* * libgfortran.h: Add proper defines where needed.aj2005-11-102-0/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106741 138bc75d-0d04-0410-961f-82ee72b054a4
* * libgfortran.h: Add missing prototypes for internal_packaj2005-11-102-3/+20
| | | | | | | | functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106730 138bc75d-0d04-0410-961f-82ee72b054a4
* gfortran ChangeLogjb2005-11-069-514/+443
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-06 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/24174 PR fortran/24305 * fortran/trans-io.c (gfc_build_io_library_fndecls): Add kind argument to transfer_array. (transfer_array_desc): Add kind argument. testsuite ChangeLog: 2005-11-06 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/24174 PR fortran/24305 * testsuite/gfortran.dg/large_real_kind_form_io_1.f90: New file. libgfortran Changelog: 2005-11-06 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/24174 PR fortran/24305 * io/io.h: Add argument to prototypes, add prototypes for size_from_*_kind functions. * io/list_read.c (read_complex): Add size argument, use it. (list_formatted_read): Add size argument, cleanup. (list_formatted_read_scalar): Add size argument. (nml_read_obj): Fix for padding. * io/transfer.c: Add argument to transfer function pointer. (unformatted_read): Add size argument. (unformatted_write): Likewise. (formatted_transfer_scalar): Fix for padding with complex(10). (formatted_transfer): Add size argument, cleanup. (transfer_integer): Add size argument to transfer call. (transfer_real): Likewise. (transfer_logical): Likewise. (transfer_character): Likewise. (transfer_complex): Likewise. (transfer_array): New kind argument, use it. (data_transfer_init): Add size argument to formatted_transfer call. (iolength_transfer): Add size argument, cleanup. * io/write.c (write_complex): Add size argument, fix for padding with complex(10). (list_formatted_write): Add size argument, cleanup. (list_formatted_write_scalar): Add size argument, use it. (nml_write_obj): Fix for size vs. kind issue. * io/size_from_kind.c: New file. * Makefile.am: Add io/size_from_kind.c. * configure: Regenerate. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106563 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsic.c (add_functions): Add ctime and fdate intrinsics.fxcoudert2005-11-067-3/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* 2005-11-05 Richard Guenther <rguenther@suse.de>rguenth2005-11-053-9/+10
| | | | | | | | * configure.ac: Use AM_FCFLAGS for extra flags, not FCFLAGS. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106535 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsic.c (add_functions): Add function version of TTYNAM.fxcoudert2005-11-052-0/+30
| | | | | | | | | | | | | | | | | | * 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
* PR fortran/24636kargl2005-11-042-1/+6
| | | | | | | | | * match.c (gfc_match_stopcode): Set stop_code = -1. * runtime/stop.c (stop_numeric): Use stop_code = -1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106509 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/22298fxcoudert2005-11-044-2/+30
| | | | | | | | | | | | | | | | | | * runtime/main.c (stupid_function_name_for_static_linking): New function. * runtime/error.c (internal_error): Call stupid_function_name_for_static_linking. * libgfortran.h: Add prototype for stupid_function_name_for_static_linking. * gcc/testsuite/lib/target-supports.exp (check_effective_target_static_libgfortran): New static_libgfortran effective target. * gcc/testsuite/gfortran.dg/static_linking_1.f: New test. * gcc/testsuite/gfortran.dg/static_linking_1.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106484 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-11-01 Paul Thomas <pault@gcc.gnu.org>pault2005-11-012-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* .cvsignore are not needed for subversion, remove them.aj2005-10-311-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106279 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-31 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-10-312-0/+6
| | | | | | | | PR libgfortran/24584 * io/list_read.c (free_saved): Set saved_used to zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106265 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/20179fxcoudert2005-10-304-0/+31
| | | | | | | | | | | | | * io/unix.c (flush_if_preconnected): New function. * io/io.h: Add prototype for flush_if_preconnected. * io/transfer.c (data_transfer_init): Use flush_if_preconnected to workaround buggy mixed C-Fortran code. * gfortran.dg/mixed_io_1.f90: New test. * gfortran.dg/mixed_io_1.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106017 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_malloc, gfc_check_free): New functions.fxcoudert2005-10-304-2/+69
| | | | | | | | | | | | | | | | | | | | | | | * 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
* * Makefile.am (kinds.h): Remove target, if command fails.mrs2005-10-293-10/+18
| | | | | | | | | (selected_int_kind.inc): Likewise. (selected_real_kind.inc): Likewise. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105995 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_alarm_sub, gfc_check_signal,fxcoudert2005-10-287-10/+203
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): New check.fxcoudert2005-10-288-19/+706
| | | | | | | | | | | | | | | | | * configure.ac: Check for floatingpoint.h, fptrap.h and float.h headers. Use LIBGFOR_CHECK_FPSETMASK. Check for fp_trap and fp_enable functions. * configure.host: Add case for systems with fpsetmask and systems with fp_trap/fp_enable. * config/fpu-sysv.h: New file, FPU code using fpsetmask. * config/fpu-aix.h: New file, FPU code for AIX using fp_trap and fp_enable. * aclocal.m4: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105956 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-24 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-10-251-1/+0
| | | | | | | Missed commit of libgfortran.h from previous. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105881 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-24 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-10-256-80/+168
| | | | | | | | | | | | | | | | | | | | | | PR libgfortran/24224 * libgfortran.h: Remove array stride error code. * runtime/error.c: Remove array stride error. * io/io.h: Change name of 'nml_loop_spec' to 'array_loop_spec' to be generic. Add pointer to array_loop_spec and rank to gfc_unit structure. * io/list_read.c: Revise nml_loop_spec references to array_loop_spec. * io/transfer.c (init_loop_spec): New function to initialize an array_loop_spec. (next_array_record): New function to return the index to the next array record by incrementing through the array_loop_spec. (next_record_r): Use new function. (next_record_w): Use new function. (finalize_transfer): Free memory allocated for array_loop_spec. * io/unit.c (get_array_unit_len): Delete this function. Use new function init_loop_spec to initialize the array_loop_spec. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105878 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-24 Paul Thomas <pault@gcc.gnu.org>pault2005-10-242-5/+12
| | | | | | | | | | | | | | PR fortran/24416 * libgfortran/io/list_read.c (namelist_read): Exit with call to free_saved () so that character strings do not accumulate. 2005-10-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/24416 gfortran.dg/namelist_char_only.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105862 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-23 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-10-242-13/+20
| | | | | | | | | | PR libgfortran/24489 * io/transfer.c (read_block): Change the order of execution to not read past end-of-record. (read_block_direct): Same change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105840 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/23272fxcoudert2005-10-238-6/+153
| | | | | | | | | | | | | | | | | * acinclude.m4 (LIBGFOR_CHECK_WORKING_STAT): New check. * configure.ac: Use LIBGFOR_CHECK_WORKING_STAT. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * io/unix.c (compare_file_filename): Add fallback case for systems without working stat. * io/open.c (already_open): Correct call to compare_file_filename. * io/io.h: Correct proto for compare_file_filename. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105824 138bc75d-0d04-0410-961f-82ee72b054a4
* * runtime/fpu.c: Add _GNU_SOURCE definition.fxcoudert2005-10-233-1/+10
| | | | | | | * config/fpu-glibc.h: Remove __USE_GNU definition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105822 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-23 Paul Thomas <pault@gcc.gnu.org>pault2005-10-232-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/18022 * trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL if there is a component ref during an array ref to force use of temporary in assignment. PR fortran/24311 PR fortran/24384 * fortran/iresolve.c (check_charlen_present): New function to add a charlen to the typespec, in the case of constant expressions. (gfc_resolve_merge, gfc_resolve_spread): Call.the above. (gfc_resolve_spread): Make calls to library functions that handle the case of the spread intrinsic with a scalar source. * libgfortran/intrinsics/spread_generic.c (spread_internal _scalar): New function that handles the special case of spread with a scalar source. This has interface functions - (spread_scalar, spread_char_scalar): New functions to interface with the calls specified in gfc_resolve_spread. 2005-10-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/18022 gfortran.dg/assign_func_dtcomp_1.f90: New test. PR fortran/24311 gfortran.dg/merge_char_const.f90: New test. PR fortran/24384 gfortran.dg/spread_scalar_source.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105810 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/24383fxcoudert2005-10-212-0/+9
| | | | | | | * io/unix.c: Add fallback definition for SSIZE_MAX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105768 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/24432fxcoudert2005-10-195-143/+153
| | | | | | | | | | | | | * c99_protos.h: Define preprocessor HAVE_ macros with value 1 instead of empty value. * intrinsics/c99_functions.c: Likewise. * intrinsics/getXid.c: Define HAVE_GETPID with value 1 instead of empty value. * intrinsics/sleep.c: Define HAVE_SLEEP with value 1 instead of empty value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105603 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/24432fxcoudert2005-10-192-0/+36
| | | | | | | * c99_protos.h: Define HAVE_ macros for all provided functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105597 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.uros2005-10-142-5/+13
| | | | | | | | | Change cw and cw_sse variables to unsigned. (SSE): New definition. (has_sse): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105402 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-13 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2005-10-132-8/+31
| | | | | | | | * io/unix.c(fd_alloc_r_at): Use read() instead of do_read() only in case of special files (e.g. terminals). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105373 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/fpu-387.h (set_fpu): Add "=m" for stmxcsr.uros2005-10-132-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105369 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h: Add bitmasks for different FPE traps. Add fpefxcoudert2005-10-1214-35/+463
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | member to options_t. * invoke.texi: Document the new -ffpe-trap option. * lang.opt: Add -ffpe-trap option. * options.c (gfc_init_options): Initialize the FPE option. (gfc_handle_fpe_trap_option): New function to parse the argument of the -ffpe-trap option. (gfc_handle_option): Add case for -ffpe-trap. * trans-decl.c: Declare a tree for the set_fpe library function. (gfc_build_builtin_function_decls): Build this tree. (gfc_generate_function_code): Generate a call to set_fpe at the beginning of the main program. * trans.h: New tree for the set_fpe library function. * Makefile.am: Add fpu.c to the build process, and target-dependent code as fpu-target.h. * Makefile.in: Regenerate. * configure.ac: Add call to configure.host to set FPU_HOST_HEADER. * configure: Regenerate. * config.h.in: Regenerate. * aclocal.m4: Regenerate. * configure.host: New script to determine which host-dependent code should go in. * libgfortran.h: Add fpe option, remove previous fpu_ options. Add bitmasks for different FPE traps. Add prototype for set_fpu. * runtime/environ.c: Remove environment variables to control fpu behaviour. * runtime/fpu.c (set_fpe): New function for the front-end. * runtime/main.c (init): Set FPU state. * config: New directory to store host-dependent code. * config/fpu-387.h: New file with code handling the i387 FPU. * config/fpu-glibc.h: New file with code for glibc systems. * config/fpu-generic.h: Fallback for the most generic host. Issue warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105328 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-12 Janne Blomqvist <jblomqvi@cc.hut.fi>pault2005-10-122-3/+8
| | | | | | | | * io/unix.c: Remove parts of patch of 2005/10/07 that cause input from the terminal to hang. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105324 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libgfortran/24313kargl2005-10-112-2/+9
| | | | | | | | | * c99_functions.c (csqrtf, csqrt): Fix choice of branch cut. Note csqrt{f} were imported from glibc, and this bug is still present there. glibc PR is 1146. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105274 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-07 Janne Blomqvist <jblomqvi@cc.hut.fi>tkoenig2005-10-074-71/+373
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/16339 PR fortran/23363 * io/io.h: Add read and write members to stream, define access macros. * io/transfer.c (read_block_direct): New function. (write_block_direct): New function. (unformatted_read): Change to use read_block_direct. (unformatted_write): Change to use write_block_direct. * io/unix.c: Remove mmap includes and defines. (writen): Remove. (readn): Remove. (reset_stream): New function. (do_read): New function. (do_write): New function. (fd_flush): Change to use do_write() instead of writen(). (fd_alloc_r_at): Change to use do_read(). (fd_seek): Change return type to try, as the prototype. Add check to avoid syscall overhead if possible. (fd_read): New function. (fd_write): New function. (fd_open): Set pointers for new functions. (mem_read): New function. (mem_write): New function. (open_internal): Set pointers for new functions. (is_seekable): Clean up comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105101 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-07 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-10-074-9/+31
| | | | | | | | | | | | * io/transfer.c (write_block): Add test for end-of-file condition, removed from mem_alloc_w_at. (next_record_w): Clean up checks for NULL pointer returns from s_alloc_w. * io/unix.c (mem_alloc_w_at): Remove call to generate_error end-of-file. * io/write.c (write_float): Add checks for NULL pointer returns from write_block calls. (write_integer): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105092 138bc75d-0d04-0410-961f-82ee72b054a4
* * runtime/memory.c (allocate_size): Malloc 1 byte if size == 0.jakub2005-10-032-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104909 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/19308fxcoudert2005-10-03408-436/+35451
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/20120 PR libfortran/22437 * Makefile.am: Add generated files for large real and integers kinds. Add a rule to create the kinds.inc c99_protos.inc files. Use kinds.inc to preprocess Fortran generated files. * libgfortran.h: Add macro definitions for GFC_INTEGER_16_HUGE, GFC_REAL_10_HUGE and GFC_REAL_16_HUGE. Add types gfc_array_i16, gfc_array_r10, gfc_array_r16, gfc_array_c10, gfc_array_c16, gfc_array_l16. * mk-kinds-h.sh: Define macros HAVE_GFC_LOGICAL_* and HAVE_GFC_COMPLEX_* when these types are available. * intrinsics/ishftc.c (ishftc16): New function for GFC_INTEGER_16. * m4/all.m4, m4/any.m4, m4/count.m4, m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/in_pack.m4, m4/in_unpack.m4, m4/matmul.m4, m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4, m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/mtype.m4, m4/nearest.m4, m4/pow.m4, m4/product.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/sum.m4, m4/transpose.m4: Protect generated functions with appropriate "#if defined (HAVE_GFC_type_kind)" preprocessor directives. * Makefile.in: Regenerate. * all files in generated/: Regenerate. * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Add support for long double builtin function. (gfc_init_builtin_functions): Add mfunc_longdouble, mfunc_clongdouble and func_clongdouble_longdouble trees. Build them for round, trunc, cabs, copysign and pow functions. * iresolve.c (gfc_resolve_reshape, gfc_resolve_transpose): Add case for kind 10 and 16. * trans-decl.c: Add trees for cpowl10, cpowl16, ishftc16, exponent10 and exponent16. (gfc_build_intrinsic_function_decls): Build nodes for int16, real10, real16, complex10 and complex16 types. Build all possible combinations for function _gfortran_pow_?n_?n. Build function calls cpowl10, cpowl16, ishftc16, exponent10 and exponent16. * trans-expr.c (gfc_conv_power_op): Add case for integer(16), real(10) and real(16). * trans-intrinsic.c: Add suppport for long double builtin functions in BUILT_IN_FUNCTION, LIBM_FUNCTION and LIBF_FUNCTION macros. (gfc_conv_intrinsic_aint): Add case for integer(16), real(10) and real(16) kinds. (gfc_build_intrinsic_lib_fndecls): Add support for real10_decl and real16_decl in library functions. (gfc_get_intrinsic_lib_fndecl): Add cases for real and complex kinds 10 and 16. (gfc_conv_intrinsic_exponent): Add cases for real(10) and real(16) kinds. (gfc_conv_intrinsic_sign): Likewise. (gfc_conv_intrinsic_ishftc): Add case for integer(16) kind. * trans-types.c (gfc_get_int_type, gfc_get_real_type, gfc_get_complex_type, gfc_get_logical_type): Doesn't error out in the case of kinds not available. * trans.h: Declare trees for cpowl10, cpowl16, ishftc16, exponent10 and exponent16. * gfortran.dg/large_real_kind_2.F90: New test. * gfortran.dg/large_integer_kind_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104889 138bc75d-0d04-0410-961f-82ee72b054a4
* * runtime/memory.c (malloc_t): Remove.jakub2005-10-012-128/+26
| | | | | | | | | | | | | | (GFC_MALLOC_MAGIC, HEADER_SIZE, DATA_POINTER, DATA_HEADER): Remove. (mem_root, runtime_cleanup, malloc_with_header): Remove. (internal_malloc_size): Use just get_mem if size != 0, return NULL otherwise. (internal_free): Just free if non-NULL. (internal_realloc_size): Remove debugging stuff. (allocate_size): Use malloc directly, remove debugging stuff. (deallocate): Use free directly, fix error message wording. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104856 138bc75d-0d04-0410-961f-82ee72b054a4
* * libgfortran.h (GFC_ITOA_BUF_SIZE, GFC_XTOA_BUF_SIZE,jakub2005-10-017-72/+95
| | | | | | | | | | | | | | | | | | | | | | | GFC_OTOA_BUF_SIZE, GFC_BTOA_BUF_SIZE): Define. (gfc_itoa, xtoa): Add 2 extra arguments. * runtime/environ.c: Include stdio.h. (check_buffered): Use sprintf. * runtime/error.c: Include assert.h. (gfc_itoa, xtoa): Add 2 extra arguments, avoid using static buffers. (st_printf, st_sprintf): Adjust callers. * io/write.c (otoa, btoa): Add 2 extra arguments, avoid using static buffers. (write_int, write_decimal): Add 2 extra arguments to conv function pointer, adjust caller. (write_integer): Adjust gfc_itoa caller. * io/unit.c (get_array_unit_len): Return 0 rather than NULL. * io/read.c (read_f): Remove spurious pointer dereference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104855 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-09-30 Janne Blomqvist <jblomqvi@cc.hut.fi>tobi2005-09-302-1/+6
| | | | | | | | | | | | libgfortran/ PR 24112 * io/open.c (edit_modes): Check for correct flag. gcc/testsuite/ PR 24112 * gfortran.dg/open_status_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104829 138bc75d-0d04-0410-961f-82ee72b054a4
* * runtime/string.c (find_option): Change 3rd argument tojakub2005-09-2910-20/+38
| | | | | | | | | | | | | | | | | | | | const st_option *. * libgfortran.h (find_option): Likewise. * runtime/environ.c (rounding, precision, signal_choices): Constify. (init_choice, show_choice): Change 2nd argument to const choice *. * io/open.c (access_opt, action_opt, blank_opt, delim_opt, form_opt, position_opt, status_opt, pad_opt): Constify. * io/transfer.c (advance_opt): Likewise. * io/inquire.c (undefined): Likewise. * io/close.c (status_opt): Likewise. * io/format.c (posint_required, period_required, nonneg_required, unexpected_element, unexpected_end, bad_string, bad_hollerith, reversion_error): Likewise. * io/unix.c (yes, no, unknown): Change from const char * into const char []. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104773 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/23552sje2005-09-278-19/+428
| | | | | | | | | | | | | | | | | | | | | * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New. (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New. (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New. * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use. (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use. (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use. * configure: Regenerate. * config.h.in: Regenerate. * libgfortan.h (isfinite): undef if broken, set if needed. (isnan): undef if broken, set if needed. (fpclassify): undef if broken, set if needed. * io/write.c: Remove TODO comment about working isfinite. * intrinsics/c99_functions.c (round): Use isfinite instead of fpclassify. * intrinsics/c99_functions.c (roundf): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104710 138bc75d-0d04-0410-961f-82ee72b054a4
* Correct ChangeLog formatting and email address.dje2005-09-271-15/+19
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104682 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-09-24 Janne Blomqvist <jblomqvi@cc.hut.fi>bdavis2005-09-265-28/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * trans-io.c (gfc_build_io_library_fndecls): Add entry iocall_x_array for transfer_array. (transfer_array_desc): New function. (gfc_trans_transfer): Add code to call transfer_array_desc. 2005-09-24 Janne Blomqvist <jblomqvi@cc.hut.fi> * io.h: Changed prototypes of list_formatted_{read|write}. * list_read.c (list_formatted_read): Renamed to list_formatted_read_scalar and made static. (list_formatted_read): New function. * transfer.c: Prototype for transfer_array. Changed transfer function pointer. (unformatted_read): Add nelems argument, use it. (unformatted_write): Likewise. (formatted_transfer): Changed name to formatted_transfer_scalar. (formatted_transfer): New function. (transfer_integer): Add nelems argument to transfer call, move updating item count to transfer functions. (transfer_real): Likewise. (transfer_logical): Likewise. (transfer_character): Likewise. (transfer_complex): Likewise. (transfer_array): New function. (data_transfer_init): Call formatted_transfer with new argument. (iolength_transfer): New argument, use it. * write.c (list_formatted_write): Renamed to list_formatted_write_scalar, made static. (list_formatted_write): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104662 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Add check for __clog.fxcoudert2005-09-263-0/+87
| | | | | | | * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104654 138bc75d-0d04-0410-961f-82ee72b054a4
* * c99_protos.h: Add prototypes for C99 complex functions.fxcoudert2005-09-2519-1628/+9306
| | | | | | | | | | | | | | | | | | | | | | * libgfortran.h: Include complex.h before c99_protos.h. * intrinsics/c99_functions.c: Define HAVE_ macros for the fallback functions we provide. (cabsf, cabs, cabsl, cargf, carg, cargl, cexpf, cexp, cexpl, clogf, clog, clogl, clog10f, clog10, clog10l, cpowf, cpow, cpowl, cqsrtf, csqrt, csqrtl, csinhf, csinh, csinhl, ccoshf, ccosh, ccoshl, ctanhf, ctanh, ctanhl, csinf, csin, csinl, ccosf, ccos, ccosl, ctanf, ctan, ctanl): New fallback functions. * Makefile.am (gfor_math_trig_c, gfor_math_trig_obj, gfor_specific_c, gfor_cmath_src, gfor_cmath_obj): Remove. * Makefile.in: Regenerate. * configure.ac: Remove checks for csin. Add checks for all C99 complex functions. * config.h.in: Regenerate. * configure: Regenerate. * aclocal.m4: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104626 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/23803fxcoudert2005-09-254-1/+77
| | | | | | | | | * intrinsics/getXid.c: Add getpid wrapper for MinGW. * intrinsics/getlog.c: Add getlogin wrapper for MinGW. * intrinsics/hostnm.c: Add gethostname wrapper for MinGW. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104624 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud