re PR fortran/48066 (Segfault with SUM of zero-sized array)
[gcc.git] / libgfortran / ChangeLog
1 2011-08-28 Thomas Koenig <tkoenig@gcc.gnu.org>
2
3 PR fortran/40866
4 * generated/iall_i1.c: Regenerated.
5 * generated/iall_i16.c: Regenerated.
6 * generated/iall_i2.c: Regenerated.
7 * generated/iall_i4.c: Regenerated.
8 * generated/iall_i8.c: Regenerated.
9 * generated/iany_i1.c: Regenerated.
10 * generated/iany_i16.c: Regenerated.
11 * generated/iany_i2.c: Regenerated.
12 * generated/iany_i4.c: Regenerated.
13 * generated/iany_i8.c: Regenerated.
14 * generated/iparity_i1.c: Regenerated.
15 * generated/iparity_i16.c: Regenerated.
16 * generated/iparity_i2.c: Regenerated.
17 * generated/iparity_i4.c: Regenerated.
18 * generated/iparity_i8.c: Regenerated.
19 * generated/norm2_r10.c: Regenerated.
20 * generated/norm2_r16.c: Regenerated.
21 * generated/norm2_r4.c: Regenerated.
22 * generated/norm2_r8.c: Regenerated.
23 * generated/parity_l1.c: Regenerated.
24 * generated/parity_l16.c: Regenerated.
25 * generated/parity_l2.c: Regenerated.
26 * generated/parity_l4.c: Regenerated.
27 * generated/parity_l8.c: Regenerated.
28 * generated/misc_specifics.F90: Regenerated (comment change).
29 * generated/_abs_c10.F90: Regenerated (comment change).
30 * generated/_abs_c16.F90: Regenerated (comment change).
31 * generated/_abs_c4.F90: Regenerated (comment change).
32 * generated/_abs_c8.F90: Regenerated (comment change).
33 * generated/_abs_i16.F90: Regenerated (comment change).
34 * generated/_abs_i4.F90: Regenerated (comment change).
35 * generated/_abs_i8.F90: Regenerated (comment change).
36 * generated/_abs_r10.F90: Regenerated (comment change).
37 * generated/_abs_r16.F90: Regenerated (comment change).
38 * generated/_abs_r4.F90: Regenerated (comment change).
39 * generated/_abs_r8.F90: Regenerated (comment change).
40 * generated/_acosh_r10.F90: Regenerated (comment change).
41 * generated/_acosh_r16.F90: Regenerated (comment change).
42 * generated/_acosh_r4.F90: Regenerated (comment change).
43 * generated/_acosh_r8.F90: Regenerated (comment change).
44 * generated/_acos_r10.F90: Regenerated (comment change).
45 * generated/_acos_r16.F90: Regenerated (comment change).
46 * generated/_acos_r4.F90: Regenerated (comment change).
47 * generated/_acos_r8.F90: Regenerated (comment change).
48 * generated/_aimag_c10.F90: Regenerated (comment change).
49 * generated/_aimag_c16.F90: Regenerated (comment change).
50 * generated/_aimag_c4.F90: Regenerated (comment change).
51 * generated/_aimag_c8.F90: Regenerated (comment change).
52 * generated/_aint_r10.F90: Regenerated (comment change).
53 * generated/_aint_r16.F90: Regenerated (comment change).
54 * generated/_aint_r4.F90: Regenerated (comment change).
55 * generated/_aint_r8.F90: Regenerated (comment change).
56 * generated/_anint_r10.F90: Regenerated (comment change).
57 * generated/_anint_r16.F90: Regenerated (comment change).
58 * generated/_anint_r4.F90: Regenerated (comment change).
59 * generated/_anint_r8.F90: Regenerated (comment change).
60 * generated/_asinh_r10.F90: Regenerated (comment change).
61 * generated/_asinh_r16.F90: Regenerated (comment change).
62 * generated/_asinh_r4.F90: Regenerated (comment change).
63 * generated/_asinh_r8.F90: Regenerated (comment change).
64 * generated/_asin_r10.F90: Regenerated (comment change).
65 * generated/_asin_r16.F90: Regenerated (comment change).
66 * generated/_asin_r4.F90: Regenerated (comment change).
67 * generated/_asin_r8.F90: Regenerated (comment change).
68 * generated/_atan2_r10.F90: Regenerated (comment change).
69 * generated/_atan2_r16.F90: Regenerated (comment change).
70 * generated/_atan2_r4.F90: Regenerated (comment change).
71 * generated/_atan2_r8.F90: Regenerated (comment change).
72 * generated/_atanh_r10.F90: Regenerated (comment change).
73 * generated/_atanh_r16.F90: Regenerated (comment change).
74 * generated/_atanh_r4.F90: Regenerated (comment change).
75 * generated/_atanh_r8.F90: Regenerated (comment change).
76 * generated/_atan_r10.F90: Regenerated (comment change).
77 * generated/_atan_r16.F90: Regenerated (comment change).
78 * generated/_atan_r4.F90: Regenerated (comment change).
79 * generated/_atan_r8.F90: Regenerated (comment change).
80 * generated/_conjg_c10.F90: Regenerated (comment change).
81 * generated/_conjg_c16.F90: Regenerated (comment change).
82 * generated/_conjg_c4.F90: Regenerated (comment change).
83 * generated/_conjg_c8.F90: Regenerated (comment change).
84 * generated/_cosh_r10.F90: Regenerated (comment change).
85 * generated/_cosh_r16.F90: Regenerated (comment change).
86 * generated/_cosh_r4.F90: Regenerated (comment change).
87 * generated/_cosh_r8.F90: Regenerated (comment change).
88 * generated/_cos_c10.F90: Regenerated (comment change).
89 * generated/_cos_c16.F90: Regenerated (comment change).
90 * generated/_cos_c4.F90: Regenerated (comment change).
91 * generated/_cos_c8.F90: Regenerated (comment change).
92 * generated/_cos_r10.F90: Regenerated (comment change).
93 * generated/_cos_r16.F90: Regenerated (comment change).
94 * generated/_cos_r4.F90: Regenerated (comment change).
95 * generated/_cos_r8.F90: Regenerated (comment change).
96 * generated/_dim_i16.F90: Regenerated (comment change).
97 * generated/_dim_i4.F90: Regenerated (comment change).
98 * generated/_dim_i8.F90: Regenerated (comment change).
99 * generated/_dim_r10.F90: Regenerated (comment change).
100 * generated/_dim_r16.F90: Regenerated (comment change).
101 * generated/_dim_r4.F90: Regenerated (comment change).
102 * generated/_dim_r8.F90: Regenerated (comment change).
103 * generated/_exp_c10.F90: Regenerated (comment change).
104 * generated/_exp_c16.F90: Regenerated (comment change).
105 * generated/_exp_c4.F90: Regenerated (comment change).
106 * generated/_exp_c8.F90: Regenerated (comment change).
107 * generated/_exp_r10.F90: Regenerated (comment change).
108 * generated/_exp_r16.F90: Regenerated (comment change).
109 * generated/_exp_r4.F90: Regenerated (comment change).
110 * generated/_exp_r8.F90: Regenerated (comment change).
111 * generated/_log10_r10.F90: Regenerated (comment change).
112 * generated/_log10_r16.F90: Regenerated (comment change).
113 * generated/_log10_r4.F90: Regenerated (comment change).
114 * generated/_log10_r8.F90: Regenerated (comment change).
115 * generated/_log_c10.F90: Regenerated (comment change).
116 * generated/_log_c16.F90: Regenerated (comment change).
117 * generated/_log_c4.F90: Regenerated (comment change).
118 * generated/_log_c8.F90: Regenerated (comment change).
119 * generated/_log_r10.F90: Regenerated (comment change).
120 * generated/_log_r16.F90: Regenerated (comment change).
121 * generated/_log_r4.F90: Regenerated (comment change).
122 * generated/_log_r8.F90: Regenerated (comment change).
123 * generated/_mod_i16.F90: Regenerated (comment change).
124 * generated/_mod_i4.F90: Regenerated (comment change).
125 * generated/_mod_i8.F90: Regenerated (comment change).
126 * generated/_mod_r10.F90: Regenerated (comment change).
127 * generated/_mod_r16.F90: Regenerated (comment change).
128 * generated/_mod_r4.F90: Regenerated (comment change).
129 * generated/_mod_r8.F90: Regenerated (comment change).
130 * generated/_sign_i16.F90: Regenerated (comment change).
131 * generated/_sign_i4.F90: Regenerated (comment change).
132 * generated/_sign_i8.F90: Regenerated (comment change).
133 * generated/_sign_r10.F90: Regenerated (comment change).
134 * generated/_sign_r16.F90: Regenerated (comment change).
135 * generated/_sign_r4.F90: Regenerated (comment change).
136 * generated/_sign_r8.F90: Regenerated (comment change).
137 * generated/_sinh_r10.F90: Regenerated (comment change).
138 * generated/_sinh_r16.F90: Regenerated (comment change).
139 * generated/_sinh_r4.F90: Regenerated (comment change).
140 * generated/_sinh_r8.F90: Regenerated (comment change).
141 * generated/_sin_c10.F90: Regenerated (comment change).
142 * generated/_sin_c16.F90: Regenerated (comment change).
143 * generated/_sin_c4.F90: Regenerated (comment change).
144 * generated/_sin_c8.F90: Regenerated (comment change).
145 * generated/_sin_r10.F90: Regenerated (comment change).
146 * generated/_sin_r16.F90: Regenerated (comment change).
147 * generated/_sin_r4.F90: Regenerated (comment change).
148 * generated/_sin_r8.F90: Regenerated (comment change).
149 * generated/_sqrt_c10.F90: Regenerated (comment change).
150 * generated/_sqrt_c16.F90: Regenerated (comment change).
151 * generated/_sqrt_c4.F90: Regenerated (comment change).
152 * generated/_sqrt_c8.F90: Regenerated (comment change).
153 * generated/_sqrt_r10.F90: Regenerated (comment change).
154 * generated/_sqrt_r16.F90: Regenerated (comment change).
155 * generated/_sqrt_r4.F90: Regenerated (comment change).
156 * generated/_sqrt_r8.F90: Regenerated (comment change).
157 * generated/_tanh_r10.F90: Regenerated (comment change).
158 * generated/_tanh_r16.F90: Regenerated (comment change).
159 * generated/_tanh_r4.F90: Regenerated (comment change).
160 * generated/_tanh_r8.F90: Regenerated (comment change).
161 * generated/_tan_r10.F90: Regenerated (comment change).
162 * generated/_tan_r16.F90: Regenerated (comment change).
163 * generated/_tan_r4.F90: Regenerated (comment change).
164 * generated/_tan_r8.F90: Regenerated (comment change).
165
166 2011-08-18 Tobias Burnus <burnus@net-b.de>
167
168 PR fortran/50109
169 * io/list_read.c (eat_separator): Fix skipping over "!" lines.
170
171 2011-07-23 Andreas Schwab <schwab@linux-m68k.org>
172
173 * intrinsics/ctime.c: Include <stdlib.h>.
174 * intrinsics/getlog.c: Likewise.
175 * runtime/stop.c: Likewise.
176
177 2011-07-23 Tobias Burnus <burnus@net-b.de>
178
179 PR fortran/49791
180 * io/list_read.c (nml_parse_qualifier): Remove check to
181 enabled extended read for another case.
182
183 2011-07-15 Daniel Carrera <dcarrera@gmail.com>
184
185 * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf.
186 * caf/single.c (caf_runtime_error): Ditto.
187
188 2011-07-14 Daniel Carrera <dcarrera@gmail.com>
189
190 * caf/single.c: Include stdarg.h header.
191 (caf_runtime_error): New function. Use "exit(EXIT_FAILURE)".
192 (_gfortran_caf_register): Use caf_runtime_error.
193 (_gfortran_caf_sync_images): Use "exit(EXIT_FAILURE)".
194 * caf/mpi.c (caf_runtime_error): Remove "error" parameter.
195 Return EXIT_FAILURE instead.
196 (_gfortran_caf_register): Update call to caf_runtime_error.
197 (_gfortran_caf_sync_all): Ditto.
198 (_gfortran_caf_sync_images): Ditto.
199 (_gfortran_caf_error_stop_str): Use "exit(EXIT_FAILURE)".
200
201 2011-07-13 Janne Blomqvist <jb@gcc.gnu.org>
202
203 PR libfortran/49296
204 * io/list_read.c (read_logical): Don't error out if a valid value
205 is followed by EOF instead of a normal separator.
206 (read_integer): Likewise.
207
208 2011-07-09 Tobias Burnus <burnus@net-b.de>
209
210 * runtime/error.c (sys_abort): Change argument list
211 from "()" to "(void)".
212
213 2011-07-09 Tobias Burnus <burnus@net-b.de>
214 Daniel Carrera <dcarrera@gmail.com>
215
216 * caf/mpi.c (runtime_error): New function.
217 (_gfortran_caf_register): Use it.
218 (_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE
219 as possible status value.
220 (_gfortran_caf_sync_images): Ditto.
221
222 2011-07-07 Tobias Burnus <burnus@net-b.de>
223
224 * libcaf.h (__attribute__, unlikely, likely): New macros.
225 (caf_register_t): Update comment.
226 (_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments.
227 * single.c (_gfortran_caf_register): Ditto; add error diagnostics.
228 * mpi.c (_gfortran_caf_register): Ditto.
229 (caf_is_finalized): New global variable.
230 (_gfortran_caf_finalize): Use it.
231
232 2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
233
234 * runtime/memory.c (internal_malloc_size): If size is zero,
235 allocate a single byte.
236 * m4/pack.m4 (pack_'rtype_code`): Don't check for zero size
237 for the argument of internal_malloc_size.
238 * m4/spread.m4 (spread_'rtype_code`): Likewise.
239 * m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check
240 for zero size for the argument of internal_malloc_size.
241 * m4/eoshift3.m4: Don't check for zero size for the argument of
242 internal_malloc_size.
243 * intrinsics/pack_generic.c (pack_internal): Likewise.
244 (pack_s_internal): Likewise.
245 * intrinsics/cshift0.c (cshift0): Likewise.
246 * intrinsics/spread_generic.c (spread_internal): Likewise.
247 * intrinsics/eoshift0.c (eoshift0): Likewise.
248 * intrinsics/eoshift2.c (eoshift2): Likewise.
249 * generated/eoshift1_16.c: Regenerated.
250 * generated/eoshift1_4.c: Regenerated.
251 * generated/eoshift1_8.c: Regenerated.
252 * generated/eoshift3_16.c: Regenerated.
253 * generated/eoshift3_4.c: Regenerated.
254 * generated/eoshift3_8.c: Regenerated.
255 * generated/pack_c10.c: Regenerated.
256 * generated/pack_c16.c: Regenerated.
257 * generated/pack_c4.c: Regenerated.
258 * generated/pack_c8.c: Regenerated.
259 * generated/pack_i16.c: Regenerated.
260 * generated/pack_i1.c: Regenerated.
261 * generated/pack_i2.c: Regenerated.
262 * generated/pack_i4.c: Regenerated.
263 * generated/pack_i8.c: Regenerated.
264 * generated/pack_r10.c: Regenerated.
265 * generated/pack_r16.c: Regenerated.
266 * generated/pack_r4.c: Regenerated.
267 * generated/pack_r8.c: Regenerated.
268 * generated/spread_c10.c: Regenerated.
269 * generated/spread_c16.c: Regenerated.
270 * generated/spread_c4.c: Regenerated.
271 * generated/spread_c8.c: Regenerated.
272 * generated/spread_i16.c: Regenerated.
273 * generated/spread_i1.c: Regenerated.
274 * generated/spread_i2.c: Regenerated.
275 * generated/spread_i4.c: Regenerated.
276 * generated/spread_i8.c: Regenerated.
277 * generated/spread_r10.c: Regenerated.
278 * generated/spread_r16.c: Regenerated.
279 * generated/spread_r4.c: Regenerated.
280 * generated/spread_r8.c: Regenerated.
281
282 2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
283
284 PR fortran/49479
285 * m4/reshape.m4: If source allocation is smaller than one, set it
286 to one.
287 * intrinsics/reshape_generic.c: Likewise.
288 * generated/reshape_r16.c: Regenerated.
289 * generated/reshape_c4.c: Regenerated.
290 * generated/reshape_c16.c: Regenerated.
291 * generated/reshape_c8.c: Regenerated.
292 * generated/reshape_r4.c: Regenerated.
293 * generated/reshape_i4.c: Regenerated.
294 * generated/reshape_r10.c: Regenerated.
295 * generated/reshape_r8.c: Regenerated.
296 * generated/reshape_c10.c: Regenerated.
297 * generated/reshape_i8.c: Regenerated.
298 * generated/reshape_i16.c: Regenerated.
299
300 2011-06-18 Janne Blomqvist <jb@gcc.gnu.org>
301
302 PR libfortran/49296
303 * io/list_read.c (read_character): Accept EOF as a separator when
304 reading string.
305
306 2011-06-17 Daniel Carrera <dcarrera@gmail.com>
307
308 * caf/single.c (_gfortran_caf_register): Store the address
309 of all static coarrays in a linked list.
310 (_gfortran_caf_finalize): Free memory of staic coarrays.
311 * caf/mpi.c (_gfortran_caf_register): Store the address
312 of all static coarrays in a linked list. Initialize MPI
313 if necessary.
314 (_gfortran_caf_finalize): Free memory of staic coarrays.
315 (_gfortran_caf_init): Check if MPI is already initialized
316 before initializing again.
317 * caf/libcaf.h: Add a type to caf_register_t to distinguish
318 static coarrays and add the type caf_static_t to make the
319 linked list of static coarrays.
320
321 2011-06-11 Janne Blomqvist <jb@gcc.gnu.org>
322
323 * io/unix.c (buf_seek): Return error if file is not seekable.
324 (buf_tell): Call buf_seek.
325
326 2011-06-11 Janne Blomqvist <jb@gcc.gnu.org>
327
328 * io/unix.c (fd_to_stream): Figure out if a fd is seekable by
329 trying lseek().
330
331 2011-06-10 Daniel Carrera <dcarrera@gmail.com>
332
333 * caf/mpi.c (_gfortran_caf_sync_all,
334 _gfortran_caf_sync_images): Functions have void return type
335 and move status into parameter list.
336 * caf/single.c (_gfortran_caf_sync_all,
337 _gfortran_caf_sync_images): Functions have void return type
338 and move status into parameter list.
339 * caf/libcaf.h (_gfortran_caf_sync_all,
340 _gfortran_caf_sync_images): Functions have void return type
341 and move status into parameter list.
342
343 2011-06-03 Richard Henderson <rth@redhat.com>
344 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
345
346 * config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct
347 insn, insn size.
348 (has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
349
350 2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
351
352 PR libfortran/48931
353 * libgfortran.h (find_addr2line): New prototype.
354 * runtime/backtrace.c (show_backtrace): Use async-signal-safe
355 execve and stored path of addr2line.
356 * runtime/compile_options.c (maybe_find_addr2line): New function.
357 (set_options): Call maybe_find_addr2line if backtracing is enabled.
358 * runtime/main.c (find_addr2line): New function.
359 (init): Call find_addr2line if backtracing is enabled.
360 (cleanup): Free addr2line_path.
361
362 2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
363
364 PR libfortran/49214
365 * runtime/backtrace.c (fd_gets): Return NULL if nothing was read.
366
367 2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
368
369 PR libfortran/19155
370 * io/read.c (convert_real): Check for invalid input by comparing
371 endptr instead of EINVAL.
372 (read_f): Fixup floating point input without significand.
373
374 2011-05-22 Tobias Burnus <burnus@net-b.de>
375
376 * runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
377
378 2011-05-22 Janne Blomqvist <jb@gcc.gnu.org>
379
380 PR libfortran/48931
381 * configure.ac: Check for backtrace_symbols_fd instead of
382 backtrace_symbols, check for readlink.
383 * config.h.in: Regenerated.
384 * configure: Regenerated.
385 * runtime/backtrace.c (local_strcasestr): Remove.
386 (bt_header): New function.
387 (dump_glibc_backtrace): Remove.
388 (fd_gets): New function.
389 (show_backtrace): Rework to use backtrace_symbols_fd and pipes
390 avoiding functions that are not async-signal-safe, reformat
391 output.
392 * runtime/main.c (store_exe_path): Try to check /proc/self/exe
393 first.
394
395 2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
396 Uros Bizjak <ubizjak@gmail.com>
397
398 PR libfortran/48977
399 * configure.host: Swap order of glibc and x86 tests.
400
401 2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
402
403 * config/fpu-387.h (set_fpu): Use renamed inexact macro.
404 * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed
405 inexact macro, set TRP_INEXACT for inexact exception instead of
406 TRP_UNDERFLOW.
407 * config/fpu-generic.h (set_fpu): Clarify error messages, use
408 renamed inexact macro.
409 * config/fpu-glibc.h (set_fpu): Likewise.
410 * config/fpu-sysv.h (set_fpu): Likewise.
411
412 2011-05-14 Tobias Burnus <burnus@net-b.de>
413
414 * runtime/stop.c (error_stop_string, error_stop_numeric):
415 Do not backtrace for ERROR STOP.
416
417 2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
418
419 PR libfortran/48915
420 * intrinsics/abort.c (abort): Call sys_abort().
421 * io/unix.c (st_vprintf): Call sys_abort().
422 * libgfortran.h (options_t): Remove dump_core member.
423 (handler): Rename to backtrace_handler.
424 (compile_options_t): Remove dump_core member.
425 (sys_exit): Remove.
426 (sys_abort): New function.
427 * runtime/backtrace.c (show_backtrace): Print a message if
428 backtrace is not available on target, update filter symbol name
429 due to backtrace_handler renaming.
430 * runtime/compile_options.c (backtrace_handler): New
431 implementation based on example in Glibc manual.
432 (set_options): Remove dump_core handling, make signal handler
433 handle more signals.
434 (init_compile_options): Remove dump_core.
435 * runtime/environ.c (variable_table[]): Remove
436 GFORTRAN_ERROR_DUMPCORE element.
437 (show_variables): Update name, call exit().
438 * runtime/error.c (sys_exit): Remove.
439 (sys_abort): New function.
440 (recursion_check): Call sys_abort().
441 (os_error): Call exit().
442 (runtime_error): Likewise.
443 (runtime_error_at): Likewise.
444 (internal_error): Likewise.
445 (generate_error): Likewise.
446 (notify_std): Likewise.
447 * runtime/stop.c (stop_numeric): Call exit().
448 (stop_numeric_f08): Likewise.
449 (stop_string): Likewise.
450 (error_stop_string): Call sys_abort().
451 (error_stop_numeric): Print backtrace, exit with provided code.
452
453 2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
454
455 * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c.
456 * libgfortran.h (struct options_t): Remove use_stderr field.
457 (st_vprintf,st_printf): Move prototypes.
458 (estr_write): New prototype.
459 * runtime/error.c (sys_exit): Use estr_write instead of st_printf.
460 (estr_write): New function.
461 (st_vprintf): Move from io/unix.c, use stack allocated buffer,
462 always output to stderr.
463 (st_printf): Move from io/unix.c.
464 (show_locus): Use a local variable instead of static.
465 (os_error): Use estr_write instead of st_printf.
466 (runtime_error): Likewise.
467 (runtime_error_at): Likewise.
468 (runtime_warning_at): Likewise.
469 (internal_error): Likewise.
470 (generate_error): Likewise.
471 (generate_warning): Likewise.
472 (notify_std): Likewise.
473 * runtime/pause.c (do_pause): Likewise.
474 (pause_string): Likewise.
475 * runtime/stop.c (stop_string): Likewise.
476 (error_stop_string): Likewise.
477 * config/fpu_aix.h (set_fpu): Likewise.
478 * config/fpu_generic.h (set_fpu): Likewise.
479 * config/fpu_glibc.h (set_fpu): Likewise.
480 * config/fpu-sysv.h (set_fpu): Likewise.
481 * runtime/backtrace.c (dump_glibc_backtrace): Likewise.
482 (show_backtrace): Likewise.
483 * runtime/environ.c (print_spaces): Likewise.
484 (show_string): Likewise.
485 (show_variables): Likewise.
486 (variable_table[]): Remove GFORTRAN_USE_STDERR entry.
487
488 2011-05-14 Tobias Burnus <burnus@net-b.de>
489
490 PR fortran/48961
491 * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
492 synchronously executing with WAIT=.false.
493 (execute_command_line): Fix setting of cmdstat and exitstat.
494
495 2011-05-06 Tobias Burnus <burnus@net-b.de>
496
497 PR fortran/18918
498 * caf/libcaf.h: Cleanup headers.
499 (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
500 (caf_register_t): New enum.
501 (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
502 * caf/single.c (_gfortran_caf_critical,
503 _gfortran_caf_end_critical): Remove.
504 (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
505 * caf/mpi.c (_gfortran_caf_critical,
506 _gfortran_caf_end_critical): Remove.
507 (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
508 (caf_world_window): Remove global variable.
509 (_gfortran_caf_init): Fix off-by-one error of this_image.
510
511 2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
512
513 PR libgfortran/48787
514 * io/write_float.def (output_float): Adjust up and down rounding for
515 cases where 'd' = 0. Gather common code to one location.
516
517 2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
518
519 PR libgfortran/48787
520 * io/write_float.def (output_float): Gather up integer declarations and
521 add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
522 everywhere. For ROUND_UP scan the digit string and only perform
523 rounding if something other than '0' is found.
524
525 2011-04-29 Janne Blomqvist <jb@gcc.gnu.org>
526
527 * io/unix.c (min): New macro.
528 (unpack_filename): Return errno number for errors.
529 (regular_file): Use appropriately sized buffer for path.
530 (compare_file_filename): Likewise.
531 (find_file): Likewise.
532 (delete_file): Likewise.
533 (file_exists): Likewise.
534 (file_size): Likewise.
535 (inquire_sequential): Likewise.
536 (inquire_direct): Likewise.
537 (inquire_formatted): Likewise.
538 (inquire_access): Likewise.
539
540 2011-04-29 Janne Blomqvist <jb@gcc.gnu.org>
541
542 PR libfortran/48488
543 * io/write.c (write_real, write_real_g0): Update comments.
544
545 2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
546 Janne Blomqvist <jb@gcc.gnu.org>
547
548 PR libgfortran/48488
549 PR libgfortran/48602
550 PR libgfortran/48615
551 PR libgfortran/48684
552 PR libgfortran/48787
553 * io/write.c (write_d, write_e, write_f, write_en,
554 write_es): Add precision compemsation parameter to call.
555 (set_fnode_default): Adjust default widths to assure
556 round trip on write and read. (write_real): Adjust call to write_float.
557 (write_real_g0): Calculate compensation for extra precision and adjust
558 call to write_float.
559 * io/write_float.def (output_float_FMT_G_): Use volatile rather than
560 asm volatile to avoid optimization issue. Correctly calculate the
561 number of blanks (nb) to be appended and simplify calculation logic.
562 (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
563 default widths. Eliminate the code that attempted to reduce the
564 the precision used in later sprintf functions. Add call parameter to
565 compensate for extra precision.
566
567 2011-04-20 Jim Meyering <meyering@redhat.com>
568
569 * intrinsics/move_alloc.c (move_alloc): Remove useless
570 if-before-free test.
571 * io/fbuf.c (fbuf_destroy): Likewise.
572 * io/format.c (save_parsed_format): Likewise.
573 * io/open.c (already_open): Likewise.
574 * io/unit.c (free_internal_unit, close_unit_1): Likewise.
575 * io/unix.c (mem_close): Likewise.
576
577 2011-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
578
579 PR libgfortran/48602
580 * io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
581 Use asm volatile to mark temp variable, avoiding optimization errors.
582
583 2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
584
585 PR libgfortran/48602
586 * io/write_float.def (output_float_FMT_G): Use current rounding mode
587 to set the rounding parameters. (output_float): Skip rounding
588 if value is zero.
589
590 2011-04-16 Janne Blomqvist <jb@gcc.gnu.org>
591
592 * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP
593 branch.
594 * io/format.c (format_error): Use snprintf instead of sprintf.
595 * io/list_read.c: Move snprintf fallback macro to libgfortran.h.
596 (convert_integer): Use snprintf instead of sprintf.
597 (parse_repeat): Likewise.
598 (read_logical): Likewise.
599 (read_integer): Likewise.
600 (read_character): Likewise.
601 (parse_real): Likewise.
602 (read_complex): Likewise.
603 (read_real): Likewise.
604 (check_type): Likewise.
605 (nml_parse_qualifier): Add string length argument, use snprintf
606 instead of sprintf.
607 (nml_get_obj_data): Use snprintf instead of sprintf.
608 * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf
609 instead of sprintf.
610 * io/transfer.c (require_type): Use snprintf instead of sprintf.
611 * io/unix.c (tempfile): Likewise.
612 * io/write.c (nml_write_obj): Likewise.
613 * io/write_float.def (output_float): Remove sprintf CPP branch,
614 use snprintf instead of sprintf.
615 * libgfortran.h: Add fallback snprintf macro from io/list_read.c.
616 * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch.
617 * runtime/main.c (store_exe_path): Use snprintf instead of
618 sprintf.
619
620 2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
621
622 PR libgfortran/48589
623 * io/write_float.def (write_infnan): Set width properly for G0.
624
625 2011-04-15 Tobias Burnus <burnus@net-b.de>
626
627 PR fortran/18918
628 * Makefile.am: Build and install caf/single.c as
629 libcaf_single.a.
630 * Makefile.in: Regenerate.
631
632 2011-04-15 Janne Blomqvist <jb@gcc.gnu.org>
633
634 PR libfortran/47571
635 * configure: Regenerated.
636 * config.h.in: Regenerated.
637 * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
638 * configure.ac: Use separate symbol for clock_gettime in librt.
639 * intrinsics/system_clock.c: Use weakrefs only when needed and
640 supported.
641
642 2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
643
644 * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
645 check for ptrdiff_t.
646 * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
647 index_type, change cshift0* prototypes.
648 * config.h.in: Regenerated.
649 * configure: Regenerated.
650 * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
651 * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
652 * io/list_read.c (nml_parse_qualifier): Likewise.
653 * io/write.c (nml_write_obj): Likewise.
654 * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
655 * generated/cshift0_*.c: Regenerated.
656
657 2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
658
659 * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
660 * Makefile.in: Regenerated.
661
662 2011-04-06 Tobias Burnus <burnus@net-b.de>
663
664 PR fortran/18918
665 * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
666 Add global variable caf_mpi_initialized and use it for when
667 finalizing.
668
669 2011-04-04 Tobias Burnus <burnus@net-b.de>
670
671 * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
672 (fallback_access, open_internal4, compare_file_filename,
673 find_file, file_size, inquire_sequential, inquire_direct,
674 inquire_formatted): Use "struct stat" instead of gfstat_t.
675
676 2011-03-27 Tobias Burnus <burnus@net-b.de>
677
678 PR fortran/18918
679 * caf/libcaf.h: New - coarray communication library.
680 * caf/mpi.c: New.
681 * caf/single.c: New.
682
683 2011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
684
685 PR libgfortran/48030
686 * io/read.c (read_x): Re-implement using fbuf_getc.
687
688 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
689
690 PR bootstrap/48135
691 * configure.ac (gfortran_use_symver): Handle --disable-symvers.
692 * configure: Regenerate.
693
694 2011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
695
696 PR fortran/35667
697 * io/io.h (convert_infnan): Declare.
698 * io/read.c (convert_infnan): New.
699 (read_f): Use convert_infnan to convert INFs and NANs.
700 * list_read.c (parse_real, read_real): Likewise.
701
702 2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
703
704 PR libfortran/47439
705 * io/unix.c (tempfile): Work around poor mktemp() implementations.
706
707 2011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
708
709 PR libfortran/47883
710 * acinclude.m4: Don't use AC_TRY_ macros.
711 * configure.ac: Likewise.
712 * configure: Regenerate.
713
714 2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
715
716 PR libfortran/48066
717 * m4/ifunction.m4: If return array is empty, return.
718 * m4/ifunction_logical.m4: Likewise.
719 * generated/all_l16.c: Regenerated.
720 * generated/all_l1.c: Regenerated.
721 * generated/all_l2.c: Regenerated.
722 * generated/all_l4.c: Regenerated.
723 * generated/all_l8.c: Regenerated.
724 * generated/any_l16.c: Regenerated.
725 * generated/any_l1.c: Regenerated.
726 * generated/any_l2.c: Regenerated.
727 * generated/any_l4.c: Regenerated.
728 * generated/any_l8.c: Regenerated.
729 * generated/count_16_l.c: Regenerated.
730 * generated/count_1_l.c: Regenerated.
731 * generated/count_2_l.c: Regenerated.
732 * generated/count_4_l.c: Regenerated.
733 * generated/count_8_l.c: Regenerated.
734 * generated/maxloc1_16_i16.c: Regenerated.
735 * generated/maxloc1_16_i1.c: Regenerated.
736 * generated/maxloc1_16_i2.c: Regenerated.
737 * generated/maxloc1_16_i4.c: Regenerated.
738 * generated/maxloc1_16_i8.c: Regenerated.
739 * generated/maxloc1_16_r10.c: Regenerated.
740 * generated/maxloc1_16_r16.c: Regenerated.
741 * generated/maxloc1_16_r4.c: Regenerated.
742 * generated/maxloc1_16_r8.c: Regenerated.
743 * generated/maxloc1_4_i16.c: Regenerated.
744 * generated/maxloc1_4_i1.c: Regenerated.
745 * generated/maxloc1_4_i2.c: Regenerated.
746 * generated/maxloc1_4_i4.c: Regenerated.
747 * generated/maxloc1_4_i8.c: Regenerated.
748 * generated/maxloc1_4_r10.c: Regenerated.
749 * generated/maxloc1_4_r16.c: Regenerated.
750 * generated/maxloc1_4_r4.c: Regenerated.
751 * generated/maxloc1_4_r8.c: Regenerated.
752 * generated/maxloc1_8_i16.c: Regenerated.
753 * generated/maxloc1_8_i1.c: Regenerated.
754 * generated/maxloc1_8_i2.c: Regenerated.
755 * generated/maxloc1_8_i4.c: Regenerated.
756 * generated/maxloc1_8_i8.c: Regenerated.
757 * generated/maxloc1_8_r10.c: Regenerated.
758 * generated/maxloc1_8_r16.c: Regenerated.
759 * generated/maxloc1_8_r4.c: Regenerated.
760 * generated/maxloc1_8_r8.c: Regenerated.
761 * generated/maxval_i16.c: Regenerated.
762 * generated/maxval_i1.c: Regenerated.
763 * generated/maxval_i2.c: Regenerated.
764 * generated/maxval_i4.c: Regenerated.
765 * generated/maxval_i8.c: Regenerated.
766 * generated/maxval_r10.c: Regenerated.
767 * generated/maxval_r16.c: Regenerated.
768 * generated/maxval_r4.c: Regenerated.
769 * generated/maxval_r8.c: Regenerated.
770 * generated/minloc1_16_i16.c: Regenerated.
771 * generated/minloc1_16_i1.c: Regenerated.
772 * generated/minloc1_16_i2.c: Regenerated.
773 * generated/minloc1_16_i4.c: Regenerated.
774 * generated/minloc1_16_i8.c: Regenerated.
775 * generated/minloc1_16_r10.c: Regenerated.
776 * generated/minloc1_16_r16.c: Regenerated.
777 * generated/minloc1_16_r4.c: Regenerated.
778 * generated/minloc1_16_r8.c: Regenerated.
779 * generated/minloc1_4_i16.c: Regenerated.
780 * generated/minloc1_4_i1.c: Regenerated.
781 * generated/minloc1_4_i2.c: Regenerated.
782 * generated/minloc1_4_i4.c: Regenerated.
783 * generated/minloc1_4_i8.c: Regenerated.
784 * generated/minloc1_4_r10.c: Regenerated.
785 * generated/minloc1_4_r16.c: Regenerated.
786 * generated/minloc1_4_r4.c: Regenerated.
787 * generated/minloc1_4_r8.c: Regenerated.
788 * generated/minloc1_8_i16.c: Regenerated.
789 * generated/minloc1_8_i1.c: Regenerated.
790 * generated/minloc1_8_i2.c: Regenerated.
791 * generated/minloc1_8_i4.c: Regenerated.
792 * generated/minloc1_8_i8.c: Regenerated.
793 * generated/minloc1_8_r10.c: Regenerated.
794 * generated/minloc1_8_r16.c: Regenerated.
795 * generated/minloc1_8_r4.c: Regenerated.
796 * generated/minloc1_8_r8.c: Regenerated.
797 * generated/minval_i16.c: Regenerated.
798 * generated/minval_i1.c: Regenerated.
799 * generated/minval_i2.c: Regenerated.
800 * generated/minval_i4.c: Regenerated.
801 * generated/minval_i8.c: Regenerated.
802 * generated/minval_r10.c: Regenerated.
803 * generated/minval_r16.c: Regenerated.
804 * generated/minval_r4.c: Regenerated.
805 * generated/minval_r8.c: Regenerated.
806 * generated/product_c10.c: Regenerated.
807 * generated/product_c16.c: Regenerated.
808 * generated/product_c4.c: Regenerated.
809 * generated/product_c8.c: Regenerated.
810 * generated/product_i16.c: Regenerated.
811 * generated/product_i1.c: Regenerated.
812 * generated/product_i2.c: Regenerated.
813 * generated/product_i4.c: Regenerated.
814 * generated/product_i8.c: Regenerated.
815 * generated/product_r10.c: Regenerated.
816 * generated/product_r16.c: Regenerated.
817 * generated/product_r4.c: Regenerated.
818 * generated/product_r8.c: Regenerated.
819 * generated/sum_c10.c: Regenerated.
820 * generated/sum_c16.c: Regenerated.
821 * generated/sum_c4.c: Regenerated.
822 * generated/sum_c8.c: Regenerated.
823 * generated/sum_i16.c: Regenerated.
824 * generated/sum_i1.c: Regenerated.
825 * generated/sum_i2.c: Regenerated.
826 * generated/sum_i4.c: Regenerated.
827 * generated/sum_i8.c: Regenerated.
828 * generated/sum_r10.c: Regenerated.
829 * generated/sum_r16.c: Regenerated.
830 * generated/sum_r4.c: Regenerated.
831 * generated/sum_r8.c: Regenerated.
832
833 2011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
834
835 PR libgfortran/48047
836 * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
837
838 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
839
840 PR libfortran/47802
841 * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
842 return type.
843
844 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
845
846 PR libfortran/47802
847 * intrinsics/ctime.c (strctime): Don't use return value of
848 localtime_r.
849
850 2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
851
852 PR libgfortran/47567
853 * io/write_float.def (output_float): Move handling of w = 0 to after
854 output rounding. Check for zero and set zero_flag accordingly. Set
855 width according to zero_flag. Add better comments.
856
857 2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
858
859 PR libgfortran/47778
860 * io/list_read.c (namelist_read): Intialize the error string buffere.
861 If pprev_nl was used during the previous namelist read and the rank
862 was zero, reset the pointer to NULL for the next namelist read.
863
864 2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
865
866 PR libfortran/45165
867 * unix.c (fallback_access): Fix file descriptor leaks.
868
869 2011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
870
871 * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
872 tested in configure.host.
873 * configure: Regenerate.
874
875 2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
876
877 PR libfortran/47802
878 * config.h.in: Regenerated.
879 * configure: Regenerated.
880 * configure.ac: Remove checks for ctime and ctime_r, add check for
881 strftime.
882 * intrinsics/date_and_time.c (localtime_r): Move fallback
883 implementation to time_1.h.
884 * intrinsics/time_1.h (localtime_r): Fallback implementation.
885 * intrinsics/ctime.c: Include time_1.h.
886 (ctime_r): Remove fallback implementation.
887 (strctime): New function.
888 (fdate): Use strctime instead of ctime_r.
889 (fdate_sub): Likewise.
890 (ctime): Likewise.
891 (ctime_sub): Likewise.
892
893 2011-02-24 Jakub Jelinek <jakub@redhat.com>
894
895 PR fortran/47878
896 * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
897 and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
898
899 2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
900
901 PR libfortran/47802
902 * configure.ac: Add test for POSIX getpwuid_r.
903 * intrinsics/getlog.c (getlog): CPP test for
904 HAVE_POSIX_GETPWUID_R.
905 * config.h.in: Regenerated.
906 * configure: Regenerated.
907
908 2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
909
910 PR libgfortran/47567
911 * io/write_float.def (output_float): Remove special case handling of
912 zero with width 1.
913
914 2011-02-23 Janne Blomqvist <jb@gcc.gnu.org>
915 Jerry DeLisle <jvdelisle@gcc.gnu.org>
916
917 PR libfortran/47694
918 * io/fbuf.h (fbuf_getptr): New inline function.
919 * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
920 through the string instead of fbuf_read.
921
922 2011-02-22 Tobias Burnus <burnus@net-b.de>
923 Kai-Uwe Eckhardt <kuehro@gmx.de>
924
925 PR libfortran/47830
926 * intrinsics/c99_functions.c (roundl): Make C valid for
927 HAVE_NEXTAFTERL.
928
929 2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
930
931 PR libgfortran/47567
932 * io/write_float.def (output_float): Adjust width for F0.d to
933 allow space for negative signs on zero.
934
935 2011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
936
937 PR libgfortran/47667
938 * io/list_read.c (read_logical): Check for end of line before calling
939 eat_line. (read_integer): Likewise. (parse_real): Don't unget the
940 separator. Check for end of line before calling eat_line.
941 (read_complex): Allow line-end before and after parenthesis and comma.
942 Check for end of line before calling eat_line. (read_real): Check for
943 end of line before calling eat_line.
944
945 2011-02-16 Jakub Jelinek <jakub@redhat.com>
946
947 PR libfortran/47757
948 * gfortran.map (GFORTRAN_1.4): Export
949 _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
950 _gfortran_{cshift0,eoshift{0,2}}_16_char4.
951
952 2011-02-15 Tobias Burnus <burnus@net-b.de>
953
954 PR fortran/47716
955 PR fortran/47648
956 * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
957 libquadmath, which uses more features.
958 * configure: Regenerate.
959
960 2011-02-14 Jakub Jelinek <jakub@redhat.com>
961
962 PR fortran/47642
963 * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
964 quadmath_flt128tostr.
965 * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
966 of quadmath_flt128tostr.
967
968 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
969
970 * Makefile.in: Regenerate.
971 * aclocal.m4: Likewise.
972 * configure: Likewise.
973
974 2011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
975
976 PR libgfortran/47567
977 * io/write_float.def (output_float): Eliminate some redundant code.
978 Adjust width for case of F0.X for values of zero and all other values.
979 Expand cases where '*' is set to give cleaner results.
980
981 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
982
983 PR libfortran/47571
984 * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
985 (weak_gettime): Likewise.
986 (gf_gettime): Change API, move weak_gettime() usage to
987 system_clock.c
988 * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
989 (gf_gettime_mono): New function.
990 (system_clock_4): Use gf_gettime_mono().
991 (system_clock_8): Likewise.
992 * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
993 usage.
994
995 2011-02-02 Janne Blomqvist <jb@gcc.gnu.org>
996
997 PR libfortran/47571
998 * configure: Regenerated.
999 * configure.ac: Don't add librt to LIBS.
1000 * intrinsics/time_1.h (weak_gettime): Weakref trickery for
1001 clock_gettime().
1002 (gf_gettime): Use weak_gettime() instead of clock_gettime().
1003
1004 2011-02-01 Janne Blomqvist <jb@gcc.gnu.org>
1005
1006 * intrinsics/time_1.h: Include errno.h needed by fallbacks.
1007
1008 2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
1009
1010 * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
1011
1012 2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
1013
1014 * configure.ac: Check for clock_gettime().
1015 * configure: Regenerated.
1016 * config.h.in: Regenerated.
1017 * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
1018 times() fallback.
1019 (gf_gettime): New function.
1020 * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
1021 * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
1022 * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
1023 * intrinsics/etime.c (etime_sub): Use gf_cputime.
1024 * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
1025 (system_clock_8): Use gf_gettime, increase count rate to allow
1026 nanosecond precision, remove overflow prone branch.
1027
1028 2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1029
1030 PR libgfortran/47434
1031 * io/write_float.def (write_infnan): Use calculate_sign to determine
1032 if the sign should be given and check field widths accordingly.
1033
1034 2011-01-29 Kai Tietz <kai.tietz@onevision.com>
1035
1036 * intrinsics/ctime.c (ctime_r): Improve implementation.
1037
1038 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
1039
1040 PR libfortran/47431
1041 * config.h.in: Regenerated.
1042 * configure: Regenerated.
1043 * configure.ac: Add check for ctime_r().
1044 * intrinsics/ctime.c (ctime_r): Fallback implementation.
1045 (fdate): Use ctime_r() instead of ctime().
1046 (fdate_sub): Likewise.
1047 (ctime): Likewise.
1048 (ctime_sub): Likewise.
1049
1050 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
1051
1052 PR libfortran/47432
1053 * config.h.in: Regenerated.
1054 * configure: Regenerated.
1055 * configure.ac: Add check for ttyname_r.
1056 * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
1057 * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
1058 to new prototype.
1059 * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
1060 * io/intrinsics.c (ttynam_sub): Likewise.
1061 (ttynam): Likewise.
1062
1063 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
1064
1065 PR libfortran/47491
1066 * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
1067 extensions.
1068 * config.h.in: Regenerate.
1069 * configure: Regenerate.
1070
1071 2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1072
1073 PR libgfortran/47285
1074 * io/write_float.def (write_infnan): Adjust processor selected width
1075 to 3 if NaN.
1076
1077 2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1078
1079 PR libgfortran/47285
1080 * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
1081 the result to set the padding.
1082
1083 2011-01-26 Kai Tietz <kai.tietz@onevision.com>
1084
1085 * intrinsics/getlog.c (getlog): Fix label/statement issue.
1086
1087 2011-01-25 Janne Blomqvist <jb@gcc.gnu.org>
1088
1089 PR libfortran/47375
1090 * config.h.in: Regenerated.
1091 * configure: Regenerated.
1092 * configure.ac: Add check for getpwuid_r.
1093 * intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
1094
1095 2011-01-22 Janne Blomqvist <jb@gcc.gnu.org>
1096
1097 PR libfortran/46267
1098 * config.h.in: Regenerated.
1099 * configure: Regenerated.
1100 * configure.ac: Check presence of strerror_r.
1101 * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
1102 * io/unix.c (get_oserror): Remove.
1103 * libgfortran.h (gf_strerror): Add prototype.
1104 (get_oserror): Remove prototype.
1105 * runtime/error.c (gf_strerror): New function.
1106 (os_error): Use gf_strerror instead of get_oserror.
1107 (generate_errror): Likewise.
1108
1109 2011-01-17 Janne Blomqvist <jb@gcc.gnu.org>
1110
1111 PR libfortran/47296
1112 * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
1113 error occurs.
1114
1115 2011-01-16 Jakub Jelinek <jakub@redhat.com>
1116
1117 PR fortran/46625
1118 * io/write_float.def (DTOAQ): Use quadmath_flt128tostr
1119 instead of quadmath_dtoa.
1120 * io/transfer128.c (tmp1, tmp2): New variables, bring in
1121 strtoflt128 and quadmath_flt128tostr.
1122 (transfer_real128, transfer_real128_write, transfer_complex128,
1123 transfer_complex128_write): Remove tmp1/tmp2 variables.
1124 * io/read.c (convert_real): Use strtoflt128 instead of
1125 quadmath_strtopQ, adjust for the changed arguments and return
1126 value.
1127
1128 2011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1129
1130 PR libgfortran/47296
1131 * io/unix.c (unpack_filename): Return non-zero if the filename passed
1132 in is NULL.
1133
1134 2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1135
1136 PR libgfortran/47154
1137 * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
1138 duplicate calls via next_record.
1139
1140 \f
1141 Copyright (C) 2011 Free Software Foundation, Inc.
1142
1143 Copying and distribution of this file, with or without modification,
1144 are permitted in any medium without royalty provided the copyright
1145 notice and this notice are preserved.