12006-12-30  Thomas Koenig  <Thomas.Koenig@online.de>
2
3	PR libfortran/30321
4	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):
5	Check for extents < 0 for zero-sized arrays.  If
6	no retarray has been specified and the size is zero,
7	return early.
8	(`m'name`'rtype_qual`_'atype_code): Likewise.
9	* generated/all_l16.c: Regenerated.
10	* generated/all_l4.c: Regenerated.
11	* generated/all_l8.c: Regenerated.
12	* generated/any_l16.c: Regenerated.
13	* generated/any_l4.c: Regenerated.
14	* generated/any_l8.c: Regenerated.
15	* generated/count_16_l16.c: Regenerated.
16	* generated/count_16_l4.c: Regenerated.
17	* generated/count_16_l8.c: Regenerated.
18	* generated/count_4_l16.c: Regenerated.
19	* generated/count_4_l4.c: Regenerated.
20	* generated/count_4_l8.c: Regenerated.
21	* generated/count_8_l16.c: Regenerated.
22	* generated/count_8_l4.c: Regenerated.
23	* generated/count_8_l8.c: Regenerated.
24	* generated/cshift1_16.c: Regenerated.
25	* generated/cshift1_4.c: Regenerated.
26	* generated/cshift1_8.c: Regenerated.
27	* generated/maxloc1_16_i16.c: Regenerated.
28	* generated/maxloc1_16_i4.c: Regenerated.
29	* generated/maxloc1_16_i8.c: Regenerated.
30	* generated/maxloc1_16_r10.c: Regenerated.
31	* generated/maxloc1_16_r16.c: Regenerated.
32	* generated/maxloc1_16_r4.c: Regenerated.
33	* generated/maxloc1_16_r8.c: Regenerated.
34	* generated/maxloc1_4_i16.c: Regenerated.
35	* generated/maxloc1_4_i4.c: Regenerated.
36	* generated/maxloc1_4_i8.c: Regenerated.
37	* generated/maxloc1_4_r10.c: Regenerated.
38	* generated/maxloc1_4_r16.c: Regenerated.
39	* generated/maxloc1_4_r4.c: Regenerated.
40	* generated/maxloc1_4_r8.c: Regenerated.
41	* generated/maxloc1_8_i16.c: Regenerated.
42	* generated/maxloc1_8_i4.c: Regenerated.
43	* generated/maxloc1_8_i8.c: Regenerated.
44	* generated/maxloc1_8_r10.c: Regenerated.
45	* generated/maxloc1_8_r16.c: Regenerated.
46	* generated/maxloc1_8_r4.c: Regenerated.
47	* generated/maxloc1_8_r8.c: Regenerated.
48	* generated/maxval_i16.c: Regenerated.
49	* generated/maxval_i4.c: Regenerated.
50	* generated/maxval_i8.c: Regenerated.
51	* generated/maxval_r10.c: Regenerated.
52	* generated/maxval_r16.c: Regenerated.
53	* generated/maxval_r4.c: Regenerated.
54	* generated/maxval_r8.c: Regenerated.
55	* generated/minloc1_16_i16.c: Regenerated.
56	* generated/minloc1_16_i4.c: Regenerated.
57	* generated/minloc1_16_i8.c: Regenerated.
58	* generated/minloc1_16_r10.c: Regenerated.
59	* generated/minloc1_16_r16.c: Regenerated.
60	* generated/minloc1_16_r4.c: Regenerated.
61	* generated/minloc1_16_r8.c: Regenerated.
62	* generated/minloc1_4_i16.c: Regenerated.
63	* generated/minloc1_4_i4.c: Regenerated.
64	* generated/minloc1_4_i8.c: Regenerated.
65	* generated/minloc1_4_r10.c: Regenerated.
66	* generated/minloc1_4_r16.c: Regenerated.
67	* generated/minloc1_4_r4.c: Regenerated.
68	* generated/minloc1_4_r8.c: Regenerated.
69	* generated/minloc1_8_i16.c: Regenerated.
70	* generated/minloc1_8_i4.c: Regenerated.
71	* generated/minloc1_8_i8.c: Regenerated.
72	* generated/minloc1_8_r10.c: Regenerated.
73	* generated/minloc1_8_r16.c: Regenerated.
74	* generated/minloc1_8_r4.c: Regenerated.
75	* generated/minloc1_8_r8.c: Regenerated.
76	* generated/minval_i16.c: Regenerated.
77	* generated/minval_i4.c: Regenerated.
78	* generated/minval_i8.c: Regenerated.
79	* generated/minval_r10.c: Regenerated.
80	* generated/minval_r16.c: Regenerated.
81	* generated/minval_r4.c: Regenerated.
82	* generated/minval_r8.c: Regenerated.
83	* generated/product_c10.c: Regenerated.
84	* generated/product_c16.c: Regenerated.
85	* generated/product_c4.c: Regenerated.
86	* generated/product_c8.c: Regenerated.
87	* generated/product_i16.c: Regenerated.
88	* generated/product_i4.c: Regenerated.
89	* generated/product_i8.c: Regenerated.
90	* generated/product_r10.c: Regenerated.
91	* generated/product_r16.c: Regenerated.
92	* generated/product_r4.c: Regenerated.
93	* generated/product_r8.c: Regenerated.
94	* generated/sum_c10.c: Regenerated.
95	* generated/sum_c16.c: Regenerated.
96	* generated/sum_c4.c: Regenerated.
97	* generated/sum_c8.c: Regenerated.
98	* generated/sum_i16.c: Regenerated.
99	* generated/sum_i4.c: Regenerated.
100	* generated/sum_i8.c: Regenerated.
101	* generated/sum_r10.c: Regenerated.
102	* generated/sum_r16.c: Regenerated.
103	* generated/sum_r4.c: Regenerated.
104	* generated/sum_r8.c: Regenerated.
105
1062006-12-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
107
108	PR libfortran/30014
109	*io/io.h (st_parameter_dt): Change *size and *iolength type to
110	GFC_IO_INT.
111	*io/transfer.c (finalize_transfer): Cast dtp->u.p.size_used to
112	GFC_IO_INT.  (iolength_transfer): Cast size * nelems to GFC_IO_INT.
113
1142006-12-17  Tobias Burnus  <burnus@net-b.de>
115
116	* intrinsics/associated.c: Check for associated(NULL,NULL).
117
1182006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
119
120	PR libfortran/30145
121	* io/transfer.c (transfer_array):  Check for negative extent.
122
1232006-12-13  Richard Guenther  <rguenther@suse.de>
124
125	PR fortran/30115
126	* runtime/memory.c (allocate_size): Change interface to
127	void *()(size_t, GFC_INTEGER_4 *).
128	(allocate): Likewise.
129	(allocate64): Likewise.
130	(allocate_array): Change interface to
131	void *()(void *, size_t, GFC_INTEGER_4 *).
132	(allocate64_array): Likewise.
133	(deallocate): Change interface to
134	void ()(void *, GFC_INTEGER_4 *).
135
1362006-12-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
137
138	PR libfortran/29810
139	* intrinsics/c99_functions.c (fmodf, fmodl, floorl): New functions.
140	* c99_protos.h (fmodf, fmodl, floorl): New prototypes.
141	* configure.ac: Check for fmodf, fmod and fmodl.
142	* configure: Regenerate.
143	* config.h.in: Regenerate.
144
1452006-12-06  Thomas Koenig  <Thomas.Koenig@online.de>
146
147	PR libfortran/30009
148	PR libfortran/30056
149	* libgfortran.h:  Add ERROR_CORRUPT_FILE to error_codes.
150	* runtime/error.c (translate_error):  Add handling for
151	ERROR_CORRUPT_FILE.
152	* io/transfer.c (read_block_direct):  Add comment about
153	EOR for stream files.
154	Remove test for no bytes left for direct access files.
155	Generate an ERROR_SHORT_RECORD if the read was short.
156	For unformatted sequential files:  Check endfile condition.
157	Remove test for no bytes left.  End of file here means
158	that the file structure has been corrupted.  Pre-position
159	the file for the next record in case of error.
160	(write_buf):  Whitespace fix.  Subtract the number of bytes
161	written from bytes_left.
162
1632006-12-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
164
165	PR libfortran/30005
166	* io/open.c: Add errno.h include.
167	(new_unit): Add new error messages with file name for file open.
168
1692006-12-01  Thomas Koenig  <Thomas.Koenig@online.de>
170
171	PR libfortran/29568
172	* libgfortran/libgfortran.h (compile_options_t):  Add
173	record_marker. (top level):  Define GFC_MAX_SUBRECORD_LENGTH.
174	* runtime/compile_options.c (set_record_marker):  Change
175	default to four-byte record marker.
176	(set_max_subrecord_length):  New function.
177	* runtime/error.c (translate_error):  Change error message
178	for short record on unformatted read.
179	* io/io.h (gfc_unit):  Add recl_subrecord, bytes_left_subrecord
180	and continued.
181	* io/file_pos.c (unformatted_backspace):  Change default of record
182	marker size to four bytes.  Loop over subrecords.
183	* io/open.c:  Default recl is max_offset.  If
184	compile_options.max_subrecord_length has been set, set set
185	u->recl_subrecord to its value, to the maximum value otherwise.
186	* io/transfer.c (top level):  Add prototypes for us_read, us_write,
187	next_record_r_unf and next_record_w_unf.
188	(read_block_direct):  Separate codepaths for unformatted direct
189	and unformatted sequential.  If a recl has been set by the
190	user, use the number of bytes left for the record if it is smaller
191	than the read request.  Loop over subrecords.  Set an error if the
192	user has set a recl and the read was short.
193	(write_buf):  Separate codepaths for unformatted direct and
194	unformatted sequential. If a recl has been set by the
195	user, use the number of bytes left for the record if it is smaller
196	than the read request.  Loop over subrecords.  Set an error if the
197	user has set a recl and the read was short.
198	(us_read):  Add parameter continued (to indicate that bytes_left
199	should not be intialized).  Change default of record marker size
200	to four bytes. Use subrecord.  If the subrecord length is smaller than
201	zero, this indicates a continuation.
202	(us_write):  Add parameter continued (to indicate that the continued
203	flag should be set).  Use subrecord.
204	(pre_position):  Use 0 for continued on us_write and us_read calls.
205	(skip_record):  New function.
206	(next_record_r_unf):  New function.
207	(next_record_r):  Use next_record_r_unf.
208	(write_us_marker):  Default size for record markers is four bytes.
209	(next_record_w_unf):  New function.
210	(next_record_w):  Use next_record_w_unf.
211
2122006-11-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
213
214	* Makefile.am: Remove intrinsics/erf.c and intrinsics/bessel.c.
215	* Makefile.in: Regenerate.
216	* intrinsics/erf.c: Remove.
217	* intrinsics/bessel.c: Remove.
218	* c99_protos.h: Add prototypes for bessel and error functions.
219	* intrinsics/c99_functions.c: Move content for intrinsics/erf.c
220	and intrinsics/bessel.c here.
221
2222006-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
223
224	* io/io.h (unit_flags): Add new flag has_recl.
225	* io.open.c (new_unit): Set flag if RECL= was specified.
226	* io/transfer.c (us_write): If flag set, leave recl as initialized by
227	new_unit.
228
2292006-11-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
230
231	* io/open.c (new_unit): Format %d expects an int variable.
232	* runtime/error.c (show_locus): Format %d expects an int variable.
233
2342006-11-08  Steven G. Kargl <kargl@gcc.gnu.org>
235
236	* io/read.c (max_value): Hide "int n" in an #ifdef.
237
2382006-11-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
239
240	PR libfortran/29752
241	* io/transfer.c (finalize_transfer): Flush on ADVANCE_NO.
242
2432006-11-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
244
245	* io/transfer.c (next_record_w): Fix indentation.
246
2472006-11-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
248
249	PR libfortran/25545
250	* io/transfer.c (write_block): Cleanup code paths between
251	stream and non-stream I/O.
252	(write_buf):  Cleanup.
253	(read_block): Cleanup.
254	(finalize_transfer): Call next_record for '$' edit descriptor handling
255	of internal unit. Cleanup code for readability.
256
2572006-11-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
258
259	PR libfortran/27895
260	* intrinsics/reshape_generic.c (reshape_internal): Fix so that it
261	works correctly for zero-sized arrays.
262	* m4/reshape.m4: Likewise.
263	* generated/reshape_r16.c: Regenerate.
264	* generated/reshape_c4.c: Regenerate.
265	* generated/reshape_i4.c: Regenerate.
266	* generated/reshape_c16.c: Regenerate.
267	* generated/reshape_r10.c: Regenerate.
268	* generated/reshape_r8.c: Regenerate.
269	* generated/reshape_c10.c: Regenerate.
270	* generated/reshape_c8.c: Regenerate.
271	* generated/reshape_i8.c: Regenerate.
272	* generated/reshape_i16.c: Regenerate.
273	* generated/reshape_r4.c: Regenerate.
274
2752006-10-31  Thomas Koenig  <Thomas.Koenig@online.de>
276
277	PR libfortran/29627
278	* libgfortran.h: Add ERROR_SHORT_RECORD
279	* runtime/error.c (translate_error): Add case
280	for ERROR_SHORT_RECORD.
281	* io/transfer.c (read_block_direct):  Separate codepaths
282	for stream and record unformatted I/O.  Remove unneeded
283	tests for standard input, padding and formatted I/O.
284	If the record is short, read in as much data as possible,
285	then raise the error.
286
2872006-10-30  Tobias Burnus  <burnus@net-b.de>
288
289	PR fortran/29452
290	* runtime/string.c (compare0): Check whether string lengths match.
291
2922006-10-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
293
294	* configure: Regenerate.
295	* Makefile.in: Regenerate.
296	* aclocal.m4: Regenerate.
297
2982006-10-28  Tobias Burnus <burnus@net-b.de>
299
300	PR fortran/29625
301	* io/transfer.c (formatted_transfer_scalar): Allow binary edit
302	  descriptors for real variables; give error for BOZ edit
303	  descriptor for non-integers when using -std=f*.
304
3052006-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
306
307	PR libfortran/29563
308	* io/list_read.c (next_char): Fix an error in previous commit.
309
3102006-10-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
311
312	PR libfortran/29563
313	* io/io.h (st_parameter_dt): Add new flag at_eof.
314	* io/list_read.c (next_char): Set flag when EOF and return '\n' to
315	signal EOR.  Check flag on next call and jump out.
316	* io/unit.c (get_internal_unit): Initialize new flag.
317
3182006-10-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
319
320	PR fortran/26025
321	* m4/matmul.m4: Add possible call to gemm routine.
322	* generated/matmul_r8.c: Regenerate.
323	* generated/matmul_r16.c: Regenerate.
324	* generated/matmul_c8.c: Regenerate.
325	* generated/matmul_i8.c: Regenerate.
326	* generated/matmul_c16.c: Regenerate.
327	* generated/matmul_r10.c: Regenerate.
328	* generated/matmul_r4.c: Regenerate.
329	* generated/matmul_c10.c: Regenerate.
330	* generated/matmul_c4.c: Regenerate.
331	* generated/matmul_i4.c: Regenerate.
332	* generated/matmul_i16.c: Regenerate.
333
3342006-10-21  Steven G. Kargl  <kargl@gcc.gnu.org>
335
336	* runtime/error.c: Add errno.h
337	(generate_error): Set iostat to errno on OS error.
338	* libgfortran.h: Set ERROR_OS to 5000
339
3402006-10-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
341
342	* generated/minval_r8.c: Regenerate.
343	* generated/maxloc1_4_r8.c: Regenerate.
344	* generated/minloc1_16_r16.c: Regenerate.
345	* generated/sum_i8.c: Regenerate.
346	* generated/eoshift3_4.c: Regenerate.
347	* generated/any_l16.c: Regenerate.
348	* generated/eoshift1_8.c: Regenerate.
349	* generated/reshape_r16.c: Regenerate.
350	* generated/product_r4.c: Regenerate.
351	* generated/maxloc1_8_i4.c: Regenerate.
352	* generated/maxloc0_4_r4.c: Regenerate.
353	* generated/in_unpack_i8.c: Regenerate.
354	* generated/minloc0_4_r16.c: Regenerate.
355	* generated/reshape_c4.c: Regenerate.
356	* generated/maxloc0_4_r16.c: Regenerate.
357	* generated/minloc1_8_r16.c: Regenerate.
358	* generated/maxloc1_8_r16.c: Regenerate.
359	* generated/in_unpack_i16.c: Regenerate.
360	* generated/maxloc0_8_i8.c: Regenerate.
361	* generated/sum_r16.c: Regenerate.
362	* generated/minloc1_4_r8.c: Regenerate.
363	* generated/maxloc1_16_r16.c: Regenerate.
364	* generated/minloc1_16_i4.c: Regenerate.
365	* generated/maxloc1_16_i4.c: Regenerate.
366	* generated/minloc0_16_i8.c: Regenerate.
367	* generated/maxloc0_16_i8.c: Regenerate.
368	* generated/maxval_r16.c: Regenerate.
369	* generated/count_16_l16.c: Regenerate.
370	* generated/count_8_l8.c: Regenerate.
371	* generated/product_c10.c: Regenerate.
372	* generated/minloc1_8_i4.c: Regenerate.
373	* generated/minloc0_16_i16.c: Regenerate.
374	* generated/eoshift1_16.c: Regenerate.
375	* generated/minloc0_4_r4.c: Regenerate.
376	* generated/product_c4.c: Regenerate.
377	* generated/sum_r4.c: Regenerate.
378	* generated/in_pack_c16.c: Regenerate.
379	* generated/reshape_i4.c: Regenerate.
380	* generated/minloc0_8_i8.c: Regenerate.
381	* generated/minloc1_16_r10.c: Regenerate.
382	* generated/in_pack_c4.c: Regenerate.
383	* generated/all_l16.c: Regenerate.
384	* generated/reshape_c16.c: Regenerate.
385	* generated/maxloc1_8_r8.c: Regenerate.
386	* generated/minval_i16.c: Regenerate.
387	* generated/reshape_r10.c: Regenerate.
388	* generated/maxval_i4.c: Regenerate.
389	* generated/any_l4.c: Regenerate.
390	* generated/minval_i8.c: Regenerate.
391	* generated/maxloc1_4_i8.c: Regenerate.
392	* generated/maxloc0_16_i16.c: Regenerate.
393	* generated/maxloc0_8_r4.c: Regenerate.
394	* generated/minloc1_4_i16.c: Regenerate.
395	* generated/minloc0_4_r10.c: Regenerate.
396	* generated/maxloc1_4_i16.c: Regenerate.
397	* generated/minloc0_8_i16.c: Regenerate.
398	* generated/maxloc0_4_r10.c: Regenerate.
399	* generated/maxloc0_8_i16.c: Regenerate.
400	* generated/minloc1_8_r10.c: Regenerate.
401	* generated/product_i4.c: Regenerate.
402	* generated/minloc0_16_r4.c: Regenerate.
403	* generated/sum_c16.c: Regenerate.
404	* generated/maxloc1_8_r10.c: Regenerate.
405	* generated/maxloc0_16_r4.c: Regenerate.
406	* generated/minloc1_16_r8.c: Regenerate.
407	* generated/maxloc0_4_i4.c: Regenerate.
408	* generated/maxloc1_16_r8.c: Regenerate.
409	* generated/cshift1_4.c: Regenerate.
410	* generated/sum_r10.c: Regenerate.
411	* generated/sum_c4.c: Regenerate.
412	* generated/maxloc1_16_r10.c: Regenerate.
413	* generated/count_4_l16.c: Regenerate.
414	* generated/in_pack_i4.c: Regenerate.
415	* generated/minloc1_8_r8.c: Regenerate.
416	* generated/count_4_l4.c: Regenerate.
417	* generated/maxval_r10.c: Regenerate.
418	* generated/minloc1_4_i8.c: Regenerate.
419	* generated/in_unpack_c4.c: Regenerate.
420	* generated/minloc0_8_r4.c: Regenerate.
421	* generated/product_i16.c: Regenerate.
422	* generated/minloc0_16_r16.c: Regenerate.
423	* generated/reshape_r8.c: Regenerate.
424	* generated/all_l4.c: Regenerate.
425	* generated/in_pack_c10.c: Regenerate.
426	* generated/minloc0_4_i4.c: Regenerate.
427	* generated/reshape_c10.c: Regenerate.
428	* generated/minval_r4.c: Regenerate.
429	* generated/maxloc1_4_r4.c: Regenerate.
430	* generated/sum_i4.c: Regenerate.
431	* generated/count_16_l8.c: Regenerate.
432	* generated/maxval_r8.c: Regenerate.
433	* generated/eoshift1_4.c: Regenerate.
434	* generated/eoshift3_8.c: Regenerate.
435	* generated/minval_r16.c: Regenerate.
436	* generated/product_r8.c: Regenerate.
437	* generated/maxloc1_8_i8.c: Regenerate.
438	* generated/maxloc0_4_r8.c: Regenerate.
439	* generated/maxloc0_16_r16.c: Regenerate.
440	* generated/in_unpack_i4.c: Regenerate.
441	* generated/sum_c10.c: Regenerate.
442	* generated/minloc1_4_r16.c: Regenerate.
443	* generated/maxloc1_4_r16.c: Regenerate.
444	* generated/in_unpack_c16.c: Regenerate.
445	* generated/minloc0_8_r16.c: Regenerate.
446	* generated/reshape_c8.c: Regenerate.
447	* generated/maxloc0_8_r16.c: Regenerate.
448	* generated/maxloc0_8_i4.c: Regenerate.
449	* generated/minloc1_4_r4.c: Regenerate.
450	* generated/minloc0_16_i4.c: Regenerate.
451	* generated/maxloc0_16_i4.c: Regenerate.
452	* generated/minloc1_16_i8.c: Regenerate.
453	* generated/maxloc1_16_i8.c: Regenerate.
454	* generated/count_8_l4.c: Regenerate.
455	* generated/minloc0_16_r10.c: Regenerate.
456	* generated/minloc1_8_i8.c: Regenerate.
457	* generated/minloc0_4_r8.c: Regenerate.
458	* generated/product_r16.c: Regenerate.
459	* generated/product_c8.c: Regenerate.
460	* generated/sum_r8.c: Regenerate.
461	* generated/in_pack_i16.c: Regenerate.
462	* generated/minloc0_8_i4.c: Regenerate.
463	* generated/minloc1_16_i16.c: Regenerate.
464	* generated/reshape_i8.c: Regenerate.
465	* generated/in_pack_c8.c: Regenerate.
466	* generated/maxloc1_8_r4.c: Regenerate.
467	* generated/reshape_i16.c: Regenerate.
468	* generated/minval_r10.c: Regenerate.
469	* generated/minval_i4.c: Regenerate.
470	* generated/maxloc1_4_i4.c: Regenerate.
471	* generated/maxval_i8.c: Regenerate.
472	* generated/eoshift3_16.c: Regenerate.
473	* generated/any_l8.c: Regenerate.
474	* generated/maxloc0_16_r10.c: Regenerate.
475	* generated/minloc0_4_i16.c: Regenerate.
476	* generated/maxloc0_8_r8.c: Regenerate.
477	* generated/maxloc0_4_i16.c: Regenerate.
478	* generated/minloc1_4_r10.c: Regenerate.
479	* generated/minloc1_8_i16.c: Regenerate.
480	* generated/maxloc1_4_r10.c: Regenerate.
481	* generated/minloc0_8_r10.c: Regenerate.
482	* generated/maxloc1_8_i16.c: Regenerate.
483	* generated/in_unpack_c10.c: Regenerate.
484	* generated/maxloc0_8_r10.c: Regenerate.
485	* generated/minloc1_16_r4.c: Regenerate.
486	* generated/maxloc1_16_r4.c: Regenerate.
487	* generated/minloc0_16_r8.c: Regenerate.
488	* generated/product_i8.c: Regenerate.
489	* generated/maxloc0_16_r8.c: Regenerate.
490	* generated/sum_i16.c: Regenerate.
491	* generated/maxloc0_4_i8.c: Regenerate.
492	* generated/cshift1_8.c: Regenerate.
493	* generated/maxloc1_16_i16.c: Regenerate.
494	* generated/minloc1_8_r4.c: Regenerate.
495	* generated/sum_c8.c: Regenerate.
496	* generated/count_8_l16.c: Regenerate.
497	* generated/in_pack_i8.c: Regenerate.
498	* generated/maxval_i16.c: Regenerate.
499	* generated/count_4_l8.c: Regenerate.
500	* generated/minloc1_4_i4.c: Regenerate.
501	* generated/product_c16.c: Regenerate.
502	* generated/reshape_r4.c: Regenerate.
503	* generated/minloc0_8_r8.c: Regenerate.
504	* generated/in_unpack_c8.c: Regenerate.
505	* generated/product_r10.c: Regenerate.
506	* generated/cshift1_16.c: Regenerate.
507	* generated/all_l8.c: Regenerate.
508	* generated/minloc0_4_i8.c: Regenerate.
509	* generated/maxval_r4.c: Regenerate.
510	* generated/count_16_l4.c: Regenerate.
511
5122006-10-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
513
514	PR libfortran/27895
515	* intrinsics/cshift0.c: Special cases for zero-sized arrays.
516	* intrinsics/pack_generic.c: Likewise.
517	* intrinsics/spread_generic.c: Likewise.
518
5192006-10-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
520
521	PR libfortran/29277
522	* io/write.c (write_a): Add conversion of LF to CR-LF for systems with
523	#define HAVE_CRLF.
524
5252006-10-18  Tobias Burnus  <burnus@net-b.de>
526
527	* m4/in_pack.m4: Fixed a typo.
528	* m4/iforeach.m4: Fixed a typo.
529	* m4/eoshift1.m4: Fixed a typo.
530	* m4/eoshift3.m4: Fixed a typo.
531	* m4/cshift1.m4: Fixed a typo.
532	* m4/in_unpack.m4: Fixed a typo.
533	* m4/reshape.m4: Fixed a typo.
534	* m4/ifunction.m4: Fixed a typo.
535	* runtime/environ.c: Fixed a typo.
536	* runtime/in_pack_generic.c: Fixed a typo.
537	* runtime/in_unpack_generic.c: Fixed a typo.
538	* runtime/memory.c: Fixed a typo.
539	* intrinsics/cshift0.c: Fixed a typo.
540	* intrinsics/cpu_time.c: Fixed a typo.
541	* intrinsics/pack_generic.c: Fixed a typo.
542	* intrinsics/unpack_generic.c: Fixed a typo.
543	* intrinsics/eoshift0.c: Fixed a typo.
544	* intrinsics/eoshift2.c: Fixed a typo.
545	* intrinsics/reshape_generic.c: Fixed a typo.
546	* io/open.c: Fixed a typo.
547	* io/list_read.c: Fixed a typo.
548	* io/io.h: Fixed a typo.
549	* io/transfer.c: Fixed a typo.
550	* io/write.c: Fixed a typo.
551
5522006-10-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
553
554	PR libfortran/29277
555	* io/list_read.c (next_char): Update strm_pos.
556	(eat_separator): Delete extra call to unget_char.
557	* io/transfer.c (read_block): Use read_sf for formatted stream I/O.
558	(next_record_r): Update strm_pos for formatted stream I/O and handle
559	end-of-record correctly.
560	(next_record_w): Ditto.
561	(next_record): Enable next record (r/w) functions and update strm_pos.
562	(finalize_transfer): Call next_record to finish the record.
563
5642006-10-13  Steven G. Kargl  <kargl@gcc.gnu.org>
565
566	* m4/spacing.m4: Use scalbn[f,l] if ldexp[f,l] is unavailable.
567	* m4/rrspacing.m4: Ditto.
568	* generated/spacing_r4.c: Regenerated.
569	* generated/spacing_r8.c: Ditto.
570	* generated/spacing_r10.c: Ditto.
571	* generated/spacing_r16.c: Ditto.
572	* generated/rrspacing_r4.c: Ditto.
573	* generated/rrspacing_r8.c: Ditto.
574	* generated/rrspacing_r10.c: Ditto.
575	* generated/rrspacing_r16.c: Ditto.
576
5772006-10-06  Steven G. Kargl  <kargl@gcc.gnu.org>
578
579	PR fortran/15441
580	PR fortran/29312
581	* configure.ac: Add HAVE_LDEXPF, HAVE_LDEXP, and HAVE_LDEXPL
582	* m4/spacing.m4: New file.  Use new HAVE_* defines.
583	* m4/rrspacing.m4: Ditto.
584	* Makefile.am: Handle new files.
585	* configure: Regenerated.
586	* Makefile.in: Ditto.
587	* config.h.in: Ditto.
588	* generated/spacing_r4.c: Generated.
589	* generated/spacing_r8.c: Ditto.
590	* generated/spacing_r10.c: Ditto.
591	* generated/spacing_r16.c: Ditto.
592	* generated/rrspacing_r4.c: Ditto.
593	* generated/rrspacing_r8.c: Ditto.
594	* generated/rrspacing_r10.c: Ditto.
595	* generated/rrspacing_r16.c: Ditto.
596
5972006-10-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
598
599	* intrinsics/hyper.c: Remove file.
600	* intrinsics/c99_functions.c: Add fallback functions asinhf,
601	acoshf and atanhf.
602	* Makefile.am: Remove file intrinsics/hyper.c.
603	* Makefile.in: Regenerate.
604
6052006-10-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
606
607	* c99_protos.h: Correctly protect definitions of prototypes for
608	asinhf, acoshf and atanhf to be the same as in intrinsics/hyper.c.
609
6102006-10-08  Paul Thomas  <pault@gcc.gnu.org>
611	    Erik Edelmann  <edelmann@gcc.gnu.org>
612
613	PR libfortran/20541
614	* Makefile.in : Add move_alloc.
615	* intrinsics/move_alloc.c: New function.
616	* Makefile.am : Add move_alloc.
617
6182006-10-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
619
620	PR libfortran/26540
621	* intrinsics/signal.c (signal_sub, signal_sub_int): Use intptr_t
622	if available to cast function pointers to int and back.
623	* configure.ac: Check for intptr_t.
624	* config.h.in: Regenerate.
625	* configure: Regenerate.
626
6272006-10-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
628
629	PR fortran/16580
630	PR fortran/29288
631	* libgfortran/Makefile.am: Add the new files to the build
632	process, and rules to build them.
633	* libgfortran/Makefile.in: Regenerate.
634	* libgfortran/m4/misc_specifics.m4: New file.
635	* libgfortran/m4/specific.m4: Add new special cases for function
636	with complex argument and real result, like abs_c* and aimag_c*.
637	* libgfortran/intrinsics/f2c_specifics.F90: Add specifics for
638	AIMAG, ASINH, ACOSH and ATANH.
639	* libgfortran/generated/_aimag_c4.F90: New file.
640	* libgfortran/generated/_aimag_c8.F90: New file.
641	* libgfortran/generated/_asinh_r10.F90: New file.
642	* libgfortran/generated/_acosh_r16.F90: New file.
643	* libgfortran/generated/_aimag_c10.F90: New file.
644	* libgfortran/generated/_atanh_r16.F90: New file.
645	* libgfortran/generated/_acosh_r4.F90: New file.
646	* libgfortran/generated/_acosh_r8.F90: New file.
647	* libgfortran/generated/_asinh_r4.F90: New file.
648	* libgfortran/generated/_asinh_r8.F90: New file.
649	* libgfortran/generated/_asinh_r16.F90: New file.
650	* libgfortran/generated/_atanh_r4.F90: New file.
651	* libgfortran/generated/_atanh_r8.F90: New file.
652	* libgfortran/generated/_acosh_r10.F90: New file.
653	* libgfortran/generated/misc_specifics.F90: New file.
654	* libgfortran/generated/_aimag_c16.F90: New file.
655	* libgfortran/generated/_atanh_r10.F90: New file.
656
6572006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
658
659	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__
660	from test.
661	* configure: Regenerate.
662
6632006-10-05  Steven G. Kargl  <kargl@gcc.gnu.org>
664
665	* Makefile.am: Use $(M4) instead of m4.
666	* Makefile.in: Regenerated.
667
6682006-10-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
669
670	* libgfortran.h: Add prototype for internal_unpack_c16.
671
6722006-09-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
673
674	PR libfortran/18791
675	* m4/specific.m4: Special-case cabs so that its return type is
676	real. Special-case conjg so that their suffices are _4, _8, _10 and
677	_16 instead of _c4, _c8, _c10 and _c16.
678	* intrinsics/f2c_specifics.F90: Special-case conjg functions so
679	that their suffices are _4 and _8 instead of _c4 and _c8.
680	* generated/_conjg_c4.F90: Regenerate.
681	* generated/_conjg_c8.F90: Regenerate.
682	* generated/_conjg_c10.F90: Regenerate.
683	* generated/_conjg_c16.F90: Regenerate.
684	* generated/_abs_c4.F90: Regenerate.
685	* generated/_abs_c8.F90: Regenerate.
686	* generated/_abs_c10.F90: Regenerate.
687	* generated/_abs_c16.F90: Regenerate.
688
6892006-09-29  Steven G. Kargl  <kargl@gcc.gnu.org>
690
691	* intrinsics/cpu_time.c:  Add cpu_time_10 and cpu_time_16 routines.
692
6932006-09-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
694D
695	* Makefile.am: Install libgfortranbegin inside compiler libraries
696	directory instead of system libraries directory.
697	* Makefile.in: Regenerate.
698
6992006-09-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
700
701	* Makefile.am: Remove dependency on gfortypes.h.
702	* Makefile.in: Regenerate.
703
7042006-09-22  Danny Smith  <dannysmith@users.sourceforge.net>
705
706	PR libfortran/27964
707	* configure.ac: Check for setmode() function.
708	* configure: Regenerate.
709	* config.h.in: Regenerate.
710	* io/unix.c (output_stream): Force stdout to binary mode.
711	(error_stream): Force stderr to binary mode.
712
7132006-09-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
714
715	PR libfortran/29099
716	* intrinsics/date_and_time.c (secnds): Fix case of zero time.
717
7182006-09-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
719
720	PR libfortran/29053
721	* io.h (gfc_unit): Add variable, strm_pos, to track
722	STREAM I/O file position.
723	* file_pos.c (st_rewind): Set strm_pos to beginning.
724	* open.c (new_unit): Initialize strm_pos.
725	* read.c (read_x): Bump strm_pos.
726	* inquire.c (inquire_via_unit): Return strm_pos value.
727	* transfer.c (read_block),(read_block_direct),(write_block)
728	(write_buf): Seek to strm_pos - 1.  Update strm_pos when done.
729	(pre_position): Initialize strm_pos.
730	(data_transfer_init): Set strm_pos if DT_HAS_REC.
731	(finalize_transfer): Flush file, no need to update strm_pos.
732
7332006-09-10  Paul Thomas  <pault@gcc.gnu.org>
734
735	PR libfortran/28947
736	* m4/matmul.m4: For the case where the second input argument is
737	transposed, ensure that the case with rank (a) == 1 is
738	correctly calculated.
739	* generated/matmul_r4.c: Regenerate.
740	* generated/matmul_r8.c: Regenerate.
741	* generated/matmul_r10.c: Regenerate.
742	* generated/matmul_r16.c: Regenerate.
743	* generated/matmul_c4.c: Regenerate.
744	* generated/matmul_c8.c: Regenerate.
745	* generated/matmul_c10.c: Regenerate.
746	* generated/matmul_c16.c: Regenerate.
747	* generated/matmul_i4.c: Regenerate.
748	* generated/matmul_i8.c: Regenerate.
749	* generated/matmul_i16.c: Regenerate.
750
7512006-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
752
753	PR libfortran/28354
754	* io/write.c: Check for special case of zero precision in format
755	and pre-round the real value.
756
7572006-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
758
759	PR libfortran/25828
760	* libgfortran.h: Rename GFC_LARGE_IO_INT to GFC_IO_INT.
761	* io/file_pos.c (st_backspace): Ignore if access=STREAM.
762	(st_rewind): Handle case of access=STREAM.
763	* io/open.c (access_opt): Add STREAM_ACCESS.
764	(edit_modes): Set current_record to zero only if not STREAM.
765	(new_unit): Initialize maxrec, recl, and last_record for STREAM.
766	* io/read.c (read_x): Advance file position for STREAM.
767	* io/io.h (enum unit_access): Align IOPARM flags with frontend.
768	Add ACCESS_STREAM. Add prototype for is_stream_io () function.
769	Use GFC_IO_INT.
770	* io/inquire.c (inquire_via_unit): Add text for access = "STREAM".
771	* io/unit.c (is_stream_io): New function to return true if access =
772	STREAM.
773	* io/transfer.c (file_mode): Add modes for unformatted stream and
774	formatted stream. (current_mode): Return appropriate file mode based
775	on access flags.
776	(read_block): Handle formatted stream reads.
777	(read_block_direct): Handle unformatted stream reads.
778	(write_block): Handle formatted stream writes.
779	(write_buf): Handle unformatted stream writes.
780	(unformatted_read): Fix up, use temporary for size.
781	(pre_position): Position file for STREAM access.
782	(data_transfer_init): Initialize for stream access, skip irrelevent
783	error checks.
784	(next_record_r),(next_record_w), and (next_record): Do nothing for
785	stream I/O.
786	(finalize_transfer): Flush when all done if stream I/O.
787
7882006-08-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
789
790	* intrinsics/bessel.c: Add prototypes for all functions.
791
7922006-08-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
793
794	* intrinsics/access.c (access_func): Remove export directive.
795
7962006-08-02  Thomas Koenig  <Thomas.Koenig@online.de>
797
798	* Makefile.in:  Regenerate using automake 1.9.6.
799	* aclocal.m4:  Revert to previous version.
800
8012006-08-01  Thomas Koenig  <Thomas.Koenig@online.de>
802
803	PR libfortran/28452
804	* Makefile.am:  Remove normalize.c.
805	* aclocal.m4:  Regenerate using aclocal 1.9.3.
806	* Makefile.in:  Regenerate using automake 1.9.3.
807	* libgfortran.h:  #include <float.h>.
808	Define GFC_REAL_*_DIGITS and GFC_REAL_*_RADIX.
809	Remove prototypes for normalize_r4_i4 and normalize_r8_i8.
810	* intrinsics/random.c (top level): Add prototypes for
811	random_r10, arandom_r10, random_r16 and arandom_r16.
812	(rnumber_4):  New static function.
813	(rnumber_8):  New static function.
814	(rnumber_10): New static function.
815	(rnumber_16): New static function.
816	(top level):  Set to kiss_size to 12 if we have
817	REAL(KIND=16), to 8 otherwise.
818	Define KISS_DEFAULT_SEED_1, KISS_DEFAULT_SEED_2 and
819	KISS_DEFAULT_SEED_3.
820	(kiss_random_kernel):  Take argument to differentiate
821	between different random number generators.
822	(random_r4):  Add argument to call to kiss_random_kernel,
823	use rnumber_*.
824	(random_r8):  Likewise.
825	(random_r10):  New function.
826	(random_r16):  New function.
827	(arandom_r4):  Add argument to call to kiss_random_kernel,
828	use_rnumber_*.
829	(arandom_r8):  Likewise.
830	(arandom_r10):  New function.
831	(arandom_r16):  New function.
832	* intrinsics/rand.c (rand):  Use shift and mask.
833	* runtime/normalize.c:  Remove.
834
8352006-07-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
836
837	PR libfortran/28335
838	* file_position.c (st_flush): Add clearer error when UNIT does not
839	exist. Add reference to standard in comment.
840
8412006-07-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
842
843	PR libfortran/28335
844	* close.c (st_close): Revert previous patch and add comment.
845	* file_position.c (st_flush): Revert previous patch and add comment.
846
8472006-07-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
848
849	* intrinsics/date_and_time.c: Add functions for GMTIME and LTIME.
850	* intrinsics/access.c: New file.
851	* intrinsics/chmod.c: New file.
852	* configure.ac: Add checks for <sys/wait.h>, access, fork,execl
853	and wait.
854	* Makefile.am: Add new files intrinsics/access.c and
855	intrinsics/chmod.c.
856	* configure: Regenerate.
857	* config.h.in: Regenerate.
858	* Makefile.in: Regenerate.
859
8602006-07-30  Janne Blomqvist  <jb@gcc.gnu.org>
861
862	* io/transfer.c (transfer_array): Remove stride0 fix.
863
8642006-07-26  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
865
866	* configure.ac: Check for function clock.
867	* Makefile.am: Compile new file intrinsics/clock.c.
868	* intrinsics/clock.c: New file.
869	* Makefile.in: Regenerate.
870	* configure: Regenerate.
871	* config.h.in: Regenerate.
872	* intrinsics/stat.c: Rename the old stat_i?_sub functions to
873	helper functions stat_i?_sub_0, and use them for both STAT and
874	LSTAT.
875
8762006-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
877
878	PR libfortran/28335
879	* close.c (st_close): Add error when UNIT does not exist.
880	* file_position.c (st_flush): Add error when UNIT does not exist.
881
8822006-07-25  Paolo Bonzini  <bonzini@gnu.org>
883
884	PR build/26188
885	* configure: Regenerate.
886
8872006-07-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
888
889	PR libfortran/25289
890	* libgfortran.h: Add conditional definition of GFC_LARGE_IO_INT type.
891	* io/io.h (st_parameter_dt): Define rec as type GFC_LARGE_IO_INT.
892
8932006-07-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
894
895	PR libfortran/28339
896	* io/transfer.c (next_record_w): Use next_array_record result to set
897	END_FILE. (write_block): Test for END_FILE before the next write occurs.
898	* io/unit.c (get_internal_unit): Initialize iunit->endfile for internal
899	unit.
900
9012006-07-19  Janne Blomqvist  <jb@gcc.gnu.org>
902
903	PR fortran/27919
904	* m4/dotprodc.m4: Remove.
905	* m4/dotprodl.m4: Remove.
906	* m4/dotprod.m4: Remove.
907	* generated/dotprod_*.c: Remove.
908	* Makefile.am: Remove any references to dot_product
909	implementation.
910	* Makefile.in: Regenerated.
911
9122006-07-18  Paolo Bonzini  <bonzini@gnu.org>
913
914	* configure: Regenerate.
915
9162006-07-15  Steven G. Kargl  <kargls@comcast.net>
917
918	* intrinsics/etime.c: Remove etime_
919	* libtool-version: Bump from libgfortran.so.1 to libgfortran.so.2
920
9212006-07-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
922
923	PR fortran/28163
924	* intrinsics/string_intrinsics.c (copy_string): Remove function.
925
9262006-07-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
927
928	* intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8,
929	idate_i4,idate_i8): New functions.
930
9312006-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
932
933	PR libfortran/27704
934	* runtime/error.c (notify_std): Pass common flags into function. Use
935	flags to show locus of error or warning.
936	* libgfortran.h: Add enum try.  Add prototype for notify_std.
937	* io/open.c (edit_modes): Allow status="old" and add extension to
938	allow status="scratch"
939	*io/list_read.c (nml_read_obj): Update call to notify_std.
940	*io/io.h: Remove enum try and prototype for notify_std.
941	*io/transfer.c (read_sf): Update call to notify_std.
942	*io/format.c (parse_format_list): Update call to notify_std.
943
9442006-06-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
945
946	* io/io.h: Move proto for unit_to_fd...
947	* libgfortran.h: ...here.
948
9492006-06-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
950
951	* intrinsics/ierrno.c: Don't include "io/io.h".
952	* intrinsics/sleep.c: Likewise.
953	* intrinsics/perror.c: Likewise.
954	* intrinsics/stat.c: Likewise.
955	* intrinsics/kill.c: Likewise.
956	* intrinsics/time.c: Likewise.
957	* intrinsics/fnum.c: Likewise.
958	* intrinsics/rename.c: Likewise.
959	* intrinsics/symlnk.c: Likewise.
960	* intrinsics/chdir.c: Likewise.
961	* intrinsics/link.c: Likewise.
962	* intrinsics/random.c: Don't include "io/io.h". Include	<gthr.h>.
963	* intrinsics/rand.c: Likewise.
964
9652006-06-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
966
967	PR fortran/28094
968	* Makefile.am: Add _mod_r10.F90 and _mod_r16.F90.
969	* Makefile.in: Regenerate.
970	* generated/_mod_r10.F90: New file.
971	* generated/_mod_r16.F90: New file.
972
9732006-06-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
974
975	PR libfortran/26769
976	* Makefile.am: Add r4 and r8 versions of reshape and transpose.
977	* Makefile.in: Regenerate.
978	* generated/reshape_r4.c: New file.
979	* generated/reshape_r8.c: New file.
980	* generated/transpose_r4.c: New file.
981	* generated/transpose_r8.c: New file.
982
9832006-06-20  Paul Thomas  <pault@gcc.gnu.org>
984
985	PR libfortran/28005
986	* m4/matmul.m4: aystride = 1 does not uniquely detect the
987	presence of a temporary transpose; an array element in the
988	first dimension produces the same signature.  Detect this
989	using the rank of a and add specific code.
990	* generated/matmul_r4.c: Regenerate.
991	* generated/matmul_r8.c: Regenerate.
992	* generated/matmul_r10.c: Regenerate.
993	* generated/matmul_r16.c: Regenerate.
994	* generated/matmul_c4.c: Regenerate.
995	* generated/matmul_c8.c: Regenerate.
996	* generated/matmul_c10.c: Regenerate.
997	* generated/matmul_c16.c: Regenerate.
998	* generated/matmul_i4.c: Regenerate.
999	* generated/matmul_i8.c: Regenerate.
1000	* generated/matmul_i16.c: Regenerate.
1001
10022006-06-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1003
1004	PR libgomp/27254
1005	* io/unit.c (get_internal_unit): Initialize and lock thread mutex
1006	for internal units.
1007
10082006-06-06  Janne Blomqvist  <jb@gcc.gnu.org>
1009
1010	* m4/in_pack.m4: Add TODO comment about detecting temporaries,
1011	remove test for stride 0, update copyright year.
1012	* m4/transpose.m4: Remove test for stride 0, update copyright
1013	year.
1014	* m4/iforeach.m4: Likewise.
1015	* m4/shape.m4: Likewise.
1016	* m4/in_unpack.m4: Likewise.
1017	* m4/reshape.m4: Likewise.
1018	* m4/ifunction.m4: Likewise.
1019	* m4/matmul.m4: Likewise.
1020	* m4/matmull.m4: Likewise.
1021	* intrinsics/etime.c: Likewise.
1022	* intrinsics/transpose_generic.c: Likewise.
1023	* intrinsics/spread_generic.c: Likewise.
1024	* intrinsics/stat.c: Likewise.
1025	* intrinsics/reshape_generic.c: Likewise.
1026	* intrinsics/random.c: Likewise.
1027	* generated/*: Regenerated from above changed m4 files.
1028
10292006-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1030
1031	PR libfortran/27757
1032	* io/unix.c (fd_seek): Set active to zero.
1033
10342006-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1035
1036	PR libfortran/27634
1037	* io/format.c (parse_format_list): Allow missing period in format only
1038	if -std=legacy.
1039
10402006-05-28  Thomas Koenig  <Thomas.Koenig@online.de>
1041
1042	* intrinsics/string_intrinsics.c (compare_string):
1043	Use memcmp instead of strncmp to avoid tripping over
1044	CHAR(0) in a string.
1045
10462006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
1047
1048	* io/io.h (find_or_create_unit): Correct export declaration.
1049
10502006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
1051
1052	* intrinsics/abort.c (abort_): Remove.
1053
10542006-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
1055
1056	* configure.ac: Remove AC_FUNC_MMAP.
1057	* configure: Regenerated.
1058	* Makefile.in: Regenerated.
1059	* config.h.in: Regenerated.
1060	* aclocal.m4: Regenerated.
1061
10622006-05-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1063
1064	* intrinsics/associated.c (associated): Zero-sized arrays should
1065	not be reported as ASSOCIATED.
1066
10672006-05-24  Carlos O'Donell  <carlos@codesourcery.com>
1068
1069	* Makefile.am: Add install-html target. Add install-html to .PHONY
1070	* Makefile.in: Regenerate.
1071	* aclocal.m4: Regenerate.
1072
10732006-05-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1074
1075	PR libfortran/24459
1076	* io/list_read.c (nml_parse_qualifier): Leave loop spec end value
1077	at default value unless -std=f95 or if an array section
1078	is specified in namelist input.  Warn if -pedantic.
1079	* io/io.h (st_parameter_dt): Add expanded_read flag.
1080
10812006-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1082
1083	PR libfortran/22423
1084	* io/transfer.c (read_block): Return NULL instead of nothing.
1085
10862006-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1087
1088	PR libfortran/27575
1089	* io/transfer.c (read_block):  Add check for end file condition.
1090	(read_block_direct): Add check for end file condition.
1091
10922006-05-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1093
1094	PR libfortran/26985
1095	* m4/matmul.m4: Correct the condition for the memset call,
1096	and remove the unneeded call to size0.
1097	* generated/matmul_r4.c: Regenerate.
1098	* generated/matmul_r8.c: Regenerate.
1099	* generated/matmul_r10.c: Regenerate.
1100	* generated/matmul_r16.c: Regenerate.
1101	* generated/matmul_c4.c: Regenerate.
1102	* generated/matmul_c8.c: Regenerate.
1103	* generated/matmul_c10.c: Regenerate.
1104	* generated/matmul_c16.c: Regenerate.
1105	* generated/matmul_i4.c: Regenerate.
1106	* generated/matmul_i8.c: Regenerate.
1107	* generated/matmul_i16.c: Regenerate.
1108
11092006-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1110
1111	PR libfortran/27360
1112	* io/list_read.c (read_logical):  Free line_buffer and free saved.
1113
11142006-04-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1115
1116	PR libfortran/27304
1117	* io/transfer.c (formatted_transfer_scalar):  Generate error if data
1118	descriptors are exhausted.
1119	* io/format.c (next_format0): Fix comment.
1120
11212006-04-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1122
1123	PR libfortran/20257
1124	* io/io.h: Add prototypes for get_internal_unit and free_internal_unit.
1125	* io/unit.c (get_internal_unit): Initialize unit number, not zero.
1126	(free_internal_unit): New function to consolidate freeing memory.
1127	(get_unit): Initialize internal_unit_desc to NULL when unit is
1128	external.
1129	* io/unix.c (mem_close): Check for not NULL before freeing memory.
1130	* io/transfer.c (read_block): Reset bytes_left and skip error if unit
1131	is preconnected and default record length is reached.
1132	(read_block_direct): Ditto.
1133	(write_block): Ditto.
1134	(write_buf): Ditto.
1135	(data_transfer_init): Only flush if not internal unit.
1136	(finalize_transfer): Ditto and delete code to free memory used by
1137	internal units.
1138	(st_read_done): Use new function - free_internal_unit.
1139	(st_write_done): Use new function - free_internal unit.
1140
11412006-04-22  Jakub Jelinek  <jakub@redhat.com>
1142
1143	PR fortran/26769
1144	* Makefile.am (i_transpose_c): Add generated/transpose_r16.c.
1145	(i_reshape_c): Add generated/reshape_r16.c.
1146	* Makefile.in: Regenerated.
1147	* generated/transpose_r16.c: Generated new file.
1148	* generated/redhape_r16.c: Generated new file.
1149
11502006-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1151
1152	PR libfortran/27138
1153	* io/list_read.c (eat_line): New function.
1154	(parse_repeat): Use new function and free_saved.
1155	(read_logical): Same.
1156	(read_integer): Use new function.
1157	(parse_real): Use nml_bad_return and new function.
1158	(read_complex): Use new function and free_saved.
1159	(read_real): Same.
1160
11612006-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1162
1163	PR libfortran/26766
1164	* io/io.h: Add bit to identify associated unit as internal.
1165	* io/unit.c (get_external_unit): Renamed the find_unit_1 function to
1166	reflect the external unit functionality vs internal unit.
1167	(get_internal_unit): New function to allocate and initialize an internal
1168	unit structure.
1169	(get_unit): Use get_internal_unit and get_external_unit.
1170	(is_internal_unit): Revised to use new bit added in io.h.
1171	* io/transfer.c (data_transfer_init): Fix line width.
1172	(st_read_done): Free memory allocated for internal unit.
1173	(st_write_done): Add test to only flush and truncate when not an
1174	internal unit.  Free memory allocated for internal unit.
1175
11762006-04-11  Jakub Jelinek  <jakub@redhat.com>
1177
1178	* io/io.h (st_parameter_dt): Revert 2005-12-10 change to
1179	u.pad, fix comment.
1180	(check_st_parameter_dt): New compile time assert.
1181
11822006-04-10  Jakub Jelinek  <jakub@redhat.com>
1183
1184	PR libfortran/24685
1185	* io/write.c (MIN_FIELD_WIDTH, STR, STR1): Define.
1186	(output_float): Increase buffer sizes for IEEE quad and IBM extended
1187	long double.
1188	(write_real): Output REAL(16) as 1PG43.34E4 rather than 1PG40.31E4.
1189
11902006-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1191
1192	PR libfortran/26890
1193	* io/io.h: Revert change to pad size made on 2006-03-30.
1194	Add comment explaining dependency with fortran/trans-io.c.
1195
11962006-04-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1197
1198	* io/write.c (output_float): Update condition to not error when
1199	decimal precision in format specifier is zero.
1200
12012006-04-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1202
1203	* config/fpu-387.h: Use previously added SSE code in all
1204	cases, as it really is the right thing to do.
1205
12062006-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1207
1208	PR libfortran/26890
1209	* io/io.h: Add size_used to st_parameter_dt, adjust pad size.
1210	*io/transfer.c (data_transfer_init): Initialize size_used to zero.
1211	(read_sf): Use size_used.
1212	(read_block): Likewise.
1213	(read_block_direct): Likewise.
1214	(write_block): Likewise.
1215	(write_buf): Likewise and eliminate erroneous FAILURE return.
1216	(finalize_transfer): Assign value of size_used to *dtp->size.
1217
12182006-03-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1219
1220	PR libfortran/26712
1221	* config/fpu-387.h: Add special case for handling of SSE
1222	control bit on i386-darwin.
1223
12242006-03-30  Thomas Koenig  <Thomas.Koenig@online.de>
1225
1226	PR fortran/25031
1227	* runtime/memory.c (allocate_array):  If stat is present and
1228	the variable is already allocated, free the variable, do
1229	the allocation and set stat.
1230	(allocate_array_64):  Likewise.  Whitespace fix.
1231
12322006-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1233
1234	PR libfortran/26880
1235	* io/file_pos.c (st_rewind): Clear read_bad flag.
1236
12372006-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1238
1239	PR libfortran/26661
1240	* io/io.h: Add read_sf so it can be used by read_x.
1241	* io/transfer.c (read_sf): Pass no_error flag to read_sf.  Use it to
1242	break out rather than error on EOF or EOR conditions.
1243	(read_block): Update call to read_sf.
1244	(read_block_direct): Ditto.
1245	* io/read.c (read_x): Use the modified read_sf instead of read_block.
1246
12472006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
1248
1249	PR libfortran/26735
1250	* io/transfer.c (data_transfer_init):  Set u_flags.convert
1251	on an unopened unit if specified by environment variable
1252	(via get_unformatted_convert) or by compile-time option.
1253
12542006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
1255
1256	PR fortran/26769
1257	* Makefile.am:  Add transpose_r10.c and reshape_r10.c.
1258	* aclocal.m4:  Regenerate using aclocal 1.9.3.
1259	* Makefile.in:  Regenerate using automake 1.9.3.
1260	* m4/iparm.m4 (rtype_ccode):  If rtype_letter is `i',
1261	evaluate to rtype_kind, otherwise to rtype_code.
1262	* generated/transpose_r10.c:  Add.
1263	* generated/reshape_r10.c:  Add.
1264
12652006-03-22  Thomas Koenig  <Thomas.Koenig@online.de>
1266
1267	PR fortran/19303
1268	* libgfortran.h (compile_options_t):  Add record_marker.
1269	* runtime/compile_options.c (set_record_marker):
1270	New function.
1271	* io/open.c:  If we have four-byte record markers, use
1272	GFC_INTEGER_4_HUGE as default record length.
1273	* io/file_pos.c (unformatted_backspace):  Handle
1274	different size record markers.
1275	* io/transfer.c (us_read):  Likewise.
1276	(us_write):  Likewise.
1277	(next_record_r):  Likewise.
1278	(write_us_marker):  Likewise.
1279	(next_record_w):  Likewise.
1280
12812006-03-20  Thomas Koenig  <Thomas.Koenig@online.de>
1282
1283	PR fortran/20935
1284	* m4/iforeach.m4:  Add SCALAR_FOREACH_FUNCTION macro.
1285	* m4/ifunction.m4:  Add SCALAR_ARRAY_FUNCTION macro.
1286	* m4/minloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
1287	* m4/minloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
1288	* m4/maxloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
1289	* m4/maxloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
1290	* m4/minval.m4:  Likewise.
1291	* m4/maxval.m4:  Likewise.
1292	* m4/product.m4:  Likewise.
1293	* m4/sum.m4:  Likewise.
1294	* minloc0_16_i16.c : Regenerated.
1295	* minloc0_16_i4.c : Regenerated.
1296	* minloc0_16_i8.c : Regenerated.
1297	* minloc0_16_r10.c : Regenerated.
1298	* minloc0_16_r16.c : Regenerated.
1299	* minloc0_16_r4.c : Regenerated.
1300	* minloc0_16_r8.c : Regenerated.
1301	* minloc0_4_i16.c : Regenerated.
1302	* minloc0_4_i4.c : Regenerated.
1303	* minloc0_4_i8.c : Regenerated.
1304	* minloc0_4_r10.c : Regenerated.
1305	* minloc0_4_r16.c : Regenerated.
1306	* minloc0_4_r4.c : Regenerated.
1307	* minloc0_4_r8.c : Regenerated.
1308	* minloc0_8_i16.c : Regenerated.
1309	* minloc0_8_i4.c : Regenerated.
1310	* minloc0_8_i8.c : Regenerated.
1311	* minloc0_8_r10.c : Regenerated.
1312	* minloc0_8_r16.c : Regenerated.
1313	* minloc0_8_r4.c : Regenerated.
1314	* minloc0_8_r8.c : Regenerated.
1315	* minloc1_16_i16.c : Regenerated.
1316	* minloc1_16_i4.c : Regenerated.
1317	* minloc1_16_i8.c : Regenerated.
1318	* minloc1_16_r10.c : Regenerated.
1319	* minloc1_16_r16.c : Regenerated.
1320	* minloc1_16_r4.c : Regenerated.
1321	* minloc1_16_r8.c : Regenerated.
1322	* minloc1_4_i16.c : Regenerated.
1323	* minloc1_4_i4.c : Regenerated.
1324	* minloc1_4_i8.c : Regenerated.
1325	* minloc1_4_r10.c : Regenerated.
1326	* minloc1_4_r16.c : Regenerated.
1327	* minloc1_4_r4.c : Regenerated.
1328	* minloc1_4_r8.c : Regenerated.
1329	* minloc1_8_i16.c : Regenerated.
1330	* minloc1_8_i4.c : Regenerated.
1331	* minloc1_8_i8.c : Regenerated.
1332	* minloc1_8_r10.c : Regenerated.
1333	* minloc1_8_r16.c : Regenerated.
1334	* minloc1_8_r4.c : Regenerated.
1335	* minloc1_8_r8.c : Regenerated.
1336	* maxloc0_16_i16.c : Regenerated.
1337	* maxloc0_16_i4.c : Regenerated.
1338	* maxloc0_16_i8.c : Regenerated.
1339	* maxloc0_16_r10.c : Regenerated.
1340	* maxloc0_16_r16.c : Regenerated.
1341	* maxloc0_16_r4.c : Regenerated.
1342	* maxloc0_16_r8.c : Regenerated.
1343	* maxloc0_4_i16.c : Regenerated.
1344	* maxloc0_4_i4.c : Regenerated.
1345	* maxloc0_4_i8.c : Regenerated.
1346	* maxloc0_4_r10.c : Regenerated.
1347	* maxloc0_4_r16.c : Regenerated.
1348	* maxloc0_4_r4.c : Regenerated.
1349	* maxloc0_4_r8.c : Regenerated.
1350	* maxloc0_8_i16.c : Regenerated.
1351	* maxloc0_8_i4.c : Regenerated.
1352	* maxloc0_8_i8.c : Regenerated.
1353	* maxloc0_8_r10.c : Regenerated.
1354	* maxloc0_8_r16.c : Regenerated.
1355	* maxloc0_8_r4.c : Regenerated.
1356	* maxloc0_8_r8.c : Regenerated.
1357	* maxloc1_16_i16.c : Regenerated.
1358	* maxloc1_16_i4.c : Regenerated.
1359	* maxloc1_16_i8.c : Regenerated.
1360	* maxloc1_16_r10.c : Regenerated.
1361	* maxloc1_16_r16.c : Regenerated.
1362	* maxloc1_16_r4.c : Regenerated.
1363	* maxloc1_16_r8.c : Regenerated.
1364	* maxloc1_4_i16.c : Regenerated.
1365	* maxloc1_4_i4.c : Regenerated.
1366	* maxloc1_4_i8.c : Regenerated.
1367	* maxloc1_4_r10.c : Regenerated.
1368	* maxloc1_4_r16.c : Regenerated.
1369	* maxloc1_4_r4.c : Regenerated.
1370	* maxloc1_4_r8.c : Regenerated.
1371	* maxloc1_8_i16.c : Regenerated.
1372	* maxloc1_8_i4.c : Regenerated.
1373	* maxloc1_8_i8.c : Regenerated.
1374	* maxloc1_8_r10.c : Regenerated.
1375	* maxloc1_8_r16.c : Regenerated.
1376	* maxloc1_8_r4.c : Regenerated.
1377	* maxloc1_8_r8.c : Regenerated.
1378	* maxval_i16.c : Regenerated.
1379	* maxval_i4.c : Regenerated.
1380	* maxval_i8.c : Regenerated.
1381	* maxval_r10.c : Regenerated.
1382	* maxval_r16.c : Regenerated.
1383	* maxval_r4.c : Regenerated.
1384	* maxval_r8.c : Regenerated.
1385	* minval_i16.c : Regenerated.
1386	* minval_i4.c : Regenerated.
1387	* minval_i8.c : Regenerated.
1388	* minval_r10.c : Regenerated.
1389	* minval_r16.c : Regenerated.
1390	* minval_r4.c : Regenerated.
1391	* minval_r8.c : Regenerated.
1392	* sum_c10.c : Regenerated.
1393	* sum_c16.c : Regenerated.
1394	* sum_c4.c : Regenerated.
1395	* sum_c8.c : Regenerated.
1396	* sum_i16.c : Regenerated.
1397	* sum_i4.c : Regenerated.
1398	* sum_i8.c : Regenerated.
1399	* sum_r10.c : Regenerated.
1400	* sum_r16.c : Regenerated.
1401	* sum_r4.c : Regenerated.
1402	* sum_r8.c : Regenerated.
1403	* product_c10.c : Regenerated.
1404	* product_c16.c : Regenerated.
1405	* product_c4.c : Regenerated.
1406	* product_c8.c : Regenerated.
1407	* product_i16.c : Regenerated.
1408	* product_i4.c : Regenerated.
1409	* product_i8.c : Regenerated.
1410	* product_r10.c : Regenerated.
1411	* product_r16.c : Regenerated.
1412	* product_r4.c : Regenerated.
1413	* product_r8.c : Regenerated.
1414
14152006-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1416
1417	PR libfortran/26509
1418	* libgfortran.h: Add ERROR_DIRECT_EOR.
1419	* runtime/error.c (translate_error): Add translation for new error.
1420	* io/transfer.c (write_buf): Add check for EOR when mode is
1421	direct access.
1422
14232006-03-13  Paul Thomas  <pault@gcc.gnu.org>
1424
1425	PR fortran/25378
1426	* libgfortran/m4/minloc1.m4: Set the initial position to zero and
1427	modify the condition for updating it, to implement the F2003
1428	requirement for all(mask).eq.false.
1429	* libgfortran/m4/maxloc1.m4: The same.
1430	* libgfortran/m4/iforeach.m4: The same.
1431	* libgfortran/m4/minloc0.m4: The same.
1432	* libgfortran/m4/maxloc0.m4: The same.
1433	* libgfortran/generated/maxloc0_16_i16.c: Regenerated, together
1434	with 41 others.
1435	* libgfortran/generated/minloc0_16_i16.c: Regenerated, together
1436	with 41 others.
1437
14382006-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1439
1440	PR libfortran/26499
1441	* io/file_pos (st_rewind): Flush always.
1442	* io/unix.c (fd_truncate): Return SUCCESS rather than FAILURE for
1443	special files like /dev/null.
1444	* io/transfer.c (st_write_done): Remove broken logic that
1445	prevented calling fd_truncate.
1446
14472006-03-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1448
1449	PR libfortran/26554
1450	* io/list_read.c (read_logical): Return the value if not in namelist
1451	mode.
1452
14532006-03-03  Thomas Koenig  <Thomas.Koenig@online.de>
1454
1455	PR fortran/25031
1456	* runtime/memory.c:  Adjust copyright years.
1457	(allocate_array):  New function.
1458	(allocate64_array):  New function.
1459	* libgfortran.h (error_codes):  Add ERROR_ALLOCATION.
1460
14612006-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1462
1463	PR libfortran/26136
1464	* io/io.h: Add flag for reading from line_buffer.
1465	* io/list_read.c (l_push_char): New function to save namelist
1466	input when reading logicals.
1467	(free_line): New function to free line_buffer memory.
1468	(next_char): Added feature to read from line_buffer.
1469	(read_logical): Use new functions to test for '=' after reading a
1470	logical value, checking for possible variable name.
1471	(namelist_read): Use free_line when all done.
1472
14732006-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1474
1475	PR libfortran/26464
1476	* io/file_pos.c (st_backspace): Flush and truncate file
1477	when in AFTER_ENDFILE condition.
1478	* io/transfer.c (st_read_done): Remove flush, no longer needed.
1479
14802006-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1481
1482	PR libfortran/26423
1483	* io/unix.c (fd_seek): Revert change from 25949.
1484	(fd_read): Same.
1485	(fd_write): Same.
1486
14872006-02-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1488
1489	* io/open.c (edit_modes): Correct abusive copy-pasting.
1490
14912006-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1492
1493	PR libfortran/24903
1494	* m4/dotprodc.m4: Use __builtin_conj instead of assigning real
1495	and imaginary parts separately.
1496	* generated/dotprod_c4.c: Regenerated.
1497	* generated/dotprod_c8.c: Regenerated.
1498	* generated/dotprod_c10.c: Regenerated.
1499	* generated/dotprod_c16.c: Regenerated.
1500
15012006-02-12  Janne Blomqvist  <jb@gcc.gnu.org>
1502
1503	PR libfortran/25949
1504	* io/io.h: Add set function pointer to struct stream.
1505	* io/unix.c (fd_seek): Only update offset, don't seek.
1506	(fd_sset): New function.
1507	(fd_read): Call lseek directly if necessary.
1508	(fd_write): Likewise.
1509	(fd_open): Set pointer to fd_sset.
1510	(mem_set): New function.
1511	(open_internal): Set pointer to mem_set.
1512	* io/transfer.c (write_block_direct): Rename to write_buf, add
1513	error return, non-pointer length argument.
1514	(unformatted_write): Update to use write_buf.
1515	(us_write): Simplify by using swrite instead of salloc_w.
1516	(write_us_marker): New function.
1517	(new_record_w): Use sset instead of memset, use write_us_marker,
1518	simplify by using swrite instead of salloc_w.
1519
15202006-02-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1521
1522	PR libfortran/25425
1523	* libgfortran.h: Add pedantic field to compile_options struct.
1524	* io/write.c (calculate_G_format): Depending on the standard,
1525	choose E or F format for list-directed output of 0.0.
1526	* runtime/error.c (notify_std): Make warning and error dependent
1527	on pedanticity.
1528	* runtime/compile_options.c (set_std): Use new pedantic argument.
1529
15302006-02-07  Dale Ranta  <dir@lanl.gov>
1531
1532	PR fortran/25577
1533	* intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'.
1534
15352006-02-07  Rainer Emrich <r.emrich@de.tecosim.com>
1536
1537	* intrinsics/c99_functions.c: Work around incompatible
1538	declarations of cabs{,f,l} on pre-C99 IRIX systems.
1539
15402005-02-06  Thomas Koenig  <Thomas.Koenig@online.de>
1541
1542	PR libfortran/23815
1543	* runtime/environ.c (init_unformatted):  Add GFORTRAN_CONVERT_UNIT
1544	environment variable.
1545	(top level):  Add defines, type and static variables for
1546	GFORTRAN_CONVERT_UNIT handling.
1547	(search_unit):  New function.
1548	(match_word): New function.
1549	(match_integer): New function.
1550	(next_token): New function.
1551	(push_token): New function.
1552	(mark_single): New function.
1553	(mark_range): New funciton.
1554	(do_parse): New function.
1555	(init_unformatted): New function.
1556	(get_unformatted_convert): New function.
1557	* runtime/compile_options.c:  Add set_convert().
1558	* libgfortran.h:  Add convert to compile_options_t.
1559	* io/open.c (st_open): Call get_unformatted_convert to get
1560	unit default; if CONVERT_NONE is returned, check for
1561	the presence of a CONVERT specifier and use it.
1562	As default, use compile_options.convert.
1563	* io/io.h (top level): Add CONVERT_NONE to unit_convert, to signal
1564	"nothing has been set".
1565	(top level): Add prototype for get_unformatted_convert.
1566
15672006-02-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1568
1569	PR libfortran/24685
1570	* io/write.c (write_real): Widen the default format for real(10)
1571	variables output.
1572
15732006-01-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1574
1575	PR libfortran/25835
1576	* io/transfer.c (st_read_done): Flush buffers when read is done.
1577
15782006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1579
1580	PR libfortran/25697
1581	* io/transfer.c (us_read): Detect end of file condition from previous
1582	operations and bail out (no need to pre-position).
1583
15842006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1585
1586	PR libfortran/25631
1587	* io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and
1588	skips so that TL works correctly when no bytes_used yet.
1589
15902006-01-16  Roger Sayle  <roger@eyesopen.com>
1591
1592	* configure.ac (CFLAGS): Update to include -std=gnu99 so that
1593	the configure tests will be run with the same environment as
1594	used to compile the libgfortran source code.
1595	* configure: Regenerate.
1596
15972006-01-12  Roger Sayle  <roger@eyesopen.com>
1598
1599	* intrinsics/c99_functions.c: Add function prototypes to avoid
1600	warnings from -Wstrict-prototypes -Wmissing-prototypes.  On Tru64
1601	work around a brain-dead libm by redirecting calls to cabs{,f,l}
1602	to a local __gfc_cabs{,f,l}.
1603
16042006-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
1605
1606	* configure.ac: Remove check for sys/mman.h.
1607	* configure: Regenerated.
1608	* Makefile.in: Regenerated.
1609	* config.h.in: Regenerated.
1610	* aclocal.m4: Regenerated.
1611
16122006-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1613
1614	PR libfortran/25598
1615	* io/file_pos.c (unformatted_backspace): Assure the new file position
1616	to seek is not less than zero.
1617	(st_backspace): Set unit bytes_left to zero.
1618	* io/transfer.c (next_record_r): Fix line lengths, no functional change.
1619
16202006-01-02  Paolo Bonzini  <bonzini@gnu.org>
1621
1622	PR target/25259
1623	* configure.ac: Use GCC_HEADER_STDINT.
1624	* libgfortran.h: Include gstdint.h.
1625	* aclocal.m4: Regenerate.
1626	* configure: Regenerate.
1627
16282006-01-01  Steven G. Kargl  <kargls@comcast.net>
1629
1630	* ChangeLog: Split into years ...
1631	* ChangeLog-2002: here.
1632	* ChangeLog-2003: here.
1633	* ChangeLog-2004: here.
1634	* ChangeLog-2005: here.
1635
1636
1637Copyright (C) 2006 Free Software Foundation, Inc.
1638
1639Copying and distribution of this file, with or without modification,
1640are permitted in any medium without royalty provided the copyright
1641notice and this notice are preserved.
1642