aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io
AgeCommit message (Collapse)AuthorFilesLines
2013-12-17unix.c (tempfile_open): Only use the needed flag O_CLOEXEC.Andreas Tobler1-1/+1
2013-12-17 Andreas Tobler <andreast@gcc.gnu.org> * io/unix.c (tempfile_open): Only use the needed flag O_CLOEXEC. From-SVN: r206064
2013-12-17re PR libfortran/59419 (Failing OPEN with FILE='xxx' and IOSTAT creates the ↵Jerry DeLisle3-38/+53
file 'xxx' after revision 196783) 2013-12-16 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/59419 * io/file_pos.c (st_rewind): Do proper return after generate_error. * io/open.c (edit_modes): Move action code inside block that checks for library ok. (new_unit): Do cleanup after error. (st_open): Do proper return after error. * io/transfer.c (data_transfer_init): Likewise. From-SVN: r206039
2013-11-16When file status is unknown, don't set O_CREAT when opening read-only.Janne Blomqvist1-7/+13
2013-11-15 Janne Blomqvist <jb@gcc.gnu.org> Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/59108 * io/unix.c (regular_file): Don't set O_CREAT when opening a file read-only with unknown status. Mask out O_CREAT when falling back to opening read-only if ACTION= is not set and read-write fails. Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org> From-SVN: r204864
2013-11-10Set close-on-exec flag when opening files.Janne Blomqvist1-6/+37
2013-11-10 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac: Check presence of mkostemp. * io/unix.c (set_close_on_exec): New function. (tempfile_open): Use mkostemp and O_CLOEXEC if available, fallback to calling set_close_on_exec. (regular_file): Add O_CLOEXEC to flags if defined. (open_external): Call set_close_on_exec if O_CLOEXEC is not defined. * config.h.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * aclocal.m4: Regenerated. From-SVN: r204654
2013-10-01re PR fortran/55469 (memory leak on read with istat.ne.0)Tobias Burnus1-4/+28
2013-10-01 Tobias Burnus <burnus@net-b.de> PR fortran/55469 * io/list_read (parse_repeat, read_integer, read_character, parse_real, read_real, check_type, list_formatted_read_scalar, finish_list_read): Call list_free. From-SVN: r203086
2013-07-21trans-decl.c: Fix comment typos.Ondřej Bílka1-3/+3
2013-07-21 Ondřej Bílka <neleai@seznam.cz> * trans-decl.c: Fix comment typos. * trans-expr.c: Ditto. 2013-07-21 Ondřej Bílka <neleai@seznam.cz> * io/transfer.c: Fix comment typos. From-SVN: r201107
2013-07-21re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)Tobias Burnus2-2/+28
2013-07-21 Tobias Burnus <burnus@net-b.de> PR fortran/35862 * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST, GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines. 2013-07-21 Tobias Burnus <burnus@net-b.de> PR fortran/35862 * libgfortran.h (set_fpu_rounding_mode, get_fpu_rounding_mode): New prototypes. * config/fpu-387.h (set_fpu_rounding_mode, get_fpu_rounding_mode): New functions. * config/fpu-aix.h (set_fpu_rounding_mode, get_fpu_rounding_mode): Ditto. * config/fpu-generic.h (set_fpu_rounding_mode, get_fpu_rounding_mode): Ditto. * config/fpu-glibc.h (set_fpu_rounding_mode, get_fpu_rounding_mode): Ditto. * config/fpu-sysv.h (set_fpu_rounding_mode, get_fpu_rounding_mode): Ditto. * configure.ac: Check for fp_rnd and fp_rnd_t. * io/io.h (enum unit_round): Use GFC_FPE_* for the value. * io/read.c (convert_real): Set FP ronding mode. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. 2013-07-21 Tobias Burnus <burnus@net-b.de> PR fortran/35862 * gfortran.dg/round_4.f90: New. Co-Authored-By: Uros Bizjak <ubizjak@gmail.com> From-SVN: r201093
2013-06-20re PR fortran/57633 (I/O: Problem with formatted read: reading CR-LF files ↵Tobias Burnus1-2/+1
(\r\n)) 2013-06-20 Tobias Burnus <burnus@net-b.de> PR fortran/57633 * io/list_read.c (next_char, eat_separator): Don't set EOL for \r. 2013-06-20 Tobias Burnus <burnus@net-b.de> PR fortran/57633 * gfortran.dg/list_read_11.f90: New. From-SVN: r200238
2013-06-03re PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with ↵Tobias Burnus1-4/+32
-ffpe-trap=overflow) 2013-06-01 Tobias Burnus <burnus@net-b.de> PR fortran/57496 * io/write_float.def (ISFINITE2Q, ISFINITE2, ISFINITE2L, * ISFINITE, SIGNBIT2Q, SIGNBIT2, SIGNBIT2L, SIGNBIT, ISNAN2Q, ISNAN2, ISNAN2L, ISNAN): New macros. (output_float_FMT_G_,WRITE_FLOAT): Use them. From-SVN: r199598
2013-05-04environ.c: Include unistd.h.David Edelsohn3-0/+9
* runtime/environ.c: Include unistd.h. * runtime/pause.c: Test HAVE_UNISTD_H. * runtime/stop.c: Same. * io/open.c: Same. * io/unix.c: Same. * io/read.c (si_max): Protect declaration of value. From-SVN: r198603
2013-04-29PR 56981 Improve unbuffered performance on special files.Janne Blomqvist3-21/+49
2013-04-29 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/56981 * io/transfer.c (next_record_w_unf): First fix head marker, then write tail. (next_record): Call flush_if_unbuffered. * io/unix.c (struct unix_stream): Add field unbuffered. (flush_if_unbuffered): New function. (fd_to_stream): New argument. (open_external): Fix fd_to_stream call. (input_stream): Likewise. (output_stream): Likewise. (error_stream): Likewise. * io/unix.h (flush_if_unbuffered): New prototype. From-SVN: r198390
2013-04-15list_read.c (finish_separator): Initialize variable.Tobias Burnus1-2/+3
2013-04-15 Tobias Burnus <burnus@net-b.de> * list_read.c (finish_separator): Initialize variable. From-SVN: r197969
2013-04-04re PR libfortran/56810 (record-repeat fails kind check on complex read)Tobias Burnus1-3/+6
2013-04-04 Tobias Burnus <burnus@net-b.de> PR fortran/56810 * io/list_read.c (check_type): Fix kind checking for COMPLEX. 2013-04-04 Tobias Burnus <burnus@net-b.de> PR fortran/56810 * gfortran.dg/read_repeat_2.f90: New. From-SVN: r197479
2013-04-01re PR fortran/56660 (Fails to read NAMELIST with certain form array syntax)Jerry DeLisle1-8/+7
2013-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/56660 * io/list_read.c (nml_read_obj): Do not reset the read error flag inside nml_read_obj. If the read error flag is found set just exit. Fix some whitespace on comments. (nml_read_obj_data): Reset the read error flag before the first call to nml_read_object. From-SVN: r197321
2013-03-31re PR libfortran/56786 (Namelist read fails with designators containing ↵Jerry DeLisle2-17/+36
embedded spaces) 2013-03-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/56786 * io/list_read.c (nml_parse_qualifier): Remove spurious next_char call when checking for EOF. Use error return mechanism when EOF detected. Do not return false unless parse_err_msg and parse_err_msg_size have been set. Use hit_eof. (nml_get_obj_data): Likewise use the correct error mechanism. * io/transfer.c (hit_eof): Do not set AFTER_ENDFILE if in namelist mode. From-SVN: r197290
2013-03-29re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith ↵Tobias Burnus1-12/+6
strings) 2012-03-29 Tobias Burnus <burnus@net-b.de> PR fortran/56737 * io/format.c (parse_format_list): Also cache FMT_STRING. (parse_format): Update call. From-SVN: r197230
2013-03-29re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith ↵Tobias Burnus1-2/+10
strings) 2013-03-29 Tobias Burnus <burnus@net-b.de> PR fortran/56737 * io/format.c (parse_format): With caching, copy dtp->format string. (save_parsed_format): Use dtp->format directy without copying. 2013-03-29 Tobias Burnus <burnus@net-b.de> PR fortran/56737 * testsuite/gfortran.dg/fmt_cache_3.f90: New. (Plus: Move fortran/ChangeLog item to libgfortran/ChangeLog) From-SVN: r197229
2013-03-29re PR fortran/56735 (Namelist Read Error with question marks)Tobias Burnus1-7/+9
2013-03-29 Tobias Burnus <burnus@net-b.de> PR fortran/56735 * io/list_read.c (nml_query): Only abort when an error occured. (namelist_read): Add goto instead of falling through. 2013-03-29 Tobias Burnus <burnus@net-b.de> PR fortran/56735 * gfortran.dg/namelist_80.f90: New. From-SVN: r197228
2013-03-25re PR fortran/52512 (Cannot match namelist object name)Tilo Schwarz1-6/+6
2013-03-25 Tilo Schwarz <tilo@tilo-schwarz.de> PR libfortran/52512 * io/list_read.c (nml_parse_qualifier): To check for a derived type don't use the namelist head element type but the current element type. (nml_get_obj_data): Add current namelist element type to nml_parse_qualifier call. 2013-03-25 Tilo Schwarz <tilo@tilo-schwarz.de> PR libfortran/52512 * gfortran.dg/namelist_79.f90: New. From-SVN: r197061
2013-03-24re PR libfortran/56696 (Formatted (list-directed) input fails to signal end ↵Tobias Burnus1-1/+0
of record) 2013-03-24 Tobias Burnus <burnus@net-b.de> PR fortran/56696 * io/list_read.c (read_real): Fix EOF diagnostic. 2013-03-24 Tobias Burnus <burnus@net-b.de> PR fortran/56696 * gfortran.dg/eof_5.f90: New. From-SVN: r197019
2013-03-20re PR fortran/51825 (Fortran runtime error: Cannot match namelist object name)Tilo Schwarz1-7/+8
2013-03-20 Tilo Schwarz <tilo@tilo-schwarz.de> PR libfortran/51825 * io/list_read.c (nml_read_obj): Don't end the component loop on a nested derived type, but continue with the next loop iteration. (nml_get_obj_data): Don't move the first_nl pointer further in the list if a qualifier was found. 2013-03-20 Tilo Schwarz <tilo@tilo-schwarz.de> PR libfortran/51825 * gcc/testsuite/gfortran.dg/namelist_77.f90: New. * gcc/testsuite/gfortran.dg/namelist_78.f90: New. From-SVN: r196806
2013-03-20re PR libfortran/48618 (Negative unit number in OPEN(...) is sometimes allowed)Tilo Schwarz1-5/+9
2013-03-20 Tilo Schwarz <tilo@tilo-schwarz.de> PR libfortran/48618 * io/open.c (st_open): Raise error for unit number < 0 only if unit number does not exist already. 2013-03-20 Tilo Schwarz <tilo@tilo-schwarz.de> PR libfortran/48618 * gfortran.dg/open_negative_unit_1.f90: New. From-SVN: r196805
2013-03-19Use C99 bool instead of enum try.Janne Blomqvist5-67/+63
2013-03-19 Janne Blomqvist <jb@gcc.gnu.org> * libgfortran.h: Include stdbool.h. (enum try): Remove. (notify_std): Change return type to bool. * intrinsics/chmod.c: Don't include stdbool.h. * intrinsics/execute_command_line.c: Likewise. * io/format.c: Likewise. * io/list_read.c (nml_parse_qualifier): Change return type to bool. (nml_read_obj): Likewise. (nml_get_obj_data): Likewise. * io/transfer.c (read_block_form): Fix comment. (write_buf): Change return type to bool. * io/write.c: Don't include stdbool.h. * io/write_float.def (output_float): Change return type to bool. (output_float_FMT_G_ ## x): Change type of result variable. * runtime/error.c (notify_std): Change return type to bool. From-SVN: r196791
2013-03-11transfer.c (read_block_direct): Correct condition.Tobias Burnus1-1/+1
2013-03-11 Tobias Burnus <burnus@net-b.de> * io/transfer.c (read_block_direct): Correct condition. * intrinsics/execute_command_line.c (execute_command_line): Remove dead code for the HAVE_FORK case. From-SVN: r196603
2013-02-21Fix regression when writing formatted sequential to a pipe.Janne Blomqvist2-12/+11
2013-02-21 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/30162 * io/open.c (test_endfile): Call stell only if size != 0. * io/unix.c (raw_tell): Revert r194679. (raw_size): Return size field only for regular files, otherwise 0. From-SVN: r196210
2013-01-23Improve performance of byte-swapped I/O.Janne Blomqvist3-68/+164
2013-01-23 Janne Blomqvist <jb@gcc.gnu.org> * io/file_pos.c (unformatted_backspace): Use __builtin_bswapXX instead of reverse_memcpy. * io/io.h (reverse_memcpy): Remove prototype. * io/transfer.c (reverse_memcpy): Make static, move towards beginning of file. (bswap_array): New function. (unformatted_read): Use bswap_array to byte swap the data in-place. (unformatted_write): Use a larger temp buffer and bswap_array. (us_read): Use __builtin_bswapXX instead of reverse_memcpy. (write_us_marker): Likewise. From-SVN: r195413
2013-01-14Update copyright years in libgfortran.Richard Sandiford21-44/+21
From-SVN: r195167
2013-01-02re PR fortran/55818 (Reading a REAL from a file which doesn't end in a new ↵Jerry DeLisle1-15/+24
line fails) 2013-01-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/55818 * io/list_read.c (read_real): Do not call hit_eof when EOF can be treated as a value separator. (parse_real): Likewise. (read_logical): Likewise. (read_character): Likewise. (read_complex): Likewise. From-SVN: r194809
2012-12-27re PR fortran/48976 (INQUIRE with STREAM= not supported)Jerry DeLisle2-0/+26
2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/48976 * io/inquire.c (inquire_via_unit): Set user stream inquiry variable to appropriate value based on unit access method. (inquire_via_filename): Since filename is not associated with an open unit, set stream inquiry to UNKNOWN. * io/io.h: Define inquire stream parameters. From-SVN: r194733
2012-12-26re PR libfortran/48960 (OPEN statement modifies NEWUNIT variable on error)Jerry DeLisle1-5/+6
2012-12-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/48960 * io/open.c (st_parameter_open): Assign newunit number to user variable only if the the associated open statement is successful. From-SVN: r194724
2012-12-26PR fortran/55539 Fix regression in -fno-sign-zero.Janne Blomqvist1-3/+6
libgfortran ChangeLog: 2012-12-26 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/55539 * io/write_float.def (output_float): Take into account decimal dot. testsuite ChangeLog: 2012-12-26 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/55539 * gfortran.dg/nosigned_zero_3.f90: New testcase. From-SVN: r194717
2012-12-21re PR libfortran/30162 (Document when sequential I/O with named pipes works)Thomas Koenig1-1/+9
2012-12-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/30162 * io/unix.c (raw_tell): If the lseek is done on a non-seekable file, return 0. From-SVN: r194679
2012-10-10re PR fortran/54878 (libgfortran issues found by the Coverity scanner)Tobias Burnus1-0/+12
2012-10-10 Tobias Burnus <burnus@net-b.de> PR fortran/54878 * io/unix.c (tempfile_open): Set umask before calling mkstemp. From-SVN: r192325
2012-09-29re PR fortran/52724 (Internal read with character(kind=4) data)Thomas Koenig2-4/+11
2012-09-29 Thomas König <tkoenig@gcc.gnu.org> PR fortran/52724 * list_read.c (next_char): Handle kind=4 characters. * unix.c (open_internal4): Correct lenth of internal file. 2012-09-29 Thomas König <tkoenig@gcc.gnu.org> PR fortran/52724 * gfortran.dg/internal_readwrite_3.f90: New test. From-SVN: r191854
2012-07-25list_read.c (list_formatted_read_scalar): Fix copying real value back to ↵Andreas Schwab1-1/+1
temporary. * io/list_read.c (list_formatted_read_scalar): Fix copying real value back to temporary. From-SVN: r189856
2012-06-21PR 39654 FTELL intrinsic function return type.Janne Blomqvist1-0/+20
frontend ChangeLog: 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/39654 * iresolve.c (gfc_resolve_ftell): Fix result kind and use new library function. library ChangeLog: 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/39654 * io/intrinsics.c (ftell2): New function. * gfortran.map (_gfortran_ftell2): Export function. From-SVN: r188858
2012-06-01chmod.c (chmod_func): On MinGW, don't set is_dirTobias Burnus2-9/+14
2012-06-01 Tobias Burnus <burnus@net-b.de> * intrinsics/chmod.c (chmod_func): On MinGW, don't set is_dir * and fix octal-mode handling. * io/unit.c (get_internal_unit): Add cast. * io/unix.c (min): Undef "min" before defining it. * runtime/backtrace.c (show_backtrace): Move label into ifndef __MINGW__ block. From-SVN: r188098
2012-05-31revert: unix.c (tempfile_open): Pass mode to "open" for O_CREAT.Tobias Burnus1-2/+2
2012-05-31 Tobias Burnus <burnus@net-b.de> Revert: 2012-05-16 Tobias Burnus <burnus@net-b.de> * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT. From-SVN: r188048
2012-05-30decl.c: Fix comment typos.Tobias Burnus2-5/+5
2012-05-30 Tobias Burnus <burnus@net-b.de> * decl.c: Fix comment typos. * expr.c: Ditto. * frontend-passes.c: Ditto. * match.c: Ditto. * resolve.c: Ditto. * trans-array.c: Ditto. * trans-common.c: Ditto. * trans-intrinsic.c: Ditto. * trans-types.c: Ditto. 2012-05-30 Tobias Burnus <burnus@net-b.de> * io/io.h: Fix comment typos. * io/list_read.c: Ditto. From-SVN: r188000
2012-05-16unix.c (tempfile_open): Pass mode to "open" for O_CREAT.Tobias Burnus1-2/+2
2012-05-16 Tobias Burnus <burnus@net-b.de> * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT. From-SVN: r187604
2012-05-14PR 52428 Range checking when reading integer values.Janne Blomqvist3-36/+37
gcc/fortran ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * gfortran.texi: Update _gfortran_set_options documentation. * invoke.texi: Remove runtime behavior description of -fno-range-check. * trans-decl.c (create_main_function): Don't pass the range-check setting to the library. libgfortran ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * io/io.h (max_value): Rename to si_max, remove second argument. * io/list_read.c (convert_integer): Use unsigned types when parsing the digits, set max value depending on the sign. * io/read.c (max_value): Rename to si_max, remove second argument, simplify. (read_decimal): Set max value depending on sign, always check overflow. (read_radix): Calculate max unsigned value directly. * libgfortran.h (struct compile_options_t): Remove range_check field. * runtime/compile_options.c (set_options): Skip handling options[7]. (init_compile_options): Don't set removed field. gcc/testsuite ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * gfortran.dg/int_range_io_1.f90: New test. From-SVN: r187478
2012-05-05Fix handling of temporary files.Janne Blomqvist1-47/+78
2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain algorithm for choosing temp directory. 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> * config.h.in: Regenerated. * configure: Regenerated. * configure.ac: Add checks for getegid and __secure_getenv. * io/unix.c (P_tmpdir): Fallback definition for macro. (tempfile_open): New function. (tempfile): Use secure_getenv, call tempfile_open to try each directory in turn. * libgfortran.h (DEFAULT_TMPDIR): Remove macro. (secure_getenv): New macro/prototype. * runtime/environ.c (secure_getenv): New function. (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR. * runtime/main.c (find_addr2line): Use secure_getenv. From-SVN: r187190
2012-04-22re PR libfortran/53051 (I/O: Support reading floating-point numbers which ↵Tobias Burnus2-0/+8
use "Q" for the exponent) 2012-04-22 Tobias Burnus <burnus@net-b.de> PR fortran/53051 * io/list_read.c (parse_real): Support "q" for the exponential. * io/read.c (read_f): Ditto. 2012-04-22 Tobias Burnus <burnus@net-b.de> PR fortran/53051 * gfortran.dg/read_float_4.f90: New. From-SVN: r186675
2012-04-17re PR libfortran/38199 (missed optimization: I/O performance)Tobias Burnus1-1/+1
2012-04-17 Tobias Burnus <burnus@net-b.de> PR libfortran/38199 PR libfortran/50673 * io/unit.c (get_internal_unit): Properly check for the presence of the format string. From-SVN: r186548
2012-04-15re PR libfortran/38199 (missed optimization: I/O performance)Thomas Koenig2-2/+22
2012-04-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/38199 PR libfortran/50673 * intrinsics/string_intriniscs_inc.c (string_len_trim): Remove prototypes for string_len_trim and move to... * libgfortran.h (string_len_trim): ... here and (string_len_trim_char4): ...here. * io/unit.c: For non-array internal arrays where we do reading, adjust the record length to the last non-blank character. * io/unix.c: Fix typo. From-SVN: r186466
2012-03-26Combined get_mem and internal_malloc_size.Janne Blomqvist9-27/+29
2012-03-26 Janne Blomqvist <jb@gcc.gnu.org> * runtime/memory.c (get_mem): Rename to xmalloc, check for zero size. (internal_malloc_size): Remove. * libgfortran.h (get_mem): Rename to xmalloc. (internal_malloc_size): Remove prototype. * Makefile.am (i_iall_c): Fix dependency. (i_iany_c): Likewise. (i_iparity_c): Likewise. (i_norm2_c): Likewise. (i_parity_c): Likewise. * Makefile.in: Regenerated. * m4/parity.m4: Fix typo in comment. * generated/all_l1.c: Regenerated. * generated/all_l16.c: Regenerated. * generated/all_l2.c: Regenerated. * generated/all_l4.c: Regenerated. * generated/all_l8.c: Regenerated. * generated/any_l1.c: Regenerated. * generated/any_l16.c: Regenerated. * generated/any_l2.c: Regenerated. * generated/any_l4.c: Regenerated. * generated/any_l8.c: Regenerated. * generated/bessel_r10.c: Regenerated. * generated/bessel_r16.c: Regenerated. * generated/bessel_r4.c: Regenerated. * generated/bessel_r8.c: Regenerated. * generated/count_16_l.c: Regenerated. * generated/count_1_l.c: Regenerated. * generated/count_2_l.c: Regenerated. * generated/count_4_l.c: Regenerated. * generated/count_8_l.c: Regenerated. * generated/cshift1_16.c: Regenerated. * generated/cshift1_4.c: Regenerated. * generated/cshift1_8.c: Regenerated. * generated/eoshift1_16.c: Regenerated. * generated/eoshift1_4.c: Regenerated. * generated/eoshift1_8.c: Regenerated. * generated/eoshift3_16.c: Regenerated. * generated/eoshift3_4.c: Regenerated. * generated/eoshift3_8.c: Regenerated. * generated/iall_i1.c: Regenerated. * generated/iall_i16.c: Regenerated. * generated/iall_i2.c: Regenerated. * generated/iall_i4.c: Regenerated. * generated/iall_i8.c: Regenerated. * generated/iany_i1.c: Regenerated. * generated/iany_i16.c: Regenerated. * generated/iany_i2.c: Regenerated. * generated/iany_i4.c: Regenerated. * generated/iany_i8.c: Regenerated. * generated/in_pack_c10.c: Regenerated. * generated/in_pack_c16.c: Regenerated. * generated/in_pack_c4.c: Regenerated. * generated/in_pack_c8.c: Regenerated. * generated/in_pack_i1.c: Regenerated. * generated/in_pack_i16.c: Regenerated. * generated/in_pack_i2.c: Regenerated. * generated/in_pack_i4.c: Regenerated. * generated/in_pack_i8.c: Regenerated. * generated/in_pack_r10.c: Regenerated. * generated/in_pack_r16.c: Regenerated. * generated/in_pack_r4.c: Regenerated. * generated/in_pack_r8.c: Regenerated. * generated/iparity_i1.c: Regenerated. * generated/iparity_i16.c: Regenerated. * generated/iparity_i2.c: Regenerated. * generated/iparity_i4.c: Regenerated. * generated/iparity_i8.c: Regenerated. * generated/matmul_c10.c: Regenerated. * generated/matmul_c16.c: Regenerated. * generated/matmul_c4.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/matmul_i1.c: Regenerated. * generated/matmul_i16.c: Regenerated. * generated/matmul_i2.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_l16.c: Regenerated. * generated/matmul_l4.c: Regenerated. * generated/matmul_l8.c: Regenerated. * generated/matmul_r10.c: Regenerated. * generated/matmul_r16.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. * generated/maxloc0_16_i1.c: Regenerated. * generated/maxloc0_16_i16.c: Regenerated. * generated/maxloc0_16_i2.c: Regenerated. * generated/maxloc0_16_i4.c: Regenerated. * generated/maxloc0_16_i8.c: Regenerated. * generated/maxloc0_16_r10.c: Regenerated. * generated/maxloc0_16_r16.c: Regenerated. * generated/maxloc0_16_r4.c: Regenerated. * generated/maxloc0_16_r8.c: Regenerated. * generated/maxloc0_4_i1.c: Regenerated. * generated/maxloc0_4_i16.c: Regenerated. * generated/maxloc0_4_i2.c: Regenerated. * generated/maxloc0_4_i4.c: Regenerated. * generated/maxloc0_4_i8.c: Regenerated. * generated/maxloc0_4_r10.c: Regenerated. * generated/maxloc0_4_r16.c: Regenerated. * generated/maxloc0_4_r4.c: Regenerated. * generated/maxloc0_4_r8.c: Regenerated. * generated/maxloc0_8_i1.c: Regenerated. * generated/maxloc0_8_i16.c: Regenerated. * generated/maxloc0_8_i2.c: Regenerated. * generated/maxloc0_8_i4.c: Regenerated. * generated/maxloc0_8_i8.c: Regenerated. * generated/maxloc0_8_r10.c: Regenerated. * generated/maxloc0_8_r16.c: Regenerated. * generated/maxloc0_8_r4.c: Regenerated. * generated/maxloc0_8_r8.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/maxval_r4.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/minloc0_16_i1.c: Regenerated. * generated/minloc0_16_i16.c: Regenerated. * generated/minloc0_16_i2.c: Regenerated. * generated/minloc0_16_i4.c: Regenerated. * generated/minloc0_16_i8.c: Regenerated. * generated/minloc0_16_r10.c: Regenerated. * generated/minloc0_16_r16.c: Regenerated. * generated/minloc0_16_r4.c: Regenerated. * generated/minloc0_16_r8.c: Regenerated. * generated/minloc0_4_i1.c: Regenerated. * generated/minloc0_4_i16.c: Regenerated. * generated/minloc0_4_i2.c: Regenerated. * generated/minloc0_4_i4.c: Regenerated. * generated/minloc0_4_i8.c: Regenerated. * generated/minloc0_4_r10.c: Regenerated. * generated/minloc0_4_r16.c: Regenerated. * generated/minloc0_4_r4.c: Regenerated. * generated/minloc0_4_r8.c: Regenerated. * generated/minloc0_8_i1.c: Regenerated. * generated/minloc0_8_i16.c: Regenerated. * generated/minloc0_8_i2.c: Regenerated. * generated/minloc0_8_i4.c: Regenerated. * generated/minloc0_8_i8.c: Regenerated. * generated/minloc0_8_r10.c: Regenerated. * generated/minloc0_8_r16.c: Regenerated. * generated/minloc0_8_r4.c: Regenerated. * generated/minloc0_8_r8.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/minval_r8.c: Regenerated. * generated/norm2_r10.c: Regenerated. * generated/norm2_r16.c: Regenerated. * generated/norm2_r4.c: Regenerated. * generated/norm2_r8.c: Regenerated. * generated/pack_c10.c: Regenerated. * generated/pack_c16.c: Regenerated. * generated/pack_c4.c: Regenerated. * generated/pack_c8.c: Regenerated. * generated/pack_i1.c: Regenerated. * generated/pack_i16.c: Regenerated. * generated/pack_i2.c: Regenerated. * generated/pack_i4.c: Regenerated. * generated/pack_i8.c: Regenerated. * generated/pack_r10.c: Regenerated. * generated/pack_r16.c: Regenerated. * generated/pack_r4.c: Regenerated. * generated/pack_r8.c: Regenerated. * generated/parity_l1.c: Regenerated. * generated/parity_l16.c: Regenerated. * generated/parity_l2.c: Regenerated. * generated/parity_l4.c: Regenerated. * generated/parity_l8.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/reshape_c10.c: Regenerated. * generated/reshape_c16.c: Regenerated. * generated/reshape_c4.c: Regenerated. * generated/reshape_c8.c: Regenerated. * generated/reshape_i16.c: Regenerated. * generated/reshape_i4.c: Regenerated. * generated/reshape_i8.c: Regenerated. * generated/reshape_r10.c: Regenerated. * generated/reshape_r16.c: Regenerated. * generated/reshape_r4.c: Regenerated. * generated/reshape_r8.c: Regenerated. * generated/shape_i16.c: Regenerated. * generated/shape_i4.c: Regenerated. * generated/shape_i8.c: Regenerated. * generated/spread_c10.c: Regenerated. * generated/spread_c16.c: Regenerated. * generated/spread_c4.c: Regenerated. * generated/spread_c8.c: Regenerated. * generated/spread_i1.c: Regenerated. * generated/spread_i16.c: Regenerated. * generated/spread_i2.c: Regenerated. * generated/spread_i4.c: Regenerated. * generated/spread_i8.c: Regenerated. * generated/spread_r10.c: Regenerated. * generated/spread_r16.c: Regenerated. * generated/spread_r4.c: Regenerated. * generated/spread_r8.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/sum_r8.c: Regenerated. * generated/transpose_c10.c: Regenerated. * generated/transpose_c16.c: Regenerated. * generated/transpose_c4.c: Regenerated. * generated/transpose_c8.c: Regenerated. * generated/transpose_i16.c: Regenerated. * generated/transpose_i4.c: Regenerated. * generated/transpose_i8.c: Regenerated. * generated/transpose_r10.c: Regenerated. * generated/transpose_r16.c: Regenerated. * generated/transpose_r4.c: Regenerated. * generated/transpose_r8.c: Regenerated. * generated/unpack_c10.c: Regenerated. * generated/unpack_c16.c: Regenerated. * generated/unpack_c4.c: Regenerated. * generated/unpack_c8.c: Regenerated. * generated/unpack_i1.c: Regenerated. * generated/unpack_i16.c: Regenerated. * generated/unpack_i2.c: Regenerated. * generated/unpack_i4.c: Regenerated. * generated/unpack_i8.c: Regenerated. * generated/unpack_r10.c: Regenerated. * generated/unpack_r16.c: Regenerated. * generated/unpack_r4.c: Regenerated. * generated/unpack_r8.c: Regenerated. * intrinsics/cshift0.c: Use xmalloc. * intrinsics/ctime.c: Likewise. * intrinsics/date_and_time.c: Likewise. * intrinsics/eoshift0.c: Likewise. * intrinsics/eoshift2.c: Likewise. * intrinsics/getlog.c: Likewise. * intrinsics/pack_generic.c: Likewise. * intrinsics/reshape_generic.c: Likewise. * intrinsics/spread_generic.c: Likewise. * intrinsics/string_intrinsics_inc.c: Likewise. * intrinsics/transpose_generic.c: Likewise. * intrinsics/unpack_generic.c: Likewise. * io/fbuf.c: Likewise. * io/format.c: Likewise. * io/intrinsics.c: Likewise. * io/list_read.c: Likewise. * io/open.c: Likewise. * io/transfer.c: Likewise. * io/unit.c: Likewise. * io/unix.c: Likewise. * io/write.c: Likewise. * m4/bessel.m4: Likewise. * m4/cshift1.m4: Likewise. * m4/eoshift1.m4: Likewise. * m4/eoshift3.m4: Likewise. * m4/iforeach.m4: Likewise. * m4/ifunction.m4: Likewise. * m4/ifunction_logical.m4: Likewise. * m4/in_pack.m4: Likewise. * m4/matmul.m4: Likewise. * m4/matmull.m4: Likewise. * m4/pack.m4: Likewise. * m4/reshape.m4: Likewise. * m4/shape.m4: Likewise. * m4/spread.m4: Likewise. * m4/transpose.m4: Likewise. * m4/unpack.m4: Likewise. * runtime/convert_char.c: Likewise. * runtime/environ.c: Likewise. * runtime/in_pack_generic.c: Likewise. From-SVN: r185806
2012-03-25Use calloc instead of malloc and memset.Janne Blomqvist3-30/+11
2012-03-25 Janne Blomqvist <jb@gcc.gnu.org> * runtime/memory.c (xcalloc): New function. * libgfortran.h (xcalloc): New prototype. * io/list_read.c (push_char): Use xcalloc instead of get_mem and memset. (l_push_char): Likewise. * io/unit.c (insert_unit): Likewise. (get_internal_unit): Likewise. * io/unix.c (open_internal): Likewise. (open_internal4): Likewise. (fd_to_stream): Likewise. From-SVN: r185773
2012-03-17PR libfortran/52608 Move the removal of initial zeros.Janne Blomqvist1-6/+7
2012-03-17 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/52608 * io/write_float.def (output_float): Move removal of initial zeros until after the scale factor has been applied. From-SVN: r185486
2012-03-16Share vtables instead of replicating them for each unit.Janne Blomqvist2-54/+72
2012-03-16 Janne Blomqvist <jb@gcc.gnu.org> * io/unix.h (struct stream): Rename to stream_vtable. (struct stream): New struct definition. (sread): Dereference vtable pointer. (swrite): Likewise. (sseek): Likewise. (struncate): Likewise. (sflush): Likewise. (sclose): Likewise. * io/unix.c (raw_vtable): New variable. (buf_vtable): Likewise. (mem_vtable): Likewise. (mem4_vtable): Likewise. (raw_init): Assign vtable pointer. (buf_init): Likewise. (open_internal): Likewise. (open_internal4): Likewise. From-SVN: r185454
2012-03-15Remove commented out debug printf:sJanne Blomqvist1-5/+0
From-SVN: r185444