summaryrefslogtreecommitdiffstats
path: root/libgfortran/io
Commit message (Collapse)AuthorAgeFilesLines
...
* 2008-11-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-11-211-1/+4
| | | | | | | | | PR libfortran/37472 * io/write_float.def (output_float_FMT_G_): Adjust conversion of G format specification to F format. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142079 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-11-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-11-163-11/+6
| | | | | | | | | | | PR libfortran/38097 * io/read.c (read_f): Initialize exponent. Fix comment. Set loop conditions for BZ/BN. * io/unit.c (get_internal_unit): Initialize flags.blank. * io/transfer.c (data_transfer_init): Fix whitespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141919 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-11-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-11-151-1/+30
| | | | | | | | | | PR libfortran/37294 * io/write.c (namelist_write_newline): Use array loop specification to advance to next internal array unit record. (namelist_write): Adjust to accomodate the internal array unit behavior. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141892 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-10-22 Jerry DeLisle <jvdelisle@gcc.gnu.orgjvdelisle2008-10-232-59/+3
| | | | | | | | | | | PR libfortran/37707 * io/list_read.c (read_character): Remove code to look ahead in namelist reads to descriminate non-delimited strings from namelist objects. * io/write.c (namelist_write): Delimit character strings with quote or apostrophe, defaulting to quote. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141317 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-10-19 Jerry DeLisle <jvdelisle@gcc.gnu.orgjvdelisle2008-10-191-0/+16
| | | | | | | | | PR libfortran/37834 * io/write_float.def (output_float): Emit '0.' for special case of format specifier 'f0.0' and value of zero. Likewise emit '0' for 'f1.0'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141231 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.orgjvdelisle2008-10-182-2/+2
| | | | | | | | | PR libfortran/37707 * io/write_float.def (WRITE_FLOAT): Round to 1.0 correctly. * io/io.h (st_parameter_44): Fix id type declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141207 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-10-16 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2008-10-162-40/+47
| | | | | | | | | | | | | | | | | | * io/file_pos.c (unformatted_backspace): Normal case is GFC_CONVERT_NATIVE. * io/transfer.c (read_sf): Mark paths leading to generate_error() as unlikely. (readl_block_form): Likewise. (read_block_direct): Likewise. (write_block): Likewise. (write_buf): Likewise. (us_read): Likewise. Normal case is GFC_CONVERT_NATIVE. (next_record_w_unf): Mark paths leading to generate_error() as unlikely. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141179 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-10-13 Jerry DeLisle <jvdelisle@gcc.gnu.orgjvdelisle2008-10-141-8/+10
| | | | | | | | | PR libfortran/37083 * io/list_read.c (next_char): Simplify EOF tests and set endfile flag. (finish_list_read): Add EOF check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141101 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-10-09 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2008-10-091-4/+4
| | | | | | | | | | | | | | | | | PR libfortran/37753 * io/transfer.c (unformatted_read): CONVERT_NATIVE is the usual case. Check for kind==1 for non-byte-reversing operation. (unformatted_write): Likewise. 2008-10-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/37753 * gfortran.dg/convert_2.f90: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141008 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-10-08 Jerry DeLisle <jvdelisle@gcc.gnu.orgjvdelisle2008-10-091-0/+3
| | | | | | | | | | PR libfortran/37707 * io/list_read.c (nml_get_obj_data): If the first namelist object rank is greater than zero, call nml_object_read with the first object rather than the sub-object. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140995 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-09-25 Jerry DeLisle <jvdelisle@gcc.gnu.orgjvdelisle2008-09-267-266/+208
| | | | | | | | | | | | | | | | | | | | | | | PR libfortran/37498 * list_read.c (eat_separator): Revert previous patch and move delim_status, decimal_status, and pad_status to gfc_unit. (parse_real): Ditto. (read_real): Ditto. * read.c (read_a): Likewise. (read_a_char4): Likewise. (read_f): Likewise. * inquire.c (inquire_via_unit): Add missing check for IOPARM_INQUIRE_HAS_FLAGS2. (inquire_via_filename): Likewise. * io.h (unit_sign_s): Move delim_status, decimal_status, and pad_status to gfc_unit. * transfer.c (read_sf): Ditto. (read_block_form): Ditto. (formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto. * write.c (write_default_char4): Ditto. (write_utf8_char4): Ditto. (write_character): Ditto. (write_real_g0): Ditto. (list_formatted_write_scalar): Ditto. (nml_write_obj): Ditto. (namelist_write): Ditto. * write_float.def (calculate_sign): Ditto. (output_float): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140684 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-09-22 Jerry DeLisle <jvdelisle@gcc.gnu.orgjvdelisle2008-09-237-236/+407
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/37498 * trans-io.c (gfc_build_io_library_fndecls): Bump pad size. (build_dt): Set mask bit for IOPARM_dt_f2003. * ioparm.def: Add IOPARM_dt_f2003. 2008-09-22 Jerry DeLisle <jvdelisle@gcc.gnu.org PR libfortran/37498 * file_pos (st_endfile): Clear memory only for libfortran 4.3 private area. * list_read.c (eat_separator): Only access F2003 I/O parameters if IOPARM_DT_HAS_F2003 bit is set. (parse_real): Ditto. (read_real): Ditto. * read.c (read_a): Likewise. (read_a_char4): Likewise though not strictly necessary. (read_f): Likewise. * io.h (unit_sign_s): New enumerator to allow duplication of st_parameter structures. (IOPARM_DT_HAS_F2003): New mask bit. (st_parameter_43): New structure copied from 4.3 version of st_paramater_dt private section. (st_parameter_44): New structure with F2003 items added. (st_parameter_dt): Modified to create union of new and old structures to allow correct memory setting for 4.3 ABI compatibility. Bumped the pad size. * transfer.c (read_sf): Do not use F2003 I/O memory areas unless IOPARM_DT_HAS_F2003 bit has been set. (read_block_form): Ditto. (formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto and add comment, fix formatting. * write.c (write_default_char4): Likewise though not strictly necessary. (write_utf8_char4): Ditto. (write_character): Ditto. (write_real_g0): Ditto. (list_formatted_write_scalar): Ditto. (nml_write_obj): Ditto. (namelist_write): Ditto. * write_float.def (calculate_sign): Eliminate warning by including all cases in switch. (output_float): Output only decimal point of F2003 flag is not set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140576 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>domob2008-09-024-23/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/37228 * io.c (check_format): Allow specifying precision with g0 format. 2008-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/37301 PR libfortran/37228 * io/io.h (write_real_g0): Declare new function to handle g0.d format. * io/transfer.c (formatted_transfer_scalar): Use new function. * io/format.c (parse_format_list): Enable g0.d. * io/write.c (write_a_char4): Delete unused var. (set_fnode_default): New function to set the default fnode w, d, and e factored from write_real. (write_real): Use new factored function. (write_real_g0): New function that sets d to that passed by g0.d format specifier and set format to ES. Default values for w and e are used from the new function, set_fnode_default. 2008-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/37228 * gfortran.dg/fmt_g0_4.f08: Revised test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139886 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-08-311-16/+24
| | | | | | | | | | | PR libfortran/36895 * io/write.c (namelist_write_newline): New function to correctly mark next records in both external and internal units. (nml_write_obj): Use new function. (namelist_write: Use new function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139813 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-19 Tobias Burnus <burnus@net-b.de>burnus2008-08-191-0/+1
| | | | | | | | | | PR libfortran/35863 * io/write.c (write_a_char4): Add missing variable declaration in HAVE_CRLF block. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139223 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-08-162-107/+385
| | | | | | | | | | | | | | | | | | | | | PR libfortran/35863 * intrinsics/selected_char_kind.c: Enable iso_10646. * io/read.c (typedef uchar): New type. (read_utf8): New function to read a single UTF-8 encoded character. (read_utf8_char1): New function to read UTF-8 into a KIND=1 string. (read_default_char1): New functio to read default into KIND=1 string. (read_utf8_char4): New function to read UTF-8 into a KIND=4 string. (read_default_char4): New function to read UTF-8 into a KIND=4 string. (read_a): Modify to use the new functions. (read_a_char4): Modify to use the new functions. * io/write.c (error.h): Add include. (typedef uchar): New type. (write_default_char4): New function to default write KIND=4 string. (write_utf8_char4): New function to UTF-8 write KIND=4 string. (write_a_char4): Modify to use new functions. (write_character): Modify to use new functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139147 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-07-231-1/+1
| | | | | | | | | PR fortran/36852 * io/list_read.c: If variable rank is zero, do not adjust the found namelist object pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138072 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-22 Daniel Kraft <d@domob.eu>domob2008-07-221-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/29835 * io.c (error_element), (format_locus): New static globals. (unexpected_element): Spelled out this message fully. (next_char): Keep track of locus when not MODE_STRING. (next_char_not_space): Remember last parsed element in error_element. (format_lex): Fix two indentation errors. (check_format): Use format_locus and possibly error_element for a slightly better error message on invalid format. (check_format_string): Set format_locus to start of the string expression used as format. 2008-07-22 Daniel Kraft <d@domob.eu> PR fortran/29835 * io/format.c (struct format_data): New member error_element. (unexpected_element): Added '%c' to message. (next_char): Keep track of last parsed character in fmt->error_element. (format_error): If the message is unexpected_element, output the offending character, too. 2008-07-22 Daniel Kraft <d@domob.eu> PR fortran/29835 * gfortran.dg/fmt_error_3.f90: New test. * gfortran.dg/fmt_error_4.f90: New test. * gfortran.dg/fmt_error_5.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138063 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-22 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2008-07-221-1/+1
| | | | | | | | | | PR libfortran/36890 * io/file_pos.c: Declare READ_CHUNK as signed to avoid signed/unsigned comparison warning in formatted_backspace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138050 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-07-211-25/+28
| | | | | | | | | PR fortran/36857 * io/write_float.def: Comment out locale dependent code and fix general comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138021 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-07-021-2/+2
| | | | | | | | PR fortran/36676 * io/list_read.c (find_nml_name): Use eat_separator instead of eat_line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137334 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-06-281-3/+4
| | | | | | | | | PR fortran/36657 * io/list_read.c (read_character): Check for '!' along with separators. (find_nml_name): Likewise and eat the comment if found. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137236 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-06-171-1/+1
| | | | | | | | | PR fortran/36546 * io/list_read.c (eat_separator): Add tab character to condition for looping past whitespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136859 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-06-151-2/+2
| | | | | | | | | | | | PR fortran/36515 * libgfortran.h (compile_options_t): Add int range_check to structure. * runtime/compile_options.c (set_options): Add range_check option. (init_compile_options): Likewise. *io/read.c (read_decimal): Change overflow checks to include range_check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136822 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-06-141-0/+2
| | | | | | | | | PR fortran/36538 * io/list_read.c (namelist_read): Add eat_separator to eliminate leading tabs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136776 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-06-138-119/+378
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/35863 * libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off. * runtime/main.c: Fix error in comment. Change l8_to_l4_offset to big_endian. (determine_endianness): Add endian_off and set its value according to big_endian. * gfortran.map: Add symbol for new _gfortran_transfer_character_wide. * io/io.h: Add prototype declarations for new functions. * io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4. (list_formatted_read): Calculate stride based on kind for character type and use it when calling list_formatted_read_scalar. * io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian. * io/open.c (st_open): Change l8_to_l4_offset to big_endian. * io/read.c (read_a_char4): New function to handle formatted read. * io/write.c: Define GFC_CHAR4(x) to improve readability of code. (write_a_char4): New function to handle formatted write. (write_character): Modify to accept the kind parameter and adjust for endianess of the machine. (list_formatted_write): Calculate the stride resulting from the kind and adjust the list_formatted_write_scalar call accordingly. (nml_write_obj): Adjust calls to write_character. (namelist_write): Likewise. * io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to 'kind' argument to better describe what it is. Add calls to new functions for kind == 4. (formatted_transfer): Modify to handle the case of type character and kind equals 4 to pass in the kind to the transfer routines. (transfer_character_wide): Add this new function. (transfer_array): Don't set kind to the character string length. Adjust strides bases on character kind. (unformatted_read): Adjust size based on kind for character types. (unformatted_write): Likewise. (data_transfer_init): Change l8_to_l4_offset to big_endian. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136763 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-06-074-11/+38
| | | | | | | | | | | | | | | | | | | | PR libfortran/36420 PR libfortran/36421 PR libfortran/36422 * io/io.h: Add prototype for write_real. * io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero, use write_real. * io/format.c: Add zero width error message. (parse_format_list): Use error message for FMT_A if followed by FMT_ZERO. Use zero width error message for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0): Fix typo in comment. * io/write.c (write_a): Set wlen to len if FMT_G and length is zero. (write_l): Add wlen variable and use it if FMT_G and width is zero. (write_decimal): If FMT_G, set m to -1 to flag processor dependent formatting. (write_real): Remove static declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136545 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-17 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2008-05-171-2/+2
| | | | | | | | | * io/list_read.c (list_formatted_read_scalar): Declare type as volatile to shut up compiler warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135480 138bc75d-0d04-0410-961f-82ee72b054a4
* Part 1.1 of PR25561.jb2008-05-163-29/+67
| | | | | | | | | | | | | | | | | | | | 2008-05-15 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/25561 * io/io.h (struct fbuf): Change pointer to position offset. * io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos changes. (fbuf_reset): ptr=>pos changes. (fbuf_alloc): If the request doesn't fit, don't waste memory by keeping flushed bytes. ptr=>pos changes. (fbuf_flush): ptr=>pos changes. (fbuf_seek): Don't seek past the left tab limit, don't update active byte count. * io/open.c (new_unit): If RECL has been specified, used that as initial buffer size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135433 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix fallout from part 1 of PR25561 patch.jb2008-05-161-1/+1
| | | | | | | | | | 2008-05-16 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/35632 * io/open.c (new_unit): Set stream position to correct value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135432 138bc75d-0d04-0410-961f-82ee72b054a4
* Part 1 of PR25561, fix compile warnings forgotten in actual commit.jb2008-05-152-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135379 138bc75d-0d04-0410-961f-82ee72b054a4
* Add fbuf.cjb2008-05-151-0/+132
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135376 138bc75d-0d04-0410-961f-82ee72b054a4
* Part 1 of PR 25561.jb2008-05-158-297/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-05-15 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/25561 * Makefile.am: Add fbuf.c to gfor_io_src. * Makefile.in: Regenerate. * io/io.h (read_block): Remove. (struct stream): Remove alloc_r_at function pointer. (salloc_r): Remove. (salloc_r_at): Remove. (salloc_w_at): Remove. (salloc_w): Remove offset argument. (struct fbuf): New struct for format buffer. (struct gfc_unit): Add fbuf. (read_block_form): New prototype. (fbuf_init): Likewise. (fbuf_destroy): Likewise. (fbuf_reset): Likewise. (fbuf_alloc): Likewise. (fbuf_flush): Likewise. (fbuf_seek): Likewise. * io/file_pos.c (formatted_backspace): Change to use sread. (unformatted_backspace): Likewise. (st_backspace): Flush format buffer. (st_rewind): Likewise. * io/list_read.c (next_char): Likewise. (nml_query): Tidying, flush format buffer. * io/open.c (new_unit): Init format buffer. * io/read.c (read_l): Change to use read_block_form. (read_a): Likewise. (read_decimal): Likewise. (read_radix): Likewise. (read_f): Likewise. (read_x): Empty reads also for stream I/O. * io/transfer.c (read_sf): Change to use sread. (read_block): Rename to read_block_form, change prototype, use sread. (read_block_direct): Don't seek stream files. (write_block): Change to use fbuf if external file, don't seek stream files. (write_buf): Don't seek stream files. (formatted_transfer_scalar): Use fbuf for external files. (us_read): Change to use sread. (pre_position): Do nothing for stream I/O. (data_transfer_init): Flush fbuf when switching from write to read, if POS is specified, seek stream file to correct offset. (skip_record): Change to use sread. (min_off): New function. (next_record_r): Change to use sread. (next_record_w): Change to use sset/sseek, flush fbuf. (finalize_transfer): Flush fbuf. * io/unit.c (init_units): Init fbuf for stdout, stderr. (close_unit_1): Destroy fbuf. (finish_last_advance_record): Flush fbuf, no need to seek. * io/unix.c (fd_alloc_r_at): Remove unused where argument. (fd_alloc_w_at): Likewise. (fd_read): Remove third argument to fd_alloc_r_at. (fd_write): Remove third argument to fd_alloc_w_at. (fd_sset): Likewise. (fd_open): Don't set alloc_r_at. (mem_alloc_r_at): Remove unused where argument. (mem_alloc_w_at): Likewise. (mem_read): Don't incorrectly return previous errno, remove unused third argument to alloc function. (mem_write): Likewise. (mem_set): Likewise. (open_internal): Don't set alloc_r_at pointer. * io/fbuf.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135373 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-05-111-12/+4
| | | | | | | | PR libfortran/36202 * io/list_read (eat_separator): Handle the CR-LF case correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135177 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-05-061-7/+1
| | | | | | | | | PR libfortran/36131 * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974. (next_record_w): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134973 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-05-021-1/+1
| | | | | | | | | | PR libfortran/36094 * runtime/error.c (show_locus): Provide modified error message when filename has not yet been associated with a unit number. * io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134876 138bc75d-0d04-0410-961f-82ee72b054a4
* * io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.jakub2008-04-091-36/+49
| | | | | | | | | | | | | | | | | | (nml_read_obj): Add nml_err_msg_size argument. Pass it down to recursive call. Use snprintf instead of sprintf when %s nl->var_name is used. (nml_get_obj_data): Add nml_err_msg_size argument. Pass it down to nml_read_obj call. Use snprintf instead of sprintf when %s nl->var_name is used. Pass nml_err_msg to nml_parse_qualifier instead of parse_err_msg array. Append " for namelist variable " and nl->var_name to it. (namelist_read): Increase size of nml_err_msg array to 200. Pass sizeof nml_err_msg as extra argument to nml_get_obj_data. * gfortran.dg/namelist_47.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134132 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-04-078-31/+234
| | | | | | | | | | | | | | | | | | | | | | | | PR fortran/25829 28655 * io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async and flags.status. (st_open): Initialize flags.async. * io/list_read.c (read_charactor): Use delim_status instead of flags.delim. * io/read.c (read_x): Use pad_status instead of flags.pad. * io/inquire.c (inquire_via_unit): Add new checks. (inquire_via_filename): Likewise. * io/io.h (st_parameter_inquire): Add new flags. (st_parameter_dt): Likewise. * io/unit.c (get_internal_unit): Set flags.async. (init_units): Set flags.async. * io/transfer.c: Add delim and pad option arrays. (read_sf): Use pad_status instead of flags.pad. (read_block): Likewise. (data_transfer_init): Set flags.async and add checks. * io/write.c (write_character): Use delim_status. (list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise. (namelist_write): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133988 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-04-0510-104/+472
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/25829 28655 * gfortran.map: Add new symbol, _gfortran_st_wait. * libgfortran.h (st_paramter_common): Add new I/O parameters. * open.c (st_option decimal_opt[], st_option encoding_opt[], st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New parameter option arrays. (edit_modes): Add checks for new parameters. (new_unit): Likewise. (st_open): Likewise. * list_read.c (CASE_SEPERATORS): Add ';' as a valid separator. (eat_separator): Handle deimal comma. (read_logical): Fix whitespace. (parse_real): Handle decimal comma. (read_real): Handle decimal comma. * read.c (read_a): Use decimal status flag to allow comma in place of a decimal point. (read_f): Allow comma as acceptable character in float. According to decimal flag, substitute a period for a comma. (read_x): If decimal status flag is comma, disable the read_comma flag, not allowing comma as a delimiter, an extension otherwise. * io.h: (unit_decimal, unit_encoding, unit_round, unit_sign, unit_async): New enumerators. Add all new I/O parameters. * unix.c (unix_stream, int_stream): Add io_mode asychronous I/O control. (move_pos_offset, fd_alloc_w_at): Fix some whitespace. (fd_sfree): Use new enumerator. (fd_read): Likewise. (fd_write): Likewise. (fd_close): Fix whitespace. (fd_open): Use new enumertors. (tempfile, regular_file, open_external): Fix whitespace. (output_stream, error_stream): Set method. (stream_offset): Fix whitespace. * transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New option arrays. (formatted_transfer_scalar): Set sf_read_comma flag based on new decimal_status flag. (data_transfer_init): Initialize new parameters. Add checks for decimal, sign, and blank. (st_wait): New stub. * format.c: (format_lex): Add format specifiers DP, DC, and D. (parse_format_list): Parse the new specifiers. * write.c (write_decimal): Use new sign enumerators to set the sign. (write_complex): Handle decimal comma and semi-colon separator. (nml_write_obj): Likewise. * write_float.def: Revise sign enumerators. (calculate_sign): Use new sign enumerators. (output_float): Likewise. Use new decimal_status flag to set the decimal character to a point or a comma. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133943 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-03-281-6/+8
| | | | | | | | | | PR libfortran/35699 * io/transfer.c (write_buf): Don't pad the record, just return if the data is NULL. (next_record_w): If there are bytes left in the record for unformatted direct I/O, pad out the record with zero bytes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133699 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-03-271-1/+1
| | | | | | | * io/unix.c (fd_close): Do not close STDIN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133630 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-03-221-3/+5
| | | | | | | | | | PR libfortran/35632 * io/transfer.c (data_transfer_init): Fix whitespace. (next_record_w): Truncate the file only if the stream position is short of the file end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133454 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-03-201-8/+8
| | | | | | | | | | | | | | PR libfortran/35627 * io/list_read.c (free_line): Clear the line buffer enable flag and reset the index into line_buffer, aka item_count. (next_char): Cleanup whitespace. (read_logical): Use unget_char to assure that the first character of the bad logical is saved in case it is part of an object name. Remove the clearing of index and flag that is now in free_line. (read_real): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133360 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-03-181-0/+5
| | | | | | | | | PR libfortran/35617 * io/list_read.c (eat_separator): If next character after eatline is '!' then eatline again. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133302 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/35293hp2008-03-051-6/+18
| | | | | | | | | | | * io/unix.c (fd_truncate): Fold s->special_file case into success case of ftruncate/chsize call instead of the failure case. Make failure case actually return failure. Properly update stream pointers on failure. Call runtime_error for targets without neither ftruncate nor chsize where such a call would be needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132888 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:jb2008-03-011-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-03-01 Janne Blomqvist <jb@gcc.gnu.org> PR gcc/35063 * gthr.h: Add __gthread_mutex_destroy as a function that must be implemented. * gthr-vxworks.h (__gthread_mutex_destroy): Null implementation. * gthr-single.h (__gthread_mutex_destroy): Likewise. * gthr-rtems.h (__gthread_mutex_destroy): Likewise. * gthr-mipssde.h (__gthread_mutex_destroy): Likewise. * gthr-nks.h (__gthread_mutex_destroy): Likewise. * gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy. * gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove. (__gthread_mutex_destroy_function): Rename to __gthread_mutex_destroy. * gthr-dce.h (__gthread_mutex_destroy): Call pthread_mutex_destroy. * gthr-tpf.h (__gthread_mutex_destroy): Likewise. * gthr-posix.h (__gthread_mutex_destroy): Likewise. * gthr-posix95.h (__gthread_mutex_destroy): Likewise. libgfortran: 2008-03-01 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/35063 * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy instead of macro kludge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132800 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-02-211-3/+14
| | | | | | | | | | | | | | | | | PR libfortran/35132 * io/transfer.c (next_record_w): Truncate after the last record for STREAM I/O. PR libfortran/34954 * io/transfer.c (data_transfer_init): Initialize dtp->rec if writing. PR libfortran/34974 * io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips is less than zero. (next_record_w): Use sseek to position the file to the max position reached. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132512 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-02-211-0/+13
| | | | | | | | | PR libfortran/35036 * write_float.def (output_float): Add error checks for zero digits after decimal point in E and D format specifiers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132510 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-02-10 Danny Smith <dannysmith@users.sourceforge.net>jvdelisle2008-02-101-8/+28
| | | | | | | | | | | | | | | | | | | | PR gcc/35063 * gthr-win32.h (__gthread_mutex_destroy_function): New function to CloseHandle after unlocking to prevent accumulation of handle count. 2008-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/35063 * io/unit.c (destroy_unit_mutex): New function that uses __gthread_mutex_destroy_function or pthread_mutex_destroy after unlocking and before free_mem for final closure of I/O unit. (delete_root): Use new function. (free_internal_unit): Likewise. (close_unit_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132217 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-01-26 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2008-01-261-13/+10
| | | | | | | | | | | | | | | | PR libfofortran/34887 * io/transfer.c (next_record_w): Always move to the farthest position when completing the record (also when we are processing a slash edit descriptor). 2008-01-26 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfofortran/34887 * gfortran.dg/x_slash_2.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131864 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud