OSDN Git Service

Remove duplicate ".endfunc".
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog-2007
1 2007-12-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
2
3         PR libfortran/22423
4         * intrinsics/pack_generic.c (pack): Change type of mask argument
5         to gfc_array_l1 * in prototype and function.
6         (pack_char):  Likewise.
7         * intrinsics/unpack_generic.c (unpack1):  Likewise.
8         (unpack1_char):  Likewise.
9         (unpack0):  Likewise.
10         (unpack0_char):  Likewise.
11
12 2007-12-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
13
14         PR libfortran/34594
15         * runtime/error.c: If there was a previous error, don't
16         mask it with another error mesage, EOF or EOR condition.
17
18 2007-12-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
19
20         PR libfortran/34560
21         * io/transfer.c (read_sf): Check if readlen was less than the requested
22         number of bytes to read and if so, generate error.
23
24 2007-12-25  Daniel Franke  <franke.daniel@gmail.com>
25
26         PR fortran/34533
27         * intrinsics/cpu_time.c: Moved code commonly usable for CPU_TIME,
28         DTIME and ETIME to ...
29         * intrinsics/time_1.h: ... here.
30         * intrinsics/dtime.c: New file.
31         * intrinsics/etime.c: Newly implemented using the common 
32         time-aquisition function from time_1.h.
33         * gfortran.map (_gfortran_dtime, _gfortran_dtime_sub): New.
34         * Makefile.am: Added new file.
35         * Makefile.in: Regenerated.
36         * configure: Regenerated.
37
38 2007-12-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
39
40         PR libfortran/34566
41         * m4/matmull.m4:  Multiply xstride and ystride by correct kind.
42         * generated/matmul_l4.c:  Regenerated.
43         * generated/matmul_l8.c:  Regenerated.
44         * generated/matmul_l16.c:  Regenerated.
45
46 2007-12-19  Tobias Burnus  <burnus@net-b.de>
47
48         PR fortran/34530
49         * io/list_read.c (eat_line): Move up in the file.
50         (eat_separator): In namelist mode, skip over comment lines.
51
52 2007-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
53
54         PR fortran/34427
55         * io/list_read.c (read_real): Handle intervening line ends and spaces.
56         (get_name): Don't push separators to saved_string.
57         (eat_separator): If in namelist mode eat spaces and line ends as well.
58
59 2007-12-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
60
61         PR libfortran/34370
62         PR libfortran/34323
63         PR libfortran/34405
64         * io/io.h:  Add previous_nonadvancing_write to gfc_unit.
65         Add prototype for finish_last_advance_record.
66         * io/file_pos.c (st_backspace):  Generate error if backspace is
67         attempted for direct access or unformatted stream.
68         If there are bytes left from a previous ADVANCE="no", write
69         them out before performing the backspace.
70         (st_endfile):  Generate error if endfile is attempted for
71         direct access.
72         If there are bytes left from a previous ADVANCE="no", write
73         them out before performing the endfile.
74         (st_rewind):  Generate error if rewind is attempted for
75         direct access.
76         * unit.c (close_unit_1):  Move functionality to write
77         previously written bytes to...
78         (finish_last_advance_record):  ... here.
79         * transfer.c (data_transfer_init):  If reading, reset
80         previous_nonadvancing_write.
81         (finalize_transfer):  Set the previous_noadvancing_write
82         flag if we are writing and ADVANCE="no" was specified.
83         Only call next_record() if advance="no" wasn't specified.
84
85 2007-12-13  Tobias Burnus  <burnus@net-b.de>
86
87         PR fortran/34427
88         * io/list_read.c (read_real): Fix unwinding for namelists.
89
90 2007-12-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
91
92         PR libfortran/34411
93         * io/read.c (convert_real, read_l, read_decimal, read_radix, read_f):
94         Call next_record after bad read or overflow error.
95
96 2007-12-09  Tobias Burnus  <burnus@net-b.de>
97
98         PR fortran/34404
99         * io/list_read.c (parse_real): Remove superfluous "goto bad;".
100
101 2007-12-08  Tobias Burnus  <burnus@net-b.de>
102
103         PR fortran/34319
104         * io/list_read.c (parse_real, read_real): Support NaN/Infinity.
105
106 2007-12-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
107             Thomas Koenig  <tkoenig@gcc.gnu.org>
108
109         PR libfortran/33985
110         * io/transfer.c (read_block, read_block_direct, write_block, write_buf):
111         Don't seek if file position is already there for STREAM I/O.
112         (finalize_transfer): For STREAM I/O don't flush unless the file position
113         has moved past the start position before the transfer.
114
115 2007-12-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
116
117         * intrinsic/stat.c (stat_i4_sub_0, stat_i8_sub_0): Mark parameter
118         with unused attribute.
119         * intrinsics/system_clock.c (system_clock_4, system_clock_8):
120         Remove unused variable.
121         * intrinsics/umask.c: Include unistd.h.
122
123 2007-11-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
124
125         PR libfortran/34291
126         * io/list_read.c (read_character): When reading an unquoted string,
127         return if special characters that could signify the end of the namelist
128         read are encountered.
129
130 2007-11-29  Steven G. Kargl  <kargls@comcast.net>
131
132         PR libfortran/33583
133         * libgfortran/gfortran.map: Add tgammaf, tgamma, lgamma, and lgammaf.
134         * gfortran.dg/gamma_5.f90: Remove xfail.
135
136 2007-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
137
138         PR libfortran/33583
139         PR libfortran/33698
140         * intrinsics/c99_functions.c (tgamma, tgammaf, lgamma, lgammaf):
141         New fallback functions.
142         * c99_protos.h (tgamma, tgammaf, lgamma, lgammaf): New prototypes.
143         * configure.ac: Add checks for tgamma, tgammaf, tgammal, lgamma,
144         lgammaf and lgammal.
145         * config.h.in: Regenerate.
146         * configure: Regenerate.
147
148 2007-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
149
150         * mk-kinds-h.sh: Change sed syntax.
151
152 2007-11-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
153
154         PR libfortran/33985
155         * io/transfer.c (finalize_transfer): Revert previous patch.
156         
157 2007-11-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
158
159         PR libfortran/33985
160         * io/transfer.c (finalize_transfer): Do not flush for
161         unformatted STREAM I/O.
162
163 2007-10-27  Tobias Burnus  <burnus@net-b.de>
164
165         * mk-kinds-h.sh: Change LANG=C to LC_ALL=C.
166
167 2007-10-26  Tobias Burnus  <burnus@net-b.de>
168
169         * mk-kinds-h.sh: Add "LANG=C".
170
171 2007-10-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
172
173         * libgfortran.h (GFC_REAL_*_HUGE, GFC_REAL_*_DIGITS,
174         GFC_REAL_*_RADIX): Remove.
175         * mk-kinds-h.sh: Define GFC_REAL_*_HUGE, GFC_REAL_*_DIGITS and
176         GFC_REAL_*_RADIX. Don't define GFC_REAL_LARGEST_FORMAT and
177         GFC_REAL_LARGEST.
178
179 2007-10-19  Ben Elliston  <bje@au.ibm.com>
180
181         * intrinsics/signal.c (alarm_sub_i4): Mark conditionally unused
182         parameters with __attribute__ ((unused)).
183         (alarm_sub_i8): Likewise.
184         (alarm_sub_int_i4): Likewise.
185         (alarm_sub_int_i8): Likewise.
186
187 2007-10-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
188             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
189
190         PR libfortran/33795
191         * libgfortran.h: Add unbuffered_preconnected.
192         * io/unix.c (output_stream): Set stream unbuffered flag if
193         options.unbuffered_preconnected has been set.
194         (error_stream): Ditto.
195         * runtime/environ.c (variable_table): Add to environment variable table
196         the entry: GFORTRAN_UNBUFFERED_PRECONNECTED. 
197         
198 2007-10-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
199
200         PR libfortran/32021
201         * runtime/backtrace.c (local_strcasestr): Protect by appropriate
202         macros.
203         * runtime/main.c (cleanup): Cast argument to free.
204         * intrinsics/spread_generic.c (spread_internal): Match runtime_error
205         arguments and format.
206         * intrinsics/signal.c (alarm_sub_int_i4, alarm_sub_int_i8): Cast
207         pointers to avoid warnings.
208
209 2007-10-18  Ben Elliston  <bje@au.ibm.com>
210
211         * runtime/environ.c (init_choice): Remove unused function.
212         (show_choice): Likewise.
213         (choice): Remove.
214         (FP_ROUND_NEAREST, FP_ROUND_UP, FP_ROUND_DOWN, FP_ROUND_ZERO):
215         Remove.
216         (precision, signal_choices): Remove.
217
218 2007-10-15 Christopher D. Rickett <crickett@lanl.gov>
219
220         PR fortran/32600
221         * libgfortran/intrinsics/iso_c_binding.c: Remove c_associated_1
222         and c_associated_2.
223         * libgfortran/intrinsics/iso_c_binding.h: Ditto.
224         * libgfortran/gfortran.map: Ditto.
225
226 2007-10-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
227
228         PR libfortran/33055
229         * io/inquire.c (inquire_via_unit):  If inquiring by unit, check for
230         an error condition from the IOSTAT variable and set EXIST to false if
231         there was a bad unit number.
232
233 2007-10-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
234
235         PR libfortran/33672
236         * io/list_read.c (nml_parse_qualifier): Add character specific error
237         messages.  Check for proper form of sub-string qualifiers.  Return the
238         parsed_rank flag indicating a non-zero rank qualifier.
239         (nml_get_obj_data):  Count the instances of non-zero rank qualifiers.
240         Issue an error if more that one non-zero rank qualifier is found.
241
242 2007-10-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
243
244         PR libfortran/33253
245         * io/list_read.c (read_character): Use line_buffer to scan ahead for
246         object name or string when no delimiter is found.
247
248 2007-10-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
249
250         PR libfortran/32021
251         * runtime/environ.c (init_mem, show_mem, init_round, show_round,
252         init_precision, show_precision, init_signal, show_signal): Remove.
253         (variable_table): Remove GFORTRAN_MEM_INIT, GFORTRAN_MEM_CHECK,
254         GFORTRAN_SIGHUP, GFORTRAN_SIGINT, GFORTRAN_FPU_ROUND and
255         GFORTRAN_FPU_PRECISION.
256         * libgfortran.h (options_t): Remove mem_check, fpu_round,
257         fpu_precision, sighup, sigint, allocate_init_flag and
258         allocate_init_value.
259
260 2007-10-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
261
262         PR libfortran/33253
263         * io/list_read.c (read_character): Use DELIM_APOSTROPHE and DELIM_QUOTE
264         and quote value in check of first character in string.
265
266 2007-10-02  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
267
268         PR fortran/33469
269         * io/write.c (write_real): Widen the default formats.
270
271 2007-09-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
272
273         PR libfortran/33400
274         * io/list_read.c (next_char): Interpret encountering the end of file the
275         first time as an end of line.  Subsequent reads give EOF error.
276
277 2007-09-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
278
279         PR libfortran/33421
280         * io/list_read.c (read_character): Revert r128057.
281
282 2007-09-21  Bernhard Fischer  <aldot>
283
284         PR fortran/31546
285         * (configure.ac): Add --enable-intermodule for onestep build.
286         * (Makefile.am): Handle onestep build.
287         * (configure, Makefile.in): Regenerate.
288
289 2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
290
291         PR libfortran/26253
292         * intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.
293
294 2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
295
296         PR libfortran/23272
297         * io/unix.c (id_from_handle, id_from_path, id_from_fd): New
298         functions.
299         (compare_file_filename, find_file, find_file0): Use the new
300         functions above.
301
302 2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
303
304         * acinclude.m4 (LIBGFOR_TARGET_ILP32): Remove test.
305         * configure.ac: Don't call LIBGFOR_TARGET_ILP32.
306         * configure: Regenerate.
307         * config.h.in: Regenerate.
308
309 2007-09-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
310
311         PR libfortran/21185
312         * runtime/compile_options.c (set_options): Fix typo.
313         * runtime/main.c (store_exe_path): If getcwd is not available,
314         don't use it.
315         * intrinsics/getcwd.c: Same thing here.
316         * io/unix.c (fallback_access): New fallback function for access.
317         (fix_fd): Don't use dup if it's not available.
318         * configure.ac: Check for dup and getcwd.
319         * configure: Regenerate.
320         * config.h.in: Regenerate.
321
322 2007-09-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
323
324         * io/io.h: Include libgfortran.h first.
325
326 2007-09-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
327
328         PR libfortran/33386
329         * runtime/select.c (select_string): Initialize default_jump.
330
331 2007-09-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
332
333         PR libfortran/33307
334         * io/filepos.c (st_backspace): Don't truncate when already at the end
335         of the file.
336         
337 2007-09-07  Uros Bizjak  <ubizjak@gmail.com>
338
339         * config/fpu-387.h: Include cpuid.h.
340         (set_fpu): Use __get_cpuid to check for SSE.
341
342 2007-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
343
344         PR fortran/33298
345         * intrinsics/spread_generic.c(spread_internal): Enable
346         bounds checking by comparing extents if the bounds_check
347         option has been set.  If any extent is <=0, return early.
348
349 2007-09-06  David Edelsohn  <edelsohn@gnu.org>
350
351         * libgfortran.h: Include config.h first.
352         * io/io.h (struct stream): Rename truncate to trunc.
353         * io/unix.c (fd_open): Same.
354         (open_internal): Same.
355
356 2007-09-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
357
358         PR libfortran/33253
359         * io/write.c (nml_write_obj): Set the delimiter correctly before
360         calling write_character. (namelist_write): Clean up the code a little
361         and add comments to clarify what its doing.
362
363 2007-09-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
364
365         PR libfortran/33225
366         * io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
367         new file write_float.def. Include write_float.def.
368         (extract_real): Delete. (calculate_sign): Delete.
369         (calculate_exp): Delete. (calculate_G_format): Delete.
370         (output_float): Delete. (write_float): Delete.
371         * io/write_float.def (calculate_sign): Added.
372         (output_float): Refactored to be independent of kind and added to this
373         file for inclusion. (write_infnan): New function to write "Infinite"
374         or "NaN" depending on flags passed, independent of kind.
375         (CALCULATE_EXP): New macro to build kind specific functions. Use it.
376         (OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
377         (DTOA, DTOAL): Macros to implement "decimal to ascii".
378         (WRITE_FLOAT): New macro for kind specific write_float functions.
379         (write_float): Revised function to determine kind and use WRITE_FLOAT
380         to implement kind specific output.
381
382 2007-09-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
383
384         PR libfortran/33253
385         * io/list_read.c (read_character): Use DELIM_APOSTROPHE and
386         DELIM_QUOTE in check of first character in string. 
387
388 2007-09-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
389
390         PR fortran/31675
391         * libgfortran.h: Include gcc/fortran/libgfortran.h.
392         Remove M_PI, GFC_MAX_DIMENSIONS, GFC_DTYPE_*, GFC_NUM_RANK_BITS,
393         error_codes, GFC_STD_*, GFC_FPE_* and unit_convert.
394         * runtime/environ.c (variable_table): Use GFC_*_UNIT_NUMBER instead
395         of hardcoded constants.
396         (do_parse, init_unformatted): Use GFC_CONVERT_* macros instead of
397         CONVERT_*.
398         * runtime/string.c (find_option): Use LIBERROR_BAD_OPTION instead
399         of ERROR_BAD_OPTION.
400         * runtime/error.c (translate_error, generate_error): Use
401         LIBERROR_* macros instead of ERROR_*.
402         * io/file_pos.c (formatted_backspace, unformatted_backspace,
403         st_backspace, st_rewind, st_flush): Rename macros.
404         * io/open.c (convert_opt, edit_modes, new_unit, already_open,
405         st_open): Likewise.
406         * io/close.c (st_close): Likewise.
407         * io/list_read.c (next_char, convert_integer, parse_repeat,
408         read_logical, read_integer, read_character, parse_real,
409         check_type, list_formatted_read_scalar, namelist_read,
410         nml_err_ret): Likewise.
411         * io/read.c (convert_real, read_l, read_decimal, read_radix,
412         read_f): Likewise.
413         * io/inquire.c (inquire_via_unit): Likewise.
414         * io/unit.c (get_internal_unit): Likewise.
415         * io/transfer.c (read_sf, read_block, read_block_direct,
416         write_block, write_buf, unformatted_read, unformatted_write,
417         formatted_transfer_scalar, us_read, us_write, data_transfer_init,
418         skip_record, next_record_r, write_us_marker, next_record_w_unf,
419         next_record_w, finalize_transfer, st_read, st_write_done):
420         Likewise.
421         * io/format.c (format_error): Likewise.
422
423 2007-08-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
424
425         * m4/minloc1.m4: Update copyright year and ajust headers order.
426         * m4/maxloc1.m4: Likewise.
427         * m4/in_pack.m4: Likewise.
428         * m4/sum.m4: Likewise.
429         * m4/fraction.m4: Likewise.
430         * m4/all.m4: Likewise.
431         * m4/set_exponent.m4: Likewise.
432         * m4/transpose.m4: Likewise.
433         * m4/eoshift1.m4: Likewise.
434         * m4/spacing.m4: Likewise.
435         * m4/eoshift3.m4: Likewise.
436         * m4/minval.m4: Likewise.
437         * m4/count.m4: Likewise.
438         * m4/maxval.m4: Likewise.
439         * m4/exponent.m4: Likewise.
440         * m4/shape.m4: Likewise.
441         * m4/head.m4: Likewise.
442         * m4/cshift1.m4: Likewise.
443         * m4/minloc0.m4: Likewise.
444         * m4/nearest.m4: Likewise.
445         * m4/maxloc0.m4: Likewise.
446         * m4/pow.m4: Likewise.
447         * m4/in_unpack.m4: Likewise.
448         * m4/matmull.m4: Likewise.
449         * m4/product.m4: Likewise.
450         * m4/reshape.m4: Likewise.
451         * m4/any.m4: Likewise.
452         * m4/rrspacing.m4: Likewise.
453         * m4/matmul.m4: Likewise.
454         * runtime/backtrace.c: Likewise.
455         * runtime/environ.c: Likewise.
456         * runtime/in_pack_generic.c: Likewise.
457         * runtime/compile_options.c: Likewise.
458         * runtime/in_unpack_generic.c: Likewise.
459         * runtime/main.c: Likewise.
460         * runtime/stop.c: Likewise.
461         * runtime/string.c: Likewise.
462         * runtime/memory.c: Likewise.
463         * runtime/error.c: Likewise.
464         * runtime/pause.c: Likewise.
465         * intrinsics/ierrno.c: Likewise.
466         * intrinsics/system_clock.c: Likewise.
467         * intrinsics/cshift0.c: Likewise.
468         * intrinsics/unlink.c: Likewise.
469         * intrinsics/ctime.c: Likewise.
470         * intrinsics/etime.c: Likewise.
471         * intrinsics/cpu_time.c: Likewise.
472         * intrinsics/malloc.c: Likewise.
473         * intrinsics/hostnm.c: Likewise.
474         * intrinsics/sleep.c: Likewise.
475         * intrinsics/exit.c: Likewise.
476         * intrinsics/perror.c: Likewise.
477         * intrinsics/transpose_generic.c: Likewise.
478         * intrinsics/pack_generic.c: Likewise.
479         * intrinsics/spread_generic.c: Likewise.
480         * intrinsics/stat.c: Likewise.
481         * intrinsics/string_intrinsics.c: Likewise.
482         * intrinsics/getcwd.c: Likewise.
483         * intrinsics/date_and_time.c: Likewise.
484         * intrinsics/unpack_generic.c: Likewise.
485         * intrinsics/move_alloc.c: Likewise.
486         * intrinsics/getlog.c: Likewise.
487         * intrinsics/eoshift0.c: Likewise.
488         * intrinsics/eoshift2.c: Likewise.
489         * intrinsics/reshape_generic.c: Likewise.
490         * intrinsics/system.c: Likewise.
491         * intrinsics/iso_c_binding.c: Likewise.
492         * intrinsics/env.c: Likewise.
493         * intrinsics/kill.c: Likewise.
494         * intrinsics/reshape_packed.c: Likewise.
495         * intrinsics/time.c: Likewise.
496         * intrinsics/gerror.c: Likewise.
497         * intrinsics/access.c: Likewise.
498         * intrinsics/fnum.c: Likewise.
499         * intrinsics/abort.c: Likewise.
500         * intrinsics/rename.c: Likewise.
501         * intrinsics/signal.c: Likewise.
502         * intrinsics/symlnk.c: Likewise.
503         * intrinsics/random.c: Likewise.
504         * intrinsics/umask.c: Likewise.
505         * intrinsics/getXid.c: Likewise.
506         * intrinsics/rand.c: Likewise.
507         * intrinsics/chdir.c: Likewise.
508         * intrinsics/chmod.c: Likewise.
509         * intrinsics/clock.c: Likewise.
510         * intrinsics/args.c: Likewise.
511         * intrinsics/link.c: Likewise.
512         * c99_protos.h: Likewise.
513         * config/fpu-387.h: Likewise.
514         * config/fpu-aix.h: Likewise.
515         * config/fpu-sysv.h: Likewise.
516         * config/fpu-generic.h: Likewise.
517         * config/fpu-glibc.h: Likewise.
518         * io/file_pos.c: Likewise.
519         * io/open.c: Likewise.
520         * io/size_from_kind.c: Likewise.
521         * io/close.c: Likewise.
522         * io/list_read.c: Likewise.
523         * io/read.c: Likewise.
524         * io/inquire.c: Likewise.
525         * io/unit.c: Likewise.
526         * io/unix.c: Likewise.
527         * io/transfer.c: Likewise.
528         * io/intrinsics.c: Likewise.
529         * io/format.c: Likewise.
530         * io/lock.c: Likewise.
531         * io/write.c: Likewise.
532         * io/write_float.def: Likewise.
533         * fmain.c: Likewise.
534         * generated/minval_r8.c: Regenerate.
535         * generated/minloc1_16_r16.c: Regenerate.
536         * generated/maxloc1_4_r8.c: Regenerate.
537         * generated/sum_i8.c: Regenerate.
538         * generated/eoshift3_4.c: Regenerate.
539         * generated/transpose_c8.c: Regenerate.
540         * generated/any_l16.c: Regenerate.
541         * generated/eoshift1_8.c: Regenerate.
542         * generated/pow_r8_i8.c: Regenerate.
543         * generated/reshape_r16.c: Regenerate.
544         * generated/pow_i4_i16.c: Regenerate.
545         * generated/maxval_i2.c: Regenerate.
546         * generated/product_r4.c: Regenerate.
547         * generated/maxloc1_8_i4.c: Regenerate.
548         * generated/exponent_r16.c: Regenerate.
549         * generated/maxloc0_4_r4.c: Regenerate.
550         * generated/fraction_r16.c: Regenerate.
551         * generated/in_unpack_i8.c: Regenerate.
552         * generated/matmul_r8.c: Regenerate.
553         * generated/product_i2.c: Regenerate.
554         * generated/fraction_r4.c: Regenerate.
555         * generated/minloc0_4_r16.c: Regenerate.
556         * generated/reshape_c4.c: Regenerate.
557         * generated/minloc0_4_i1.c: Regenerate.
558         * generated/maxloc0_4_r16.c: Regenerate.
559         * generated/maxloc0_4_i2.c: Regenerate.
560         * generated/minloc1_8_r16.c: Regenerate.
561         * generated/maxloc1_8_r16.c: Regenerate.
562         * generated/set_exponent_r8.c: Regenerate.
563         * generated/in_unpack_i16.c: Regenerate.
564         * generated/transpose_c16.c: Regenerate.
565         * generated/maxloc0_8_i8.c: Regenerate.
566         * generated/pow_c4_i8.c: Regenerate.
567         * generated/sum_r16.c: Regenerate.
568         * generated/sum_i1.c: Regenerate.
569         * generated/minloc1_4_r8.c: Regenerate.
570         * generated/transpose_r10.c: Regenerate.
571         * generated/pow_i8_i4.c: Regenerate.
572         * generated/maxloc1_16_r16.c: Regenerate.
573         * generated/minloc1_16_i4.c: Regenerate.
574         * generated/maxloc1_16_i4.c: Regenerate.
575         * generated/minloc0_16_i8.c: Regenerate.
576         * generated/maxloc0_16_i8.c: Regenerate.
577         * generated/nearest_r8.c: Regenerate.
578         * generated/spacing_r16.c: Regenerate.
579         * generated/transpose_i8.c: Regenerate.
580         * generated/count_16_l16.c: Regenerate.
581         * generated/maxval_r16.c: Regenerate.
582         * generated/count_8_l8.c: Regenerate.
583         * generated/product_c10.c: Regenerate.
584         * generated/minloc1_8_i4.c: Regenerate.
585         * generated/minloc0_16_i16.c: Regenerate.
586         * generated/matmul_r16.c: Regenerate.
587         * generated/eoshift1_16.c: Regenerate.
588         * generated/minloc0_4_r4.c: Regenerate.
589         * generated/pow_c16_i16.c: Regenerate.
590         * generated/set_exponent_r10.c: Regenerate.
591         * generated/pow_i16_i16.c: Regenerate.
592         * generated/product_c4.c: Regenerate.
593         * generated/sum_r4.c: Regenerate.
594         * generated/pow_c16_i4.c: Regenerate.
595         * generated/rrspacing_r10.c: Regenerate.
596         * generated/in_pack_c16.c: Regenerate.
597         * generated/minloc0_4_i2.c: Regenerate.
598         * generated/maxloc0_8_i1.c: Regenerate.
599         * generated/reshape_i4.c: Regenerate.
600         * generated/minloc0_8_i8.c: Regenerate.
601         * generated/matmul_c8.c: Regenerate.
602         * generated/spacing_r4.c: Regenerate.
603         * generated/in_pack_c4.c: Regenerate.
604         * generated/all_l16.c: Regenerate.
605         * generated/minloc1_16_r10.c: Regenerate.
606         * generated/sum_i2.c: Regenerate.
607         * generated/minloc0_16_i1.c: Regenerate.
608         * generated/reshape_c16.c: Regenerate.
609         * generated/maxloc0_16_i1.c: Regenerate.
610         * generated/maxloc1_8_r8.c: Regenerate.
611         * generated/minval_i16.c: Regenerate.
612         * generated/reshape_r10.c: Regenerate.
613         * generated/exponent_r10.c: Regenerate.
614         * generated/maxval_i4.c: Regenerate.
615         * generated/any_l4.c: Regenerate.
616         * generated/minval_i8.c: Regenerate.
617         * generated/maxloc1_4_i8.c: Regenerate.
618         * generated/fraction_r10.c: Regenerate.
619         * generated/maxloc0_16_i16.c: Regenerate.
620         * generated/shape_i4.c: Regenerate.
621         * generated/pow_r16_i8.c: Regenerate.
622         * generated/maxloc0_8_r4.c: Regenerate.
623         * generated/rrspacing_r8.c: Regenerate.
624         * generated/pow_c10_i4.c: Regenerate.
625         * generated/minloc1_4_i16.c: Regenerate.
626         * generated/minloc0_4_r10.c: Regenerate.
627         * generated/maxloc1_4_i16.c: Regenerate.
628         * generated/minloc0_8_i16.c: Regenerate.
629         * generated/maxloc0_4_r10.c: Regenerate.
630         * generated/maxloc0_8_i16.c: Regenerate.
631         * generated/minloc1_8_r10.c: Regenerate.
632         * generated/product_i4.c: Regenerate.
633         * generated/minloc0_16_r4.c: Regenerate.
634         * generated/sum_c16.c: Regenerate.
635         * generated/maxloc1_8_r10.c: Regenerate.
636         * generated/maxloc0_16_r4.c: Regenerate.
637         * generated/transpose_c10.c: Regenerate.
638         * generated/minloc1_16_r8.c: Regenerate.
639         * generated/minloc0_8_i1.c: Regenerate.
640         * generated/maxloc0_4_i4.c: Regenerate.
641         * generated/transpose_r4.c: Regenerate.
642         * generated/maxloc1_16_r8.c: Regenerate.
643         * generated/pow_i16_i8.c: Regenerate.
644         * generated/cshift1_4.c: Regenerate.
645         * generated/maxloc0_8_i2.c: Regenerate.
646         * generated/sum_r10.c: Regenerate.
647         * generated/nearest_r16.c: Regenerate.
648         * generated/sum_c4.c: Regenerate.
649         * generated/maxloc1_16_r10.c: Regenerate.
650         * generated/count_4_l16.c: Regenerate.
651         * generated/pow_c8_i8.c: Regenerate.
652         * generated/matmul_i8.c: Regenerate.
653         * generated/in_pack_i4.c: Regenerate.
654         * generated/pow_i4_i8.c: Regenerate.
655         * generated/minloc0_16_i2.c: Regenerate.
656         * generated/minloc1_8_r8.c: Regenerate.
657         * generated/maxloc0_16_i2.c: Regenerate.
658         * generated/exponent_r4.c: Regenerate.
659         * generated/spacing_r10.c: Regenerate.
660         * generated/matmul_c16.c: Regenerate.
661         * generated/pow_c4_i16.c: Regenerate.
662         * generated/maxval_r10.c: Regenerate.
663         * generated/count_4_l4.c: Regenerate.
664         * generated/shape_i16.c: Regenerate.
665         * generated/minval_i1.c: Regenerate.
666         * generated/maxloc1_4_i1.c: Regenerate.
667         * generated/matmul_r10.c: Regenerate.
668         * generated/minloc1_4_i8.c: Regenerate.
669         * generated/pow_r10_i8.c: Regenerate.
670         * generated/minloc0_8_r4.c: Regenerate.
671         * generated/in_unpack_c4.c: Regenerate.
672         * generated/matmul_l4.c: Regenerate.
673         * generated/product_i16.c: Regenerate.
674         * generated/minloc0_16_r16.c: Regenerate.
675         * generated/reshape_r8.c: Regenerate.
676         * generated/pow_r10_i16.c: Regenerate.
677         * generated/all_l4.c: Regenerate.
678         * generated/in_pack_c10.c: Regenerate.
679         * generated/minloc0_4_i4.c: Regenerate.
680         * generated/minloc0_8_i2.c: Regenerate.
681         * generated/matmul_i1.c: Regenerate.
682         * generated/reshape_c10.c: Regenerate.
683         * generated/minval_r4.c: Regenerate.
684         * generated/maxloc1_4_r4.c: Regenerate.
685         * generated/pow_r8_i16.c: Regenerate.
686         * generated/sum_i4.c: Regenerate.
687         * generated/maxval_r8.c: Regenerate.
688         * generated/count_16_l8.c: Regenerate.
689         * generated/transpose_c4.c: Regenerate.
690         * generated/eoshift1_4.c: Regenerate.
691         * generated/eoshift3_8.c: Regenerate.
692         * generated/minval_r16.c: Regenerate.
693         * generated/minloc1_4_i1.c: Regenerate.
694         * generated/minval_i2.c: Regenerate.
695         * generated/maxloc1_4_i2.c: Regenerate.
696         * generated/pow_i8_i16.c: Regenerate.
697         * generated/product_r8.c: Regenerate.
698         * generated/maxloc1_8_i8.c: Regenerate.
699         * generated/maxloc0_4_r8.c: Regenerate.
700         * generated/maxloc0_16_r16.c: Regenerate.
701         * generated/in_unpack_i4.c: Regenerate.
702         * generated/matmul_r4.c: Regenerate.
703         * generated/sum_c10.c: Regenerate.
704         * generated/minloc1_4_r16.c: Regenerate.
705         * generated/fraction_r8.c: Regenerate.
706         * generated/maxloc1_4_r16.c: Regenerate.
707         * generated/set_exponent_r4.c: Regenerate.
708         * generated/minloc0_8_r16.c: Regenerate.
709         * generated/in_unpack_c16.c: Regenerate.
710         * generated/reshape_c8.c: Regenerate.
711         * generated/maxloc0_8_r16.c: Regenerate.
712         * generated/nearest_r10.c: Regenerate.
713         * generated/maxloc0_8_i4.c: Regenerate.
714         * generated/pow_c4_i4.c: Regenerate.
715         * generated/matmul_i2.c: Regenerate.
716         * generated/minloc1_4_r4.c: Regenerate.
717         * generated/transpose_i16.c: Regenerate.
718         * generated/matmul_c10.c: Regenerate.
719         * generated/minloc0_16_i4.c: Regenerate.
720         * generated/maxloc0_16_i4.c: Regenerate.
721         * generated/pow_i8_i8.c: Regenerate.
722         * generated/nearest_r4.c: Regenerate.
723         * generated/minloc1_16_i8.c: Regenerate.
724         * generated/maxloc1_16_i8.c: Regenerate.
725         * generated/transpose_i4.c: Regenerate.
726         * generated/count_8_l4.c: Regenerate.
727         * generated/minloc1_4_i2.c: Regenerate.
728         * generated/matmul_l16.c: Regenerate.
729         * generated/maxloc1_8_i1.c: Regenerate.
730         * generated/minloc0_16_r10.c: Regenerate.
731         * generated/minloc1_8_i8.c: Regenerate.
732         * generated/minloc0_4_r8.c: Regenerate.
733         * generated/product_r16.c: Regenerate.
734         * generated/product_c8.c: Regenerate.
735         * generated/pow_r16_i16.c: Regenerate.
736         * generated/sum_r8.c: Regenerate.
737         * generated/pow_c16_i8.c: Regenerate.
738         * generated/in_pack_i16.c: Regenerate.
739         * generated/minloc0_8_i4.c: Regenerate.
740         * generated/matmul_c4.c: Regenerate.
741         * generated/minloc1_16_i16.c: Regenerate.
742         * generated/reshape_i8.c: Regenerate.
743         * generated/spacing_r8.c: Regenerate.
744         * generated/in_pack_c8.c: Regenerate.
745         * generated/maxloc1_8_r4.c: Regenerate.
746         * generated/minloc1_16_i1.c: Regenerate.
747         * generated/maxloc1_16_i1.c: Regenerate.
748         * generated/reshape_i16.c: Regenerate.
749         * generated/minval_r10.c: Regenerate.
750         * generated/pow_r4_i8.c: Regenerate.
751         * generated/minloc1_8_i1.c: Regenerate.
752         * generated/minval_i4.c: Regenerate.
753         * generated/maxloc1_4_i4.c: Regenerate.
754         * generated/maxloc1_8_i2.c: Regenerate.
755         * generated/maxval_i8.c: Regenerate.
756         * generated/eoshift3_16.c: Regenerate.
757         * generated/any_l8.c: Regenerate.
758         * generated/maxloc0_16_r10.c: Regenerate.
759         * generated/rrspacing_r4.c: Regenerate.
760         * generated/shape_i8.c: Regenerate.
761         * generated/maxloc0_8_r8.c: Regenerate.
762         * generated/minloc0_4_i16.c: Regenerate.
763         * generated/maxloc0_4_i16.c: Regenerate.
764         * generated/minloc1_4_r10.c: Regenerate.
765         * generated/minloc1_8_i16.c: Regenerate.
766         * generated/pow_c10_i8.c: Regenerate.
767         * generated/maxloc1_4_r10.c: Regenerate.
768         * generated/maxloc1_8_i16.c: Regenerate.
769         * generated/in_unpack_c10.c: Regenerate.
770         * generated/minloc0_8_r10.c: Regenerate.
771         * generated/maxloc0_8_r10.c: Regenerate.
772         * generated/minloc1_16_r4.c: Regenerate.
773         * generated/maxloc1_16_r4.c: Regenerate.
774         * generated/minloc0_16_r8.c: Regenerate.
775         * generated/pow_i16_i4.c: Regenerate.
776         * generated/product_i8.c: Regenerate.
777         * generated/maxloc0_16_r8.c: Regenerate.
778         * generated/sum_i16.c: Regenerate.
779         * generated/maxloc0_4_i8.c: Regenerate.
780         * generated/transpose_r8.c: Regenerate.
781         * generated/cshift1_8.c: Regenerate.
782         * generated/maxloc1_16_i16.c: Regenerate.
783         * generated/matmul_i4.c: Regenerate.
784         * generated/pow_c8_i4.c: Regenerate.
785         * generated/pow_i4_i4.c: Regenerate.
786         * generated/minloc1_8_r4.c: Regenerate.
787         * generated/sum_c8.c: Regenerate.
788         * generated/count_8_l16.c: Regenerate.
789         * generated/minloc1_16_i2.c: Regenerate.
790         * generated/maxloc1_16_i2.c: Regenerate.
791         * generated/in_pack_i8.c: Regenerate.
792         * generated/transpose_r16.c: Regenerate.
793         * generated/maxval_i16.c: Regenerate.
794         * generated/exponent_r8.c: Regenerate.
795         * generated/matmul_i16.c: Regenerate.
796         * generated/count_4_l8.c: Regenerate.
797         * generated/pow_c8_i16.c: Regenerate.
798         * generated/maxval_i1.c: Regenerate.
799         * generated/minloc1_4_i4.c: Regenerate.
800         * generated/minloc1_8_i2.c: Regenerate.
801         * generated/pow_c10_i16.c: Regenerate.
802         * generated/product_c16.c: Regenerate.
803         * generated/reshape_r4.c: Regenerate.
804         * generated/in_unpack_c8.c: Regenerate.
805         * generated/minloc0_8_r8.c: Regenerate.
806         * generated/matmul_l8.c: Regenerate.
807         * generated/product_r10.c: Regenerate.
808         * generated/set_exponent_r16.c: Regenerate.
809         * generated/cshift1_16.c: Regenerate.
810         * generated/product_i1.c: Regenerate.
811         * generated/all_l8.c: Regenerate.
812         * generated/maxloc0_4_i1.c: Regenerate.
813         * generated/rrspacing_r16.c: Regenerate.
814         * generated/minloc0_4_i8.c: Regenerate.
815         * generated/pow_r4_i16.c: Regenerate.
816         * generated/count_16_l4.c: Regenerate.
817         * generated/maxval_r4.c: Regenerate.
818
819 2007-08-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
820
821         PR libfortran/33225
822         * io/write.c: Revert changes from patch of 2007-08-27.
823         * io/write_float.def: Remove file, reverting addition.
824
825 2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
826
827         * runtime/memory.c (internal_realloc, allocate, allocate_array,
828         deallocate): Remove functions.
829         * gfortran.map (_gfortran_allocate, _gfortran_allocate_array,
830         _gfortran_deallocate, _gfortran_internal_realloc): Remove symbols.
831         * libgfortran.h (error_codes): Add comment.
832
833 2007-08-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
834
835         PR libfortran/33055
836         Revert previous patch.
837
838 2007-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
839
840         * io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
841         new file write_float.def. Include write_float.def.
842         (extract_real): Delete. (calculate_sign): Delete.
843         (calculate_exp): Delete. (calculate_G_format): Delete.
844         (output_float): Delete. (write_float): Delete.
845         * io/write_float.def (calculate_sign): Added.
846         (output_float): Refactored to be independent of kind and added to this
847         file for inclusion. (write_infnan): New function to write "Infinite"
848         or "NaN" depending on flags passed, independent of kind.
849         (CALCULATE_EXP): New macro to build kind specific functions. Use it.
850         (OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
851         (DTOA, DTOAL): Macros to implement "decimal to ascii".
852         (WRITE_FLOAT): New macro for kind specific write_float functions.
853         (write_float): Revised function to determine kind and use WRITE_FLOAT
854         to implement kind specific output.
855
856 2007-08-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
857
858         PR libfortran/33055
859         * io/inquire.c (inquire_via_unit):  If inquiring by unit, check for 
860         an error condition from the IOSTAT variable and set EXIST to false if
861         there was a bad unit number.
862
863 2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
864
865         PR fortran/32972
866         * libgfortran.h:  Remove GFOR_POINTER_L8_TO_L4 macro.
867         Add GFOR_POINTER_TO_L1 macro.
868         * m4/iforeach.m4(`m'name`'rtype_qual`_'atype_code):
869         Change argument 'mask' to gfc_array_l1.  Adjust prototype.
870         Change mask pointer to GFC_LOGICAL_1.  Multiply strides
871         by kind of mask
872         * m4/ifunction.m4:  Likewise.
873         * intrinsics/pack_generic.c(pack_internal):  Likewise.
874         * intrinsics/unpack_generic.c(unpack_internal):  Likewise.
875         * m4/matmull.m4:  Switch to GFC_LOGICAL_1.  Multiply strides by
876         kind of logical arguments a and b.
877         * generated/matmul_l16.c: Regenerated.
878         * generated/matmul_l4.c: Regenerated.
879         * generated/matmul_l8.c: Regenerated.
880         * generated/maxloc0_16_i1.c: Regenerated.
881         * generated/maxloc0_16_i16.c: Regenerated.
882         * generated/maxloc0_16_i2.c: Regenerated.
883         * generated/maxloc0_16_i4.c: Regenerated.
884         * generated/maxloc0_16_i8.c: Regenerated.
885         * generated/maxloc0_16_r10.c: Regenerated.
886         * generated/maxloc0_16_r16.c: Regenerated.
887         * generated/maxloc0_16_r4.c: Regenerated.
888         * generated/maxloc0_16_r8.c: Regenerated.
889         * generated/maxloc0_4_i1.c: Regenerated.
890         * generated/maxloc0_4_i16.c: Regenerated.
891         * generated/maxloc0_4_i2.c: Regenerated.
892         * generated/maxloc0_4_i4.c: Regenerated.
893         * generated/maxloc0_4_i8.c: Regenerated.
894         * generated/maxloc0_4_r10.c: Regenerated.
895         * generated/maxloc0_4_r16.c: Regenerated.
896         * generated/maxloc0_4_r4.c: Regenerated.
897         * generated/maxloc0_4_r8.c: Regenerated.
898         * generated/maxloc0_8_i1.c: Regenerated.
899         * generated/maxloc0_8_i16.c: Regenerated.
900         * generated/maxloc0_8_i2.c: Regenerated.
901         * generated/maxloc0_8_i4.c: Regenerated.
902         * generated/maxloc0_8_i8.c: Regenerated.
903         * generated/maxloc0_8_r10.c: Regenerated.
904         * generated/maxloc0_8_r16.c: Regenerated.
905         * generated/maxloc0_8_r4.c: Regenerated.
906         * generated/maxloc0_8_r8.c: Regenerated.
907         * generated/maxloc1_16_i1.c: Regenerated.
908         * generated/maxloc1_16_i16.c: Regenerated.
909         * generated/maxloc1_16_i2.c: Regenerated.
910         * generated/maxloc1_16_i4.c: Regenerated.
911         * generated/maxloc1_16_i8.c: Regenerated.
912         * generated/maxloc1_16_r10.c: Regenerated.
913         * generated/maxloc1_16_r16.c: Regenerated.
914         * generated/maxloc1_16_r4.c: Regenerated.
915         * generated/maxloc1_16_r8.c: Regenerated.
916         * generated/maxloc1_4_i1.c: Regenerated.
917         * generated/maxloc1_4_i16.c: Regenerated.
918         * generated/maxloc1_4_i2.c: Regenerated.
919         * generated/maxloc1_4_i4.c: Regenerated.
920         * generated/maxloc1_4_i8.c: Regenerated.
921         * generated/maxloc1_4_r10.c: Regenerated.
922         * generated/maxloc1_4_r16.c: Regenerated.
923         * generated/maxloc1_4_r4.c: Regenerated.
924         * generated/maxloc1_4_r8.c: Regenerated.
925         * generated/maxloc1_8_i1.c: Regenerated.
926         * generated/maxloc1_8_i16.c: Regenerated.
927         * generated/maxloc1_8_i2.c: Regenerated.
928         * generated/maxloc1_8_i4.c: Regenerated.
929         * generated/maxloc1_8_i8.c: Regenerated.
930         * generated/maxloc1_8_r10.c: Regenerated.
931         * generated/maxloc1_8_r16.c: Regenerated.
932         * generated/maxloc1_8_r4.c: Regenerated.
933         * generated/maxloc1_8_r8.c: Regenerated.
934         * generated/maxval_i1.c: Regenerated.
935         * generated/maxval_i16.c: Regenerated.
936         * generated/maxval_i2.c: Regenerated.
937         * generated/maxval_i4.c: Regenerated.
938         * generated/maxval_i8.c: Regenerated.
939         * generated/maxval_r10.c: Regenerated.
940         * generated/maxval_r16.c: Regenerated.
941         * generated/maxval_r4.c: Regenerated.
942         * generated/maxval_r8.c: Regenerated.
943         * generated/minloc0_16_i1.c: Regenerated.
944         * generated/minloc0_16_i16.c: Regenerated.
945         * generated/minloc0_16_i2.c: Regenerated.
946         * generated/minloc0_16_i4.c: Regenerated.
947         * generated/minloc0_16_i8.c: Regenerated.
948         * generated/minloc0_16_r10.c: Regenerated.
949         * generated/minloc0_16_r16.c: Regenerated.
950         * generated/minloc0_16_r4.c: Regenerated.
951         * generated/minloc0_16_r8.c: Regenerated.
952         * generated/minloc0_4_i1.c: Regenerated.
953         * generated/minloc0_4_i16.c: Regenerated.
954         * generated/minloc0_4_i2.c: Regenerated.
955         * generated/minloc0_4_i4.c: Regenerated.
956         * generated/minloc0_4_i8.c: Regenerated.
957         * generated/minloc0_4_r10.c: Regenerated.
958         * generated/minloc0_4_r16.c: Regenerated.
959         * generated/minloc0_4_r4.c: Regenerated.
960         * generated/minloc0_4_r8.c: Regenerated.
961         * generated/minloc0_8_i1.c: Regenerated.
962         * generated/minloc0_8_i16.c: Regenerated.
963         * generated/minloc0_8_i2.c: Regenerated.
964         * generated/minloc0_8_i4.c: Regenerated.
965         * generated/minloc0_8_i8.c: Regenerated.
966         * generated/minloc0_8_r10.c: Regenerated.
967         * generated/minloc0_8_r16.c: Regenerated.
968         * generated/minloc0_8_r4.c: Regenerated.
969         * generated/minloc0_8_r8.c: Regenerated.
970         * generated/minloc1_16_i1.c: Regenerated.
971         * generated/minloc1_16_i16.c: Regenerated.
972         * generated/minloc1_16_i2.c: Regenerated.
973         * generated/minloc1_16_i4.c: Regenerated.
974         * generated/minloc1_16_i8.c: Regenerated.
975         * generated/minloc1_16_r10.c: Regenerated.
976         * generated/minloc1_16_r16.c: Regenerated.
977         * generated/minloc1_16_r4.c: Regenerated.
978         * generated/minloc1_16_r8.c: Regenerated.
979         * generated/minloc1_4_i1.c: Regenerated.
980         * generated/minloc1_4_i16.c: Regenerated.
981         * generated/minloc1_4_i2.c: Regenerated.
982         * generated/minloc1_4_i4.c: Regenerated.
983         * generated/minloc1_4_i8.c: Regenerated.
984         * generated/minloc1_4_r10.c: Regenerated.
985         * generated/minloc1_4_r16.c: Regenerated.
986         * generated/minloc1_4_r4.c: Regenerated.
987         * generated/minloc1_4_r8.c: Regenerated.
988         * generated/minloc1_8_i1.c: Regenerated.
989         * generated/minloc1_8_i16.c: Regenerated.
990         * generated/minloc1_8_i2.c: Regenerated.
991         * generated/minloc1_8_i4.c: Regenerated.
992         * generated/minloc1_8_i8.c: Regenerated.
993         * generated/minloc1_8_r10.c: Regenerated.
994         * generated/minloc1_8_r16.c: Regenerated.
995         * generated/minloc1_8_r4.c: Regenerated.
996         * generated/minloc1_8_r8.c: Regenerated.
997         * generated/minval_i1.c: Regenerated.
998         * generated/minval_i16.c: Regenerated.
999         * generated/minval_i2.c: Regenerated.
1000         * generated/minval_i4.c: Regenerated.
1001         * generated/minval_i8.c: Regenerated.
1002         * generated/minval_r10.c: Regenerated.
1003         * generated/minval_r16.c: Regenerated.
1004         * generated/minval_r4.c: Regenerated.
1005         * generated/minval_r8.c: Regenerated.
1006         * generated/product_c10.c: Regenerated.
1007         * generated/product_c16.c: Regenerated.
1008         * generated/product_c4.c: Regenerated.
1009         * generated/product_c8.c: Regenerated.
1010         * generated/product_i1.c: Regenerated.
1011         * generated/product_i16.c: Regenerated.
1012         * generated/product_i2.c: Regenerated.
1013         * generated/product_i4.c: Regenerated.
1014         * generated/product_i8.c: Regenerated.
1015         * generated/product_r10.c: Regenerated.
1016         * generated/product_r16.c: Regenerated.
1017         * generated/product_r4.c: Regenerated.
1018         * generated/product_r8.c: Regenerated.
1019         * generated/sum_c10.c: Regenerated.
1020         * generated/sum_c16.c: Regenerated.
1021         * generated/sum_c4.c: Regenerated.
1022         * generated/sum_c8.c: Regenerated.
1023         * generated/sum_i1.c: Regenerated.
1024         * generated/sum_i16.c: Regenerated.
1025         * generated/sum_i2.c: Regenerated.
1026         * generated/sum_i4.c: Regenerated.
1027         * generated/sum_i8.c: Regenerated.
1028         * generated/sum_r10.c: Regenerated.
1029         * generated/sum_r16.c: Regenerated.
1030         * generated/sum_r4.c: Regenerated.
1031         * generated/sum_r8.c: Regenerated.
1032         
1033 2007-08-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1034
1035         PR libfortran/23138
1036         * acinclude.m4 (LIBGFOR_CHECK_MINGW_SNPRINTF): New check.
1037         * configure.ac: Use LIBGFOR_CHECK_MINGW_SNPRINTF.
1038         * libgfortran.h: If HAVE_MINGW_SNPRINTF is true, use __mingw_snprintf
1039         instead of snprintf.
1040         * config.h.in: Regenerate.
1041         * configure: Regenerate.
1042
1043 2007-08-22  Bernhard Fischer  <rep.dot.nop@gmail.com>
1044
1045         * libgfortran/Makefile.am (AM_CPPFLAGS): Commentary typo fix.
1046
1047 2007-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1048
1049         PR fortran/33079
1050         * intrinsics/string_intrinsics.c (string_trim, string_minmax): Fix
1051         the zero-length result case.
1052
1053 2007-08-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1054
1055         PR fortran/33077
1056         * intrinsics/random.c (random_seed_i8): Fix code logic.
1057
1058 2007-08-13  Danny Smith  <dannysmit@users.sourceforge.net>
1059
1060         * acinclude.m4 (GTHREAD_USE_WEAK) Define to 0 for mingw32.
1061         * configure: Regenerate.
1062
1063 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1064
1065         PR fortran/30964
1066         PR fortran/33054
1067         * intrinsics/random.c (random_seed): Rename into random_seed_i4.
1068         (random_seed_i8): New function.
1069         * gfortran.map (GFORTRAN_1.0): Remove _gfortran_random_seed,
1070         add _gfortran_random_seed_i4 and _gfortran_random_seed_i8.
1071         * libgfortran.h (iexport_proto): Replace random_seed by
1072         random_seed_i4 and random_seed_i8.
1073         * runtime/main.c (init): Call the new random_seed_i4.
1074
1075 2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1076             Tobias Burnus  <burnus@gcc.gnu.org>
1077
1078         PR fortran/31189
1079         * runtime/backtrace.c (show_backtrace): Skip _gfortrani_handler
1080         when displaying backtrace.
1081         * runtime/compile_options.c: Include <signal.h>.
1082         (handler): New function.
1083         (set_options): Set signal handlers for backtrace.
1084         * libgfortran.h (handler): Add prototype.
1085
1086 2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1087
1088         * intrinsics/string_intrinsics.c (compare_string): Return an int.
1089         * libgfortran.h (compare_string): Likewise.
1090
1091 2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1092
1093         PR fortran/31270
1094         * runtime/error.c (runtime_error_at): Add a variable number of
1095         arguments.
1096         * libgfortran.h (runtime_error_at): Update prototype.
1097
1098 2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1099
1100         PR fortran/32933
1101         * intrinsics/associated.c: Change return type of associated into
1102         a C int.
1103
1104 2007-08-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1105
1106         PR libfortran/33039
1107         * io/list_read.c (find_nml_name): Check for a space after a namelist
1108         name match.
1109
1110 2007-08-09  Tobias Burnus  <burnus@net-b.de>
1111
1112         PR fortran/32987
1113         * io/format.c (next_char): Treat '\t' as ' ' in format specification.
1114
1115 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1116
1117         PR fortran/30947
1118         * intrinsics/signal.c: Create specific versions of alarm_sub and
1119         alarm_sub_int according to the integer kind of the last argument.
1120         * gfortran.map (GFORTRAN_1.0): Remove _gfortran_alarm_sub and
1121         _gfortran_alarm_sub_int, add _gfortran_alarm_sub_i4,
1122         _gfortran_alarm_sub_i8, _gfortran_alarm_sub_int_i4 and
1123         _gfortran_alarm_sub_int_i8.
1124
1125 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1126
1127         PR fortran/29828
1128         * intrinsics/string_intrinsics.c (string_minmax): New function
1129         and prototype.
1130         * gfortran.map (GFORTRAN_1.0): Add _gfortran_string_minmax
1131
1132 2007-08-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1133
1134         PR fortran/31202
1135         * intrinsics/c99_functions.c (roundl): Provide fallback
1136         implementation for systems without ceill.
1137         * c99_protos.h (roundl): Define prototype in all cases.
1138
1139 2007-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
1140
1141         PR libfortran/32977
1142         * io/unix.c:  If there is no vsnprintf, use vsprintf and issue
1143         a fatal error when a buffer overrun occurs.
1144
1145 2007-08-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1146
1147         PR fortran/31202
1148         * intrinsics/c99_functions.c (roundl,lroundf,lround,lroundl,
1149         llroundf,llround,llroundl): New functions.
1150         * c99_protos.h (roundl,lroundf,lround,lroundl,llroundf,llround,
1151         llroundl): New prototypes.
1152         * configure.ac: Check for lroundf, lround, lroundl, llroundf,
1153         llround and llroundl.
1154         * configure: Regenerate.
1155         * Makefile.in: Regenerate.
1156         * config.h.in: Regenerate.
1157
1158 2007-07-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1159
1160         * libgfortran.h: Include <stdarg.h>.
1161
1162 2007-07-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
1163
1164         PR libfortran/32858
1165         PR libfortran/30814
1166         * configure.ac:  Added checks for presence of stdio.h and
1167         stdarg.h.  Test presence of vsnprintf().
1168         * configure: Regenerated.
1169         * config.h.in:  Regenerated.
1170         * libgfortran.h:  Include <stdio.h>.  Add printf attribute to
1171         prototype of runtime_error.  Remove prototype for st_sprintf.
1172         Add prototype for st_vprintf.
1173         * runtime/main.c (store_exec_path):  Replace st_sprintf by sprintf.
1174         * runtime/error.c (st_sprintf):  Remove.
1175         (runtime_error):  Rewrite as a variadic function.  Call
1176         st_vprintf().
1177         * intrinsics/pack_generic.c:  Output extents of LHS and RHS for
1178         bounds error.
1179         * io/open.c (new_unit):  Replace st_sprintf by sprintf.
1180         * io/list_read.c (convert_integer):  Likewise.
1181         (parse_repeat):  Likewise.
1182         (read_logical):  Likewise.
1183         (read_character):  Likewise.
1184         (parse_real):  Likewise.
1185         (read_real):  Likewise.
1186         (check_type):  Likewise.
1187         (nml_parse_qualifyer):  Likewise.
1188         (nml_read_obj):  Likewise.
1189         (nml_get_ojb_data):  Likewise.
1190         * io/unix.c (init_error_stream):  Remove.
1191         (tempfile):  Replace st_sprintf by sprintf.
1192         (st_vprintf):  New function.
1193         (st_printf):  Rewrite to call st_vprintf.
1194         * io/transfer.c (require_type):  Replace st_sprintf by sprintf.
1195         * io/format.c (format_error):  Likewise.
1196         * io/write.c (nml_write_obj):  Likewise.
1197
1198 2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>
1199
1200         * io/transfer.c (st_set_nml_var_dim): Use index_type instead of
1201         GFC_INTEGER_4 for array descriptor triplets.
1202
1203 2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1204
1205         * io/unix.c (stream_ttyname): Mark argument as potentialy unused.
1206
1207 2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1208
1209         PR fortran/32035
1210         * runtime/select.c (select_string): Adjust prototype and function
1211         so that the return value is an integer, not a pointer.
1212
1213 2007-07-24  Tobias Burnus  <burnus@net-b.de>
1214
1215         * libgfortran.h:  Add bounds_check to compile_options_t.
1216
1217 2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
1218
1219         PR fortran/30814
1220         * libgfortran.h:  Add bounds_check to compile_options_t.
1221         * runtime/compile_options.c (set_options):  Add handling
1222         of compile_options.bounds_check.
1223         * intrinsics/pack_generic.c (pack_internal):  Also determine
1224         the number of elements if compile_options.bounds_check is
1225         true.  Raise runtime error if a different array shape is
1226         detected.
1227
1228 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
1229
1230         PR fortran/32600
1231         * intrinsics/iso_c_binding.c (c_funloc): Remove.
1232         * intrinsics/iso_c_binding.h: Remove c_funloc.
1233         * gfortran.map: Ditto.
1234
1235 2007-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1236
1237         * io/read.c (convert_real): Generate error only on EINVAL.
1238
1239 2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
1240
1241         PR fortran/32627
1242         * libgfortran/intrinsics/iso_c_generated_procs.c: Add c_f_pointer
1243         for character/string arguments.
1244         * libgfortran/intrinsic/iso_c_binding.c (c_f_pointer_u0): Allow
1245         the optional SHAPE arg to be any valid integer kind.
1246         * libgfortran/gfortran.map: Add c_f_pointer_s0.
1247         * libgfortran/mk-kinds-h.sh: Save smallest integer kind as default
1248         character kind.
1249         * libgfortran/intrinsics/iso_c_generated_procs.c: Add versions of
1250         c_f_pointer for complex and logical types.
1251         * libgfortran/gfortran.map: Add c_f_pointer versions for logical
1252         and complex types.
1253
1254 2007-07-19  Christopher D. Rickett  <crickett@lanl.gov>
1255
1256         PR fortran/32600
1257         * libgfortran/intrinsics/iso_c_binding.c: Remove C_LOC.
1258         * libgfortran/intrinsics/iso_c_binding.h: Ditto.
1259         * libgfortran/gfortran.map: Ditto.
1260
1261 2007-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1262             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1263
1264         PR fortran/32611
1265         * runtime/compile_options.c (set_std): Remove.
1266         (set_options): New function.
1267         (init_compile_options): Add initialization for -fsign-zero option.
1268         * gfortran.map (GFORTRAN_1.0): Rename _gfortran_set_std into
1269         _gfortran_set_options.
1270         * libgfortran.h (compile_options_t): Add sign_zero field.
1271         * io/write.c (output_float): Use the sign bit of the value to determine
1272         if a negative sign should be emitted for zero values.  Do not emit the
1273         negative sign for zero if -fno-sign-zero was set during compile.
1274         
1275 2007-07-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1276
1277         PR libgfortran/32752
1278         * io/unix.c (unix_stream): Move buffer pointer adjacent to
1279         small_buffer.
1280         * io/transfer.c (formatted_transfer_scalar): If stream I/O, set
1281         bytes_used to zero. Fix off by one error in calculation of pos and
1282         skips. Eliminate duplicate pending_spaces check.
1283
1284 2007-07-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1285
1286         PR fortran/32357
1287         * intrinsics/mvbits.c: Change prototype so that FROMPOS, LEN and
1288         TOPOS arguments are C int.
1289
1290 2007-07-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1291
1292         PR libgfortran/32702
1293         * io/unix.c (unix_stream): Restore buffer pointer and small_buffer.
1294         (fd_alloc): If the number of bytes needed is greater than the default
1295         BUFFER_SIZE, allocate a new buffer large enough.  Free the old buffer
1296         if necessary. (fd_sfree): Restore use of buffer pointer.
1297         (fd_close): Likewise. (fd_open): Likewise.
1298         (init_error_stream): Likewise.
1299         
1300 2007-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
1301
1302         PR libfortran/32336
1303         * m4/matmul.m4:  When the dimension of b is incorrect,
1304         raise a runtime error instead of a failed assertion.
1305         * generated/matmul_i1.c:  Regenerated.
1306         * generated/matmul_i2.c:  Regenerated.
1307         * generated/matmul_i4.c:  Regenerated.
1308         * generated/matmul_i8.c:  Regenerated.
1309         * generated/matmul_i16.c:  Regenerated.
1310         * generated/matmul_r4.c:  Regenerated.
1311         * generated/matmul_r8.c:  Regenerated.
1312         * generated/matmul_r10.c:  Regenerated.
1313         * generated/matmul_r16.c:  Regenerated.
1314
1315 2007-07-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1316
1317         PR libgfortran/32678
1318         * io/transfer.c (formatted_transfer_scalar): Don't allow
1319         pending_spaces to go negative.
1320
1321 2007-07-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
1322
1323         PR libfortran/32217
1324         * intrinsics/unpack_generic.c:  If the destination array is
1325         empty, return early.
1326
1327 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
1328
1329         * aclocal.m4: Regenerated.
1330
1331 2007-07-04  David Edelsohn  <edelsohn@gnu.org>
1332
1333         * configure.ac: SUBST CFLAGS.
1334         * configure: Regenerate.
1335
1336 2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>
1337
1338         * libgfortran.h: Mark internal_malloc_size as a malloc function.
1339         * runtime/memory.c (internal_realloc_size): Remove.
1340         (internal_realloc): Call realloc directly instead of
1341         internal_realloc_size.
1342         (allocate_size): Remove.
1343         (allocate): Call malloc directly instead of allocate_size, mark as
1344         malloc function.
1345
1346 2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1347
1348         Restore collateral damage from ISO C Binding merge.
1349
1350 2007-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1351
1352         PR libgfortran/32456
1353         * io/unit.c (filename_from_unit): Don't use find_unit, instead search
1354         for unit directly.
1355
1356 2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1357
1358         * Makefile.in:  Regenerated with automake 1.9.6.
1359
1360 2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1361
1362         * Makefile.in:  Remove extraneous kill.lo rule.
1363
1364 2007-07-02  Janne Blomqvist  <jb@gcc.gnu.org>
1365
1366         PR fortran/32239
1367         * generated/pow_r*_i4.c: Removed.
1368
1369 2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>
1370
1371         * Makefile.in: Add support for iso_c_generated_procs.c and
1372         iso_c_binding.c.
1373         * Makefile.am: Ditto.
1374         * intrinsics/iso_c_generated_procs.c: New file containing helper
1375         functions.
1376         * intrinsics/iso_c_binding.c: Ditto.
1377         * intrinsics/iso_c_binding.h: New file
1378         * gfortran.map: Include the __iso_c_binding_c_* functions.
1379         * libgfortran.h: define GFC_NUM_RANK_BITS.
1380
1381 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
1382
1383         PR fortran/32239
1384         * Makefile.am: Don't generate real**int4 pow functions.
1385         * gfortran.map: Remove real**int4 pow symbols.
1386         * Makefile.in: Regenerated.
1387
1388 2007-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1389
1390         PR libgfortran/32554
1391         * io/write.c (output_float): Set edigits to a fixed size, avoiding
1392         variation in field width calculation and eliminate buffer overrun.
1393
1394 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
1395
1396         * runtime/memory.c (internal_realloc): Use index_type for size
1397         argument instead of GFC_INTEGER_4.
1398         (allocate_array): Likewise.
1399         (allocate): Likewise, add ifdef around unnecessary check.
1400         (internal_reallo64): Remove.
1401         (allocate_array64): Remove.
1402         (allocate64): Remove.
1403         * gfortran.map: Remove symbols for 64-bit allocation functions.
1404
1405 2007-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1406
1407         PR libgfortran/32456
1408         * io/unit.c (filename_from_unit): Don't use find_unit, instead search
1409         for unit directly.
1410
1411 2007-06-24  Adam Nemet  <anemet@caviumnetworks.com>
1412
1413         PR libfortran/32495
1414         * runtime/backtrace.c (local_strcasestr): Rename from strcasestr.
1415         (show_backtrace): Rename strcasestr to local_strcasestr.
1416
1417 2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1418
1419         PR libgfortran/32456
1420         * runtime/error.c (show_locus): Update to emit the unit number
1421         and file name involved with the error.  Use new function
1422         filename_from_unit.
1423         * libgfortran.h (filename_from_unit): Declare new function.
1424         * io/unit.c (init_units): Set the unit file name for stdin, stdout,
1425         and stderr for use later in error reporting.
1426         (filename_from_unit): Add this new function.
1427
1428 2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1429
1430         PR libgfortran/32446
1431         * io/write.c (output_float): Calculate ndigits correctly for large
1432         numbered formats that must pad zeros before the decimal point.
1433
1434 2007-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1435
1436         PR libfortran/32345
1437         * runtime/backtrace.c (show_backtrace): Only use snprintf if
1438         available.
1439
1440 2007-06-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1441
1442         PR libgfortran/32235
1443         * io/transfer.c (st_read): Remove test for end of file condition.
1444         (next_record_r): Add test for end of file condition.
1445
1446 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
1447
1448         * configure: Regenerate.
1449
1450 2007-05-28  Tobias Burnus  <burnus@net-b.de>
1451
1452         PR fortran/32124
1453         * runtime/memory.c (allocate_size): Use ERROR_ALLOCATION.
1454         (allocate,allocate64): Use stat variable if present.
1455
1456 2007-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
1457
1458         * runtime/string.c (compare0): Use gfc_charlen_type instead of
1459         int.
1460         (fstrlen): Likewise.
1461         (find_option): Likewise.
1462         (fstrcpy): Use gfc_charlen_type instead of int, return length.
1463         (cf_strcpy): Likewise.
1464         * libgfortran.h: Change string prototypes to use gfc_charlen_type.
1465         * io/open.c (new_unit): Use snprintf if available.
1466         * io/list_read.c (nml_touch_nodes): Use memcpy instead of
1467         strcpy/strcat.
1468         (nml_read_obj): Likewise.
1469         * io/transfer.c (st_set_nml_var): Likewise.
1470         * io/write.c (output_float): Use snprintf if available.
1471         (nml_write_obj) Use memcpy instead of strcpy/strcat.
1472
1473 2007-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
1474
1475         * io/unix.c (unix_stream): Rearrange struct members, remove
1476         small_buffer.
1477         (int_stream): New struct.
1478         (fd_alloc): Always use existing buffer, never reallocate.
1479         (fd_sfree): Remove check for buffer != small_buffer.
1480         (fd_close): Likewise.
1481         (mem_alloc_r_at): Change to use int_stream.
1482         (mem_alloc_w_at): Likewise.
1483         (mem_read): Likewise.
1484         (mem_write): Likewise.
1485         (mem_set): Likewise.
1486         (mem_truncate): Likewise.
1487         (mem_close): Likewise.
1488         (mem_sfree): Likewise.
1489         (empty_internal_buffer): Likewise.
1490         (open_internal): Likewise.
1491         
1492 2007-05-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1493
1494         * io/transfer.c (unformatted_read): Use size from front end
1495         eliminating use of size_from_real_kind.
1496         (unformatted_write): Ditto.
1497
1498 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
1499
1500         * Makefile.in: Regenerate.
1501         * configure: Regenerate.
1502         * aclocal.m4: Regenerate.
1503
1504 2007-05-22  Tobias Burnus  <burnus@net-b.de>
1505
1506         * libgfortran.h: Mark stop_numeric as noreturn.
1507
1508 2007-05-22  Tobias Burnus  <burnus@net-b.de>
1509
1510         PR libgfortran/31295
1511         * intrinsics/eoshift0.c (eoshift0): Silence uninitialized warning.
1512         * intrinsics/eoshift2.c (eoshift2): Ditto.
1513
1514 2007-05-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1515
1516         PR libfortran/31964
1517         * intrinsics/ishftc.c (ishftc4, ishftc8, ishftc16): Fix mask to handle
1518         shift of bit-size number of bits.
1519
1520 2007-05-17  Tobias Burnus <burnus@net-b.de>
1521
1522         PR fortran/31917
1523         * runtime/environ.c (mark_range): Fix setting default convert unit.
1524
1525 2007-05-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1526
1527         PR libfortran/31922
1528         * intrinsics/string_intrinsics.c (string_trim): Set result to null if
1529         string length is zero.
1530
1531 2007-05-15  Tobias Burnus  <burnus@net-b.de>
1532
1533         PR libfortran/31915
1534         * io/transfer.c (unformatted_read): Use proper size for real(10).
1535           (unformatted_write): Ditto.
1536
1537 2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1538
1539         PR fortran/30723
1540         * runtime/memory.c (internal_malloc, internal_malloc64,
1541         internal_free): Remove.
1542         * runtime/error.c (os_error): Export function.
1543         * intrinsics/move_alloc.c: Include stdlib.h.
1544         (move_alloc): Call free instead of internal_free.
1545         (move_alloc_c): Wrap long lines.
1546         * libgfortran.h (os_error): Export prototype.
1547         (internal_free): Remove prototype.
1548         * gfortran.map (GFORTRAN_1.0): Remove _gfortran_internal_free,
1549         _gfortran_internal_malloc and _gfortran_internal_malloc64.
1550         Add _gfortran_os_error.
1551
1552 2007-05-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1553
1554         PR libfortran/31880
1555         * io/unix.c (fd_alloc_r_at): Fix calculation of physical offset.
1556
1557 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1558
1559         PR libfortran/31607
1560         * intrinsics/system.c (system_sub): Call flush_all_units.
1561         * io/io.h (flush_all_units): Move prototype to libgfortran.h.
1562         * libgfortran.h (flush_all_units): Add prototype.
1563
1564 2007-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1565
1566         PR libfortran/31201
1567         * runtime/error.c (runtime_error_at): New function.
1568         (generate_error): Export this function.
1569         * gfortran.map: Add _gfortran_generate_error and
1570         _gfortran_runtime_error_at.
1571         * libgfortran.h: Add comment to reference error codes in front end.
1572         (library_start): Locate prototype with library_end macro and add
1573         a new comment.  Add prototype for runtime_error_at. Export prototype
1574         for generate_error.
1575         * io/lock.c (library_start): Fix check for error condition.
1576         * io/transfer.c (data_transfer_init): Add library check.
1577
1578 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
1579
1580         PR fortran/22359
1581         * io/intrinsics.c (fseek_sub): New.
1582         * io/unix.c (fd_fseek): Change logical and physical offsets only
1583         if seek succeeds.
1584         * gfortran.map (fseek_sub): New.
1585
1586 2007-05-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1587
1588         PR libfortran/31210
1589         * io/transfer.c (transfer_character): Avoid passing a NULL
1590         pointer as source to the transfer routines, if the string length
1591         is zero.
1592
1593 2007-04-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1594
1595         PR libfortran/31501
1596         * io/list_read.c (next_char): Fix whitespace.
1597         * io/io.h: Remove prototypes and define macros for is_array_io,
1598         is_stream_io, and is_internal_unit.
1599         * io/unit.c (is_array_io), (is_internal_unit), (is_stream_io): Delete
1600         these functions.
1601         * io/transfer.c (read_sf): Change handling of internal_unit to make a
1602         single call to salloc_r and use memcpy to transfer the data. 
1603
1604 2007-04-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1605
1606         PR libfortran/31532
1607         * io/file_pos.c (st_backspace): Set flags.position for end of file
1608         condition and use new function update_position.
1609         (st_endfile): Use new function update_position.
1610         * io/io.h: Add prototype for new function.
1611         * io/inquire.c (inquire_via_unit): If not direct access, set NEXTREC
1612         to zero.
1613         * io/unit.c (update_position): New function to update position info
1614         used by inquire.
1615         * io/transfer.c (next_record): Fix typo and use new function.
1616
1617 2007-04-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1618
1619         PR libfortran/31299
1620         * intrinsics/getlog.c: Use getpwuid and geteuid instead of
1621         getlogin if they are available.
1622         * configure.ac: Add checks for getpwuid and geteuid.
1623         * configure: Regenerate.
1624         * config.h.in: Regenerate.
1625
1626 2007-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
1627
1628         * configure: Regenerate using autoconf 2.59.
1629         * Makefile.in: Likewise.  
1630         * config.h.in: Likewise.
1631
1632 2007-04-24  Janne Blomqvist  <jb@gcc.gnu.org>
1633
1634         PR libfortran/27740
1635         * configure.ac: New test to determine if symbol versioning is
1636         supported.
1637         * Makefile.am: Use result of above test to add appropriate linker
1638         flags.
1639         * gfortran.map: New file.
1640         * configure: Regenerated.
1641         * Makefile.in: Regenerated.
1642         * config.h.in: Regenerated.
1643
1644 2007-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
1645
1646         PR fortran/31618
1647         * io/transfer.c (read_block_direct):  Instead of calling us_read,
1648         set dtp->u.p.current_unit->current_record = 0 so that pre_position
1649         will read the record marker.
1650         (data_transfer_init):  For different error conditions, call
1651         generate_error, then return.
1652
1653 2007-04-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1654
1655         * runtime/main.c (please_free_exe_path_when_done): New variable.
1656         (store_exe_path): Initialize character buffer, and mark whether
1657         exe_path should be free'd by the library destructor function.
1658         (cleanup): Only free exe_path if needed.
1659
1660 2007-04-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1661             Tobias Burnus  <burnus@net-b.de>
1662
1663         PR libfortran/31286
1664         PR libfortran/31296
1665         * intrinsics/cshift0.c (cshift0): Initialize sstride[0] and rstride[0].
1666         * intrinsics/unpack_generic.c (unpack0, unpack0_char): Zero the
1667         array structures we pass to unpack_internal.
1668
1669 2007-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1670
1671         * io/open.c (test_endfile): Revert changes for 31052, restoring this
1672         function. 
1673
1674 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
1675
1676         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.  Add libgfortran_la_LINK.
1677         * Makefile.in: Regenerate.
1678
1679 2007-04-11  Kai Tietz  <kai.tietz@onevision.com>
1680
1681         * configure: Regenerate.
1682
1683 2007-04-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1684
1685         * intrinsics/cpu_time.c: Don't include headers already included
1686         by libgfortran.h. Protect inclusion of sys/times.h.
1687         * configure.ac: Remove unneeded checks for finit, stdio.h,
1688         stddef.h, math.h and sys/params.h.
1689         * config/fpu-aix.h: Don't include headers already included by
1690         libgfortran.h.
1691         * config/fpu-sysv.h: Likewise.
1692         * io/write.c: Likewise.
1693         * m4/minloc1.m4: Likewise.
1694         * m4/maxloc1.m4: Likewise.
1695         * m4/fraction.m4: Likewise.
1696         * m4/set_exponent.m4: Likewise.
1697         * m4/spacing.m4: Likewise.
1698         * m4/minval.m4: Likewise.
1699         * m4/maxval.m4: Likewise.
1700         * m4/exponent.m4: Likewise.
1701         * m4/nearest.m4: Likewise.
1702         * m4/minloc0.m4: Likewise.
1703         * m4/maxloc0.m4: Likewise.
1704         * m4/rrspacing.m4: Likewise.
1705         * runtime/main.c: Likewise.
1706         * runtime/error.c: Likewise.
1707         * intrinsics/system_clock.c: Likewise.
1708         * intrinsics/etime.c: Likewise.
1709         * intrinsics/stat.c: Likewise.
1710         * intrinsics/date_and_time.c: Likewise.
1711         * intrinsics/env.c: Likewise.
1712         * intrinsics/kill.c: Likewise.
1713         * intrinsics/getXid.c: Likewise.
1714         * intrinsics/chmod.c: Likewise.
1715         * intrinsics/args.c: Likewise.
1716         * intrinsics/c99_functions.c: Likewise.
1717         * generated/minval_r8.c: Regenerate.
1718         * generated/maxloc1_4_r8.c: Regenerate.
1719         * generated/minloc1_16_r16.c: Regenerate.
1720         * generated/maxval_i2.c: Regenerate.
1721         * generated/maxloc1_8_i4.c: Regenerate.
1722         * generated/exponent_r16.c: Regenerate.
1723         * generated/maxloc0_4_r4.c: Regenerate.
1724         * generated/fraction_r16.c: Regenerate.
1725         * generated/fraction_r4.c: Regenerate.
1726         * generated/minloc0_4_r16.c: Regenerate.
1727         * generated/minloc0_4_i1.c: Regenerate.
1728         * generated/maxloc0_4_r16.c: Regenerate.
1729         * generated/maxloc0_4_i2.c: Regenerate.
1730         * generated/minloc1_8_r16.c: Regenerate.
1731         * generated/maxloc1_8_r16.c: Regenerate.
1732         * generated/set_exponent_r8.c: Regenerate.
1733         * generated/maxloc0_8_i8.c: Regenerate.
1734         * generated/minloc1_4_r8.c: Regenerate.
1735         * generated/maxloc1_16_r16.c: Regenerate.
1736         * generated/minloc1_16_i4.c: Regenerate.
1737         * generated/maxloc1_16_i4.c: Regenerate.
1738         * generated/minloc0_16_i8.c: Regenerate.
1739         * generated/maxloc0_16_i8.c: Regenerate.
1740         * generated/nearest_r8.c: Regenerate.
1741         * generated/spacing_r16.c: Regenerate.
1742         * generated/maxval_r16.c: Regenerate.
1743         * generated/minloc1_8_i4.c: Regenerate.
1744         * generated/minloc0_16_i16.c: Regenerate.
1745         * generated/minloc0_4_r4.c: Regenerate.
1746         * generated/set_exponent_r10.c: Regenerate.
1747         * generated/rrspacing_r10.c: Regenerate.
1748         * generated/minloc0_4_i2.c: Regenerate.
1749         * generated/maxloc0_8_i1.c: Regenerate.
1750         * generated/minloc0_8_i8.c: Regenerate.
1751         * generated/spacing_r4.c: Regenerate.
1752         * generated/minloc1_16_r10.c: Regenerate.
1753         * generated/minloc0_16_i1.c: Regenerate.
1754         * generated/maxloc0_16_i1.c: Regenerate.
1755         * generated/maxloc1_8_r8.c: Regenerate.
1756         * generated/minval_i16.c: Regenerate.
1757         * generated/exponent_r10.c: Regenerate.
1758         * generated/maxval_i4.c: Regenerate.
1759         * generated/minval_i8.c: Regenerate.
1760         * generated/maxloc1_4_i8.c: Regenerate.
1761         * generated/fraction_r10.c: Regenerate.
1762         * generated/maxloc0_16_i16.c: Regenerate.
1763         * generated/maxloc0_8_r4.c: Regenerate.
1764         * generated/rrspacing_r8.c: Regenerate.
1765         * generated/minloc1_4_i16.c: Regenerate.
1766         * generated/minloc0_4_r10.c: Regenerate.
1767         * generated/maxloc1_4_i16.c: Regenerate.
1768         * generated/minloc0_8_i16.c: Regenerate.
1769         * generated/maxloc0_4_r10.c: Regenerate.
1770         * generated/maxloc0_8_i16.c: Regenerate.
1771         * generated/minloc1_8_r10.c: Regenerate.
1772         * generated/minloc0_16_r4.c: Regenerate.
1773         * generated/maxloc1_8_r10.c: Regenerate.
1774         * generated/maxloc0_16_r4.c: Regenerate.
1775         * generated/minloc1_16_r8.c: Regenerate.
1776         * generated/minloc0_8_i1.c: Regenerate.
1777         * generated/maxloc0_4_i4.c: Regenerate.
1778         * generated/maxloc1_16_r8.c: Regenerate.
1779         * generated/maxloc0_8_i2.c: Regenerate.
1780         * generated/nearest_r16.c: Regenerate.
1781         * generated/maxloc1_16_r10.c: Regenerate.
1782         * generated/minloc0_16_i2.c: Regenerate.
1783         * generated/minloc1_8_r8.c: Regenerate.
1784         * generated/maxloc0_16_i2.c: Regenerate.
1785         * generated/exponent_r4.c: Regenerate.
1786         * generated/spacing_r10.c: Regenerate.
1787         * generated/maxval_r10.c: Regenerate.
1788         * generated/minval_i1.c: Regenerate.
1789         * generated/maxloc1_4_i1.c: Regenerate.
1790         * generated/minloc1_4_i8.c: Regenerate.
1791         * generated/minloc0_8_r4.c: Regenerate.
1792         * generated/minloc0_16_r16.c: Regenerate.
1793         * generated/minloc0_4_i4.c: Regenerate.
1794         * generated/minloc0_8_i2.c: Regenerate.
1795         * generated/minval_r4.c: Regenerate.
1796         * generated/maxloc1_4_r4.c: Regenerate.
1797         * generated/maxval_r8.c: Regenerate.
1798         * generated/minval_r16.c: Regenerate.
1799         * generated/minloc1_4_i1.c: Regenerate.
1800         * generated/minval_i2.c: Regenerate.
1801         * generated/maxloc1_4_i2.c: Regenerate.
1802         * generated/maxloc1_8_i8.c: Regenerate.
1803         * generated/maxloc0_4_r8.c: Regenerate.
1804         * generated/maxloc0_16_r16.c: Regenerate.
1805         * generated/minloc1_4_r16.c: Regenerate.
1806         * generated/fraction_r8.c: Regenerate.
1807         * generated/maxloc1_4_r16.c: Regenerate.
1808         * generated/set_exponent_r4.c: Regenerate.
1809         * generated/minloc0_8_r16.c: Regenerate.
1810         * generated/maxloc0_8_r16.c: Regenerate.
1811         * generated/nearest_r10.c: Regenerate.
1812         * generated/maxloc0_8_i4.c: Regenerate.
1813         * generated/minloc1_4_r4.c: Regenerate.
1814         * generated/minloc0_16_i4.c: Regenerate.
1815         * generated/maxloc0_16_i4.c: Regenerate.
1816         * generated/nearest_r4.c: Regenerate.
1817         * generated/minloc1_16_i8.c: Regenerate.
1818         * generated/maxloc1_16_i8.c: Regenerate.
1819         * generated/minloc1_4_i2.c: Regenerate.
1820         * generated/maxloc1_8_i1.c: Regenerate.
1821         * generated/minloc0_16_r10.c: Regenerate.
1822         * generated/minloc1_8_i8.c: Regenerate.
1823         * generated/minloc0_4_r8.c: Regenerate.
1824         * generated/minloc0_8_i4.c: Regenerate.
1825         * generated/minloc1_16_i16.c: Regenerate.
1826         * generated/spacing_r8.c: Regenerate.
1827         * generated/maxloc1_8_r4.c: Regenerate.
1828         * generated/minloc1_16_i1.c: Regenerate.
1829         * generated/maxloc1_16_i1.c: Regenerate.
1830         * generated/minval_r10.c: Regenerate.
1831         * generated/minval_i4.c: Regenerate.
1832         * generated/minloc1_8_i1.c: Regenerate.
1833         * generated/maxloc1_4_i4.c: Regenerate.
1834         * generated/maxloc1_8_i2.c: Regenerate.
1835         * generated/maxval_i8.c: Regenerate.
1836         * generated/maxloc0_16_r10.c: Regenerate.
1837         * generated/rrspacing_r4.c: Regenerate.
1838         * generated/minloc0_4_i16.c: Regenerate.
1839         * generated/maxloc0_8_r8.c: Regenerate.
1840         * generated/maxloc0_4_i16.c: Regenerate.
1841         * generated/minloc1_4_r10.c: Regenerate.
1842         * generated/minloc1_8_i16.c: Regenerate.
1843         * generated/maxloc1_4_r10.c: Regenerate.
1844         * generated/minloc0_8_r10.c: Regenerate.
1845         * generated/maxloc1_8_i16.c: Regenerate.
1846         * generated/maxloc0_8_r10.c: Regenerate.
1847         * generated/minloc1_16_r4.c: Regenerate.
1848         * generated/maxloc1_16_r4.c: Regenerate.
1849         * generated/minloc0_16_r8.c: Regenerate.
1850         * generated/maxloc0_16_r8.c: Regenerate.
1851         * generated/maxloc0_4_i8.c: Regenerate.
1852         * generated/maxloc1_16_i16.c: Regenerate.
1853         * generated/minloc1_8_r4.c: Regenerate.
1854         * generated/minloc1_16_i2.c: Regenerate.
1855         * generated/maxloc1_16_i2.c: Regenerate.
1856         * generated/maxval_i16.c: Regenerate.
1857         * generated/exponent_r8.c: Regenerate.
1858         * generated/minloc1_4_i4.c: Regenerate.
1859         * generated/maxval_i1.c: Regenerate.
1860         * generated/minloc1_8_i2.c: Regenerate.
1861         * generated/minloc0_8_r8.c: Regenerate.
1862         * generated/set_exponent_r16.c: Regenerate.
1863         * generated/maxloc0_4_i1.c: Regenerate.
1864         * generated/rrspacing_r16.c: Regenerate.
1865         * generated/minloc0_4_i8.c: Regenerate.
1866         * generated/maxval_r4.c: Regenerate.
1867         * configure: Regenerate.
1868         * config.h.in: Regenerate.
1869
1870 2007-04-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1871
1872         PR libfortran/31395
1873         * io/format.c (parse_format_list): Fix parsing.
1874
1875 2007-04-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1876
1877         PR fortran/31304
1878         intrinsics/string_intrinsics.c (string_repeat): Remove.
1879
1880 2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1881
1882         PR libfortran/31052
1883         * io/open.c (test_endfile): Delete this function.
1884         (edit_modes): Delete call to test_endfile.
1885         (new_unit): Likewise.
1886         * io/io.h: Delete prototype for test_endfile.
1887         * io/transfer.c (next_record_r): Remove use of test_endfile.
1888         (st_read):  Add test for end file condition and adjust status. 
1889
1890 2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1891
1892         PR libfortran/31366
1893         * io/transfer.c (read_block_direct): Do not generate error when reading
1894         past EOF on a short record that is less than the RECL= specified.
1895         
1896 2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1897
1898         PR libfortran/31207
1899         * io/unit.c (close_unit_1): If there are bytes previously written from
1900         ADVANCE="no", move to the end before closing.
1901
1902 2007-03-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1903
1904         PR libfortran/31335
1905         * intrinsics/stat.c: Only provide STAT and FSTAT library routines
1906         if stat() and fstat() library functions are available. When lstat()
1907         is not available, use stat() instead.
1908         * configure.ac: Add checks for stat, fstat and lstat.
1909         * configure: Regenerate.
1910         * config.h.in: Regenerate.
1911
1912 2007-03-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1913
1914         PR libfortran/31052
1915         * io/transfer.c (next_record_r): Do not call test_endfile if in
1916         namelist mode.
1917
1918 2007-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1919
1920         PR libfortran/31199
1921         * io/io.h: Add saved_pos to gfc_unit structure.
1922         * io/open.c (new_unit): Initialize saved_pos.
1923         * io/transfer.c (data_transfer_init): Set max_pos to value in
1924         saved_pos.
1925         (next_record_w): Fix whitespace.
1926         (finalze_transfer): Calculate max_pos for ADVANCE="no" and save it for
1927         later use.  If not ADVANCE="no" set saved_pos to zero.
1928
1929 2007-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
1930
1931         PR libfortran/31196
1932         * intrinsics/reshape_generic.c (reshape_internal):  Increment
1933         correct variable.
1934
1935 2007-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1936
1937         PR libfortran/31052
1938         * file_pos.c: Update Copyright year.
1939         * io/open.c (test_endfile): Restore test_endfile to fix SPEC
1940         regression.  Update Copyright year.
1941         * io/io.h: Same.
1942         * io/unix.c (is_special): Add missing type for this function.
1943         Update Copyright year.
1944         * io/transfer.c (next_record_r): Restore test_endfile.
1945         (st_read): Fix whitespace.  Update Copyright year
1946
1947 2007-03-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1948
1949         * configure.ac: Add missing check for gettimeofday.
1950         * config.h.in: Renegerate.
1951         * configure: Regenerate.
1952
1953 2007-03-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1954
1955         PR libfortran/31052
1956         * io/file_position (st_rewind): Fix comments. Remove use of
1957         test_endfile. Don't seek if already at 0 position.  Use new is_special
1958         function to set endfile state.
1959         * io/open.c (test_endfile): Delete this function.
1960         * io/io.h: Delete prototype for test_endfile.  Add prototype
1961         for is_special.
1962         * io/unix.c (is_special): New function. Fix whitespace.
1963         * io/transfer.c (next_record_r): Remove use of test_endfile.
1964
1965 2007-03-16  David Edelsohn  <edelsohn@gnu.org>
1966
1967         * runtime/main.c: Include "config.h" first.
1968
1969 2007-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1970
1971         PR libfortran/31099
1972         * io/file_pos.c (st_rewind): Don't set bytes_left to zero.
1973
1974 2007-03-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1975
1976         * runtime/backtrace.c: New file.
1977         * runtime/environ.c (variable_table): New GFORTRAN_ERROR_BACKTRACE
1978         environment variable.
1979         * runtime/compile_options.c (set_std): Add new argument.
1980         * runtime/main.c (store_exe_path, full_exe_path): New functions.
1981         * runtime/error.c (sys_exit): Add call to show_backtrace.
1982         * libgfortran.h (options_t): New backtrace field.
1983         (store_exe_path, full_exe_path, show_backtrace): New prototypes.
1984         * configure.ac: Add checks for execinfo.h, execvp, pipe, dup2,
1985         close, fdopen, strcasestr, getrlimit, backtrace, backtrace_symbols
1986         and getppid.
1987         * Makefile.am: Add runtime/backtrace.c.
1988         * fmain.c (main): Add call to store_exe_path.
1989         * Makefile.in: Renegerate.
1990         * config.h.in: Renegerate.
1991         * configure: Regenerate.
1992
1993 2007-03-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1994
1995         PR libfortran/31051
1996         * io/transfer.c (formatted_transfer_scalar): Adjust position for
1997         pending spaces when in writing mode.  Clean up some formatting.
1998
1999 2007-03-14  Thomas Koenig  <Thomas.Koenig@online.de>
2000
2001         PR libfortran/30690
2002         * all.m4: Quote everything, except for m4 macros.
2003         * any.m4: Likewise.
2004         * count.m4: Likewise.
2005         * cshift1.m4: Likewise.
2006         * eoshift1.m4: Likewise.
2007         * eoshift3.m4: Likewise.
2008         * exponent.m4: Likewise.
2009         * fraction.m4: Likewise.
2010         * in_pack.m4: Likewise.
2011         * in_unpack.m4: Likewise.
2012         * matmul.m4: Likewise.
2013         * matmull.m4: Likewise.
2014         * nearest.m4: Likewise.
2015         * pow.m4: Likewise.
2016         * product.m4: Likewise.
2017         * reshape.m4: Likewise.
2018         * rrspacing.m4: Likewise.
2019         * set_exponent.m4: Likewise.
2020         * shape.m4: Likewise.
2021         * spacing.m4: Likewise.
2022         * transpose.m4: Likewise.
2023
2024 2007-03-14  Jakub Jelinek  <jakub@redhat.com>
2025
2026         * io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with
2027         O_RDONLY even if errno is EROFS.
2028
2029 2007-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2030
2031         PR libfortran/31099
2032         * io/open.c (new_unit): Initialize bytes_left and recl_subrecord.
2033         * io/transfer.c (next_record_w): Set bytes left to record length for
2034         sequential unformatted I/O.
2035         (next_record_r): Ditto.
2036         (read_block_direct): Fix test for exceeding bytes_left.
2037
2038 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
2039
2040         PR fortran/30947
2041         * intrinsics/signal.c (alarm_sub_int): Avoid SEGFAULT with 
2042         integer arguments.
2043
2044 2007-03-04  Thomas Koenig  <Thomas.Koenig@online.de>
2045
2046         PR libfortran/30981
2047         * m4/pow_m4: Use appropriate unsigned int type for u.
2048         * generated/pow_c10_i16.c: Regenerated.
2049         * generated/pow_c10_i4.c: Regenerated.
2050         * generated/pow_c10_i8.c: Regenerated.
2051         * generated/pow_c16_i16.c: Regenerated.
2052         * generated/pow_c16_i4.c: Regenerated.
2053         * generated/pow_c16_i8.c: Regenerated.
2054         * generated/pow_c4_i16.c: Regenerated.
2055         * generated/pow_c4_i4.c: Regenerated.
2056         * generated/pow_c4_i8.c: Regenerated.
2057         * generated/pow_c8_i16.c: Regenerated.
2058         * generated/pow_c8_i4.c: Regenerated.
2059         * generated/pow_c8_i8.c: Regenerated.
2060         * generated/pow_i16_i16.c: Regenerated.
2061         * generated/pow_i16_i4.c: Regenerated.
2062         * generated/pow_i16_i8.c: Regenerated.
2063         * generated/pow_i4_i16.c: Regenerated.
2064         * generated/pow_i4_i4.c: Regenerated.
2065         * generated/pow_i4_i8.c: Regenerated.
2066         * generated/pow_i8_i16.c: Regenerated.
2067         * generated/pow_i8_i4.c: Regenerated.
2068         * generated/pow_i8_i8.c: Regenerated.
2069         * generated/pow_r10_i16.c: Regenerated.
2070         * generated/pow_r10_i4.c: Regenerated.
2071         * generated/pow_r10_i8.c: Regenerated.
2072         * generated/pow_r16_i16.c: Regenerated.
2073         * generated/pow_r16_i4.c: Regenerated.
2074         * generated/pow_r16_i8.c: Regenerated.
2075         * generated/pow_r4_i16.c: Regenerated.
2076         * generated/pow_r4_i4.c: Regenerated.
2077         * generated/pow_r4_i8.c: Regenerated.
2078         * generated/pow_r8_i16.c: Regenerated.
2079         * generated/pow_r8_i4.c: Regenerated.
2080         * generated/pow_r8_i8.c: Regenerated.
2081
2082 2007-03-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2083
2084         PR libfortran/31001
2085         * intrinsics/pack_generic.c (pack_internal): Add special checks
2086         for zero-sized arrays.
2087
2088 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
2089
2090         * Makefile.am: Add dummy install-pdf target.
2091         * Makefile.in: Regenerate
2092
2093 2007-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2094
2095         PR libfortran/30918
2096         * io/listread.c (namelist_read): Eat comment line.
2097
2098 2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2099
2100         PR libfortran/30910
2101         * io/write.c (output_float): Add condition of format F only for
2102         special case rounding with zero precision.
2103
2104 2007-02-19  Thomas Koenig  <Thomas.Koenig@online.de>
2105
2106         PR libfortran/30533
2107         PR libfortran/30765
2108         * Makefile.am: Add $(srcdir) too all files in generated/.
2109         (i_maxloc0_c): Add maxloc0_4_i1.c, maxloc0_8_i1.c,
2110         maxloc0_16_i1.c, maxloc0_4_i2.c, maxloc0_8_i2.c and
2111         maxloc0_16_i2.c.
2112         (i_maxloc1_c): Add maxloc1_4_i1.c, maxloc1_8_i1.c,
2113         maxloc1_16_i1.c, maxloc1_4_i2.c, maxloc1_8_i2.c and
2114         maxloc1_16_i2.c.
2115         (i_maxval_c): Add maxval_i1.c and maxval_i2.c.
2116         (i_minloc0_c):  Add minloc0_4_i1.c, minloc0_8_i1.c,
2117         minloc0_16_i1.c, minloc0_4_i2.c, minloc0_8_i2.c and
2118         minloc0_16_i2.c.
2119         (i_minloc_1.c): Add minloc1_4_i1.c, minloc1_8_i1.c,
2120         minloc1_16_i1.c, minloc1_4_i2.c, minloc1_8_i2.c and
2121         minloc1_16_i2.c.
2122         (i_minval_c):  Add minval_i1.c and minval_i2.c.
2123         (i_sum_c):  Add sum_i1.c and sum_i2.c.
2124         (i_product_c):  Add product_i1.c and product_i2.c.
2125         (i_matmul_c):  Add matmul_i1.c and matmul_i2.c.
2126         (gfor_built_specific_src):  Remove $(srcdir) from target.
2127         (gfor_bulit_specific2_src):  Likewise.
2128         Makefile.in:  Regenerated.
2129         libgfortran.h:  Add GFC_INTEGER_1_HUGE and GFC_INTEGER_2_HUGE.
2130         Add gfc_array_i1 and gfc_array_i2.
2131         * generated/matmul_i1.c: New file.
2132         * generated/matmul_i2.c: New file.
2133         * generated/maxloc0_16_i1.c: New file.
2134         * generated/maxloc0_16_i2.c: New file.
2135         * generated/maxloc0_4_i1.c: New file.
2136         * generated/maxloc0_4_i2.c: New file.
2137         * generated/maxloc0_8_i1.c: New file.
2138         * generated/maxloc0_8_i2.c: New file.
2139         * generated/maxloc1_16_i1.c: New file.
2140         * generated/maxloc1_16_i2.c: New file.
2141         * generated/maxloc1_4_i1.c: New file.
2142         * generated/maxloc1_4_i2.c: New file.
2143         * generated/maxloc1_8_i1.c: New file.
2144         * generated/maxloc1_8_i2.c: New file.
2145         * generated/maxval_i1.c: New file.
2146         * generated/maxval_i2.c: New file.
2147         * generated/minloc0_16_i1.c: New file.
2148         * generated/minloc0_16_i2.c: New file.
2149         * generated/minloc0_4_i1.c: New file.
2150         * generated/minloc0_4_i2.c: New file.
2151         * generated/minloc0_8_i1.c: New file.
2152         * generated/minloc0_8_i2.c: New file.
2153         * generated/minloc1_16_i1.c: New file.
2154         * generated/minloc1_16_i2.c: New file.
2155         * generated/minloc1_4_i1.c: New file.
2156         * generated/minloc1_4_i2.c: New file.
2157         * generated/minloc1_8_i1.c: New file.
2158         * generated/minloc1_8_i2.c: New file.
2159         * generated/minval_i1.c: New file.
2160         * generated/minval_i2.c: New file.
2161         * generated/product_i1.c: New file.
2162         * generated/product_i2.c: New file.
2163         * generated/sum_i1.c: New file.
2164         * generated/sum_i2.c: New file.
2165
2166 2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2167
2168         * runtime/memory.c (deallocate): Correct comment.
2169
2170 2007-02-10  Thomas Koenig  <Thomas.Koenig@online.de>
2171
2172         * Makefile.am:  Use $(M4) instead of m4.
2173         * Makefile.in:  Regenerate.
2174
2175 2007-02-10  Thomas Koenig  <Thomas.Koenig@online.de>
2176
2177         * Makefile.am: Remove $(srcdir) from assorted targets
2178         in maintainer mode.
2179         * Makefile.in: Regenerate.
2180
2181 2007-02-09  Thomas Koenig  <Thomas.Koenig@online.de>
2182             Tobias Burnus  <burnus@net-b.de>
2183
2184         PR fortran/30512
2185         * m4/iparm.m4: Use HUGE-1 for most negative integer.
2186         * generated/maxloc1_8_i4.c: Regenerate.
2187         * generated/maxloc0_8_i8.c: Regenerate.
2188         * generated/maxloc1_16_i4.c: Regenerate.
2189         * generated/maxloc0_16_i8.c: Regenerate.
2190         * generated/maxval_i4.c: Regenerate.
2191         * generated/maxloc1_4_i8.c: Regenerate.
2192         * generated/maxloc0_16_i16.c: Regenerate.
2193         * generated/maxloc1_4_i16.c: Regenerate.
2194         * generated/maxloc0_8_i16.c: Regenerate.
2195         * generated/maxloc0_4_i4.c: Regenerate.
2196         * generated/maxloc1_8_i8.c: Regenerate.
2197         * generated/maxloc0_8_i4.c: Regenerate.
2198         * generated/maxloc0_16_i4.c: Regenerate.
2199         * generated/maxloc1_16_i8.c: Regenerate.
2200         * generated/maxloc1_4_i4.c: Regenerate.
2201         * generated/maxval_i8.c: Regenerate.
2202         * generated/maxloc0_4_i16.c: Regenerate.
2203         * generated/maxloc1_8_i16.c: Regenerate.
2204         * generated/maxloc0_4_i8.c: Regenerate.
2205         * generated/maxloc1_16_i16.c: Regenerate.
2206         * generated/maxval_i16.c: Regenerate.
2207
2208 2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2209
2210         PR fortran/30611
2211         * intrinsics/string_intrinsics.c (string_repeat): Don't check
2212         if ncopies is negative.
2213
2214 2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2215
2216         PR libfortran/30007
2217         * libgfortran.h: Do not prefix symbol name with
2218         __USER_LABEL_PREFIX__ when used in __attribute__((__alias__(...))).
2219
2220 2007-02-02  Paul Thomas  <pault@gcc.gnu.org>
2221
2222         PR fortran/30284
2223         PR fortran/30626
2224         * io/transfer.c (init_loop_spec, next_array_record): Change to
2225         lbound rather than unity base.
2226
2227 2007-01-21  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2228
2229         * runtime/error.c: Include sys/time.h before sys/resource.h.
2230
2231 2007-01-21  Thomas Koenig  <Thomas.Koenig@online.de>
2232
2233         PR libfortran/30525
2234         * intrinsics/string_intrinsics.c(compare_string):  Make
2235         sure that comparisons are done unsigned.
2236
2237 2007-01-21  Tobias Burnus  <burnus@net-b.de>
2238
2239         PR libfortran/30015
2240         * intrinsics/date_and_time.c (date_and_time): Fix case where time
2241           can go backwards.
2242         * configure.ac: Remove AC_TRY_RUN test for timezone in
2243           gettimeofday.
2244         * acinclude.m4: Ditto.
2245         * configure: Regenerate.
2246         * config.h.in: Regenerate.
2247
2248 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2249
2250         * m4/misc_specifics.m4: Add _gfortran prefix to specific names.
2251         * m4/specific2.m4: Likewise.
2252         * m4/specific.m4: Likewise.
2253         * intrinsics/f2c_specifics.F90: Likewise.
2254         * intrinsics/selected_int_kind.f90: Add _gfortran prefix.
2255         * intrinsics/selected_real_kind.f90: Likewise.
2256         * intrinsics/dprod_r8.f90: Likewise.
2257         * Makefile.am: Add -fallow-leading-underscore to the
2258         gfor_specific_src files, as well as selected_real_kind.F90
2259         and selected_int_kind.F90
2260         * Makefile.in: Regenerate.
2261         * generated/_sqrt_c8.F90: Regenerate.
2262         * generated/_sign_r16.F90: Regenerate.
2263         * generated/_log_c16.F90: Regenerate.
2264         * generated/_sin_c10.F90: Regenerate.
2265         * generated/_tanh_r4.F90: Regenerate.
2266         * generated/_tanh_r8.F90: Regenerate.
2267         * generated/_log10_r10.F90: Regenerate.
2268         * generated/_aimag_c4.F90: Regenerate.
2269         * generated/_sign_r4.F90: Regenerate.
2270         * generated/_aimag_c8.F90: Regenerate.
2271         * generated/_sign_r8.F90: Regenerate.
2272         * generated/_mod_i4.F90: Regenerate.
2273         * generated/_cos_r16.F90: Regenerate.
2274         * generated/_aint_r10.F90: Regenerate.
2275         * generated/_mod_i8.F90: Regenerate.
2276         * generated/_abs_i16.F90: Regenerate.
2277         * generated/_sqrt_c10.F90: Regenerate.
2278         * generated/_atan2_r4.F90: Regenerate.
2279         * generated/_cos_c4.F90: Regenerate.
2280         * generated/_atan_r16.F90: Regenerate.
2281         * generated/_tanh_r10.F90: Regenerate.
2282         * generated/_atan2_r8.F90: Regenerate.
2283         * generated/_cos_c8.F90: Regenerate.
2284         * generated/_exp_r4.F90: Regenerate.
2285         * generated/_log_r10.F90: Regenerate.
2286         * generated/_exp_r8.F90: Regenerate.
2287         * generated/_abs_r4.F90: Regenerate.
2288         * generated/_abs_r8.F90: Regenerate.
2289         * generated/_sin_r16.F90: Regenerate.
2290         * generated/_tan_r4.F90: Regenerate.
2291         * generated/_tan_r8.F90: Regenerate.
2292         * generated/_sign_i4.F90: Regenerate.
2293         * generated/_sign_i8.F90: Regenerate.
2294         * generated/_exp_c16.F90: Regenerate.
2295         * generated/_sqrt_r16.F90: Regenerate.
2296         * generated/_conjg_c4.F90: Regenerate.
2297         * generated/_conjg_c8.F90: Regenerate.
2298         * generated/_dim_r16.F90: Regenerate.
2299         * generated/_mod_r10.F90: Regenerate.
2300         * generated/_abs_c10.F90: Regenerate.
2301         * generated/_conjg_c16.F90: Regenerate.
2302         * generated/_tan_r16.F90: Regenerate.
2303         * generated/_asinh_r10.F90: Regenerate.
2304         * generated/_abs_i4.F90: Regenerate.
2305         * generated/_abs_i8.F90: Regenerate.
2306         * generated/_acos_r10.F90: Regenerate.
2307         * generated/_exp_r10.F90: Regenerate.
2308         * generated/_acosh_r16.F90: Regenerate.
2309         * generated/_atan2_r16.F90: Regenerate.
2310         * generated/_cos_c16.F90: Regenerate.
2311         * generated/_mod_i16.F90: Regenerate.
2312         * generated/_asin_r4.F90: Regenerate.
2313         * generated/_anint_r16.F90: Regenerate.
2314         * generated/_asin_r8.F90: Regenerate.
2315         * generated/_aimag_c10.F90: Regenerate.
2316         * generated/_exp_c4.F90: Regenerate.
2317         * generated/_sinh_r10.F90: Regenerate.
2318         * generated/_exp_c8.F90: Regenerate.
2319         * generated/_log10_r4.F90: Regenerate.
2320         * generated/_log10_r8.F90: Regenerate.
2321         * generated/_abs_c4.F90: Regenerate.
2322         * generated/_abs_r16.F90: Regenerate.
2323         * generated/_abs_c8.F90: Regenerate.
2324         * generated/_asin_r10.F90: Regenerate.
2325         * generated/_sign_r10.F90: Regenerate.
2326         * generated/_atanh_r16.F90: Regenerate.
2327         * generated/_log_c10.F90: Regenerate.
2328         * generated/_cosh_r16.F90: Regenerate.
2329         * generated/_sin_c16.F90: Regenerate.
2330         * generated/_cos_r10.F90: Regenerate.
2331         * generated/_log10_r16.F90: Regenerate.
2332         * generated/_aint_r16.F90: Regenerate.
2333         * generated/_acos_r4.F90: Regenerate.
2334         * generated/_acos_r8.F90: Regenerate.
2335         * generated/_sqrt_c16.F90: Regenerate.
2336         * generated/_acosh_r4.F90: Regenerate.
2337         * generated/_atan_r10.F90: Regenerate.
2338         * generated/_acosh_r8.F90: Regenerate.
2339         * generated/_sign_i16.F90: Regenerate.
2340         * generated/_tanh_r16.F90: Regenerate.
2341         * generated/_log_r4.F90: Regenerate.
2342         * generated/_log_r8.F90: Regenerate.
2343         * generated/_sin_r4.F90: Regenerate.
2344         * generated/_sin_r8.F90: Regenerate.
2345         * generated/_log_r16.F90: Regenerate.
2346         * generated/_sin_r10.F90: Regenerate.
2347         * generated/_sqrt_r4.F90: Regenerate.
2348         * generated/_exp_c10.F90: Regenerate.
2349         * generated/_sqrt_r8.F90: Regenerate.
2350         * generated/_asinh_r4.F90: Regenerate.
2351         * generated/_sqrt_r10.F90: Regenerate.
2352         * generated/_asinh_r8.F90: Regenerate.
2353         * generated/_dim_r4.F90: Regenerate.
2354         * generated/_dim_r8.F90: Regenerate.
2355         * generated/_dim_r10.F90: Regenerate.
2356         * generated/_cosh_r4.F90: Regenerate.
2357         * generated/_conjg_c10.F90: Regenerate.
2358         * generated/_tan_r10.F90: Regenerate.
2359         * generated/_cosh_r8.F90: Regenerate.
2360         * generated/_mod_r16.F90: Regenerate.
2361         * generated/_abs_c16.F90: Regenerate.
2362         * generated/_cos_r4.F90: Regenerate.
2363         * generated/_asinh_r16.F90: Regenerate.
2364         * generated/_cos_r8.F90: Regenerate.
2365         * generated/_atanh_r4.F90: Regenerate.
2366         * generated/_atanh_r8.F90: Regenerate.
2367         * generated/_acos_r16.F90: Regenerate.
2368         * generated/_anint_r4.F90: Regenerate.
2369         * generated/_acosh_r10.F90: Regenerate.
2370         * generated/_anint_r8.F90: Regenerate.
2371         * generated/_exp_r16.F90: Regenerate.
2372         * generated/_mod_r4.F90: Regenerate.
2373         * generated/_cos_c10.F90: Regenerate.
2374         * generated/_atan2_r10.F90: Regenerate.
2375         * generated/_dim_i16.F90: Regenerate.
2376         * generated/_mod_r8.F90: Regenerate.
2377         * generated/_anint_r10.F90: Regenerate.
2378         * generated/_aint_r4.F90: Regenerate.
2379         * generated/_aint_r8.F90: Regenerate.
2380         * generated/_dim_i4.F90: Regenerate.
2381         * generated/_sinh_r4.F90: Regenerate.
2382         * generated/_log_c4.F90: Regenerate.
2383         * generated/_dim_i8.F90: Regenerate.
2384         * generated/_sinh_r8.F90: Regenerate.
2385         * generated/_log_c8.F90: Regenerate.
2386         * generated/_sin_c4.F90: Regenerate.
2387         * generated/_sin_c8.F90: Regenerate.
2388         * generated/misc_specifics.F90: Regenerate.
2389         * generated/_abs_r10.F90: Regenerate.
2390         * generated/_aimag_c16.F90: Regenerate.
2391         * generated/_atan_r4.F90: Regenerate.
2392         * generated/_sinh_r16.F90: Regenerate.
2393         * generated/_atan_r8.F90: Regenerate.
2394         * generated/_atanh_r10.F90: Regenerate.
2395         * generated/_cosh_r10.F90: Regenerate.
2396         * generated/_sqrt_c4.F90: Regenerate.
2397         * generated/_asin_r16.F90: Regenerate.
2398
2399 2007-01-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2400
2401         PR libfortran/26893
2402         * acinclude.m4 (LIBGFOR_WORKING_GFORTRAN): New check.
2403         * configure.ac: Add call to LIBGFOR_WORKING_GFORTRAN.
2404         * configure: Regenerate.
2405         * config.h.in: Regenerate because it was forgottent in the last
2406         commit.
2407
2408 2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2409             Tobias Burnus  <burnus@net-b.de>
2410
2411         PR libfortran/29649
2412         * runtime/environ.c (variable_table): New GFORTRAN_ERROR_DUMPCORE
2413         environment variable.
2414         * runtime/compile_options.c (set_std): Add new argument.
2415         * runtime/error.c (sys_exit): Move from io/unix.c. Add coredump
2416         functionality.
2417         * libgfortran.h (options_t): New dump_core and backtrace members.
2418         (sys_exit): Move prototype.
2419         * io/unix.c (sys_exit): Move to runtime/error.c.
2420         * configure.ac: Add check for getrlimit.
2421         * configure: Regenerate.
2422
2423 2007-01-17  Tom Tromey  <tromey@redhat.com>
2424
2425         PR libfortran/27107:
2426         * aclocal.m4, configure, Makefile.in: Rebuilt.
2427         * configure.ac: Enable automake dependency tracking.  Update
2428         minimum automake version.
2429
2430 2007-01-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2431
2432         PR libfortran/27107
2433         * runtime/environ.c: Don't include io/io.h.
2434         * runtime/string.c: Don't include io/io.h.
2435         (compare0): Add cast to avoid warning.
2436         * runtime/error.c: Don't include io/io.h.
2437         (st_printf): Move to io/unix.c.
2438         * intrinsics/flush.c: Delete, contents moved to io/intrinsics.c.
2439         * intrinsics/fget.c: Likewise.
2440         * intrinsics/ftell.c: Likewise.
2441         * intrinsics/tty.c: Likewise.
2442         * libgfortran.h (DEFAULT_RECL, notification_std,
2443         get_unformatted_convert, IOPARM_*, st_parameter_common, unit_convert,
2444         DEFAULT_TEMPDIR): New declarations.
2445         * io/io.h (DEFAULT_RECL, notification_std, get_unformatted_convert,
2446         IOPARM_*, st_parameter_common, unit_convert, DEFAULT_TEMPDIR):
2447         Move to libgfortran.h.
2448         * io/unix.c: Add io/unix.h content.
2449         (st_printf): New function.
2450         * io/intrinsics.c: New file.
2451         * io/unix.h: Remove, contents moved into unix.c.
2452         * libtool-version: Update library version to 3.0.0.
2453         * configure.ac: Update library version to 0.3.
2454         * Makefile.am (intrinsics/fget.c, intrinsics/flush.c,
2455         intrinsics/ftell.c, intrinsics/tty.c, libgfortran.h): Remove targets.
2456         * Makefile.in: Regenerate.
2457         * configure: Regenerate.
2458
2459 2007-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2460
2461         PR libfortran/30435
2462         * io/list_read.c (finish_separator): Don't call next_record.
2463         (list_formatted_read_scalar): Clean up some comments and whitespace.
2464         (nml_read_obj): Whitespace fix.
2465
2466 2007-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2467
2468         PR libfortran/30162
2469         * io/unix.c (fd_flush): Don't seek if file is not seekable, defined as
2470         s->file_length == -1.
2471         (fd_alloc_w_at): Do not adjust file_length if file is not seekable.
2472         (fd_seek): If not seekable, just return success.
2473         (fd_truncate): If not seekable, no need to truncate.  Return failure
2474         if seek fails and the stream is not a pipe.
2475         (fd_to_stream): Make test for non-seekable file more robust.
2476
2477 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
2478
2479         * ChangeLog: Copied to ...
2480         * ChangeLog-2006: here.
2481
2482 \f
2483 Copyright (C) 2007 Free Software Foundation, Inc.
2484
2485 Copying and distribution of this file, with or without modification,
2486 are permitted in any medium without royalty provided the copyright
2487 notice and this notice are preserved.