OSDN Git Service

3f8fddd862b5b09c89fc1815760d073923ca0d3e
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2010-07-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2
3         PR libfortran/37077
4         * io/read.c (read_default_char4): Add support for reading into a
5         kind-4 character variable from a character(kind=4) internal unit.
6         * io/io.h (read_block_form4): Add prototype.
7         * io/unit.c (get_internal_unit): Add call to fbuf_init.
8         (free_internal_unit): Add call to fbuf_destroy. (get_unit): Fix
9         whitespace.
10         * io/transfer.c (read_sf_internal): Use fbuf_alloc to allocate a string
11         to recieve the wide characters translated to single byte chracters.
12         (read_block_form): Fix whitespace. (read_block_form4): New function to
13         read from a character(kind=4) internal unit into a character(kind=4)
14         variable. (read_block_direct): Fix whitespace. (write_block): Fix
15         whitespace. (formatted_transfer_scalar_read): Likewise.
16         (formatted_transfer_scalar_write): Likewise.
17         * io/write.c (write_character): Add support for list directed write of
18         a kind=1 character string to a character(kind=4) internal unit.
19
20 2010-07-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
21
22         PR libfortran/44934
23         * io/file_pos.c (st_endfile): Correctly set unit flags for form.
24         * io/transfer.c (data_transfer_init): Fix indentation of whitespace.
25
26 2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
27
28         PR libfortran/37077
29         * io/read.c: Fix comment.
30         * io/io.h (is_char4_unit): New macro.
31         * io/unit.c (get_internal_unit): Call new function open_internal4.
32         * io/unix.c (mem_alloc_r4): New function. (mem_alloc_w4): New function.
33         (mem_read4): New function, temporary stub. (mem_write4): New function.
34         (open_internal4): New function to set stream pointers to use the new
35         mem functions.
36         * io/transfer.c (write_block): Use new mem_alloc_w4 to access internal
37         units of kind=4.
38         * io/unix.h: Add prototypes for open_internal4, mem_alloc_w4, and
39         mem_alloc_r4.
40         * io/write.c (memset4): New helper function. (memcpy4): New helper
41         function. (write_default_char4): Use new helper functions.
42         (write_a): Likewise. (write_l): Likewise. (write_boz): Likewise.
43         (write_decimal): Likewise. (write_x): Likewise.
44         (write_integer): Likewise.
45         * io/write_float.def (output_float): Add code blocks to handle internal
46         unit kind=4 output utilizing gfc_char4_t pointers. (write_infnan): Use
47         new helper functions. (OUTPUT_FLOAT_FMT_G): Update this macro likewise.
48
49 2010-07-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
50
51         * config/fpu-387.h [__sun__ && __svr4__] Include <signal.h>,
52         <ucontext.h>.
53         (sigill_caught): New.
54         (sigill_hdlr): New function
55         (has_sse) [__sun__ && __svr4__]: Check if SSE instruction causes
56         SIGILL.
57
58 2010-07-11  Kai Tietz  <kai.tietz@onevision.com>
59
60         PR libfortran/44698
61         * io/unix.c (flush_buf): Add _commit for WIN32.
62
63 2010-06-28  Tobias Burnus  <burnus@net-b.de>
64
65         PR fortran/43298
66         * list_read.c (parse_real): Do not pass (..) on for NAN(..).
67         * read.c (convert_real): Fix comment about NAN/INF.
68
69 2010-07-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
70
71         * configure.ac (gfortran_use_symver): Only check for Sun-style symbol
72         versioning on Solaris 2.
73         * configure: Regenerate.
74
75 2010-07-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
76
77         * configure.ac: Check for Sun symbol versioning.
78         * configure: Regenerate.
79
80         * Makefile.am [LIBGFOR_USE_SYMVER]: Protect version_arg with
81         LIBGFOR_USE_SYMVER_GNU.
82         Add version_dep.
83         [LIBGFOR_USE_SYMVER_SUN]: Handle Sun symbol versioning.
84         [!LIBGFOR_USE_SYMVER]: Add version_dep.
85         (libgfortran_la_DEPENDENCIES): Set to $(version_dep).
86         * Makefile.in: Regenerate.
87
88 2010-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
89
90         PR libfortran/43298
91         * io/read.c: Add code to parse and read Inf, Infinity, NaN, and Nan with
92         optional parenthesis.
93
94 2010-06-28  Tobias Burnus  <burnus@net-b.de>
95
96         PR fortran/43298
97         * list_read.c (parse_real, read_real): Support NAN(alphanum).
98
99 2010-06-25  Tobias Burnus  <burnus@net-b.de>
100
101         * intrinsics/selected_real_kind.f90
102         (_gfortran_selected_real_kind2008): Add function.
103         (_gfortran_selected_real_kind): Stub which calls
104         _gfortran_selected_real_kind2008.
105         * gfortran.map (GFORTRAN_1.4): Add
106         _gfortran_selected_real_kind2008.
107         * mk-srk-inc.sh: Save also RADIX.
108
109 2010-06-25  Tobias Burnus  <burnus@net-b.de>
110
111         * runtime/compile_options.c (init_compile_options): Update
112         compile_options.allow_std for GFC_STD_F2008_OBS.
113         * io/transfer.c (formatted_transfer_scalar_read,
114         formatted_transfer_scalar_write): Fix allow_std check.
115         * io/list_read.c (nml_parse_qualifier): Ditto.
116
117 2010-06-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
118
119         PR libfortran/44477
120         * io/file_pos.c (st_endfile): Add check for ENDFILE when file is
121         already positioned after the EOF marker. Use find_or_create_unit
122         instead of find_unit. If unit is not connected, connect it and create 
123         the file with default settings.
124         * io/transfer.c (data_transfer_init):  Add check for attempted READ or
125         WRITE when file is already positioned after the EOF marker.
126
127 2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
128
129         * intrinsics/selected_char_kind.c (selected_char_kind): Fix
130         return value for ISO_10646.
131
132 2010-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
133
134         * mk-kinds-h.sh: Define GFC_REAL_*_LITERAL_SUFFIX and
135         GFC_REAL_*_LITERAL macros for each kind.
136         * intrinsics/cpu_time.c (cpu_time_4, cpu_time_8, cpu_time_10,
137         cpu_time_16): Use them.
138         * intrinsics/random.c (rnumber_4, rnumber_8, rnumber_10,
139         rnumber_16): Likewise.
140
141 2010-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
142
143         * intrinsics/system_clock.c (system_clock_4, system_clock_8):
144         Undefine TCK.
145
146 2010-06-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
147
148         PR libfortran/34670
149         * intrinsics/date_and_time.c:  Replace assert with runtime_error
150         when VALUE is too small.
151
152 2010-05-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
153
154         PR fortran/43851
155         * runtime/stop.c (stop_string): Make sure nothing is emitted for
156         blank stop.
157
158 2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
159
160         PR fortran/43851
161         * runtime/stop.c (error_stop_numeric): New function and updated comment.
162         Add declaration for stop_numeric and remove declaration for stop_string.
163         (stop_string): Use for blank STOP.
164         (stop_numeric): Remove use of special -1 stop code.
165         * runtime/pause.c (do_pause): Use stop_string for blank stop.
166         (pause_numeric): Remove use of special -1 pause code.
167         * gfortran.map: Add new symbol to run-time library.
168         * libgfortran.h: Move declaration for stop_string to here to make
169         function visible for do_pause. Remove declaration for stop_numeric.
170
171 2010-05-08  Janne Blomqvist  <jb@gcc.gnu.org>
172
173         * io/unix.h (mem_alloc_r): Fix typo to reduce visibility.
174
175 2010-05-07  Janne Blomqvist  <jb@gcc.gnu.org>
176
177         * libgfortran.h (free_mem): Remove prototype.
178         * runtime/memory.c (free_mem): Remove function.
179         * intrinsics/date_and_time.c (secnds): Replace free_mem() with
180         free().
181         * io/fbuf.c (fbuf_destroy): Likewise.
182         * io/format.c (free_format_hash_table): Likewise.
183         (save_parsed_format): Likewise.
184         (free_format_data): Likewise.
185         * io/list_read.c (free_saved): Likewise.
186         (free_line): Likewise.
187         (nml_touch_nodes): Likewise.
188         (nml_read_obj): Likewise
189         * io/lock.c (free_ionml): Likewise.
190         * io/open.c (new_unit): Likewise.
191         (already_open): Likewise.
192         * io/unit.c (destroy_unit_mutex): Likewise.
193         (free_internal_unit): Likewise.
194         (close_unit_1): Likewise.
195         * io/unix.c (raw_close): Likewise.
196         (buf_close): Likewise.
197         (mem_close): Likewise.
198         (tempfile): Likewise.
199         * io/write.c (nml_write_obj): Likewise.
200         * io/write_float.def (output_float_FMT_G_##): Likewise.
201         * runtime/error.c (show_locus): Likewise.
202
203 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
204
205         PR other/43620
206         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
207         * configure: Regenerate.
208         * Makefile.in: Regenerate.
209
210 2010-04-30  Kai Tietz  <kai.tietz@onevision.com>
211
212         PR/43844
213         * io/unix.c (raw_truncate): Explicit cast from integer-scalar
214         to pointer.
215         (tempfile): Use for mingw GetTempPath and avoid double slash
216         for path.
217
218 2010-04-24  Kai Tietz  <kai.tietz@onevision.com>
219
220         PR/43844
221         * io/unix.c (tempfile): Correct logic for mktemp case.
222
223 2010-04-06  Tobias Burnus  <burnus@net-b.de>
224
225         PR fortran/39997
226         * runtime/stop.c (error_stop_string): New function.
227         * gfortran.map (_gfortran_error_stop_string): Add.
228
229 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
230
231         * Makefile.in: Regenerate.
232         * aclocal.m4: Regenerate.
233
234 2010-04-01  Janne Blomqvist  <jb@gcc.gnu.org>
235
236         PR libfortran/43605
237         * io/intrinsics.c (gf_ftell): New function, seek to correct offset.
238         (ftell): Call gf_ftell.
239         (FTELL_SUB): Likewise.
240
241 2010-04-01  Paul Thomas  <pault@gcc.gnu.org>
242
243         * io/transfer.c : Update copyright.
244         * io/unix.c : ditto
245         * io/read.c : ditto
246         * io/io.h : ditto
247         * io/unix.h : ditto
248         * io/inquire.c : ditto
249         * io/format.c : ditto
250         * io/list_read.c : ditto
251         * runtime/error.c : ditto
252         * libgfortran.h : ditto
253         * intrinsics/date_and_time.c: ditto
254         * intrinsics/args.c : ditto
255
256 2010-04-01  Janne Blomqvist  <jb@gcc.gnu.org>
257
258         PR libfortran/43605
259         * io/intrinsics.c (ftell): Reset fbuf, correct offset.
260         (FTELL_SUB): Likewise.
261
262 2010-03-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
263
264         PR libfortran/43265
265         * io/transfer.c (next_record_r): Only call hit_eof for specific
266         conditions when an EOF is encountered.
267
268 2010-03-29  Tobias Burnus  <burnus@net-b.de>
269
270         PR fortran/43551
271         * io/unix.c (buf_write): Set physical_offset after lseek.
272
273 2010-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
274
275         PR libfortran/43517
276         * io/read.c (read_x): Return if seen EOR condition.
277
278 2010-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
279
280         PR fortran/43409
281         * io/io.h: Fix type of size in st_parameter_inquire structure.
282
283 2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
284
285         PR fortran/43409
286         * io/unix.h: Add prototype for new function to return file size.
287         * io/unix.c (file_size): New function.
288         * io/inquire.c (inquire_via_unit): Use new function.
289         (inquire_via_filename): Use new function.
290
291 2010-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
292
293         * io/transfer.c (read_sf_internal): Remove stray function declaration
294         used during debugging.
295
296 2010-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
297
298         PR libfortran/43265
299         * io/io.h: Delete prototype for read_sf, making it static.
300         * io/read.c (read_x): Modify to call hit_eof if PAD="no".
301         * io/transfer.c (read_sf_internal): New static function extracted from
302         read_sf for use on internal units only. Handle empty string case.
303         (read_sf): New factoring of this function, make it static.  Add special
304         conditions for EOF based on ADVANCE="no", PAD="no", and whether any
305         bytes have been previously read from the record.
306         (read_block_form): Modify to call read_sf or read_sf_internal.
307         (next_record_r): Add a done flag similar to next_record_w. Call hit_eof
308         if internal array unit next record returns finished, meaning an EOF was
309         found and not done, ie not the last record expected.  For external
310         units call hit_eof if item_count is 1 or there are no pending spaces.
311         (next_record): Update call to next_record_r.
312
313 2010-03-12  Kai Tietz  <kai.tietz@onevision.com>
314
315         PR/42950
316         * io/format.c (parse_format_list): Add to ERROR, WARNING,
317         SILENT enumerators NOTIFICATION_ prefix.
318         * runtime/error.c (notification_std): Likewise.
319         * libgfortran.h (notification): Likewise.
320         (GFC_LARGEST_BUF): Check for HAVE_GFC_INTEGER_16.
321
322 2010-03-11  Tobias Burnus  <burnus@net-b.de>
323
324         PR fortran/43228
325         * io/list_read.c (nml_parse_qualifier): Disable expanded_read
326         for array sections.
327
328 2010-03-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
329
330         PR libfortran/43320
331         * io/transfer.c (next_record_r): Add hit_eof based on item_count
332         condition.
333
334 2010-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
335
336         PR libfortran/43265
337         * io/read.c: Include fbuf.h and unix.h to enable lower level I/O for
338         read_x. (read_x): Replace the use of read_sf with equivalent lower level
339         I/O, eliminating unneeded code and handling EOF and EOR conditions.
340         * io/io.h: Revise prototype for read_sf.
341         * io/transfer.c (read_sf): Delete no_error parameter and all uses of it.
342         (read_block_form): Likewise.
343         (next_record_r): Delete wrong code call to hit_eof.
344
345 2010-03-08  Kai TIetz  <kai.tietz@onevision.com>
346
347         PR/42950
348         * libgfortran.h (_POSIX): Define if __MINGW32__ is defined.
349         (gfc_printf): Define to gnu_printf for __MINGW32__ case,
350         otherwise to __printf__.
351         (gfc_strtof,gfc_strtod,gfc_strtold): Define for mingw case
352         to POSIX compatible converter functions.
353         (runtime_error): Use instead gfc_printf as formatter
354         attribute name.
355         (runtime_error_at): Likewise.
356         (runtime_warning_at): Likewise.
357         (st_printf): Likewise.
358         * intrinsics/date_and_time.c (localtime_r): Undefine
359         possible defined macro.
360         (gmtime_r): Likewise.
361         * io/read.c (convert_real): Use gfc_strtof, gfc_strtod,
362         and gfc_strtold.
363
364 2010-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
365
366         PR libfortran/43155
367         * io/transfer.c (require_type): Subtract one from item_count for output
368         of error message.  Add comment before formatted_transfer function
369         explaining why the item_count is off by one.
370
371 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
372
373         * io/write_float.def (WRITE_FLOAT): Use __builtin_signbit.
374
375 2010-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
376
377         * io/list_read.c (list_formatted_read_scalar): Remove duplicate code.
378
379 2010-02-09  Tobias Burnus  <burnus@net-b.de>
380
381         PR fortran/42996
382         * intrinsics/args.c (get_command_argument_i4): Always return
383         commandline-argument length for length parameter.
384
385 2010-02-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
386
387         PR libfortran/42742
388         * io/format.c (reset_fnode_counters): Use the correct pointer to the
389         head of the fnode list. (parse_format): Remove previous hack that set
390         limit on size of format string for caching.
391
392 2010-02-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
393
394         PR libfortran
395         * io/transfer.c (read_sf): Handle EOR and EOF conditions for
396         ADVANCE="no" with PAD="yes" or PAD="no".
397
398 2010-02-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
399
400         PR libfortran/42901
401         * io/list_read.c (nml_get_obj_data): Add new qualifier flag, clean up
402         code, and adjust logic to set namelist info pointer correctly for array
403         qualifiers of derived type components.
404
405 2010-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
406
407         PR libfortran/42742
408         * io/format.c (parse_format): Set limit on size of format strings that
409         will be cached.
410
411 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
412
413         * configure: Regenerate.
414
415 2010-01-03  Janne Blomqvist  <jb@gcc.gnu.org>
416
417         PR libfortran/42420
418         * io/unix.c: Defines for MINGW stat and fstat.
419         (gfstat_t): New typedef.
420         (id_from_fd): Use gfstat_t instead of struct stat.
421         (fd_to_stream): Likewise.
422         (compare_file_filename): Likewise.
423         (find_file): Likewise.
424         (file_exists): Likewise.
425         (inquire_sequential): Likewise.
426         (inquire_direct): Likewise.
427         (inquire_formatted): Likewise.
428
429 \f
430 Copyright (C) 2010 Free Software Foundation, Inc.
431
432 Copying and distribution of this file, with or without modification,
433 are permitted in any medium without royalty provided the copyright
434 notice and this notice are preserved.