1 2006-03-30 Thomas Koenig <Thomas.Koenig@online.de>
4 * runtime/memory.c (allocate_array): If stat is present and
5 the variable is already allocated, free the variable, do
6 the allocation and set stat.
7 (allocate_array_64): Likewise. Whitespace fix.
9 2006-03-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
12 * io/file_pos.c (st_rewind): Clear read_bad flag.
14 2006-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
17 * io/io.h: Add read_sf so it can be used by read_x.
18 * io/transfer.c (read_sf): Pass no_error flag to read_sf. Use it to
19 break out rather than error on EOF or EOR conditions.
20 (read_block): Update call to read_sf.
21 (read_block_direct): Ditto.
22 * io/read.c (read_x): Use the modified read_sf instead of read_block.
24 2006-03-25 Thomas Koenig <Thomas.Koenig@online.de>
27 * io/transfer.c (data_transfer_init): Set u_flags.convert
28 on an unopened unit if specified by environment variable
29 (via get_unformatted_convert) or by compile-time option.
31 2006-03-25 Thomas Koenig <Thomas.Koenig@online.de>
34 * Makefile.am: Add transpose_r10.c and reshape_r10.c.
35 * aclocal.m4: Regenerate using aclocal 1.9.3.
36 * Makefile.in: Regenerate using automake 1.9.3.
37 * m4/iparm.m4 (rtype_ccode): If rtype_letter is `i',
38 evaluate to rtype_kind, otherwise to rtype_code.
39 * generated/transpose_r10.c: Add.
40 * generated/reshape_r10.c: Add.
42 2006-03-22 Thomas Koenig <Thomas.Koenig@online.de>
45 * libgfortran.h (compile_options_t): Add record_marker.
46 * runtime/compile_options.c (set_record_marker):
48 * io/open.c: If we have four-byte record markers, use
49 GFC_INTEGER_4_HUGE as default record length.
50 * io/file_pos.c (unformatted_backspace): Handle
51 different size record markers.
52 * io/transfer.c (us_read): Likewise.
54 (next_record_r): Likewise.
55 (write_us_marker): Likewise.
56 (next_record_w): Likewise.
58 2006-03-20 Thomas Koenig <Thomas.Koenig@online.de>
61 * m4/iforeach.m4: Add SCALAR_FOREACH_FUNCTION macro.
62 * m4/ifunction.m4: Add SCALAR_ARRAY_FUNCTION macro.
63 * m4/minloc0.m4: Use SCALAR_FOREACH_FUNCTION.
64 * m4/minloc1.m4: Use SCALAR_ARRAY_FUNCTION.
65 * m4/maxloc0.m4: Use SCALAR_FOREACH_FUNCTION.
66 * m4/maxloc1.m4: Use SCALAR_ARRAY_FUNCTION.
67 * m4/minval.m4: Likewise.
68 * m4/maxval.m4: Likewise.
69 * m4/product.m4: Likewise.
70 * m4/sum.m4: Likewise.
71 * minloc0_16_i16.c : Regenerated.
72 * minloc0_16_i4.c : Regenerated.
73 * minloc0_16_i8.c : Regenerated.
74 * minloc0_16_r10.c : Regenerated.
75 * minloc0_16_r16.c : Regenerated.
76 * minloc0_16_r4.c : Regenerated.
77 * minloc0_16_r8.c : Regenerated.
78 * minloc0_4_i16.c : Regenerated.
79 * minloc0_4_i4.c : Regenerated.
80 * minloc0_4_i8.c : Regenerated.
81 * minloc0_4_r10.c : Regenerated.
82 * minloc0_4_r16.c : Regenerated.
83 * minloc0_4_r4.c : Regenerated.
84 * minloc0_4_r8.c : Regenerated.
85 * minloc0_8_i16.c : Regenerated.
86 * minloc0_8_i4.c : Regenerated.
87 * minloc0_8_i8.c : Regenerated.
88 * minloc0_8_r10.c : Regenerated.
89 * minloc0_8_r16.c : Regenerated.
90 * minloc0_8_r4.c : Regenerated.
91 * minloc0_8_r8.c : Regenerated.
92 * minloc1_16_i16.c : Regenerated.
93 * minloc1_16_i4.c : Regenerated.
94 * minloc1_16_i8.c : Regenerated.
95 * minloc1_16_r10.c : Regenerated.
96 * minloc1_16_r16.c : Regenerated.
97 * minloc1_16_r4.c : Regenerated.
98 * minloc1_16_r8.c : Regenerated.
99 * minloc1_4_i16.c : Regenerated.
100 * minloc1_4_i4.c : Regenerated.
101 * minloc1_4_i8.c : Regenerated.
102 * minloc1_4_r10.c : Regenerated.
103 * minloc1_4_r16.c : Regenerated.
104 * minloc1_4_r4.c : Regenerated.
105 * minloc1_4_r8.c : Regenerated.
106 * minloc1_8_i16.c : Regenerated.
107 * minloc1_8_i4.c : Regenerated.
108 * minloc1_8_i8.c : Regenerated.
109 * minloc1_8_r10.c : Regenerated.
110 * minloc1_8_r16.c : Regenerated.
111 * minloc1_8_r4.c : Regenerated.
112 * minloc1_8_r8.c : Regenerated.
113 * maxloc0_16_i16.c : Regenerated.
114 * maxloc0_16_i4.c : Regenerated.
115 * maxloc0_16_i8.c : Regenerated.
116 * maxloc0_16_r10.c : Regenerated.
117 * maxloc0_16_r16.c : Regenerated.
118 * maxloc0_16_r4.c : Regenerated.
119 * maxloc0_16_r8.c : Regenerated.
120 * maxloc0_4_i16.c : Regenerated.
121 * maxloc0_4_i4.c : Regenerated.
122 * maxloc0_4_i8.c : Regenerated.
123 * maxloc0_4_r10.c : Regenerated.
124 * maxloc0_4_r16.c : Regenerated.
125 * maxloc0_4_r4.c : Regenerated.
126 * maxloc0_4_r8.c : Regenerated.
127 * maxloc0_8_i16.c : Regenerated.
128 * maxloc0_8_i4.c : Regenerated.
129 * maxloc0_8_i8.c : Regenerated.
130 * maxloc0_8_r10.c : Regenerated.
131 * maxloc0_8_r16.c : Regenerated.
132 * maxloc0_8_r4.c : Regenerated.
133 * maxloc0_8_r8.c : Regenerated.
134 * maxloc1_16_i16.c : Regenerated.
135 * maxloc1_16_i4.c : Regenerated.
136 * maxloc1_16_i8.c : Regenerated.
137 * maxloc1_16_r10.c : Regenerated.
138 * maxloc1_16_r16.c : Regenerated.
139 * maxloc1_16_r4.c : Regenerated.
140 * maxloc1_16_r8.c : Regenerated.
141 * maxloc1_4_i16.c : Regenerated.
142 * maxloc1_4_i4.c : Regenerated.
143 * maxloc1_4_i8.c : Regenerated.
144 * maxloc1_4_r10.c : Regenerated.
145 * maxloc1_4_r16.c : Regenerated.
146 * maxloc1_4_r4.c : Regenerated.
147 * maxloc1_4_r8.c : Regenerated.
148 * maxloc1_8_i16.c : Regenerated.
149 * maxloc1_8_i4.c : Regenerated.
150 * maxloc1_8_i8.c : Regenerated.
151 * maxloc1_8_r10.c : Regenerated.
152 * maxloc1_8_r16.c : Regenerated.
153 * maxloc1_8_r4.c : Regenerated.
154 * maxloc1_8_r8.c : Regenerated.
155 * maxval_i16.c : Regenerated.
156 * maxval_i4.c : Regenerated.
157 * maxval_i8.c : Regenerated.
158 * maxval_r10.c : Regenerated.
159 * maxval_r16.c : Regenerated.
160 * maxval_r4.c : Regenerated.
161 * maxval_r8.c : Regenerated.
162 * minval_i16.c : Regenerated.
163 * minval_i4.c : Regenerated.
164 * minval_i8.c : Regenerated.
165 * minval_r10.c : Regenerated.
166 * minval_r16.c : Regenerated.
167 * minval_r4.c : Regenerated.
168 * minval_r8.c : Regenerated.
169 * sum_c10.c : Regenerated.
170 * sum_c16.c : Regenerated.
171 * sum_c4.c : Regenerated.
172 * sum_c8.c : Regenerated.
173 * sum_i16.c : Regenerated.
174 * sum_i4.c : Regenerated.
175 * sum_i8.c : Regenerated.
176 * sum_r10.c : Regenerated.
177 * sum_r16.c : Regenerated.
178 * sum_r4.c : Regenerated.
179 * sum_r8.c : Regenerated.
180 * product_c10.c : Regenerated.
181 * product_c16.c : Regenerated.
182 * product_c4.c : Regenerated.
183 * product_c8.c : Regenerated.
184 * product_i16.c : Regenerated.
185 * product_i4.c : Regenerated.
186 * product_i8.c : Regenerated.
187 * product_r10.c : Regenerated.
188 * product_r16.c : Regenerated.
189 * product_r4.c : Regenerated.
190 * product_r8.c : Regenerated.
192 2006-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
195 * libgfortran.h: Add ERROR_DIRECT_EOR.
196 * runtime/error.c (translate_error): Add translation for new error.
197 * io/transfer.c (write_buf): Add check for EOR when mode is
200 2006-03-13 Paul Thomas <pault@gcc.gnu.org>
203 * libgfortran/m4/minloc1.m4: Set the initial position to zero and
204 modify the condition for updating it, to implement the F2003
205 requirement for all(mask).eq.false.
206 * libgfortran/m4/maxloc1.m4: The same.
207 * libgfortran/m4/iforeach.m4: The same.
208 * libgfortran/m4/minloc0.m4: The same.
209 * libgfortran/m4/maxloc0.m4: The same.
210 * libgfortran/generated/maxloc0_16_i16.c: Regenerated, together
212 * libgfortran/generated/minloc0_16_i16.c: Regenerated, together
215 2006-03-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
218 * io/file_pos (st_rewind): Flush always.
219 * io/unix.c (fd_truncate): Return SUCCESS rather than FAILURE for
220 special files like /dev/null.
221 * io/transfer.c (st_write_done): Remove broken logic that
222 prevented calling fd_truncate.
224 2006-03-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
227 * io/list_read.c (read_logical): Return the value if not in namelist
230 2006-03-03 Thomas Koenig <Thomas.Koenig@online.de>
233 * runtime/memory.c: Adjust copyright years.
234 (allocate_array): New function.
235 (allocate64_array): New function.
236 * libgfortran.h (error_codes): Add ERROR_ALLOCATION.
238 2006-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
241 * io/io.h: Add flag for reading from line_buffer.
242 * io/list_read.c (l_push_char): New function to save namelist
243 input when reading logicals.
244 (free_line): New function to free line_buffer memory.
245 (next_char): Added feature to read from line_buffer.
246 (read_logical): Use new functions to test for '=' after reading a
247 logical value, checking for possible variable name.
248 (namelist_read): Use free_line when all done.
250 2006-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
253 * io/file_pos.c (st_backspace): Flush and truncate file
254 when in AFTER_ENDFILE condition.
255 * io/transfer.c (st_read_done): Remove flush, no longer needed.
257 2006-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
260 * io/unix.c (fd_seek): Revert change from 25949.
264 2006-02-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
266 * io/open.c (edit_modes): Correct abusive copy-pasting.
268 2006-02-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
271 * m4/dotprodc.m4: Use __builtin_conj instead of assigning real
272 and imaginary parts separately.
273 * generated/dotprod_c4.c: Regenerated.
274 * generated/dotprod_c8.c: Regenerated.
275 * generated/dotprod_c10.c: Regenerated.
276 * generated/dotprod_c16.c: Regenerated.
278 2006-02-12 Janne Blomqvist <jb@gcc.gnu.org>
281 * io/io.h: Add set function pointer to struct stream.
282 * io/unix.c (fd_seek): Only update offset, don't seek.
283 (fd_sset): New function.
284 (fd_read): Call lseek directly if necessary.
285 (fd_write): Likewise.
286 (fd_open): Set pointer to fd_sset.
287 (mem_set): New function.
288 (open_internal): Set pointer to mem_set.
289 * io/transfer.c (write_block_direct): Rename to write_buf, add
290 error return, non-pointer length argument.
291 (unformatted_write): Update to use write_buf.
292 (us_write): Simplify by using swrite instead of salloc_w.
293 (write_us_marker): New function.
294 (new_record_w): Use sset instead of memset, use write_us_marker,
295 simplify by using swrite instead of salloc_w.
297 2006-02-08 Francois-Xavier Coudert <coudert@clipper.ens.fr>
300 * libgfortran.h: Add pedantic field to compile_options struct.
301 * io/write.c (calculate_G_format): Depending on the standard,
302 choose E or F format for list-directed output of 0.0.
303 * runtime/error.c (notify_std): Make warning and error dependent
305 * runtime/compile_options.c (set_std): Use new pedantic argument.
307 2006-02-07 Dale Ranta <dir@lanl.gov>
310 * intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'.
312 2006-02-07 Rainer Emrich <r.emrich@de.tecosim.com>
314 * intrinsics/c99_functions.c: Work around incompatible
315 declarations of cabs{,f,l} on pre-C99 IRIX systems.
317 2005-02-06 Thomas Koenig <Thomas.Koenig@online.de>
320 * runtime/environ.c (init_unformatted): Add GFORTRAN_CONVERT_UNIT
321 environment variable.
322 (top level): Add defines, type and static variables for
323 GFORTRAN_CONVERT_UNIT handling.
324 (search_unit): New function.
325 (match_word): New function.
326 (match_integer): New function.
327 (next_token): New function.
328 (push_token): New function.
329 (mark_single): New function.
330 (mark_range): New funciton.
331 (do_parse): New function.
332 (init_unformatted): New function.
333 (get_unformatted_convert): New function.
334 * runtime/compile_options.c: Add set_convert().
335 * libgfortran.h: Add convert to compile_options_t.
336 * io/open.c (st_open): Call get_unformatted_convert to get
337 unit default; if CONVERT_NONE is returned, check for
338 the presence of a CONVERT specifier and use it.
339 As default, use compile_options.convert.
340 * io/io.h (top level): Add CONVERT_NONE to unit_convert, to signal
341 "nothing has been set".
342 (top level): Add prototype for get_unformatted_convert.
344 2006-02-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
347 * io/write.c (write_real): Widen the default format for real(10)
350 2006-01-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
353 * io/transfer.c (st_read_done): Flush buffers when read is done.
355 2006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
358 * io/transfer.c (us_read): Detect end of file condition from previous
359 operations and bail out (no need to pre-position).
361 2006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
364 * io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and
365 skips so that TL works correctly when no bytes_used yet.
367 2006-01-16 Roger Sayle <roger@eyesopen.com>
369 * configure.ac (CFLAGS): Update to include -std=gnu99 so that
370 the configure tests will be run with the same environment as
371 used to compile the libgfortran source code.
372 * configure: Regenerate.
374 2006-01-12 Roger Sayle <roger@eyesopen.com>
376 * intrinsics/c99_functions.c: Add function prototypes to avoid
377 warnings from -Wstrict-prototypes -Wmissing-prototypes. On Tru64
378 work around a brain-dead libm by redirecting calls to cabs{,f,l}
379 to a local __gfc_cabs{,f,l}.
381 2006-01-07 Janne Blomqvist <jb@gcc.gnu.org>
383 * configure.ac: Remove check for sys/mman.h.
384 * configure: Regenerated.
385 * Makefile.in: Regenerated.
386 * config.h.in: Regenerated.
387 * aclocal.m4: Regenerated.
389 2006-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
392 * io/file_pos.c (unformatted_backspace): Assure the new file position
393 to seek is not less than zero.
394 (st_backspace): Set unit bytes_left to zero.
395 * io/transfer.c (next_record_r): Fix line lengths, no functional change.
397 2006-01-02 Paolo Bonzini <bonzini@gnu.org>
400 * configure.ac: Use GCC_HEADER_STDINT.
401 * libgfortran.h: Include gstdint.h.
402 * aclocal.m4: Regenerate.
403 * configure: Regenerate.
405 2006-01-01 Steven G. Kargl <kargls@comcast.net>
407 * ChangeLog: Split into years ...
408 * ChangeLog-2002: here.
409 * ChangeLog-2003: here.
410 * ChangeLog-2004: here.
411 * ChangeLog-2005: here.