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