xref: /netbsd-src/external/gpl3/gcc/dist/libgfortran/ChangeLog-2008 (revision 181254a7b1bdde6873432bffef2d2decc4b5c22f)
1*181254a7Smrg2008-12-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2*181254a7Smrg
3*181254a7Smrg	PR fortran/31832
4*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): New autoconf check for
5*181254a7Smrg	broken powf.
6*181254a7Smrg	* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Use it.
7*181254a7Smrg	* intrinsics/c99_functions.c: Use internal powf implementation if
8*181254a7Smrg	HAVE_BROKEN_POWF is defined.
9*181254a7Smrg	* configure: Rebuilt.
10*181254a7Smrg	* config.h.in: Rebuilt.
11*181254a7Smrg
12*181254a7Smrg2008-12-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
13*181254a7Smrg
14*181254a7Smrg	PR libfortran/37472
15*181254a7Smrg	* io/write_float.def (output_float_FMT_G_): Modify calculation of temp
16*181254a7Smrg	to avoid sensitivity to round-off.
17*181254a7Smrg
18*181254a7Smrg2008-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
19*181254a7Smrg
20*181254a7Smrg	PR libfortran/38398
21*181254a7Smrg	* io/io.h (st_parameter_dt): Add new bit to keep track of when to
22*181254a7Smrg	suppress blanks for g0 formatting.
23*181254a7Smrg	* io/transfer.c (formatted_transfer_scalar): Always call write_real_g0
24*181254a7Smrg	for g0 formatting.
25*181254a7Smrg	* io.c (write.c): Do not use ES formatting and use new bit to suppress
26*181254a7Smrg	blanks.
27*181254a7Smrg	* io/write_float.def (output_float): Adjust the location of setting the
28*181254a7Smrg	width so that it can be adjusted when suppressing blanks.  Set number of
29*181254a7Smrg	blanks to zero when dtp->u.p.g0_no_blanks is set. Do some minor code
30*181254a7Smrg	clean-up and add some white space for readability.
31*181254a7Smrg
32*181254a7Smrg2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33*181254a7Smrg
34*181254a7Smrg	* configure: Regenerate.
35*181254a7Smrg
36*181254a7Smrg2008-12-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
37*181254a7Smrg
38*181254a7Smrg	PR libfortran/38504
39*181254a7Smrg	io/write.c (write_decimal): Skip extra sign '-' at beginning of string
40*181254a7Smrg	returned by gfc_itoa.
41*181254a7Smrg
42*181254a7Smrg2008-12-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
43*181254a7Smrg
44*181254a7Smrg	PR libfortran/38430
45*181254a7Smrg	* io/transfer.c (data_transfer_init): Move constraint check for REC=
46*181254a7Smrg	and STREAM access into condition for other REC= constraints to simplify.
47*181254a7Smrg	Comment out this constraint to avoid breaking compatibility with 4.3
48*181254a7Smrg	until later.  Added a TODO for above comment and this one.
49*181254a7Smrg	Fix test for max pos.
50*181254a7Smrg
51*181254a7Smrg2008-12-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
52*181254a7Smrg
53*181254a7Smrg	PR libfortran/38291
54*181254a7Smrg	* io/transfer.c (data_transfer_init): Add fbuf_flush inadvertently
55*181254a7Smrg	ommitted.  Add check for invalid use of REC= with ACCESS="stream".  Fix
56*181254a7Smrg	comment.
57*181254a7Smrg
58*181254a7Smrg2008-12-06  Adam Nemet  <anemet@caviumnetworks.com>
59*181254a7Smrg
60*181254a7Smrg	* runtime/main.c (store_exe_path): Don't crash if argv0 is NULL.
61*181254a7Smrg
62*181254a7Smrg2008-12-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
63*181254a7Smrg
64*181254a7Smrg	PR libfortran/38291
65*181254a7Smrg	* io/transfer.c (data_transfer_init): Add checks for POS= valid range.
66*181254a7Smrg	Add check for unit opened with ACCESS="stream". Flush and seek if
67*181254a7Smrg	current stream position does not match. Check ENDFILE on read.
68*181254a7Smrg
69*181254a7Smrg2008-12-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
70*181254a7Smrg
71*181254a7Smrg	PR fortran/38285
72*181254a7Smrg	* write_float.def (WRITE_FLOAT): Zero the float value for special case
73*181254a7Smrg	only if	scale_factor = 0.
74*181254a7Smrg
75*181254a7Smrg2008-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
76*181254a7Smrg
77*181254a7Smrg	PR libfortran/38234
78*181254a7Smrg	* intrinsics/reshape_generic.c (reshape_internal):
79*181254a7Smrg	Source can be larger than shape.
80*181254a7Smrg	* m4/reshape.m4:  Likewise.
81*181254a7Smrg	* generated/reshape_c10.c Regenerated.
82*181254a7Smrg	* generated/reshape_c16.c Regenerated.
83*181254a7Smrg	* generated/reshape_c4.c Regenerated.
84*181254a7Smrg	* generated/reshape_c8.c Regenerated.
85*181254a7Smrg	* generated/reshape_i16.c Regenerated.
86*181254a7Smrg	* generated/reshape_i4.c Regenerated.
87*181254a7Smrg	* generated/reshape_i8.c Regenerated.
88*181254a7Smrg	* generated/reshape_r10.c Regenerated.
89*181254a7Smrg	* generated/reshape_r16.c Regenerated.
90*181254a7Smrg	* generated/reshape_r4.c Regenerated.
91*181254a7Smrg	* generated/reshape_r8.c Regenerated.
92*181254a7Smrg
93*181254a7Smrg2008-11-22  Danny Smith  <dannysmith@users.sourceforge.net>
94*181254a7Smrg
95*181254a7Smrg	* libgfortran.h (__mingw_snprintf): Declare with gnu_printf
96*181254a7Smrg	format attribute.
97*181254a7Smrg
98*181254a7Smrg
99*181254a7Smrg2008-11-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
100*181254a7Smrg
101*181254a7Smrg	PR libfortran/38225
102*181254a7Smrg	* intrinsics/reshape_generic.c (reshape_internal):
103*181254a7Smrg	Use all dimensions of source for bounds checking.
104*181254a7Smrg	* m4/reshape.m4:  Likewise.
105*181254a7Smrg	* generated/reshape_c10.c Regenerated.
106*181254a7Smrg	* generated/reshape_c16.c Regenerated.
107*181254a7Smrg	* generated/reshape_c4.c Regenerated.
108*181254a7Smrg	* generated/reshape_c8.c Regenerated.
109*181254a7Smrg	* generated/reshape_i16.c Regenerated.
110*181254a7Smrg	* generated/reshape_i4.c Regenerated.
111*181254a7Smrg	* generated/reshape_i8.c Regenerated.
112*181254a7Smrg	* generated/reshape_r10.c Regenerated.
113*181254a7Smrg	* generated/reshape_r16.c Regenerated.
114*181254a7Smrg	* generated/reshape_r4.c Regenerated.
115*181254a7Smrg	* generated/reshape_r8.c Regenerated.
116*181254a7Smrg
117*181254a7Smrg2008-11-22  Jakub Jelinek  <jakub@redhat.com>
118*181254a7Smrg
119*181254a7Smrg	PR libfortran/37839
120*181254a7Smrg	* io/io.h (IOPARM_INQUIRE_HAS_ROUND, IOPARM_INQUIRE_HAS_SIGN,
121*181254a7Smrg	IOPARM_INQUIRE_HAS_PENDING): Adjust values.
122*181254a7Smrg	(st_parameter_inquire): Reorder and fix types of round, sign and
123*181254a7Smrg	pending fields.
124*181254a7Smrg	(st_parameter_43, st_parameter_44): Removed.
125*181254a7Smrg	(st_parameter_dt): Put back struct definition directly to u.p
126*181254a7Smrg	declaration.  Change type of u.p.size_used from gfc_offset to
127*181254a7Smrg	GFC_IO_INT.  Decrease back size of u.pad to 16 pointers and
128*181254a7Smrg	32 ints.  Put id, pos, asynchronous, blank, decimal, delim,
129*181254a7Smrg	pad, round and sign fields after the union.
130*181254a7Smrg	* io/inquire.c (inquire_via_unit, inquire_via_filename): Only read
131*181254a7Smrg	flags2 if it is defined.
132*181254a7Smrg	* io/transfer.c (read_sf, read_block_form, write_block): Cast
133*181254a7Smrg	additions to size_used to GFC_IO_INT instead of gfc_offset.
134*181254a7Smrg	(data_transfer_init): Clear whole u.p struct.  Adjust
135*181254a7Smrg	for moving id, pos, asynchronous, blank, decimal, delim, pad,
136*181254a7Smrg	round and sign fields from u.p directly into st_parameter_dt.
137*181254a7Smrg	(finalize_transfer): Don't cast size_used to GFC_IO_INT.
138*181254a7Smrg	* io/file_pos.c (st_endfile): Clear whole u.p struct.
139*181254a7Smrg
140*181254a7Smrg2008-11-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
141*181254a7Smrg
142*181254a7Smrg	PR libfortran/37472
143*181254a7Smrg	* io/write_float.def (output_float_FMT_G_): Adjust conversion of
144*181254a7Smrg	G format specification to F format.
145*181254a7Smrg
146*181254a7Smrg2008-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
147*181254a7Smrg
148*181254a7Smrg	PR libfortran/38135
149*181254a7Smrg	* m4/reshape.m4:  Correct bounds checking when PAD is present.
150*181254a7Smrg	Treat PAD as if it were SOURCE when SOURCE is empty.
151*181254a7Smrg	* intrinsics/reshape_generic.c:  Likewise.
152*181254a7Smrg	* generated/reshape_c10.c Regenerated.
153*181254a7Smrg	* generated/reshape_c16.c Regenerated.
154*181254a7Smrg	* generated/reshape_c4.c Regenerated.
155*181254a7Smrg	* generated/reshape_c8.c Regenerated.
156*181254a7Smrg	* generated/reshape_i16.c Regenerated.
157*181254a7Smrg	* generated/reshape_i4.c Regenerated.
158*181254a7Smrg	* generated/reshape_i8.c Regenerated.
159*181254a7Smrg	* generated/reshape_r10.c Regenerated.
160*181254a7Smrg	* generated/reshape_r16.c Regenerated.
161*181254a7Smrg	* generated/reshape_r4.c Regenerated.
162*181254a7Smrg	* generated/reshape_r8.c Regenerated.
163*181254a7Smrg
164*181254a7Smrg2008-11-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
165*181254a7Smrg
166*181254a7Smrg	PR libfortran/38097
167*181254a7Smrg	* io/read.c (read_f): Initialize exponent. Fix comment. Set loop
168*181254a7Smrg	conditions for BZ/BN.
169*181254a7Smrg	* io/unit.c (get_internal_unit): Initialize flags.blank.
170*181254a7Smrg	* io/transfer.c (data_transfer_init): Fix whitespace.
171*181254a7Smrg
172*181254a7Smrg2008-11-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
173*181254a7Smrg
174*181254a7Smrg	PR libfortran/37294
175*181254a7Smrg	* io/write.c (namelist_write_newline): Use array loop specification to
176*181254a7Smrg	advance to next internal array unit record. (namelist_write): Adjust to
177*181254a7Smrg	accomodate the internal array unit behavior.
178*181254a7Smrg
179*181254a7Smrg2008-11-01  Dennis Wassel  <dennis.wassel@gmail.com>
180*181254a7Smrg
181*181254a7Smrg	PR fortran/37159
182*181254a7Smrg	* intrinsics/random.c: Added comment to adapt check.c, should
183*181254a7Smrg	kiss_size change.
184*181254a7Smrg	Few cosmetic changes to existing comments.
185*181254a7Smrg
186*181254a7Smrg2008-10-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
187*181254a7Smrg
188*181254a7Smrg	PR libfortran/37707
189*181254a7Smrg	* io/list_read.c (read_character): Remove code to look ahead in namelist
190*181254a7Smrg	reads to descriminate non-delimited strings from namelist objects.
191*181254a7Smrg	* io/write.c (namelist_write): Delimit character strings with quote or
192*181254a7Smrg	apostrophe, defaulting to quote.
193*181254a7Smrg
194*181254a7Smrg2008-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
195*181254a7Smrg
196*181254a7Smrg	PR libfortran/34670
197*181254a7Smrg	* intrinsics/transpose_generic.c:  Implement bounds checking.
198*181254a7Smrg	* m4/transpose.m4:  Likewise.
199*181254a7Smrg	* generated/transpose_c8.c: Regenerated.
200*181254a7Smrg	* generated/transpose_c16.c: Regenerated.
201*181254a7Smrg	* generated/transpose_r10.c: Regenerated.
202*181254a7Smrg	* generated/transpose_i8.c: Regenerated.
203*181254a7Smrg	* generated/transpose_c10.c: Regenerated.
204*181254a7Smrg	* generated/transpose_r4.c: Regenerated.
205*181254a7Smrg	* generated/transpose_c4.c: Regenerated.
206*181254a7Smrg	* generated/transpose_i16.c: Regenerated.
207*181254a7Smrg	* generated/transpose_i4.c: Regenerated.
208*181254a7Smrg	* generated/transpose_r8.c: Regenerated.
209*181254a7Smrg	* generated/transpose_r16.c: Regenerated.
210*181254a7Smrg
211*181254a7Smrg2008-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org
212*181254a7Smrg
213*181254a7Smrg	PR libfortran/37834
214*181254a7Smrg	* io/write_float.def (output_float): Emit '0.' for special case of
215*181254a7Smrg	format specifier 'f0.0' and value of zero. Likewise emit '0' for 'f1.0'.
216*181254a7Smrg
217*181254a7Smrg2008-10-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org
218*181254a7Smrg
219*181254a7Smrg	PR libfortran/37863
220*181254a7Smrg	* io/write_float.def (WRITE_FLOAT): Round to 1.0 correctly.
221*181254a7Smrg	* io/io.h (st_parameter_44): Fix id type declaration.
222*181254a7Smrg
223*181254a7Smrg2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
224*181254a7Smrg
225*181254a7Smrg	* io/file_pos.c (unformatted_backspace): Normal case is
226*181254a7Smrg	GFC_CONVERT_NATIVE.
227*181254a7Smrg	* io/transfer.c (read_sf):  Mark paths leading to generate_error()
228*181254a7Smrg	as unlikely.
229*181254a7Smrg	(readl_block_form):  Likewise.
230*181254a7Smrg	(read_block_direct):  Likewise.
231*181254a7Smrg	(write_block):  Likewise.
232*181254a7Smrg	(write_buf):  Likewise.
233*181254a7Smrg	(us_read):  Likewise.  Normal case is GFC_CONVERT_NATIVE.
234*181254a7Smrg	(next_record_w_unf):  Mark paths leading to generate_error()
235*181254a7Smrg	as unlikely.
236*181254a7Smrg
237*181254a7Smrg2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
238*181254a7Smrg
239*181254a7Smrg	PR libfortran/34670
240*181254a7Smrg	* generated/spread_r4.c: Regenerated.
241*181254a7Smrg
242*181254a7Smrg2008-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
243*181254a7Smrg
244*181254a7Smrg	PR libfortran/34670
245*181254a7Smrg	* intrinsics/reshape_generic.c:  Add bounds checking.
246*181254a7Smrg	* m4/reshape.m4:  Likewise.
247*181254a7Smrg	* generated/reshape_c10.c: Regenerated.
248*181254a7Smrg	* generated/reshape_c16.c: Regenerated.
249*181254a7Smrg	* generated/reshape_c4.c: Regenerated.
250*181254a7Smrg	* generated/reshape_c8.c: Regenerated.
251*181254a7Smrg	* generated/reshape_i16.c: Regenerated.
252*181254a7Smrg	* generated/reshape_i4.c: Regenerated.
253*181254a7Smrg	* generated/reshape_i8.c: Regenerated.
254*181254a7Smrg	* generated/reshape_r10.c: Regenerated.
255*181254a7Smrg	* generated/reshape_r16.c: Regenerated.
256*181254a7Smrg	* generated/reshape_r4.c: Regenerated.
257*181254a7Smrg	* generated/reshape_r8.c: Regenerated.
258*181254a7Smrg	* generated/spread_r4.c: Regenerated.
259*181254a7Smrg
260*181254a7Smrg2008-10-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org
261*181254a7Smrg
262*181254a7Smrg	PR libfortran/37083
263*181254a7Smrg	* io/list_read.c (next_char): Simplify EOF tests and set endfile flag.
264*181254a7Smrg	(finish_list_read): Add EOF check.
265*181254a7Smrg
266*181254a7Smrg2008-10-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
267*181254a7Smrg
268*181254a7Smrg	PR libfortran/37753
269*181254a7Smrg	* io/transfer.c (unformatted_read):  CONVERT_NATIVE
270*181254a7Smrg	is the usual case.  Check for kind==1 for non-byte-reversing
271*181254a7Smrg	operation.
272*181254a7Smrg	(unformatted_write):  Likewise.
273*181254a7Smrg
274*181254a7Smrg2008-10-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org
275*181254a7Smrg
276*181254a7Smrg	PR libfortran/37707
277*181254a7Smrg	* io/list_read.c (nml_get_obj_data): If the first namelist object rank
278*181254a7Smrg	is greater than zero, call nml_object_read with the first object rather
279*181254a7Smrg	than the sub-object.
280*181254a7Smrg
281*181254a7Smrg2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
282*181254a7Smrg	    Steve Ellcey  <sje@cup.hp.com>
283*181254a7Smrg
284*181254a7Smrg	* configure: Regenerate for new libtool.
285*181254a7Smrg	* Makefile.in: Ditto.
286*181254a7Smrg
287*181254a7Smrg2008-09-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org
288*181254a7Smrg
289*181254a7Smrg	PR libfortran/37498
290*181254a7Smrg	* list_read.c (eat_separator): Revert previous patch and move
291*181254a7Smrg	delim_status, decimal_status, and pad_status to gfc_unit.
292*181254a7Smrg	(parse_real): Ditto. (read_real): Ditto.
293*181254a7Smrg	* read.c (read_a): Likewise. (read_a_char4): Likewise.
294*181254a7Smrg	(read_f): Likewise.
295*181254a7Smrg	* inquire.c (inquire_via_unit): Add missing check for
296*181254a7Smrg	IOPARM_INQUIRE_HAS_FLAGS2. (inquire_via_filename): Likewise.
297*181254a7Smrg	* io.h (unit_sign_s): Move delim_status, decimal_status, and pad_status
298*181254a7Smrg	to gfc_unit.
299*181254a7Smrg	* transfer.c (read_sf): Ditto. (read_block_form): Ditto.
300*181254a7Smrg	(formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto.
301*181254a7Smrg	* write.c (write_default_char4): Ditto. (write_utf8_char4): Ditto.
302*181254a7Smrg	(write_character): Ditto. (write_real_g0): Ditto.
303*181254a7Smrg	(list_formatted_write_scalar): Ditto. (nml_write_obj): Ditto.
304*181254a7Smrg	(namelist_write): Ditto.
305*181254a7Smrg	* write_float.def (calculate_sign): Ditto. (output_float): Ditto.
306*181254a7Smrg
307*181254a7Smrg2008-09-24  Tobias Burnus  <burnus@net-b.de>
308*181254a7Smrg
309*181254a7Smrg	* runtime/compile_options.c (init_compile_options):
310*181254a7Smrg	Sync flags with front end.
311*181254a7Smrg
312*181254a7Smrg2008-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org
313*181254a7Smrg
314*181254a7Smrg	PR libfortran/37498
315*181254a7Smrg	* file_pos (st_endfile): Clear memory only for libfortran 4.3 private
316*181254a7Smrg	area.
317*181254a7Smrg	* list_read.c (eat_separator): Only access F2003 I/O parameters if
318*181254a7Smrg	IOPARM_DT_HAS_F2003 bit is set. (parse_real): Ditto.
319*181254a7Smrg	(read_real): Ditto.
320*181254a7Smrg	* read.c (read_a): Likewise. (read_a_char4): Likewise though not
321*181254a7Smrg	strictly necessary. (read_f): Likewise.
322*181254a7Smrg	* io.h (unit_sign_s): New enumerator to allow duplication of
323*181254a7Smrg	st_parameter structures. (IOPARM_DT_HAS_F2003): New mask bit.
324*181254a7Smrg	(st_parameter_43): New structure copied from 4.3 version of
325*181254a7Smrg	st_paramater_dt private section. (st_parameter_44): New structure with
326*181254a7Smrg	F2003 items added. (st_parameter_dt): Modified to create union of new
327*181254a7Smrg	and old structures to allow correct memory setting for 4.3 ABI
328*181254a7Smrg	compatibility. Bumped the pad size.
329*181254a7Smrg	* transfer.c (read_sf): Do not use F2003 I/O memory areas unless
330*181254a7Smrg	IOPARM_DT_HAS_F2003 bit has been set. (read_block_form): Ditto.
331*181254a7Smrg	(formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto and
332*181254a7Smrg	add comment, fix formatting.
333*181254a7Smrg	* write.c (write_default_char4): Likewise though not strictly necessary.
334*181254a7Smrg	(write_utf8_char4): Ditto. (write_character): Ditto.
335*181254a7Smrg	(write_real_g0): Ditto. (list_formatted_write_scalar): Ditto.
336*181254a7Smrg	(nml_write_obj): Ditto. (namelist_write): Ditto.
337*181254a7Smrg	* write_float.def (calculate_sign): Eliminate warning by including all
338*181254a7Smrg	cases in switch. (output_float): Output only decimal point of F2003 flag
339*181254a7Smrg	is not set.
340*181254a7Smrg
341*181254a7Smrg2008-09-10  Tobias Burnus  <burnus@net-b.de>
342*181254a7Smrg	    H. J. Lu  <hongjiu.lu@intel.com>
343*181254a7Smrg
344*181254a7Smrg	* mk-sik-inc.sh: Make -Wunused-variable proof.
345*181254a7Smrg	* mk-srk-inc.sh: Make -Wunused-variable proof.
346*181254a7Smrg
347*181254a7Smrg2008-09-10  Tobias Burnus  <burnus@net-b.de>
348*181254a7Smrg
349*181254a7Smrg	* mk-kinds-h.sh: Make -Wunused-variable proof.
350*181254a7Smrg
351*181254a7Smrg2008-09-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
352*181254a7Smrg
353*181254a7Smrg	PR fortran/37203
354*181254a7Smrg	* intrinsics/reshape_generic.c:  Add checking on
355*181254a7Smrg	out-of-bounds and duplicate values of order argument.
356*181254a7Smrg	* m4/reshape.m4:  Likewise.
357*181254a7Smrg	* generated/reshape_c10.c: Regenerated.
358*181254a7Smrg	* generated/reshape_c16.c: Regenerated.
359*181254a7Smrg	* generated/reshape_c4.c: Regenerated.
360*181254a7Smrg	* generated/reshape_c8.c: Regenerated.
361*181254a7Smrg	* generated/reshape_i16.c: Regenerated.
362*181254a7Smrg	* generated/reshape_i4.c: Regenerated.
363*181254a7Smrg	* generated/reshape_i8.c: Regenerated.
364*181254a7Smrg	* generated/reshape_r10.c: Regenerated.
365*181254a7Smrg	* generated/reshape_r16.c: Regenerated.
366*181254a7Smrg	* generated/reshape_r4.c: Regenerated.
367*181254a7Smrg	* generated/reshape_r8.c: Regenerated.
368*181254a7Smrg
369*181254a7Smrg2008-09-06  Tobias Burnus  <burnus@net-b.de>
370*181254a7Smrg
371*181254a7Smrg	* libgfortran.h (likely,unlikely): New makros.
372*181254a7Smrg	(runtime_warning_at,__mingw_snprintf): Add __attribute__(format()).
373*181254a7Smrg	* m4/spread.m4 (spread_'rtype_code`): Use unlikely for bounds_check.
374*181254a7Smrg	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
375*181254a7Smrg	* m4/matmull.m4 (matmul_'rtype_code`): Ditto.
376*181254a7Smrg	* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
377*181254a7Smrg	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
378*181254a7Smrg	* m4/matmul.m4 (matmul_'rtype_code`): Ditto.
379*181254a7Smrg
380*181254a7Smrg	* generated/minval_r8.c: Regenerated.
381*181254a7Smrg	* generated/spread_r10.c: Regenerated.
382*181254a7Smrg	* generated/minloc1_16_r16.c: Regenerated.
383*181254a7Smrg	* generated/maxloc1_4_r8.c: Regenerated.
384*181254a7Smrg	* generated/sum_i8.c: Regenerated.
385*181254a7Smrg	* generated/any_l16.c: Regenerated.
386*181254a7Smrg	* generated/spread_i8.c: Regenerated.
387*181254a7Smrg	* generated/maxval_i2.c: Regenerated.
388*181254a7Smrg	* generated/any_l2.c: Regenerated.
389*181254a7Smrg	* generated/product_r4.c: Regenerated.
390*181254a7Smrg	* generated/maxloc1_8_i4.c: Regenerated.
391*181254a7Smrg	* generated/maxloc0_4_r4.c: Regenerated.
392*181254a7Smrg	* generated/all_l1.c: Regenerated.
393*181254a7Smrg	* generated/matmul_r8.c: Regenerated.
394*181254a7Smrg	* generated/product_i2.c: Regenerated.
395*181254a7Smrg	* generated/minloc0_4_r16.c: Regenerated.
396*181254a7Smrg	* generated/minloc0_4_i1.c: Regenerated.
397*181254a7Smrg	* generated/maxloc0_4_r16.c: Regenerated.
398*181254a7Smrg	* generated/maxloc0_4_i2.c: Regenerated.
399*181254a7Smrg	* generated/minloc1_8_r16.c: Regenerated.
400*181254a7Smrg	* generated/maxloc1_8_r16.c: Regenerated.
401*181254a7Smrg	* generated/maxloc0_8_i8.c: Regenerated.
402*181254a7Smrg	* generated/sum_r16.c: Regenerated.
403*181254a7Smrg	* generated/sum_i1.c: Regenerated.
404*181254a7Smrg	* generated/minloc1_4_r8.c: Regenerated.
405*181254a7Smrg	* generated/maxloc1_16_r16.c: Regenerated.
406*181254a7Smrg	* generated/minloc1_16_i4.c: Regenerated.
407*181254a7Smrg	* generated/maxloc1_16_i4.c: Regenerated.
408*181254a7Smrg	* generated/minloc0_16_i8.c: Regenerated.
409*181254a7Smrg	* generated/spread_i1.c: Regenerated.
410*181254a7Smrg	* generated/maxloc0_16_i8.c: Regenerated.
411*181254a7Smrg	* generated/maxval_r16.c: Regenerated.
412*181254a7Smrg	* generated/product_c10.c: Regenerated.
413*181254a7Smrg	* generated/minloc1_8_i4.c: Regenerated.
414*181254a7Smrg	* generated/minloc0_16_i16.c: Regenerated.
415*181254a7Smrg	* generated/matmul_r16.c: Regenerated.
416*181254a7Smrg	* generated/minloc0_4_r4.c: Regenerated.
417*181254a7Smrg	* generated/all_l2.c: Regenerated.
418*181254a7Smrg	* generated/product_c4.c: Regenerated.
419*181254a7Smrg	* generated/sum_r4.c: Regenerated.
420*181254a7Smrg	* generated/minloc0_4_i2.c: Regenerated.
421*181254a7Smrg	* generated/spread_c10.c: Regenerated.
422*181254a7Smrg	* generated/maxloc0_8_i1.c: Regenerated.
423*181254a7Smrg	* generated/spread_r4.c: Regenerated.
424*181254a7Smrg	* generated/minloc0_8_i8.c: Regenerated.
425*181254a7Smrg	* generated/matmul_c8.c: Regenerated.
426*181254a7Smrg	* generated/all_l16.c: Regenerated.
427*181254a7Smrg	* generated/minloc1_16_r10.c: Regenerated.
428*181254a7Smrg	* generated/sum_i2.c: Regenerated.
429*181254a7Smrg	* generated/minloc0_16_i1.c: Regenerated.
430*181254a7Smrg	* generated/maxloc0_16_i1.c: Regenerated.
431*181254a7Smrg	* generated/maxloc1_8_r8.c: Regenerated.
432*181254a7Smrg	* generated/minval_i16.c: Regenerated.
433*181254a7Smrg	* generated/spread_i2.c: Regenerated.
434*181254a7Smrg	* generated/maxval_i4.c: Regenerated.
435*181254a7Smrg	* generated/minval_i8.c: Regenerated.
436*181254a7Smrg	* generated/any_l4.c: Regenerated.
437*181254a7Smrg	* generated/maxloc1_4_i8.c: Regenerated.
438*181254a7Smrg	* generated/maxloc0_16_i16.c: Regenerated.
439*181254a7Smrg	* generated/maxloc0_8_r4.c: Regenerated.
440*181254a7Smrg	* generated/minloc1_4_i16.c: Regenerated.
441*181254a7Smrg	* generated/maxloc1_4_i16.c: Regenerated.
442*181254a7Smrg	* generated/minloc0_4_r10.c: Regenerated.
443*181254a7Smrg	* generated/minloc0_8_i16.c: Regenerated.
444*181254a7Smrg	* generated/maxloc0_4_r10.c: Regenerated.
445*181254a7Smrg	* generated/maxloc0_8_i16.c: Regenerated.
446*181254a7Smrg	* generated/minloc1_8_r10.c: Regenerated.
447*181254a7Smrg	* generated/product_i4.c: Regenerated.
448*181254a7Smrg	* generated/minloc0_16_r4.c: Regenerated.
449*181254a7Smrg	* generated/sum_c16.c: Regenerated.
450*181254a7Smrg	* generated/maxloc1_8_r10.c: Regenerated.
451*181254a7Smrg	* generated/maxloc0_16_r4.c: Regenerated.
452*181254a7Smrg	* generated/minloc1_16_r8.c: Regenerated.
453*181254a7Smrg	* generated/minloc0_8_i1.c: Regenerated.
454*181254a7Smrg	* generated/maxloc0_4_i4.c: Regenerated.
455*181254a7Smrg	* generated/maxloc1_16_r8.c: Regenerated.
456*181254a7Smrg	* generated/maxloc0_8_i2.c: Regenerated.
457*181254a7Smrg	* generated/sum_r10.c: Regenerated.
458*181254a7Smrg	* generated/count_4_l.c: Regenerated.
459*181254a7Smrg	* generated/sum_c4.c: Regenerated.
460*181254a7Smrg	* generated/count_8_l.c: Regenerated.
461*181254a7Smrg	* generated/maxloc1_16_r10.c: Regenerated.
462*181254a7Smrg	* generated/matmul_i8.c: Regenerated.
463*181254a7Smrg	* generated/minloc0_16_i2.c: Regenerated.
464*181254a7Smrg	* generated/minloc1_8_r8.c: Regenerated.
465*181254a7Smrg	* generated/maxloc0_16_i2.c: Regenerated.
466*181254a7Smrg	* generated/spread_c4.c: Regenerated.
467*181254a7Smrg	* generated/matmul_c16.c: Regenerated.
468*181254a7Smrg	* generated/maxval_r10.c: Regenerated.
469*181254a7Smrg	* generated/minval_i1.c: Regenerated.
470*181254a7Smrg	* generated/maxloc1_4_i1.c: Regenerated.
471*181254a7Smrg	* generated/matmul_r10.c: Regenerated.
472*181254a7Smrg	* generated/minloc1_4_i8.c: Regenerated.
473*181254a7Smrg	* generated/minloc0_8_r4.c: Regenerated.
474*181254a7Smrg	* generated/matmul_l4.c: Regenerated.
475*181254a7Smrg	* generated/product_i16.c: Regenerated.
476*181254a7Smrg	* generated/minloc0_16_r16.c: Regenerated.
477*181254a7Smrg	* generated/all_l4.c: Regenerated.
478*181254a7Smrg	* generated/minloc0_4_i4.c: Regenerated.
479*181254a7Smrg	* generated/minloc0_8_i2.c: Regenerated.
480*181254a7Smrg	* generated/matmul_i1.c: Regenerated.
481*181254a7Smrg	* generated/minval_r4.c: Regenerated.
482*181254a7Smrg	* generated/maxloc1_4_r4.c: Regenerated.
483*181254a7Smrg	* generated/spread_i16.c: Regenerated.
484*181254a7Smrg	* generated/sum_i4.c: Regenerated.
485*181254a7Smrg	* generated/maxval_r8.c: Regenerated.
486*181254a7Smrg	* generated/spread_i4.c: Regenerated.
487*181254a7Smrg	* generated/minloc1_4_i1.c: Regenerated.
488*181254a7Smrg	* generated/minval_r16.c: Regenerated.
489*181254a7Smrg	* generated/minval_i2.c: Regenerated.
490*181254a7Smrg	* generated/maxloc1_4_i2.c: Regenerated.
491*181254a7Smrg	* generated/product_r8.c: Regenerated.
492*181254a7Smrg	* generated/maxloc1_8_i8.c: Regenerated.
493*181254a7Smrg	* generated/maxloc0_4_r8.c: Regenerated.
494*181254a7Smrg	* generated/maxloc0_16_r16.c: Regenerated.
495*181254a7Smrg	* generated/matmul_r4.c: Regenerated.
496*181254a7Smrg	* generated/sum_c10.c: Regenerated.
497*181254a7Smrg	* generated/minloc1_4_r16.c: Regenerated.
498*181254a7Smrg	* generated/maxloc1_4_r16.c: Regenerated.
499*181254a7Smrg	* generated/minloc0_8_r16.c: Regenerated.
500*181254a7Smrg	* generated/maxloc0_8_r16.c: Regenerated.
501*181254a7Smrg	* generated/count_1_l.c: Regenerated.
502*181254a7Smrg	* generated/maxloc0_8_i4.c: Regenerated.
503*181254a7Smrg	* generated/matmul_i2.c: Regenerated.
504*181254a7Smrg	* generated/minloc1_4_r4.c: Regenerated.
505*181254a7Smrg	* generated/matmul_c10.c: Regenerated.
506*181254a7Smrg	* generated/minloc0_16_i4.c: Regenerated.
507*181254a7Smrg	* generated/maxloc0_16_i4.c: Regenerated.
508*181254a7Smrg	* generated/minloc1_16_i8.c: Regenerated.
509*181254a7Smrg	* generated/maxloc1_16_i8.c: Regenerated.
510*181254a7Smrg	* generated/minloc1_4_i2.c: Regenerated.
511*181254a7Smrg	* generated/matmul_l16.c: Regenerated.
512*181254a7Smrg	* generated/maxloc1_8_i1.c: Regenerated.
513*181254a7Smrg	* generated/minloc0_16_r10.c: Regenerated.
514*181254a7Smrg	* generated/minloc1_8_i8.c: Regenerated.
515*181254a7Smrg	* generated/minloc0_4_r8.c: Regenerated.
516*181254a7Smrg	* generated/product_r16.c: Regenerated.
517*181254a7Smrg	* generated/product_c8.c: Regenerated.
518*181254a7Smrg	* generated/sum_r8.c: Regenerated.
519*181254a7Smrg	* generated/minloc0_8_i4.c: Regenerated.
520*181254a7Smrg	* generated/matmul_c4.c: Regenerated.
521*181254a7Smrg	* generated/minloc1_16_i16.c: Regenerated.
522*181254a7Smrg	* generated/spread_r8.c: Regenerated.
523*181254a7Smrg	* generated/maxloc1_8_r4.c: Regenerated.
524*181254a7Smrg	* generated/minloc1_16_i1.c: Regenerated.
525*181254a7Smrg	* generated/maxloc1_16_i1.c: Regenerated.
526*181254a7Smrg	* generated/spread_r16.c: Regenerated.
527*181254a7Smrg	* generated/minval_r10.c: Regenerated.
528*181254a7Smrg	* generated/count_16_l.c: Regenerated.
529*181254a7Smrg	* generated/minval_i4.c: Regenerated.
530*181254a7Smrg	* generated/minloc1_8_i1.c: Regenerated.
531*181254a7Smrg	* generated/maxloc1_4_i4.c: Regenerated.
532*181254a7Smrg	* generated/maxloc1_8_i2.c: Regenerated.
533*181254a7Smrg	* generated/maxval_i8.c: Regenerated.
534*181254a7Smrg	* generated/any_l8.c: Regenerated.
535*181254a7Smrg	* generated/maxloc0_16_r10.c: Regenerated.
536*181254a7Smrg	* generated/minloc0_4_i16.c: Regenerated.
537*181254a7Smrg	* generated/maxloc0_8_r8.c: Regenerated.
538*181254a7Smrg	* generated/maxloc0_4_i16.c: Regenerated.
539*181254a7Smrg	* generated/minloc1_4_r10.c: Regenerated.
540*181254a7Smrg	* generated/minloc1_8_i16.c: Regenerated.
541*181254a7Smrg	* generated/maxloc1_4_r10.c: Regenerated.
542*181254a7Smrg	* generated/maxloc1_8_i16.c: Regenerated.
543*181254a7Smrg	* generated/minloc0_8_r10.c: Regenerated.
544*181254a7Smrg	* generated/maxloc0_8_r10.c: Regenerated.
545*181254a7Smrg	* generated/minloc1_16_r4.c: Regenerated.
546*181254a7Smrg	* generated/maxloc1_16_r4.c: Regenerated.
547*181254a7Smrg	* generated/minloc0_16_r8.c: Regenerated.
548*181254a7Smrg	* generated/product_i8.c: Regenerated.
549*181254a7Smrg	* generated/maxloc0_16_r8.c: Regenerated.
550*181254a7Smrg	* generated/sum_i16.c: Regenerated.
551*181254a7Smrg	* generated/count_2_l.c: Regenerated.
552*181254a7Smrg	* generated/maxloc0_4_i8.c: Regenerated.
553*181254a7Smrg	* generated/maxloc1_16_i16.c: Regenerated.
554*181254a7Smrg	* generated/matmul_i4.c: Regenerated.
555*181254a7Smrg	* generated/minloc1_8_r4.c: Regenerated.
556*181254a7Smrg	* generated/sum_c8.c: Regenerated.
557*181254a7Smrg	* generated/minloc1_16_i2.c: Regenerated.
558*181254a7Smrg	* generated/maxloc1_16_i2.c: Regenerated.
559*181254a7Smrg	* generated/maxval_i16.c: Regenerated.
560*181254a7Smrg	* generated/spread_c8.c: Regenerated.
561*181254a7Smrg	* generated/matmul_i16.c: Regenerated.
562*181254a7Smrg	* generated/minloc1_4_i4.c: Regenerated.
563*181254a7Smrg	* generated/maxval_i1.c: Regenerated.
564*181254a7Smrg	* generated/minloc1_8_i2.c: Regenerated.
565*181254a7Smrg	* generated/any_l1.c: Regenerated.
566*181254a7Smrg	* generated/product_c16.c: Regenerated.
567*181254a7Smrg	* generated/minloc0_8_r8.c: Regenerated.
568*181254a7Smrg	* generated/matmul_l8.c: Regenerated.
569*181254a7Smrg	* generated/product_r10.c: Regenerated.
570*181254a7Smrg	* generated/product_i1.c: Regenerated.
571*181254a7Smrg	* generated/all_l8.c: Regenerated.
572*181254a7Smrg	* generated/maxloc0_4_i1.c: Regenerated.
573*181254a7Smrg	* generated/minloc0_4_i8.c: Regenerated.
574*181254a7Smrg	* generated/spread_c16.c: Regenerated.
575*181254a7Smrg	* generated/maxval_r4.c: Regenerated.
576*181254a7Smrg
577*181254a7Smrg2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
578*181254a7Smrg
579*181254a7Smrg	PR libfortran/37301
580*181254a7Smrg	PR libfortran/37228
581*181254a7Smrg	* io/io.h (write_real_g0): Declare new function to handle g0.d format.
582*181254a7Smrg	* io/transfer.c (formatted_transfer_scalar): Use new function.
583*181254a7Smrg	* io/format.c (parse_format_list): Enable g0.d.
584*181254a7Smrg	* io/write.c (write_a_char4): Delete unused var.
585*181254a7Smrg	(set_fnode_default): New function to set the default fnode w, d, and e
586*181254a7Smrg	factored from write_real. (write_real): Use new factored function.
587*181254a7Smrg	(write_real_g0): New function that sets d to that passed by g0.d format
588*181254a7Smrg	specifier and set format to ES.  Default values for w and e are used
589*181254a7Smrg	from the new function, set_fnode_default.
590*181254a7Smrg
591*181254a7Smrg2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
592*181254a7Smrg
593*181254a7Smrg	* runtime/error.c: Fix cast for printf.
594*181254a7Smrg
595*181254a7Smrg2008-08-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
596*181254a7Smrg
597*181254a7Smrg	PR libfortran/36895
598*181254a7Smrg	* io/write.c (namelist_write_newline): New function to correctly mark
599*181254a7Smrg	next records in both external and internal units.
600*181254a7Smrg	(nml_write_obj): Use new function.
601*181254a7Smrg	(namelist_write: Use new function.
602*181254a7Smrg
603*181254a7Smrg2008-08-19  Tobias Burnus  <burnus@net-b.de>
604*181254a7Smrg
605*181254a7Smrg	PR libfortran/35863
606*181254a7Smrg	* io/write.c (write_a_char4): Add missing variable declaration
607*181254a7Smrg	in HAVE_CRLF block.
608*181254a7Smrg
609*181254a7Smrg2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
610*181254a7Smrg
611*181254a7Smrg	PR libfortran/35863
612*181254a7Smrg	* intrinsics/selected_char_kind.c: Enable iso_10646.
613*181254a7Smrg	* io/read.c (typedef uchar): New type.
614*181254a7Smrg	(read_utf8): New function to read a single UTF-8 encoded character.
615*181254a7Smrg	(read_utf8_char1): New function to read UTF-8 into a KIND=1 string.
616*181254a7Smrg	(read_default_char1): New functio to read default into KIND=1 string.
617*181254a7Smrg	(read_utf8_char4): New function to read UTF-8 into a KIND=4 string.
618*181254a7Smrg	(read_default_char4): New function to read UTF-8 into a KIND=4 string.
619*181254a7Smrg	(read_a): Modify to use the new functions.
620*181254a7Smrg	(read_a_char4): Modify to use the new functions.
621*181254a7Smrg	* io/write.c (error.h): Add include. (typedef uchar): New type.
622*181254a7Smrg	(write_default_char4): New function to default write KIND=4 string.
623*181254a7Smrg	(write_utf8_char4): New function to UTF-8 write KIND=4 string.
624*181254a7Smrg	(write_a_char4): Modify to use new functions.
625*181254a7Smrg	(write_character): Modify to use new functions.
626*181254a7Smrg
627*181254a7Smrg2008-08-14  H.J. Lu  <hongjiu.lu@intel.com>
628*181254a7Smrg
629*181254a7Smrg	PR libfortran/37123
630*181254a7Smrg	* intrinsics/cshift0.c (cshift0): Fix 2 typos.
631*181254a7Smrg
632*181254a7Smrg2008-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
633*181254a7Smrg
634*181254a7Smrg	PR libfortran/36886
635*181254a7Smrg	* Makefile.am:  Added $(i_cshift0_c).
636*181254a7Smrg	Added $(i_cshift0_c) to gfor_built_specific_src.
637*181254a7Smrg	Add rule to build from cshift0.m4.
638*181254a7Smrg	* Makefile.in:  Regenerated.
639*181254a7Smrg	* libgfortran.h:  Addedd prototypes for cshift0_i1,
640*181254a7Smrg	cshift0_i2, cshift0_i4, cshift0_i8, cshift0_i16,
641*181254a7Smrg	cshift0_r4, cshift0_r8, cshift0_r10, cshift0_r16,
642*181254a7Smrg	cshift0_c4, cshift0_c8, cshift0_c10, cshift0_c16.
643*181254a7Smrg	Define Macros GFC_UNALIGNED_C4 and GFC_UNALIGNED_C8.
644*181254a7Smrg	* intrinsics/cshift0.c:  Remove helper functions for
645*181254a7Smrg	the innter shift loop.
646*181254a7Smrg	(cshift0):  Call specific functions depending on type
647*181254a7Smrg	of array argument.  Only call specific functions for
648*181254a7Smrg	correct alignment for other types.
649*181254a7Smrg	* m4/cshift0.m4:  New file.
650*181254a7Smrg	* generated/cshift0_i1.c:  New file.
651*181254a7Smrg	* generated/cshift0_i2.c:  New file.
652*181254a7Smrg	* generated/cshift0_i4.c:  New file.
653*181254a7Smrg	* generated/cshift0_i8:.c  New file.
654*181254a7Smrg	* generated/cshift0_i16.c:  New file.
655*181254a7Smrg	* generated/cshift0_r4.c:  New file.
656*181254a7Smrg	* generated/cshift0_r8.c:  New file.
657*181254a7Smrg	* generated/cshift0_r10.c:  New file.
658*181254a7Smrg	* generated/cshift0_r16.c:  New file.
659*181254a7Smrg	* generated/cshift0_c4.c:  New file.
660*181254a7Smrg	* generated/cshift0_c8.c:  New file.
661*181254a7Smrg	* generated/cshift0_c10.c:  New file.
662*181254a7Smrg	* generated/cshift0_c16.c:  New file.
663*181254a7Smrg
664*181254a7Smrg2008-07-27  Tobias Burnus  <burnus@net-b.de>
665*181254a7Smrg
666*181254a7Smrg	PR fortran/36132
667*181254a7Smrg	PR fortran/29952
668*181254a7Smrg	PR fortran/36909
669*181254a7Smrg	* runtime/error.c: New function runtime_error_at.
670*181254a7Smrg	* gfortran.map: Ditto.
671*181254a7Smrg	* libgfortran.h: Ditto.
672*181254a7Smrg
673*181254a7Smrg2008-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
674*181254a7Smrg
675*181254a7Smrg	PR fortran/36582
676*181254a7Smrg	* io/list_read.c: If variable rank is zero, do not adjust the found
677*181254a7Smrg	namelist object pointer.
678*181254a7Smrg
679*181254a7Smrg2008-07-22  Daniel Kraft  <d@domob.eu>
680*181254a7Smrg
681*181254a7Smrg	PR fortran/29835
682*181254a7Smrg	* io/format.c (struct format_data):  New member error_element.
683*181254a7Smrg	(unexpected_element):  Added '%c' to message.
684*181254a7Smrg	(next_char):  Keep track of last parsed character in fmt->error_element.
685*181254a7Smrg	(format_error):  If the message is unexpected_element, output the
686*181254a7Smrg	offending character, too.
687*181254a7Smrg
688*181254a7Smrg2008-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
689*181254a7Smrg
690*181254a7Smrg	PR libfortran/36890
691*181254a7Smrg	* io/file_pos.c:  Declare READ_CHUNK as signed to avoid
692*181254a7Smrg	signed/unsigned comparison warning in formatted_backspace.
693*181254a7Smrg
694*181254a7Smrg2008-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
695*181254a7Smrg
696*181254a7Smrg	PR libfortran/36773
697*181254a7Smrg	* intrinsics/cshift0.c (cshift0):  Return early if size of array
698*181254a7Smrg	is zero.
699*181254a7Smrg	* intrinsics/eoshift0.c (eoshift0):  Return early if size of
700*181254a7Smrg	return array is zero.
701*181254a7Smrg	* intrinsics/eoshift2.c (eoshift2):  Likewise.
702*181254a7Smrg	* m4/eoshift1.m4 (eoshift1):  Return early if size of array
703*181254a7Smrg	is zero.
704*181254a7Smrg	* m4/eoshift3.m4 (eoshift3):  Likewise.
705*181254a7Smrg	* m4/eoshift2.m4 (eoshift2):  Return early if size of return
706*181254a7Smrg	array is zero.
707*181254a7Smrg	* m4/eoshift4.m4 (eoshift2):  Return early if size of return
708*181254a7Smrg	array is zero.
709*181254a7Smrg	* generated/cshift1_16.c: Regenerated.
710*181254a7Smrg	* generated/cshift1_4.c: Regenerated.
711*181254a7Smrg	* generated/cshift1_8.c: Regenerated.
712*181254a7Smrg	* generated/eoshift1_16.c: Regenerated.
713*181254a7Smrg	* generated/eoshift1_4.c: Regenerated.
714*181254a7Smrg	* generated/eoshift1_8.c: Regenerated.
715*181254a7Smrg	* generated/eoshift3_16.c: Regenerated.
716*181254a7Smrg	* generated/eoshift3_4.c: Regenerated.
717*181254a7Smrg	* generated/eoshift3_8.c: Regenerated.
718*181254a7Smrg
719*181254a7Smrg2008-07-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
720*181254a7Smrg
721*181254a7Smrg	PR fortran/36857
722*181254a7Smrg	* io/write_float.def: Comment out locale dependent code and fix general
723*181254a7Smrg	comments.
724*181254a7Smrg
725*181254a7Smrg2008-07-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
726*181254a7Smrg
727*181254a7Smrg	PR fortran/36341
728*181254a7Smrg	PR fortran/34670
729*181254a7Smrg	* m4/matmul.m4:  Add bounds checking.
730*181254a7Smrg	* m4/matmull.m4:  Likewise.
731*181254a7Smrg	* generated/matmul_c10.c: Regenerated.
732*181254a7Smrg	* generated/matmul_c16.c: Regenerated.
733*181254a7Smrg	* generated/matmul_c4.c: Regenerated.
734*181254a7Smrg	* generated/matmul_c8.c: Regenerated.
735*181254a7Smrg	* generated/matmul_i1.c: Regenerated.
736*181254a7Smrg	* generated/matmul_i16.c: Regenerated.
737*181254a7Smrg	* generated/matmul_i2.c: Regenerated.
738*181254a7Smrg	* generated/matmul_i4.c: Regenerated.
739*181254a7Smrg	* generated/matmul_i8.c: Regenerated.
740*181254a7Smrg	* generated/matmul_l16.c: Regenerated.
741*181254a7Smrg	* generated/matmul_l4.c: Regenerated.
742*181254a7Smrg	* generated/matmul_l8.c: Regenerated.
743*181254a7Smrg	* generated/matmul_r10.c: Regenerated.
744*181254a7Smrg	* generated/matmul_r16.c: Regenerated.
745*181254a7Smrg	* generated/matmul_r4.c: Regenerated.
746*181254a7Smrg	* generated/matmul_r8.c: Regenerated.
747*181254a7Smrg
748*181254a7Smrg2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
749*181254a7Smrg
750*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Fix configure cache
751*181254a7Smrg	variable name.
752*181254a7Smrg	* configure: Regenerate.
753*181254a7Smrg
754*181254a7Smrg2008-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
755*181254a7Smrg
756*181254a7Smrg	PR fortran/36676
757*181254a7Smrg	* io/list_read.c (find_nml_name): Use eat_separator instead of eat_line.
758*181254a7Smrg
759*181254a7Smrg2008-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
760*181254a7Smrg
761*181254a7Smrg	PR fortran/36657
762*181254a7Smrg	* io/list_read.c (read_character): Check for '!' along with separators.
763*181254a7Smrg	(find_nml_name): Likewise and eat the comment if found.
764*181254a7Smrg
765*181254a7Smrg2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
766*181254a7Smrg
767*181254a7Smrg	* configure: Regenerate.
768*181254a7Smrg
769*181254a7Smrg2008-06-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
770*181254a7Smrg
771*181254a7Smrg	PR fortran/36546
772*181254a7Smrg	* io/list_read.c (eat_separator): Add tab character to condition
773*181254a7Smrg	for looping past whitespace.
774*181254a7Smrg
775*181254a7Smrg2008-06-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
776*181254a7Smrg
777*181254a7Smrg	PR fortran/36515
778*181254a7Smrg	* libgfortran.h (compile_options_t): Add int range_check to structure.
779*181254a7Smrg	* runtime/compile_options.c (set_options): Add range_check option.
780*181254a7Smrg	(init_compile_options): Likewise.
781*181254a7Smrg	*io/read.c (read_decimal): Change overflow checks to include
782*181254a7Smrg	range_check.
783*181254a7Smrg
784*181254a7Smrg2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
785*181254a7Smrg
786*181254a7Smrg	PR fortran/36538
787*181254a7Smrg	* io/list_read.c (namelist_read): Add eat_separator to eliminate leading
788*181254a7Smrg	tabs.
789*181254a7Smrg
790*181254a7Smrg2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
791*181254a7Smrg
792*181254a7Smrg	PR fortran/35863
793*181254a7Smrg	* libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off.
794*181254a7Smrg	* runtime/main.c: Fix error in comment. Change l8_to_l4_offset to
795*181254a7Smrg	big_endian. (determine_endianness): Add endian_off and set its value
796*181254a7Smrg	according to big_endian.
797*181254a7Smrg	* gfortran.map: Add symbol for new _gfortran_transfer_character_wide.
798*181254a7Smrg	* io/io.h: Add prototype declarations for new functions.
799*181254a7Smrg	* io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4.
800*181254a7Smrg	(list_formatted_read): Calculate stride based on kind for character type
801*181254a7Smrg	and use it when calling list_formatted_read_scalar.
802*181254a7Smrg	* io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian.
803*181254a7Smrg	* io/open.c (st_open): Change l8_to_l4_offset to big_endian.
804*181254a7Smrg	* io/read.c (read_a_char4): New function to handle formatted read.
805*181254a7Smrg	* io/write.c: Define GFC_CHAR4(x) to improve readability of code.
806*181254a7Smrg	(write_a_char4): New function to handle formatted write.
807*181254a7Smrg	(write_character): Modify to accept the kind parameter and adjust for
808*181254a7Smrg	endianess of the machine. (list_formatted_write): Calculate the stride
809*181254a7Smrg	resulting from the kind and adjust the list_formatted_write_scalar call
810*181254a7Smrg	accordingly. (nml_write_obj): Adjust calls to write_character.
811*181254a7Smrg	(namelist_write): Likewise.
812*181254a7Smrg	* io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to
813*181254a7Smrg	'kind' argument to better describe what it is. Add calls to new
814*181254a7Smrg	functions for kind == 4. (formatted_transfer): Modify to handle the case
815*181254a7Smrg	of type character and kind equals 4 to pass in the kind to the transfer
816*181254a7Smrg	routines. (transfer_character_wide): Add this new function.
817*181254a7Smrg	(transfer_array): Don't set kind to the character string length. Adjust
818*181254a7Smrg	strides bases on character kind.
819*181254a7Smrg	(unformatted_read): Adjust size based on kind for character types.
820*181254a7Smrg	(unformatted_write): Likewise. (data_transfer_init): Change
821*181254a7Smrg	l8_to_l4_offset to big_endian.
822*181254a7Smrg	io/fbuf.c (fbuf_seek): Add cast to eliminate warning.
823*181254a7Smrg
824*181254a7Smrg2008-06-13  Tobias Burnus  <burnus@net-b.de>
825*181254a7Smrg
826*181254a7Smrg	* configure.ac (AM_CFLAGS): Remove -Werror again.
827*181254a7Smrg	* configure: Regenerate.
828*181254a7Smrg
829*181254a7Smrg2008-06-13  Tobias Burnus  <burnus@net-b.de>
830*181254a7Smrg
831*181254a7Smrg	PR libgfortran/36518
832*181254a7Smrg	* configure.ac (AM_CFLAGS): Add -Werror.
833*181254a7Smrg	* configure: Regenerate.
834*181254a7Smrg	* m4/ifunction_logical.m4: Cast "n" to "(int)".
835*181254a7Smrg	* generated/any_l16.c: Regenerate.
836*181254a7Smrg	* generated/any_l2.c: Regenerate.
837*181254a7Smrg	* generated/all_l1.c: Regenerate.
838*181254a7Smrg	* generated/all_l2.c: Regenerate.
839*181254a7Smrg	* generated/all_l16.c: Regenerate.
840*181254a7Smrg	* generated/any_l4.c: Regenerate.
841*181254a7Smrg	* generated/count_4_l.c: Regenerate.
842*181254a7Smrg	* generated/count_8_l.c: Regenerate.
843*181254a7Smrg	* generated/all_l4.c: Regenerate.
844*181254a7Smrg	* generated/count_1_l.c: Regenerate.
845*181254a7Smrg	* generated/count_16_l.c: Regenerate.
846*181254a7Smrg	* generated/any_l8.c: Regenerate.
847*181254a7Smrg	* generated/count_2_l.c: Regenerate.
848*181254a7Smrg	* generated/any_l1.c: Regenerate.
849*181254a7Smrg	* generated/all_l8.c: Regenerate.
850*181254a7Smrg
851*181254a7Smrg2008-06-13  Tobias Burnus  <burnus@net-b.de>
852*181254a7Smrg
853*181254a7Smrg	PR fortran/36495
854*181254a7Smrg	* configure.ac (AM_FCFLAGS): Add "-Werror -fimplicit-none".
855*181254a7Smrg	* configure: (generated) ditto.
856*181254a7Smrg	* intrinsics/dprod_r8.f90: Add "implicit none".
857*181254a7Smrg
858*181254a7Smrg2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
859*181254a7Smrg
860*181254a7Smrg	PR libfortran/36420
861*181254a7Smrg	PR libfortran/36421
862*181254a7Smrg	PR libfortran/36422
863*181254a7Smrg	* io/io.h: Add prototype for write_real.
864*181254a7Smrg	* io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero,
865*181254a7Smrg	use write_real.
866*181254a7Smrg	* io/format.c: Add zero width error message. (parse_format_list): Use
867*181254a7Smrg	error message for FMT_A if followed by FMT_ZERO. Use zero width error
868*181254a7Smrg	message	for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0):
869*181254a7Smrg	Fix typo in comment.
870*181254a7Smrg	* io/write.c(write_a): Set wlen to len if FMT_G	and length is zero.
871*181254a7Smrg	(write_l): Add wlen variable and use it if FMT_G and width is zero.
872*181254a7Smrg	(write_decimal): If FMT_G, set m to -1 to flag processor dependent
873*181254a7Smrg	formatting. (write_real): Remove static declaration.
874*181254a7Smrg
875*181254a7Smrg2008-05-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
876*181254a7Smrg
877*181254a7Smrg	PR fortran/36319
878*181254a7Smrg	* intrinsics/string_intrinsics_inc.c (string_index): Return
879*181254a7Smrg	correct value for zero-length substring.
880*181254a7Smrg	* intrinsics/cshift0.c: Add _char4 variant.
881*181254a7Smrg	* intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
882*181254a7Smrg	wider than a single byte. Add _char4 variant and use above
883*181254a7Smrg	functionality.
884*181254a7Smrg	* intrinsics/eoshift2.c (eoshift2): Likewise.
885*181254a7Smrg	* m4/eoshift1.m4: Likewise.
886*181254a7Smrg	* m4/eoshift3.m4: Likewise.
887*181254a7Smrg	* m4/cshift1.m4: Add _char4 variants.
888*181254a7Smrg	* gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
889*181254a7Smrg	_gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
890*181254a7Smrg	_gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
891*181254a7Smrg	_gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
892*181254a7Smrg	_gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
893*181254a7Smrg	_gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
894*181254a7Smrg	_gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
895*181254a7Smrg	_gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
896*181254a7Smrg	_gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
897*181254a7Smrg	_gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
898*181254a7Smrg	_gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
899*181254a7Smrg	* generated/eoshift3_4.c: Regenerate.
900*181254a7Smrg	* generated/eoshift1_8.c: Regenerate.
901*181254a7Smrg	* generated/eoshift1_16.c: Regenerate.
902*181254a7Smrg	* generated/cshift1_4.c: Regenerate.
903*181254a7Smrg	* generated/eoshift1_4.c: Regenerate.
904*181254a7Smrg	* generated/eoshift3_8.c: Regenerate.
905*181254a7Smrg	* generated/eoshift3_16.c: Regenerate.
906*181254a7Smrg	* generated/cshift1_8.c: Regenerate.
907*181254a7Smrg	* generated/cshift1_16.c: Regenerate.
908*181254a7Smrg
909*181254a7Smrg2008-05-25  Tobias Burnus  <burnus@net-b.de>
910*181254a7Smrg
911*181254a7Smrg	PR fortran/32600
912*181254a7Smrg	* intrinsics/iso_c_binding.c (c_f_procpointer): Remove.
913*181254a7Smrg	* intrinsics/iso_c_binding.h (c_f_procpointer): Remove.
914*181254a7Smrg	* gfortran.map (c_f_procpointer): Remove.
915*181254a7Smrg
916*181254a7Smrg2008-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
917*181254a7Smrg
918*181254a7Smrg	PR libgfortran/36302
919*181254a7Smrg	* gfortran.map (GFORTRAN_1.1): Add _gfortran_eoshift0_16,
920*181254a7Smrg	_gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
921*181254a7Smrg	_gfortran_eoshift2_16_char,_gfortran_cshift0_16,
922*181254a7Smrg	_gfortran_cshift0_16_char.  Sort alphabetically.
923*181254a7Smrg	* intrinsics/eoshift0.c:  Add function for kind=16 integer.
924*181254a7Smrg	* intrinsics/eoshift2.c:  Likewise.
925*181254a7Smrg	* intrinsics/cshift0.c:  Likewise.
926*181254a7Smrg
927*181254a7Smrg2008-05-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
928*181254a7Smrg
929*181254a7Smrg	* m4/in_pack.m4 (internal_pack_'rtype_code`):  Destination
930*181254a7Smrg	pointer is restrict.
931*181254a7Smrg	* m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
932*181254a7Smrg	* m4/pack.m4 (pack_'rtype_code`):  Likewise.
933*181254a7Smrg	* m4/spread.m4 (spread_'rtype_code`):  Likewise.
934*181254a7Smrg	(spread_scalar_'rtype_code`): Likewise.
935*181254a7Smrg	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
936*181254a7Smrg	* m4/eoshift1.m4 (eoshift1):  Likewise.
937*181254a7Smrg	* m4/eoshift3.m4 (eoshift3):  Likewise.
938*181254a7Smrg	* m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):  Likewise.
939*181254a7Smrg	* m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
940*181254a7Smrg	(unpack1_'rtype_code`):  Likewise.
941*181254a7Smrg	* intrinsics/pack_generic.c (pack_generic.c):  Likewise.
942*181254a7Smrg	* intrinsics/unpack_generic.c (unpack_internal):  Likewise.
943*181254a7Smrg	* intrinsics/eoshift0.c (eoshift0):  Likewise.
944*181254a7Smrg	* intrinsics/eoshift2.c (eoshift2):  Likewise.
945*181254a7Smrg	* intrinsics/reshape_generic.c (reshape_internal):  Likewise.
946*181254a7Smrg	* intrinsics/reshape_packed.c (reshape_packed):  Likewise.
947*181254a7Smrg	* generated/eoshift1_16.c: Regenerated.
948*181254a7Smrg	* generated/eoshift1_4.c: Regenerated.
949*181254a7Smrg	* generated/eoshift1_8.c: Regenerated.
950*181254a7Smrg	* generated/eoshift3_16.c: Regenerated.
951*181254a7Smrg	* generated/eoshift3_4.c: Regenerated.
952*181254a7Smrg	* generated/eoshift3_8.c: Regenerated.
953*181254a7Smrg	* generated/in_pack_c10.c: Regenerated.
954*181254a7Smrg	* generated/in_pack_c16.c: Regenerated.
955*181254a7Smrg	* generated/in_pack_c4.c: Regenerated.
956*181254a7Smrg	* generated/in_pack_c8.c: Regenerated.
957*181254a7Smrg	* generated/in_pack_i1.c: Regenerated.
958*181254a7Smrg	* generated/in_pack_i16.c: Regenerated.
959*181254a7Smrg	* generated/in_pack_i2.c: Regenerated.
960*181254a7Smrg	* generated/in_pack_i4.c: Regenerated.
961*181254a7Smrg	* generated/in_pack_i8.c: Regenerated.
962*181254a7Smrg	* generated/in_pack_r10.c: Regenerated.
963*181254a7Smrg	* generated/in_pack_r16.c: Regenerated.
964*181254a7Smrg	* generated/in_pack_r4.c: Regenerated.
965*181254a7Smrg	* generated/in_pack_r8.c: Regenerated.
966*181254a7Smrg	* generated/in_unpack_c10.c: Regenerated.
967*181254a7Smrg	* generated/in_unpack_c16.c: Regenerated.
968*181254a7Smrg	* generated/in_unpack_c4.c: Regenerated.
969*181254a7Smrg	* generated/in_unpack_c8.c: Regenerated.
970*181254a7Smrg	* generated/in_unpack_i1.c: Regenerated.
971*181254a7Smrg	* generated/in_unpack_i16.c: Regenerated.
972*181254a7Smrg	* generated/in_unpack_i2.c: Regenerated.
973*181254a7Smrg	* generated/in_unpack_i4.c: Regenerated.
974*181254a7Smrg	* generated/in_unpack_i8.c: Regenerated.
975*181254a7Smrg	* generated/in_unpack_r10.c: Regenerated.
976*181254a7Smrg	* generated/in_unpack_r16.c: Regenerated.
977*181254a7Smrg	* generated/in_unpack_r4.c: Regenerated.
978*181254a7Smrg	* generated/in_unpack_r8.c: Regenerated.
979*181254a7Smrg	* generated/maxloc0_16_i1.c: Regenerated.
980*181254a7Smrg	* generated/maxloc0_16_i16.c: Regenerated.
981*181254a7Smrg	* generated/maxloc0_16_i2.c: Regenerated.
982*181254a7Smrg	* generated/maxloc0_16_i4.c: Regenerated.
983*181254a7Smrg	* generated/maxloc0_16_i8.c: Regenerated.
984*181254a7Smrg	* generated/maxloc0_16_r10.c: Regenerated.
985*181254a7Smrg	* generated/maxloc0_16_r16.c: Regenerated.
986*181254a7Smrg	* generated/maxloc0_16_r4.c: Regenerated.
987*181254a7Smrg	* generated/maxloc0_16_r8.c: Regenerated.
988*181254a7Smrg	* generated/maxloc0_4_i1.c: Regenerated.
989*181254a7Smrg	* generated/maxloc0_4_i16.c: Regenerated.
990*181254a7Smrg	* generated/maxloc0_4_i2.c: Regenerated.
991*181254a7Smrg	* generated/maxloc0_4_i4.c: Regenerated.
992*181254a7Smrg	* generated/maxloc0_4_i8.c: Regenerated.
993*181254a7Smrg	* generated/maxloc0_4_r10.c: Regenerated.
994*181254a7Smrg	* generated/maxloc0_4_r16.c: Regenerated.
995*181254a7Smrg	* generated/maxloc0_4_r4.c: Regenerated.
996*181254a7Smrg	* generated/maxloc0_4_r8.c: Regenerated.
997*181254a7Smrg	* generated/maxloc0_8_i1.c: Regenerated.
998*181254a7Smrg	* generated/maxloc0_8_i16.c: Regenerated.
999*181254a7Smrg	* generated/maxloc0_8_i2.c: Regenerated.
1000*181254a7Smrg	* generated/maxloc0_8_i4.c: Regenerated.
1001*181254a7Smrg	* generated/maxloc0_8_i8.c: Regenerated.
1002*181254a7Smrg	* generated/maxloc0_8_r10.c: Regenerated.
1003*181254a7Smrg	* generated/maxloc0_8_r16.c: Regenerated.
1004*181254a7Smrg	* generated/maxloc0_8_r4.c: Regenerated.
1005*181254a7Smrg	* generated/maxloc0_8_r8.c: Regenerated.
1006*181254a7Smrg	* generated/minloc0_16_i1.c: Regenerated.
1007*181254a7Smrg	* generated/minloc0_16_i16.c: Regenerated.
1008*181254a7Smrg	* generated/minloc0_16_i2.c: Regenerated.
1009*181254a7Smrg	* generated/minloc0_16_i4.c: Regenerated.
1010*181254a7Smrg	* generated/minloc0_16_i8.c: Regenerated.
1011*181254a7Smrg	* generated/minloc0_16_r10.c: Regenerated.
1012*181254a7Smrg	* generated/minloc0_16_r16.c: Regenerated.
1013*181254a7Smrg	* generated/minloc0_16_r4.c: Regenerated.
1014*181254a7Smrg	* generated/minloc0_16_r8.c: Regenerated.
1015*181254a7Smrg	* generated/minloc0_4_i1.c: Regenerated.
1016*181254a7Smrg	* generated/minloc0_4_i16.c: Regenerated.
1017*181254a7Smrg	* generated/minloc0_4_i2.c: Regenerated.
1018*181254a7Smrg	* generated/minloc0_4_i4.c: Regenerated.
1019*181254a7Smrg	* generated/minloc0_4_i8.c: Regenerated.
1020*181254a7Smrg	* generated/minloc0_4_r10.c: Regenerated.
1021*181254a7Smrg	* generated/minloc0_4_r16.c: Regenerated.
1022*181254a7Smrg	* generated/minloc0_4_r4.c: Regenerated.
1023*181254a7Smrg	* generated/minloc0_4_r8.c: Regenerated.
1024*181254a7Smrg	* generated/minloc0_8_i1.c: Regenerated.
1025*181254a7Smrg	* generated/minloc0_8_i16.c: Regenerated.
1026*181254a7Smrg	* generated/minloc0_8_i2.c: Regenerated.
1027*181254a7Smrg	* generated/minloc0_8_i4.c: Regenerated.
1028*181254a7Smrg	* generated/minloc0_8_i8.c: Regenerated.
1029*181254a7Smrg	* generated/minloc0_8_r10.c: Regenerated.
1030*181254a7Smrg	* generated/minloc0_8_r16.c: Regenerated.
1031*181254a7Smrg	* generated/minloc0_8_r4.c: Regenerated.
1032*181254a7Smrg	* generated/minloc0_8_r8.c: Regenerated.
1033*181254a7Smrg	* generated/pack_c10.c: Regenerated.
1034*181254a7Smrg	* generated/pack_c16.c: Regenerated.
1035*181254a7Smrg	* generated/pack_c4.c: Regenerated.
1036*181254a7Smrg	* generated/pack_c8.c: Regenerated.
1037*181254a7Smrg	* generated/pack_i1.c: Regenerated.
1038*181254a7Smrg	* generated/pack_i16.c: Regenerated.
1039*181254a7Smrg	* generated/pack_i2.c: Regenerated.
1040*181254a7Smrg	* generated/pack_i4.c: Regenerated.
1041*181254a7Smrg	* generated/pack_i8.c: Regenerated.
1042*181254a7Smrg	* generated/pack_r10.c: Regenerated.
1043*181254a7Smrg	* generated/pack_r16.c: Regenerated.
1044*181254a7Smrg	* generated/pack_r4.c: Regenerated.
1045*181254a7Smrg	* generated/pack_r8.c: Regenerated.
1046*181254a7Smrg	* generated/spread_c10.c: Regenerated.
1047*181254a7Smrg	* generated/spread_c16.c: Regenerated.
1048*181254a7Smrg	* generated/spread_c4.c: Regenerated.
1049*181254a7Smrg	* generated/spread_c8.c: Regenerated.
1050*181254a7Smrg	* generated/spread_i1.c: Regenerated.
1051*181254a7Smrg	* generated/spread_i16.c: Regenerated.
1052*181254a7Smrg	* generated/spread_i2.c: Regenerated.
1053*181254a7Smrg	* generated/spread_i4.c: Regenerated.
1054*181254a7Smrg	* generated/spread_i8.c: Regenerated.
1055*181254a7Smrg	* generated/spread_r10.c: Regenerated.
1056*181254a7Smrg	* generated/spread_r16.c: Regenerated.
1057*181254a7Smrg	* generated/spread_r4.c: Regenerated.
1058*181254a7Smrg	* generated/spread_r8.c: Regenerated.
1059*181254a7Smrg	* generated/transpose_c10.c: Regenerated.
1060*181254a7Smrg	* generated/transpose_c16.c: Regenerated.
1061*181254a7Smrg	* generated/transpose_c4.c: Regenerated.
1062*181254a7Smrg	* generated/transpose_c8.c: Regenerated.
1063*181254a7Smrg	* generated/transpose_i16.c: Regenerated.
1064*181254a7Smrg	* generated/transpose_i4.c: Regenerated.
1065*181254a7Smrg	* generated/transpose_i8.c: Regenerated.
1066*181254a7Smrg	* generated/transpose_r10.c: Regenerated.
1067*181254a7Smrg	* generated/transpose_r16.c: Regenerated.
1068*181254a7Smrg	* generated/transpose_r4.c: Regenerated.
1069*181254a7Smrg	* generated/transpose_r8.c: Regenerated.
1070*181254a7Smrg	* generated/unpack_c10.c: Regenerated.
1071*181254a7Smrg	* generated/unpack_c16.c: Regenerated.
1072*181254a7Smrg	* generated/unpack_c4.c: Regenerated.
1073*181254a7Smrg	* generated/unpack_c8.c: Regenerated.
1074*181254a7Smrg	* generated/unpack_i1.c: Regenerated.
1075*181254a7Smrg	* generated/unpack_i16.c: Regenerated.
1076*181254a7Smrg	* generated/unpack_i2.c: Regenerated.
1077*181254a7Smrg	* generated/unpack_i4.c: Regenerated.
1078*181254a7Smrg	* generated/unpack_i8.c: Regenerated.
1079*181254a7Smrg	* generated/unpack_r10.c: Regenerated.
1080*181254a7Smrg	* generated/unpack_r16.c: Regenerated.
1081*181254a7Smrg	* generated/unpack_r4.c: Regenerated.
1082*181254a7Smrg	* generated/unpack_r8.c: Regenerated.
1083*181254a7Smrg
1084*181254a7Smrg2008-05-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1085*181254a7Smrg
1086*181254a7Smrg	* runtime/select.c: Moved content to select_inc.c. Include it.
1087*181254a7Smrg	Add macros for different character types.
1088*181254a7Smrg	* runtime/select_inc.c: New file.
1089*181254a7Smrg	* runtime/convert_char.c: New file.
1090*181254a7Smrg	* intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
1091*181254a7Smrg	functions.
1092*181254a7Smrg	* intrinsics/transpose_generic.c (transpose_char4): New function.
1093*181254a7Smrg	* intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
1094*181254a7Smrg	New functions.
1095*181254a7Smrg	* intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4):
1096*181254a7Smrg	New functions.
1097*181254a7Smrg	* intrinsics/reshape_generic.c (reshape_char): Use
1098*181254a7Smrg	gfc_charlen_type as type for length variables.
1099*181254a7Smrg	(reshape_char4): New function.
1100*181254a7Smrg	* gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
1101*181254a7Smrg	_gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
1102*181254a7Smrg	_gfortran_transpose_char4, _gfortran_spread_char4,
1103*181254a7Smrg	_gfortran_spread_char4_scalar, _gfortran_reshape_char4,
1104*181254a7Smrg	_gfortran_pack_char4, _gfortran_pack_s_char4,
1105*181254a7Smrg	_gfortran_unpack0_char4 and _gfortran_unpack1_char4.
1106*181254a7Smrg	* Makefile.am: Add runtime/convert_char.c.
1107*181254a7Smrg	* Makefile.in: Regenerate.
1108*181254a7Smrg
1109*181254a7Smrg2008-05-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
1110*181254a7Smrg
1111*181254a7Smrg	* io/list_read.c (list_formatted_read_scalar):  Declare
1112*181254a7Smrg	type as volatile to shut up compiler warning.
1113*181254a7Smrg
1114*181254a7Smrg2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
1115*181254a7Smrg
1116*181254a7Smrg	PR libfortran/25561
1117*181254a7Smrg	* io/io.h (struct fbuf): Change pointer to position offset.
1118*181254a7Smrg	* io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
1119*181254a7Smrg	changes.
1120*181254a7Smrg	(fbuf_reset): ptr=>pos changes.
1121*181254a7Smrg	(fbuf_alloc): If the request doesn't fit, don't waste memory by
1122*181254a7Smrg	keeping flushed bytes. ptr=>pos changes.
1123*181254a7Smrg	(fbuf_flush): ptr=>pos changes.
1124*181254a7Smrg	(fbuf_seek): Don't seek past the left tab limit, don't update active
1125*181254a7Smrg	byte count.
1126*181254a7Smrg	* io/open.c (new_unit): If RECL has been specified, used that as
1127*181254a7Smrg	initial buffer size.
1128*181254a7Smrg
1129*181254a7Smrg2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
1130*181254a7Smrg
1131*181254a7Smrg	PR libfortran/35632
1132*181254a7Smrg	* io/open.c (new_unit): Set stream position to correct value.
1133*181254a7Smrg
1134*181254a7Smrg2008-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
1135*181254a7Smrg
1136*181254a7Smrg	PR libfortran/25561
1137*181254a7Smrg	* Makefile.am: Add fbuf.c to gfor_io_src.
1138*181254a7Smrg	* Makefile.in: Regenerate.
1139*181254a7Smrg	* io/io.h (read_block): Remove.
1140*181254a7Smrg	(struct stream): Remove alloc_r_at function pointer.
1141*181254a7Smrg	(salloc_r): Remove.
1142*181254a7Smrg	(salloc_r_at): Remove.
1143*181254a7Smrg	(salloc_w_at): Remove.
1144*181254a7Smrg	(salloc_w): Remove offset argument.
1145*181254a7Smrg	(struct fbuf): New struct for format buffer.
1146*181254a7Smrg	(struct gfc_unit): Add fbuf.
1147*181254a7Smrg	(read_block_form): New prototype.
1148*181254a7Smrg	(fbuf_init): Likewise.
1149*181254a7Smrg	(fbuf_destroy): Likewise.
1150*181254a7Smrg	(fbuf_reset): Likewise.
1151*181254a7Smrg	(fbuf_alloc): Likewise.
1152*181254a7Smrg	(fbuf_flush): Likewise.
1153*181254a7Smrg	(fbuf_seek): Likewise.
1154*181254a7Smrg	* io/file_pos.c (formatted_backspace): Change to use sread.
1155*181254a7Smrg	(unformatted_backspace): Likewise.
1156*181254a7Smrg	(st_backspace): Flush format buffer.
1157*181254a7Smrg	(st_rewind): Likewise.
1158*181254a7Smrg	* io/list_read.c (next_char): Likewise.
1159*181254a7Smrg	(nml_query): Tidying, flush format buffer.
1160*181254a7Smrg	* io/open.c (new_unit): Init format buffer.
1161*181254a7Smrg	* io/read.c (read_l): Change to use read_block_form.
1162*181254a7Smrg	(read_a): Likewise.
1163*181254a7Smrg	(read_decimal): Likewise.
1164*181254a7Smrg	(read_radix): Likewise.
1165*181254a7Smrg	(read_f): Likewise.
1166*181254a7Smrg	(read_x): Empty reads also for stream I/O.
1167*181254a7Smrg	* io/transfer.c (read_sf): Change to use sread.
1168*181254a7Smrg	(read_block): Rename to read_block_form, change prototype, use sread.
1169*181254a7Smrg	(read_block_direct): Don't seek stream files.
1170*181254a7Smrg	(write_block): Change to use fbuf if external file, don't seek stream
1171*181254a7Smrg	files.
1172*181254a7Smrg	(write_buf): Don't seek stream files.
1173*181254a7Smrg	(formatted_transfer_scalar): Use fbuf for external files.
1174*181254a7Smrg	(us_read): Change to use sread.
1175*181254a7Smrg	(pre_position): Do nothing for stream I/O.
1176*181254a7Smrg	(data_transfer_init): Flush fbuf when switching from write to read, if
1177*181254a7Smrg	POS is specified, seek stream file to correct offset.
1178*181254a7Smrg	(skip_record): Change to use sread.
1179*181254a7Smrg	(min_off): New function.
1180*181254a7Smrg	(next_record_r): Change to use sread.
1181*181254a7Smrg	(next_record_w): Change to use sset/sseek, flush fbuf.
1182*181254a7Smrg	(finalize_transfer): Flush fbuf.
1183*181254a7Smrg	* io/unit.c (init_units): Init fbuf for stdout, stderr.
1184*181254a7Smrg	(close_unit_1): Destroy fbuf.
1185*181254a7Smrg	(finish_last_advance_record): Flush fbuf, no need to seek.
1186*181254a7Smrg	* io/unix.c (fd_alloc_r_at): Remove unused where argument.
1187*181254a7Smrg	(fd_alloc_w_at): Likewise.
1188*181254a7Smrg	(fd_read): Remove third argument to fd_alloc_r_at.
1189*181254a7Smrg	(fd_write): Remove third argument to fd_alloc_w_at.
1190*181254a7Smrg	(fd_sset): Likewise.
1191*181254a7Smrg	(fd_open): Don't set alloc_r_at.
1192*181254a7Smrg	(mem_alloc_r_at): Remove unused where argument.
1193*181254a7Smrg	(mem_alloc_w_at): Likewise.
1194*181254a7Smrg	(mem_read): Don't incorrectly return previous errno, remove unused
1195*181254a7Smrg	third argument to alloc function.
1196*181254a7Smrg	(mem_write): Likewise.
1197*181254a7Smrg	(mem_set): Likewise.
1198*181254a7Smrg	(open_internal): Don't set alloc_r_at pointer.
1199*181254a7Smrg	* io/fbuf.c: New file.
1200*181254a7Smrg
1201*181254a7Smrg2008-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1202*181254a7Smrg
1203*181254a7Smrg	* libgfortran.h (gfc_char4_t): New type.
1204*181254a7Smrg	(GFC_SIZE_OF_CHAR_KIND): New macro.
1205*181254a7Smrg	(compare_string): Adjust prototype.
1206*181254a7Smrg	(compare_string_char4): New prototype.
1207*181254a7Smrg	* gfortran.map (GFORTRAN_1.1): Add _gfortran_adjustl_char4,
1208*181254a7Smrg	_gfortran_adjustr_char4, _gfortran_compare_string_char4,
1209*181254a7Smrg	_gfortran_concat_string_char4, _gfortran_string_index_char4,
1210*181254a7Smrg	_gfortran_string_len_trim_char4, _gfortran_string_minmax_char4,
1211*181254a7Smrg	_gfortran_string_scan_char4, _gfortran_string_trim_char4 and
1212*181254a7Smrg	_gfortran_string_verify_char4.
1213*181254a7Smrg	* intrinsics/string_intrinsics_inc.c: New file from content of
1214*181254a7Smrg	string_intrinsics.c with types replaced by macros.
1215*181254a7Smrg	* intrinsics/string_intrinsics.c: Move content to
1216*181254a7Smrg	string_intrinsics_inc.c.
1217*181254a7Smrg
1218*181254a7Smrg2008-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1219*181254a7Smrg
1220*181254a7Smrg	PR libfortran/36202
1221*181254a7Smrg	* io/list_read (eat_separator): Handle the CR-LF case correctly.
1222*181254a7Smrg
1223*181254a7Smrg2008-05-09  Julian Brown  <julian@codesourcery.com>
1224*181254a7Smrg
1225*181254a7Smrg	* Makefile.am (LTLDFLAGS): New.
1226*181254a7Smrg	(libgfortran_la_LDFLAGS): Use above.
1227*181254a7Smrg	* Makefile.in: Regenerate.
1228*181254a7Smrg
1229*181254a7Smrg2008-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1230*181254a7Smrg
1231*181254a7Smrg	PR libfortran/36131
1232*181254a7Smrg	* io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
1233*181254a7Smrg	(next_record_w): Likewise.
1234*181254a7Smrg
1235*181254a7Smrg2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
1236*181254a7Smrg
1237*181254a7Smrg	PR libfortran/35995
1238*181254a7Smrg	* m4/ifunction_logical.m4:  If the extent of "array"
1239*181254a7Smrg	is less than zero, set it to zero.  Use an explicit
1240*181254a7Smrg	flag for breaking out of the main loop to avoid, because
1241*181254a7Smrg	the data pointer for "array" may be NULL for an empty
1242*181254a7Smrg	array.
1243*181254a7Smrg	* m4/ifunction.m4:  Likewise.
1244*181254a7Smrg	* generated/all_l1.c: Regenerated.
1245*181254a7Smrg	* generated/all_l16.c: Regenerated.
1246*181254a7Smrg	* generated/all_l2.c: Regenerated.
1247*181254a7Smrg	* generated/all_l4.c: Regenerated.
1248*181254a7Smrg	* generated/all_l8.c: Regenerated.
1249*181254a7Smrg	* generated/any_l1.c: Regenerated.
1250*181254a7Smrg	* generated/any_l16.c: Regenerated.
1251*181254a7Smrg	* generated/any_l2.c: Regenerated.
1252*181254a7Smrg	* generated/any_l4.c: Regenerated.
1253*181254a7Smrg	* generated/any_l8.c: Regenerated.
1254*181254a7Smrg	* generated/count_16_l.c: Regenerated.
1255*181254a7Smrg	* generated/count_1_l.c: Regenerated.
1256*181254a7Smrg	* generated/count_2_l.c: Regenerated.
1257*181254a7Smrg	* generated/count_4_l.c: Regenerated.
1258*181254a7Smrg	* generated/count_8_l.c: Regenerated.
1259*181254a7Smrg	* generated/maxloc1_16_i1.c: Regenerated.
1260*181254a7Smrg	* generated/maxloc1_16_i16.c: Regenerated.
1261*181254a7Smrg	* generated/maxloc1_16_i2.c: Regenerated.
1262*181254a7Smrg	* generated/maxloc1_16_i4.c: Regenerated.
1263*181254a7Smrg	* generated/maxloc1_16_i8.c: Regenerated.
1264*181254a7Smrg	* generated/maxloc1_16_r10.c: Regenerated.
1265*181254a7Smrg	* generated/maxloc1_16_r16.c: Regenerated.
1266*181254a7Smrg	* generated/maxloc1_16_r4.c: Regenerated.
1267*181254a7Smrg	* generated/maxloc1_16_r8.c: Regenerated.
1268*181254a7Smrg	* generated/maxloc1_4_i1.c: Regenerated.
1269*181254a7Smrg	* generated/maxloc1_4_i16.c: Regenerated.
1270*181254a7Smrg	* generated/maxloc1_4_i2.c: Regenerated.
1271*181254a7Smrg	* generated/maxloc1_4_i4.c: Regenerated.
1272*181254a7Smrg	* generated/maxloc1_4_i8.c: Regenerated.
1273*181254a7Smrg	* generated/maxloc1_4_r10.c: Regenerated.
1274*181254a7Smrg	* generated/maxloc1_4_r16.c: Regenerated.
1275*181254a7Smrg	* generated/maxloc1_4_r4.c: Regenerated.
1276*181254a7Smrg	* generated/maxloc1_4_r8.c: Regenerated.
1277*181254a7Smrg	* generated/maxloc1_8_i1.c: Regenerated.
1278*181254a7Smrg	* generated/maxloc1_8_i16.c: Regenerated.
1279*181254a7Smrg	* generated/maxloc1_8_i2.c: Regenerated.
1280*181254a7Smrg	* generated/maxloc1_8_i4.c: Regenerated.
1281*181254a7Smrg	* generated/maxloc1_8_i8.c: Regenerated.
1282*181254a7Smrg	* generated/maxloc1_8_r10.c: Regenerated.
1283*181254a7Smrg	* generated/maxloc1_8_r16.c: Regenerated.
1284*181254a7Smrg	* generated/maxloc1_8_r4.c: Regenerated.
1285*181254a7Smrg	* generated/maxloc1_8_r8.c: Regenerated.
1286*181254a7Smrg	* generated/maxval_i1.c: Regenerated.
1287*181254a7Smrg	* generated/maxval_i16.c: Regenerated.
1288*181254a7Smrg	* generated/maxval_i2.c: Regenerated.
1289*181254a7Smrg	* generated/maxval_i4.c: Regenerated.
1290*181254a7Smrg	* generated/maxval_i8.c: Regenerated.
1291*181254a7Smrg	* generated/maxval_r10.c: Regenerated.
1292*181254a7Smrg	* generated/maxval_r16.c: Regenerated.
1293*181254a7Smrg	* generated/maxval_r4.c: Regenerated.
1294*181254a7Smrg	* generated/maxval_r8.c: Regenerated.
1295*181254a7Smrg	* generated/minloc1_16_i1.c: Regenerated.
1296*181254a7Smrg	* generated/minloc1_16_i16.c: Regenerated.
1297*181254a7Smrg	* generated/minloc1_16_i2.c: Regenerated.
1298*181254a7Smrg	* generated/minloc1_16_i4.c: Regenerated.
1299*181254a7Smrg	* generated/minloc1_16_i8.c: Regenerated.
1300*181254a7Smrg	* generated/minloc1_16_r10.c: Regenerated.
1301*181254a7Smrg	* generated/minloc1_16_r16.c: Regenerated.
1302*181254a7Smrg	* generated/minloc1_16_r4.c: Regenerated.
1303*181254a7Smrg	* generated/minloc1_16_r8.c: Regenerated.
1304*181254a7Smrg	* generated/minloc1_4_i1.c: Regenerated.
1305*181254a7Smrg	* generated/minloc1_4_i16.c: Regenerated.
1306*181254a7Smrg	* generated/minloc1_4_i2.c: Regenerated.
1307*181254a7Smrg	* generated/minloc1_4_i4.c: Regenerated.
1308*181254a7Smrg	* generated/minloc1_4_i8.c: Regenerated.
1309*181254a7Smrg	* generated/minloc1_4_r10.c: Regenerated.
1310*181254a7Smrg	* generated/minloc1_4_r16.c: Regenerated.
1311*181254a7Smrg	* generated/minloc1_4_r4.c: Regenerated.
1312*181254a7Smrg	* generated/minloc1_4_r8.c: Regenerated.
1313*181254a7Smrg	* generated/minloc1_8_i1.c: Regenerated.
1314*181254a7Smrg	* generated/minloc1_8_i16.c: Regenerated.
1315*181254a7Smrg	* generated/minloc1_8_i2.c: Regenerated.
1316*181254a7Smrg	* generated/minloc1_8_i4.c: Regenerated.
1317*181254a7Smrg	* generated/minloc1_8_i8.c: Regenerated.
1318*181254a7Smrg	* generated/minloc1_8_r10.c: Regenerated.
1319*181254a7Smrg	* generated/minloc1_8_r16.c: Regenerated.
1320*181254a7Smrg	* generated/minloc1_8_r4.c: Regenerated.
1321*181254a7Smrg	* generated/minloc1_8_r8.c: Regenerated.
1322*181254a7Smrg	* generated/minval_i1.c: Regenerated.
1323*181254a7Smrg	* generated/minval_i16.c: Regenerated.
1324*181254a7Smrg	* generated/minval_i2.c: Regenerated.
1325*181254a7Smrg	* generated/minval_i4.c: Regenerated.
1326*181254a7Smrg	* generated/minval_i8.c: Regenerated.
1327*181254a7Smrg	* generated/minval_r10.c: Regenerated.
1328*181254a7Smrg	* generated/minval_r16.c: Regenerated.
1329*181254a7Smrg	* generated/minval_r4.c: Regenerated.
1330*181254a7Smrg	* generated/minval_r8.c: Regenerated.
1331*181254a7Smrg	* generated/product_c10.c: Regenerated.
1332*181254a7Smrg	* generated/product_c16.c: Regenerated.
1333*181254a7Smrg	* generated/product_c4.c: Regenerated.
1334*181254a7Smrg	* generated/product_c8.c: Regenerated.
1335*181254a7Smrg	* generated/product_i1.c: Regenerated.
1336*181254a7Smrg	* generated/product_i16.c: Regenerated.
1337*181254a7Smrg	* generated/product_i2.c: Regenerated.
1338*181254a7Smrg	* generated/product_i4.c: Regenerated.
1339*181254a7Smrg	* generated/product_i8.c: Regenerated.
1340*181254a7Smrg	* generated/product_r10.c: Regenerated.
1341*181254a7Smrg	* generated/product_r16.c: Regenerated.
1342*181254a7Smrg	* generated/product_r4.c: Regenerated.
1343*181254a7Smrg	* generated/product_r8.c: Regenerated.
1344*181254a7Smrg	* generated/sum_c10.c: Regenerated.
1345*181254a7Smrg	* generated/sum_c16.c: Regenerated.
1346*181254a7Smrg	* generated/sum_c4.c: Regenerated.
1347*181254a7Smrg	* generated/sum_c8.c: Regenerated.
1348*181254a7Smrg	* generated/sum_i1.c: Regenerated.
1349*181254a7Smrg	* generated/sum_i16.c: Regenerated.
1350*181254a7Smrg	* generated/sum_i2.c: Regenerated.
1351*181254a7Smrg	* generated/sum_i4.c: Regenerated.
1352*181254a7Smrg	* generated/sum_i8.c: Regenerated.
1353*181254a7Smrg	* generated/sum_r10.c: Regenerated.
1354*181254a7Smrg	* generated/sum_r16.c: Regenerated.
1355*181254a7Smrg	* generated/sum_r4.c: Regenerated.
1356*181254a7Smrg	* generated/sum_r8.c: Regenerated.
1357*181254a7Smrg
1358*181254a7Smrg2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
1359*181254a7Smrg
1360*181254a7Smrg	PR libfortran/35990
1361*181254a7Smrg	* intrinsics/pack_generic.c:  Really commit.
1362*181254a7Smrg
1363*181254a7Smrg2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
1364*181254a7Smrg
1365*181254a7Smrg	PR libfortran/35990
1366*181254a7Smrg	* intrinsics/pack_generic.c:  If an extent of the source
1367*181254a7Smrg	array is less then zero, set it to zero.  Set the source
1368*181254a7Smrg	pointer to NULL if the source size is zero.  Set the total
1369*181254a7Smrg	number of elements to zero if the vector has an extent
1370*181254a7Smrg	less or equal to zero.
1371*181254a7Smrg	* m4/pack.m4:  Set the source pointer to NULL if the
1372*181254a7Smrg	source array is zero-sized.  Set the total number of
1373*181254a7Smrg	elemements to zero if the vector has an extent less or
1374*181254a7Smrg	equal to zero.
1375*181254a7Smrg	* generated/pack_i1.c:  Regenerated.
1376*181254a7Smrg	* generated/pack_i2.c:  Regenerated.
1377*181254a7Smrg	* generated/pack_i4.c:  Regenerated.
1378*181254a7Smrg	* generated/pack_i8.c:  Regenerated.
1379*181254a7Smrg	* generated/pack_i16.c:  Regenerated.
1380*181254a7Smrg	* generated/pack_r4.c:  Regenerated.
1381*181254a7Smrg	* generated/pack_r8.c:  Regenerated.
1382*181254a7Smrg	* generated/pack_r10.c:  Regenerated.
1383*181254a7Smrg	* generated/pack_r16.c:  Regenerated.
1384*181254a7Smrg	* generated/pack_c4.c:  Regenerated.
1385*181254a7Smrg	* generated/pack_c8.c:  Regenerated.
1386*181254a7Smrg	* generated/pack_c10.c:  Regenerated.
1387*181254a7Smrg	* generated/pack_c16.c:  Regenerated.
1388*181254a7Smrg
1389*181254a7Smrg2008-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1390*181254a7Smrg
1391*181254a7Smrg	PR libfortran/36094
1392*181254a7Smrg	* runtime/error.c (show_locus): Provide modified error message when
1393*181254a7Smrg	filename has not yet been associated with a unit number.
1394*181254a7Smrg	* io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.
1395*181254a7Smrg
1396*181254a7Smrg2008-04-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1397*181254a7Smrg
1398*181254a7Smrg	* intrinsics/selected_char_kind.c: New file.
1399*181254a7Smrg	* gfortran.map (GFORTRAN_1.1): Add _gfortran_selected_char_kind.
1400*181254a7Smrg	* Makefile.am: Add intrinsics/selected_char_kind.c.
1401*181254a7Smrg	* Makefile.in: Regenerate.
1402*181254a7Smrg
1403*181254a7Smrg2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
1404*181254a7Smrg
1405*181254a7Smrg	PR libfortran/35993
1406*181254a7Smrg	* ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
1407*181254a7Smrg	implementation for multi-dimensional return arrays when
1408*181254a7Smrg	the mask is .false.
1409*181254a7Smrg	* generated/maxloc1_16_i1.c: Regenerated.
1410*181254a7Smrg	* generated/maxloc1_16_i16.c: Regenerated.
1411*181254a7Smrg	* generated/maxloc1_16_i2.c: Regenerated.
1412*181254a7Smrg	* generated/maxloc1_16_i4.c: Regenerated.
1413*181254a7Smrg	* generated/maxloc1_16_i8.c: Regenerated.
1414*181254a7Smrg	* generated/maxloc1_16_r10.c: Regenerated.
1415*181254a7Smrg	* generated/maxloc1_16_r16.c: Regenerated.
1416*181254a7Smrg	* generated/maxloc1_16_r4.c: Regenerated.
1417*181254a7Smrg	* generated/maxloc1_16_r8.c: Regenerated.
1418*181254a7Smrg	* generated/maxloc1_4_i1.c: Regenerated.
1419*181254a7Smrg	* generated/maxloc1_4_i16.c: Regenerated.
1420*181254a7Smrg	* generated/maxloc1_4_i2.c: Regenerated.
1421*181254a7Smrg	* generated/maxloc1_4_i4.c: Regenerated.
1422*181254a7Smrg	* generated/maxloc1_4_i8.c: Regenerated.
1423*181254a7Smrg	* generated/maxloc1_4_r10.c: Regenerated.
1424*181254a7Smrg	* generated/maxloc1_4_r16.c: Regenerated.
1425*181254a7Smrg	* generated/maxloc1_4_r4.c: Regenerated.
1426*181254a7Smrg	* generated/maxloc1_4_r8.c: Regenerated.
1427*181254a7Smrg	* generated/maxloc1_8_i1.c: Regenerated.
1428*181254a7Smrg	* generated/maxloc1_8_i16.c: Regenerated.
1429*181254a7Smrg	* generated/maxloc1_8_i2.c: Regenerated.
1430*181254a7Smrg	* generated/maxloc1_8_i4.c: Regenerated.
1431*181254a7Smrg	* generated/maxloc1_8_i8.c: Regenerated.
1432*181254a7Smrg	* generated/maxloc1_8_r10.c: Regenerated.
1433*181254a7Smrg	* generated/maxloc1_8_r16.c: Regenerated.
1434*181254a7Smrg	* generated/maxloc1_8_r4.c: Regenerated.
1435*181254a7Smrg	* generated/maxloc1_8_r8.c: Regenerated.
1436*181254a7Smrg	* generated/maxval_i1.c: Regenerated.
1437*181254a7Smrg	* generated/maxval_i16.c: Regenerated.
1438*181254a7Smrg	* generated/maxval_i2.c: Regenerated.
1439*181254a7Smrg	* generated/maxval_i4.c: Regenerated.
1440*181254a7Smrg	* generated/maxval_i8.c: Regenerated.
1441*181254a7Smrg	* generated/maxval_r10.c: Regenerated.
1442*181254a7Smrg	* generated/maxval_r16.c: Regenerated.
1443*181254a7Smrg	* generated/maxval_r4.c: Regenerated.
1444*181254a7Smrg	* generated/maxval_r8.c: Regenerated.
1445*181254a7Smrg	* generated/minloc1_16_i1.c: Regenerated.
1446*181254a7Smrg	* generated/minloc1_16_i16.c: Regenerated.
1447*181254a7Smrg	* generated/minloc1_16_i2.c: Regenerated.
1448*181254a7Smrg	* generated/minloc1_16_i4.c: Regenerated.
1449*181254a7Smrg	* generated/minloc1_16_i8.c: Regenerated.
1450*181254a7Smrg	* generated/minloc1_16_r10.c: Regenerated.
1451*181254a7Smrg	* generated/minloc1_16_r16.c: Regenerated.
1452*181254a7Smrg	* generated/minloc1_16_r4.c: Regenerated.
1453*181254a7Smrg	* generated/minloc1_16_r8.c: Regenerated.
1454*181254a7Smrg	* generated/minloc1_4_i1.c: Regenerated.
1455*181254a7Smrg	* generated/minloc1_4_i16.c: Regenerated.
1456*181254a7Smrg	* generated/minloc1_4_i2.c: Regenerated.
1457*181254a7Smrg	* generated/minloc1_4_i4.c: Regenerated.
1458*181254a7Smrg	* generated/minloc1_4_i8.c: Regenerated.
1459*181254a7Smrg	* generated/minloc1_4_r10.c: Regenerated.
1460*181254a7Smrg	* generated/minloc1_4_r16.c: Regenerated.
1461*181254a7Smrg	* generated/minloc1_4_r4.c: Regenerated.
1462*181254a7Smrg	* generated/minloc1_4_r8.c: Regenerated.
1463*181254a7Smrg	* generated/minloc1_8_i1.c: Regenerated.
1464*181254a7Smrg	* generated/minloc1_8_i16.c: Regenerated.
1465*181254a7Smrg	* generated/minloc1_8_i2.c: Regenerated.
1466*181254a7Smrg	* generated/minloc1_8_i4.c: Regenerated.
1467*181254a7Smrg	* generated/minloc1_8_i8.c: Regenerated.
1468*181254a7Smrg	* generated/minloc1_8_r10.c: Regenerated.
1469*181254a7Smrg	* generated/minloc1_8_r16.c: Regenerated.
1470*181254a7Smrg	* generated/minloc1_8_r4.c: Regenerated.
1471*181254a7Smrg	* generated/minloc1_8_r8.c: Regenerated.
1472*181254a7Smrg	* generated/minval_i1.c: Regenerated.
1473*181254a7Smrg	* generated/minval_i16.c: Regenerated.
1474*181254a7Smrg	* generated/minval_i2.c: Regenerated.
1475*181254a7Smrg	* generated/minval_i4.c: Regenerated.
1476*181254a7Smrg	* generated/minval_i8.c: Regenerated.
1477*181254a7Smrg	* generated/minval_r10.c: Regenerated.
1478*181254a7Smrg	* generated/minval_r16.c: Regenerated.
1479*181254a7Smrg	* generated/minval_r4.c: Regenerated.
1480*181254a7Smrg	* generated/minval_r8.c: Regenerated.
1481*181254a7Smrg	* generated/product_c10.c: Regenerated.
1482*181254a7Smrg	* generated/product_c16.c: Regenerated.
1483*181254a7Smrg	* generated/product_c4.c: Regenerated.
1484*181254a7Smrg	* generated/product_c8.c: Regenerated.
1485*181254a7Smrg	* generated/product_i1.c: Regenerated.
1486*181254a7Smrg	* generated/product_i16.c: Regenerated.
1487*181254a7Smrg	* generated/product_i2.c: Regenerated.
1488*181254a7Smrg	* generated/product_i4.c: Regenerated.
1489*181254a7Smrg	* generated/product_i8.c: Regenerated.
1490*181254a7Smrg	* generated/product_r10.c: Regenerated.
1491*181254a7Smrg	* generated/product_r16.c: Regenerated.
1492*181254a7Smrg	* generated/product_r4.c: Regenerated.
1493*181254a7Smrg	* generated/product_r8.c: Regenerated.
1494*181254a7Smrg	* generated/sum_c10.c: Regenerated.
1495*181254a7Smrg	* generated/sum_c16.c: Regenerated.
1496*181254a7Smrg	* generated/sum_c4.c: Regenerated.
1497*181254a7Smrg	* generated/sum_c8.c: Regenerated.
1498*181254a7Smrg	* generated/sum_i1.c: Regenerated.
1499*181254a7Smrg	* generated/sum_i16.c: Regenerated.
1500*181254a7Smrg	* generated/sum_i2.c: Regenerated.
1501*181254a7Smrg	* generated/sum_i4.c: Regenerated.
1502*181254a7Smrg	* generated/sum_i8.c: Regenerated.
1503*181254a7Smrg	* generated/sum_r10.c: Regenerated.
1504*181254a7Smrg	* generated/sum_r16.c: Regenerated.
1505*181254a7Smrg	* generated/sum_r4.c: Regenerated.
1506*181254a7Smrg	* generated/sum_r8.c: Regenerated.
1507*181254a7Smrg
1508*181254a7Smrg2008-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
1509*181254a7Smrg
1510*181254a7Smrg	PR libfortran/35960
1511*181254a7Smrg	* m4/reshape.m4:  Fix typo in last commit.
1512*181254a7Smrg	* generated/reshape_i4.c:  Regererated.
1513*181254a7Smrg	* generated/reshape_i8.c:  Regenerated.
1514*181254a7Smrg	* generated/reshape_i16.c:  Regenerated.
1515*181254a7Smrg	* generated/reshape_r4.c:  Regenerated.
1516*181254a7Smrg	* generated/reshape_r8.c:  Regenerated.
1517*181254a7Smrg	* generated/reshape_r10.c:  Regenerated.
1518*181254a7Smrg	* generated/reshape_r16.c:  Regenerated.
1519*181254a7Smrg	* generated/reshape_c4.c:  Regenerated.
1520*181254a7Smrg	* generated/reshape_c8.c:  Regenerated.
1521*181254a7Smrg	* generated/reshape_c10.c:  Regenerated.
1522*181254a7Smrg	* generated/reshape_c16.c:  Regenerated.
1523*181254a7Smrg
1524*181254a7Smrg2008-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1525*181254a7Smrg
1526*181254a7Smrg	* intrinsics/time_1.h (__time_1): Remove unused variable.
1527*181254a7Smrg
1528*181254a7Smrg2008-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
1529*181254a7Smrg
1530*181254a7Smrg	PR libfortran/35988
1531*181254a7Smrg	* m4/matmul.m4:  Only issue a runtime error if extents are
1532*181254a7Smrg	non-zero.
1533*181254a7Smrg	* generated/matmul_i1.c:  Regenerated.
1534*181254a7Smrg	* generated/matmul_i2.c:  Regenerated.
1535*181254a7Smrg	* generated/matmul_i4.c:  Regenerated.
1536*181254a7Smrg	* generated/matmul_i8.c:  Regenerated.
1537*181254a7Smrg	* generated/matmul_i16.c:  Regenerated.
1538*181254a7Smrg	* generated/matmul_r4.c:  Regenerated.
1539*181254a7Smrg	* generated/matmul_r8.c:  Regenerated.
1540*181254a7Smrg	* generated/matmul_r10.c:  Regenerated.
1541*181254a7Smrg	* generated/matmul_r16.c:  Regenerated.
1542*181254a7Smrg	* generated/matmul_c4.c:  Regenerated.
1543*181254a7Smrg	* generated/matmul_c8.c:  Regenerated.
1544*181254a7Smrg	* generated/matmul_c10.c:  Regenerated.
1545*181254a7Smrg	* generated/matmul_c16.c:  Regenerated.
1546*181254a7Smrg
1547*181254a7Smrg2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1548*181254a7Smrg
1549*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY)
1550*181254a7Smrg	(LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT)
1551*181254a7Smrg	(LIBGFOR_CHECK_ATTRIBUTE_ALIAS, LIBGFOR_CHECK_SYNC_FETCH_AND_ADD)
1552*181254a7Smrg	(LIBGFOR_GTHREAD_WEAK, LIBGFOR_CHECK_UNLINK_OPEN_FILE)
1553*181254a7Smrg	(LIBGFOR_CHECK_CRLF, LIBGFOR_CHECK_FOR_BROKEN_ISFINITE)
1554*181254a7Smrg	(LIBGFOR_CHECK_FOR_BROKEN_ISNAN)
1555*181254a7Smrg	(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY, LIBGFOR_CHECK_WORKING_STAT)
1556*181254a7Smrg	(LIBGFOR_CHECK_FPSETMASK, LIBGFOR_CHECK_MINGW_SNPRINTF):
1557*181254a7Smrg	Fix cache variable names.
1558*181254a7Smrg	* configure, Makefile.in: Regenerate.
1559*181254a7Smrg
1560*181254a7Smrg2008-04-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1561*181254a7Smrg
1562*181254a7Smrg	PR fortran/35991
1563*181254a7Smrg	* intrinsics/cshift0.c (cshift0): Avoid divide by zero.
1564*181254a7Smrg
1565*181254a7Smrg2008-04-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
1566*181254a7Smrg
1567*181254a7Smrg	PR libfortran/35960
1568*181254a7Smrg	* intrinsics/reshape_generic.c (reshape_internal): If the size
1569*181254a7Smrg	of the resized array is zero, as determined by the SHAPE
1570*181254a7Smrg	argument, return early.
1571*181254a7Smrg	* m4/reshape.m4:  Likewise.
1572*181254a7Smrg	* generated/reshape_i4.c:  Regererated.
1573*181254a7Smrg	* generated/reshape_i8.c:  Regenerated.
1574*181254a7Smrg	* generated/reshape_i16.c:  Regenerated.
1575*181254a7Smrg	* generated/reshape_r4.c:  Regenerated.
1576*181254a7Smrg	* generated/reshape_r8.c:  Regenerated.
1577*181254a7Smrg	* generated/reshape_r10.c:  Regenerated.
1578*181254a7Smrg	* generated/reshape_r16.c:  Regenerated.
1579*181254a7Smrg	* generated/reshape_c4.c:  Regenerated.
1580*181254a7Smrg	* generated/reshape_c8.c:  Regenerated.
1581*181254a7Smrg	* generated/reshape_c10.c:  Regenerated.
1582*181254a7Smrg	* generated/reshape_c16.c:  Regenerated.
1583*181254a7Smrg
1584*181254a7Smrg2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
1585*181254a7Smrg
1586*181254a7Smrg	PR bootstrap/35457
1587*181254a7Smrg	* aclocal.m4: Regenerate.
1588*181254a7Smrg	* configure: Regenerate.
1589*181254a7Smrg
1590*181254a7Smrg2008-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1591*181254a7Smrg
1592*181254a7Smrg	PR libfortran/32972
1593*181254a7Smrg	* intrinsics/spread_generic.c (spread):  Use spread_i2()
1594*181254a7Smrg	for GFC_DTYPE_DERIVED_2 (fix typo from previous commit).
1595*181254a7Smrg
1596*181254a7Smrg2008-04-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
1597*181254a7Smrg	Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1598*181254a7Smrg
1599*181254a7Smrg	PR libfortran/32972
1600*181254a7Smrg	PR libfortran/32512
1601*181254a7Smrg	configure.ac:  Add test for uintptr_t.
1602*181254a7Smrg	configure:  Regenerated.
1603*181254a7Smrg	config.h.in:  Regenerated.
1604*181254a7Smrg	* libgfortran.h: GFC_DTYPE_DERIVED_1:  New macro.
1605*181254a7Smrg	GFC_DTYPE_DERIVED_2:  New macro.
1606*181254a7Smrg	GFC_DTYPE_DERIVED_4:  New macro.
1607*181254a7Smrg	GFC_DTYPE_DERIVED_8:  New macro.
1608*181254a7Smrg	GFC_DTYPE_DERIVED_16:  New macro.
1609*181254a7Smrg	GFC_UNALIGNED_2:  New macro.
1610*181254a7Smrg	GFC_UNALIGNED_4:  New macro.
1611*181254a7Smrg	GFC_UNALIGNED_8:  New macro.
1612*181254a7Smrg	GFC_UNALIGNED_16:  New macro.
1613*181254a7Smrg	intptr_t:  Define if we don't have it.
1614*181254a7Smrg	uintptr_t:  Likewise.
1615*181254a7Smrg	* runtime/backtrace.c (show_backtrace):  Use intptr_t.
1616*181254a7Smrg	* intrinsics/signal.c (signal_sub):  Likewise.
1617*181254a7Smrg	(signal_sub_int):  Likewise.
1618*181254a7Smrg	(alarm_sub_int_i4):  Likewise.
1619*181254a7Smrg	* intrinsics/spread_generic.c (spread):  Use the integer
1620*181254a7Smrg	routines for handling derived types of sizes 1, 2, 4, 8 and 16
1621*181254a7Smrg	if the alignment of all pointers is correct.
1622*181254a7Smrg	(spread_scalar):  Likewise.
1623*181254a7Smrg	* intrinsics/pack_generic.c (pack):  Likewise.
1624*181254a7Smrg	Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
1625*181254a7Smrg	* intrinsics/unpack_generic.c (unpack1):  Likewise.
1626*181254a7Smrg	(unpack0):  Likewise.
1627*181254a7Smrg	* runtime/in_pack_generic.c (internal_pack):  Likewise.
1628*181254a7Smrg	* runtime/in_unpack_generic.c (internal_unpack):  Likewise.
1629*181254a7Smrg
1630*181254a7Smrg2008-04-09  Jakub Jelinek  <jakub@redhat.com>
1631*181254a7Smrg
1632*181254a7Smrg	* io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
1633*181254a7Smrg	(nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
1634*181254a7Smrg	recursive call.  Use snprintf instead of sprintf when %s nl->var_name
1635*181254a7Smrg	is used.
1636*181254a7Smrg	(nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
1637*181254a7Smrg	nml_read_obj call.  Use snprintf instead of sprintf when %s
1638*181254a7Smrg	nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
1639*181254a7Smrg	of parse_err_msg array.  Append " for namelist variable " and
1640*181254a7Smrg	nl->var_name to it.
1641*181254a7Smrg	(namelist_read): Increase size of nml_err_msg array to 200.  Pass
1642*181254a7Smrg	sizeof nml_err_msg as extra argument to nml_get_obj_data.
1643*181254a7Smrg
1644*181254a7Smrg2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1645*181254a7Smrg
1646*181254a7Smrg	PR fortran/25829 28655
1647*181254a7Smrg	* io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
1648*181254a7Smrg	and flags.status. (st_open): Initialize flags.async.
1649*181254a7Smrg	* io/list_read.c (read_charactor): Use delim_status instead of
1650*181254a7Smrg	flags.delim.
1651*181254a7Smrg	* io/read.c (read_x): Use pad_status instead of flags.pad.
1652*181254a7Smrg	* io/inquire.c (inquire_via_unit): Add new checks.
1653*181254a7Smrg	(inquire_via_filename): Likewise.
1654*181254a7Smrg	* io/io.h (st_parameter_inquire): Add new flags.
1655*181254a7Smrg	(st_parameter_dt): Likewise.
1656*181254a7Smrg	* io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
1657*181254a7Smrg	flags.async.
1658*181254a7Smrg	* io/transfer.c: Add delim and pad option arrays. (read_sf): Use
1659*181254a7Smrg	pad_status instead of flags.pad. (read_block): Likewise.
1660*181254a7Smrg	(data_transfer_init): Set flags.async and add checks.
1661*181254a7Smrg	* io/write.c (write_character): Use delim_status.
1662*181254a7Smrg	(list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
1663*181254a7Smrg	(namelist_write): Likewise.
1664*181254a7Smrg
1665*181254a7Smrg2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1666*181254a7Smrg
1667*181254a7Smrg	PR fortran/25829 28655
1668*181254a7Smrg	* gfortran.map: Add new symbol, _gfortran_st_wait.
1669*181254a7Smrg	* libgfortran.h (st_paramter_common): Add new I/O parameters.
1670*181254a7Smrg	* open.c (st_option decimal_opt[], st_option encoding_opt[],
1671*181254a7Smrg	st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
1672*181254a7Smrg	parameter option arrays. (edit_modes): Add checks for new parameters.
1673*181254a7Smrg	(new_unit): Likewise. (st_open): Likewise.
1674*181254a7Smrg	* list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
1675*181254a7Smrg	(eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
1676*181254a7Smrg	(parse_real): Handle decimal comma. (read_real): Handle decimal comma.
1677*181254a7Smrg	* read.c (read_a): Use decimal status flag to allow comma in place of a
1678*181254a7Smrg	decimal point. (read_f): Allow comma as acceptable character in float.
1679*181254a7Smrg	According to decimal flag, substitute a period for a comma.
1680*181254a7Smrg	(read_x): If decimal status flag is comma, disable the read_comma flag,
1681*181254a7Smrg	not allowing comma as a delimiter, an extension otherwise.
1682*181254a7Smrg	* io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
1683*181254a7Smrg	unit_async): New enumerators. Add all new I/O parameters.
1684*181254a7Smrg	* unix.c (unix_stream, int_stream): Add io_mode	asychronous I/O	control.
1685*181254a7Smrg	(move_pos_offset, fd_alloc_w_at): Fix some whitespace.
1686*181254a7Smrg	(fd_sfree): Use new enumerator. (fd_read): Likewise.
1687*181254a7Smrg	(fd_write): Likewise. (fd_close): Fix whitespace.
1688*181254a7Smrg	(fd_open): Use new enumertors. (tempfile, regular_file,
1689*181254a7Smrg	open_external): Fix whitespace. (output_stream, error_stream): Set
1690*181254a7Smrg	method. (stream_offset): Fix whitespace.
1691*181254a7Smrg	* transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
1692*181254a7Smrg	option arrays. 	(formatted_transfer_scalar): Set sf_read_comma flag
1693*181254a7Smrg	based on new decimal_status flag. (data_transfer_init): Initialize new
1694*181254a7Smrg	parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
1695*181254a7Smrg	* format.c: (format_lex): Add format specifiers DP, DC, and D.
1696*181254a7Smrg	(parse_format_list): Parse the new specifiers.
1697*181254a7Smrg	* write.c (write_decimal): Use new sign enumerators to set the sign.
1698*181254a7Smrg	(write_complex): Handle decimal comma and semi-colon separator.
1699*181254a7Smrg	(nml_write_obj): Likewise.
1700*181254a7Smrg	* write_float.def: Revise sign enumerators. (calculate_sign): Use new
1701*181254a7Smrg	sign enumerators. (output_float): Likewise. Use new decimal_status flag
1702*181254a7Smrg	to set the decimal character to a point or a comma.
1703*181254a7Smrg
1704*181254a7Smrg2008-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
1705*181254a7Smrg
1706*181254a7Smrg	PR libfortran/32972
1707*181254a7Smrg	PR libfortran/32512
1708*181254a7Smrg	* Makefile.am:  Add new variable, i_spread_c, containing
1709*181254a7Smrg	pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
1710*181254a7Smrg	spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
1711*181254a7Smrg	spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
1712*181254a7Smrg	* Makefile.in:  Regenerated.
1713*181254a7Smrg	* libgfortran.h:  Add prototypes for spread_i1, spread_i2,
1714*181254a7Smrg	spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
1715*181254a7Smrg	spread_c4, spread_c8, spread_c10, spread_c16,
1716*181254a7Smrg	spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
1717*181254a7Smrg	spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
1718*181254a7Smrg	spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
1719*181254a7Smrg	spread_scalar_c10 and spread_scalar_c16.
1720*181254a7Smrg	Add macros to isolate both type and size information
1721*181254a7Smrg	from array descriptors with a single mask operation.
1722*181254a7Smrg	* intrinsics/spread_generic.c:  Add calls to specific
1723*181254a7Smrg	spread functions.
1724*181254a7Smrg	* m4/spread.m4:  New file.
1725*181254a7Smrg	* generated/spread_i1.c:  New file.
1726*181254a7Smrg	* generated/spread_i2.c:  New file.
1727*181254a7Smrg	* generated/spread_i4.c:  New file.
1728*181254a7Smrg	* generated/spread_i8.c:  New file.
1729*181254a7Smrg	* generated/spread_i16.c:  New file.
1730*181254a7Smrg	* generated/spread_r4.c:  New file.
1731*181254a7Smrg	* generated/spread_r8.c:  New file.
1732*181254a7Smrg	* generated/spread_r10.c:  New file.
1733*181254a7Smrg	* generated/spread_r16.c:  New file.
1734*181254a7Smrg	* generated/spread_c4.c:  New file.
1735*181254a7Smrg	* generated/spread_c8.c:  New file.
1736*181254a7Smrg	* generated/spread_c10.c:  New file.
1737*181254a7Smrg	* generated/spread_c16.c:  New file.
1738*181254a7Smrg
1739*181254a7Smrg2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1740*181254a7Smrg
1741*181254a7Smrg	PR libfortran/35699
1742*181254a7Smrg	* io/transfer.c (write_buf):  Don't pad the record, just return if the
1743*181254a7Smrg	data is NULL.  (next_record_w): If there are bytes left in the record
1744*181254a7Smrg	for unformatted direct I/O, pad out the record with zero bytes.
1745*181254a7Smrg
1746*181254a7Smrg2008-03-28  Tobias Burnus  <burnus@net-b.de>
1747*181254a7Smrg
1748*181254a7Smrg	PR fortran/35721
1749*181254a7Smrg	* intrinsics/associated.c (associated): Ignore different
1750*181254a7Smrg	stride of pointer vs. target if only one element is referred.
1751*181254a7Smrg
1752*181254a7Smrg2008-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1753*181254a7Smrg
1754*181254a7Smrg	* io/unix.c (fd_close):  Do not close STDIN.
1755*181254a7Smrg
1756*181254a7Smrg2008-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
1757*181254a7Smrg
1758*181254a7Smrg	PR libfortran/32972
1759*181254a7Smrg	* Makefile.am:  Add new variable, i_unpack_c, containing
1760*181254a7Smrg	unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
1761*181254a7Smrg	unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
1762*181254a7Smrg	unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
1763*181254a7Smrg	and unpack_c16.c
1764*181254a7Smrg	Add i_unpack_c to gfor_built_src.
1765*181254a7Smrg	Add rule to generate i_unpack_c from m4/unpack.m4.
1766*181254a7Smrg	* Makefile.in:  Regenerated.
1767*181254a7Smrg	* libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
1768*181254a7Smrg	unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
1769*181254a7Smrg	unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
1770*181254a7Smrg	unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
1771*181254a7Smrg	unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
1772*181254a7Smrg	unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
1773*181254a7Smrg	* intrinsics/pack_generic.c (unpack1):  Add calls to specific
1774*181254a7Smrg	unpack1 functions.
1775*181254a7Smrg	(unpack0):  Add calls to specific unpack0 functions.
1776*181254a7Smrg	* m4/unpack.m4:  New file.
1777*181254a7Smrg	* generated/unpack_i1.c:  New file.
1778*181254a7Smrg	* generated/unpack_i2.c:  New file.
1779*181254a7Smrg	* generated/unpack_i4.c:  New file.
1780*181254a7Smrg	* generated/unpack_i8.c:  New file.
1781*181254a7Smrg	* generated/unpack_i16.c:  New file.
1782*181254a7Smrg	* generated/unpack_r4.c:  New file.
1783*181254a7Smrg	* generated/unpack_r8.c:  New file.
1784*181254a7Smrg	* generated/unpack_r10.c:  New file.
1785*181254a7Smrg	* generated/unpack_r16.c:  New file.
1786*181254a7Smrg	* generated/unpack_c4.c:  New file.
1787*181254a7Smrg	* generated/unpack_c8.c:  New file.
1788*181254a7Smrg	* generated/unpack_c10.c:  New file.
1789*181254a7Smrg	* generated/unpack_c16.c:  New file.
1790*181254a7Smrg
1791*181254a7Smrg2008-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1792*181254a7Smrg
1793*181254a7Smrg	PR libfortran/35632
1794*181254a7Smrg	* io/transfer.c (data_transfer_init):  Fix whitespace.
1795*181254a7Smrg	(next_record_w): Truncate the file only if the stream
1796*181254a7Smrg	position is short of the file end.
1797*181254a7Smrg
1798*181254a7Smrg2008-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1799*181254a7Smrg
1800*181254a7Smrg	* intrinsics/pack_generic.c:  Fix typo.
1801*181254a7Smrg
1802*181254a7Smrg2008-03-21  Janne Blomqvist  <jb@gcc.gnu.org>
1803*181254a7Smrg
1804*181254a7Smrg	* gfortran.map: Move erfc_scaled symbols to new symbol node
1805*181254a7Smrg	GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.
1806*181254a7Smrg
1807*181254a7Smrg2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1808*181254a7Smrg
1809*181254a7Smrg	PR libfortran/32972
1810*181254a7Smrg	* runtime/in_pack_generic.c (internal_pack):  Call correct
1811*181254a7Smrg	function, pack_i16, for GFC_INTEGER_16.
1812*181254a7Smrg
1813*181254a7Smrg2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1814*181254a7Smrg
1815*181254a7Smrg	PR libfortran/32972
1816*181254a7Smrg	* Makefile.am:  Add new variable, i_pack_c, containing
1817*181254a7Smrg	pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
1818*181254a7Smrg	pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
1819*181254a7Smrg	pack_c8.c, pack_c10.c, pack_c16.c.
1820*181254a7Smrg	Add m4/pack.m4 to m4_files.
1821*181254a7Smrg	Add i_pack_c to gfor_built_src.
1822*181254a7Smrg	Add rule to generate i_pack_c from m4/pack.m4.
1823*181254a7Smrg	* Makefile.in:  Regenerated.
1824*181254a7Smrg	* libgfortran.h: Add prototypes for pack_i1, pack_i2, pack_i4,
1825*181254a7Smrg	pack_i8, pack_i16, pack_r4, pack_r8, pack_c4, pack_c8,
1826*181254a7Smrg	pack_c10, pack_c16.
1827*181254a7Smrg	* intrinsics/pack_generic.c:  Add calls to specific
1828*181254a7Smrg	pack functions.
1829*181254a7Smrg	* m4/pack.m4:  New file.
1830*181254a7Smrg	* generated/pack_i1.c:  New file.
1831*181254a7Smrg	* generated/pack_i2.c:  New file.
1832*181254a7Smrg	* generated/pack_i4.c:  New file.
1833*181254a7Smrg	* generated/pack_i8.c:  New file.
1834*181254a7Smrg	* generated/pack_i16.c:  New file.
1835*181254a7Smrg	* generated/pack_r4.c:  New file.
1836*181254a7Smrg	* generated/pack_r8.c:  New file.
1837*181254a7Smrg	* generated/pack_r10.c:  New file.
1838*181254a7Smrg	* generated/pack_r16.c:  New file.
1839*181254a7Smrg	* generated/pack_c4.c:  New file.
1840*181254a7Smrg	* generated/pack_c8.c:  New file.
1841*181254a7Smrg	* generated/pack_c10.c:  New file.
1842*181254a7Smrg	* generated/pack_c16.c:  New file.
1843*181254a7Smrg
1844*181254a7Smrg2008-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1845*181254a7Smrg
1846*181254a7Smrg	PR libfortran/35627
1847*181254a7Smrg	* io/list_read.c (free_line): Clear the line buffer enable flag and
1848*181254a7Smrg	reset the index into line_buffer, aka item_count.
1849*181254a7Smrg	(next_char): Cleanup whitespace.
1850*181254a7Smrg	(read_logical): Use unget_char to assure that the first character of the
1851*181254a7Smrg	bad logical is saved in case it is part of an object name. Remove the
1852*181254a7Smrg	clearing of index and flag that is now in free_line.
1853*181254a7Smrg	(read_real): Likewise.
1854*181254a7Smrg
1855*181254a7Smrg2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
1856*181254a7Smrg
1857*181254a7Smrg	PR libfortran/32972
1858*181254a7Smrg	* runtime/in_pack_generic.c (internal_pack):  Fix typo in
1859*181254a7Smrg	last commit.
1860*181254a7Smrg
1861*181254a7Smrg2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
1862*181254a7Smrg
1863*181254a7Smrg	PR libfortran/32972
1864*181254a7Smrg	* Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
1865*181254a7Smrg	in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
1866*181254a7Smrg	(in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
1867*181254a7Smrg	in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
1868*181254a7Smrg	in_unpack_r16.c.
1869*181254a7Smrg	* Makefile.in: Regenerate.
1870*181254a7Smrg	* libgfortran.h:  Add prototypes for internal_pack_1,
1871*181254a7Smrg	internal_pack_2, internal_pack_16, internal_pack_r4,
1872*181254a7Smrg	internal_pack_r8, internal_pack_r10, internal_pack_r16,
1873*181254a7Smrg	internal_pack_c10 and internal_pack_c16.  Add prototypes for
1874*181254a7Smrg	internal_unpack_1, internal_unpack_2, internal_unpack_16,
1875*181254a7Smrg	internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
1876*181254a7Smrg	internal_unpack_r16, internal_unpack_c10 and
1877*181254a7Smrg	internal_unpack_c16.
1878*181254a7Smrg	* runtime/in_pack_generic.c (internal_pack): Use sizeof instead
1879*181254a7Smrg	of hardwired sizes.
1880*181254a7Smrg	Add calls to internal_pack_1, internal_pack_2,
1881*181254a7Smrg	internal_pack_16, internal_pack_r4, internal_pack_r8,
1882*181254a7Smrg	internal_pack_r10, internal_pack_r16, internal_pack_c10 and
1883*181254a7Smrg	internal_pack_c16.
1884*181254a7Smrg	* runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
1885*181254a7Smrg	instead of hardwired sizes.
1886*181254a7Smrg	Add calls to internal_unpack_1, internal_unpack_2,
1887*181254a7Smrg	internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
1888*181254a7Smrg	internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
1889*181254a7Smrg	and internal_unpack_c16.
1890*181254a7Smrg	* generated/in_pack_r4.c:  New file.
1891*181254a7Smrg	* generated/in_pack_i2.c:  New file.
1892*181254a7Smrg	* generated/in_unpack_i1.c:  New file.
1893*181254a7Smrg	* generated/in_pack_r10.c:  New file.
1894*181254a7Smrg	* generated/in_unpack_r4.c:  New file.
1895*181254a7Smrg	* generated/in_unpack_i2.c:  New file.
1896*181254a7Smrg	* generated/in_unpack_r16.c:  New file.
1897*181254a7Smrg	* generated/in_pack_r8.c:  New file.
1898*181254a7Smrg	* generated/in_unpack_r10.c:  New file.
1899*181254a7Smrg	* generated/in_unpack_r8.c:  New file.
1900*181254a7Smrg	* generated/in_pack_r16.c:  New file.
1901*181254a7Smrg	* generated/in_pack_i1.c:  New file.
1902*181254a7Smrg
1903*181254a7Smrg2008-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1904*181254a7Smrg
1905*181254a7Smrg	PR libfortran/35617
1906*181254a7Smrg	* io/list_read.c (eat_separator): If next character after eatline is '!'
1907*181254a7Smrg	then eatline again.
1908*181254a7Smrg
1909*181254a7Smrg2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1910*181254a7Smrg
1911*181254a7Smrg	* aclocal.m4: Regenerate.
1912*181254a7Smrg	* configure: Likewise.
1913*181254a7Smrg	* Makefile.in: Likewise.
1914*181254a7Smrg
1915*181254a7Smrg2008-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1916*181254a7Smrg
1917*181254a7Smrg	PR libfortran/35524
1918*181254a7Smrg	* intrinsics/erfc_scaled_inc.c: Only define the long double
1919*181254a7Smrg	variant of erfc_scaled if expl is available.
1920*181254a7Smrg
1921*181254a7Smrg2008-03-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1922*181254a7Smrg
1923*181254a7Smrg	PR libfortran/32812
1924*181254a7Smrg	* intrinsics/random.c (scramble_seed, unscramble_seed): New
1925*181254a7Smrg	functions.
1926*181254a7Smrg	(random_seed_i4): Scramble the seed the user gives us before
1927*181254a7Smrg	storing it, and unscramble it when we return it back later.
1928*181254a7Smrg
1929*181254a7Smrg2008-03-05  Hans-Peter Nilsson  <hp@axis.com>
1930*181254a7Smrg
1931*181254a7Smrg	PR libfortran/35293
1932*181254a7Smrg	* io/unix.c (fd_truncate): Fold s->special_file case into
1933*181254a7Smrg	success case of ftruncate/chsize call instead of the failure case.
1934*181254a7Smrg	Make failure case actually return failure.  Properly update stream
1935*181254a7Smrg	pointers on failure.  Call runtime_error for targets without
1936*181254a7Smrg	neither ftruncate nor chsize where such a call would be needed.
1937*181254a7Smrg
1938*181254a7Smrg2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1939*181254a7Smrg
1940*181254a7Smrg	PR fortran/33197
1941*181254a7Smrg	* intrinsics/erfc_scaled_inc.c: New file.
1942*181254a7Smrg	* intrinsics/erfc_scaled.c: New file.
1943*181254a7Smrg	* gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
1944*181254a7Smrg	* Makefile.am: Add intrinsics/erfc_scaled.c.
1945*181254a7Smrg	* config.h.in: Regenerate.
1946*181254a7Smrg	* configure: Regenerate.
1947*181254a7Smrg	* Makefile.in: Regenerate.
1948*181254a7Smrg
1949*181254a7Smrg2008-03-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1950*181254a7Smrg
1951*181254a7Smrg	PR libfortran/35355
1952*181254a7Smrg	* intrinsics/time_1.h (__time_1): Fix calculation of user_usec
1953*181254a7Smrg	for mingw.
1954*181254a7Smrg
1955*181254a7Smrg2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
1956*181254a7Smrg
1957*181254a7Smrg	PR libfortran/35063
1958*181254a7Smrg	* io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
1959*181254a7Smrg	instead of macro kludge.
1960*181254a7Smrg
1961*181254a7Smrg2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
1962*181254a7Smrg
1963*181254a7Smrg	PR fortran/29549
1964*181254a7Smrg	* Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
1965*181254a7Smrg	libgfortran.
1966*181254a7Smrg	* Makefile.in: Regenerated.
1967*181254a7Smrg
1968*181254a7Smrg2008-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1969*181254a7Smrg
1970*181254a7Smrg	* m4/ifunction_logical.m4: Add casts to get rid of warnings.
1971*181254a7Smrg	* generated/all_l1.c: Regenerate.
1972*181254a7Smrg	* generated/all_l2.c: Regenerate.
1973*181254a7Smrg	* generated/all_l4.c: Regenerate.
1974*181254a7Smrg	* generated/all_l8.c: Regenerate.
1975*181254a7Smrg	* generated/all_l16.c: Regenerate.
1976*181254a7Smrg	* generated/any_l1.c: Regenerate.
1977*181254a7Smrg	* generated/any_l2.c: Regenerate.
1978*181254a7Smrg	* generated/any_l4.c: Regenerate.
1979*181254a7Smrg	* generated/any_l8.c: Regenerate.
1980*181254a7Smrg	* generated/any_l16.c: Regenerate.
1981*181254a7Smrg	* generated/count_1_l.c: Regenerate.
1982*181254a7Smrg	* generated/count_2_l.c: Regenerate.
1983*181254a7Smrg	* generated/count_4_l.c: Regenerate.
1984*181254a7Smrg	* generated/count_8_l.c: Regenerate.
1985*181254a7Smrg	* generated/count_16_l.c: Regenerate.
1986*181254a7Smrg
1987*181254a7Smrg2008-02-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1988*181254a7Smrg
1989*181254a7Smrg	PR libfortran/32841
1990*181254a7Smrg	* acinclude.m4: Don't use HAVE_MATH_H.
1991*181254a7Smrg	* configure: Regenerate.
1992*181254a7Smrg
1993*181254a7Smrg2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1994*181254a7Smrg
1995*181254a7Smrg	PR libfortran/35132
1996*181254a7Smrg	* io/transfer.c (next_record_w): Truncate after the last record for
1997*181254a7Smrg	STREAM I/O.
1998*181254a7Smrg
1999*181254a7Smrg	PR libfortran/34954
2000*181254a7Smrg	* io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
2001*181254a7Smrg
2002*181254a7Smrg	PR libfortran/34974
2003*181254a7Smrg	* io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
2004*181254a7Smrg	is less than zero. (next_record_w): Use sseek to position the file to
2005*181254a7Smrg	the max position reached.
2006*181254a7Smrg
2007*181254a7Smrg2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2008*181254a7Smrg
2009*181254a7Smrg	PR libfortran/35036
2010*181254a7Smrg	* write_float.def (output_float):  Add error checks for zero digits
2011*181254a7Smrg	after decimal point in E and D format specifiers.
2012*181254a7Smrg
2013*181254a7Smrg2008-02-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2014*181254a7Smrg
2015*181254a7Smrg	PR libfortran/35063
2016*181254a7Smrg	* io/unit.c (destroy_unit_mutex): New function that uses
2017*181254a7Smrg	__gthread_mutex_destroy_function or pthread_mutex_destroy after
2018*181254a7Smrg	unlocking and before free_mem for final closure of I/O unit.
2019*181254a7Smrg	(delete_root): Use new function.
2020*181254a7Smrg	(free_internal_unit): Likewise.
2021*181254a7Smrg	(close_unit_1): Likewise.
2022*181254a7Smrg
2023*181254a7Smrg2008-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
2024*181254a7Smrg
2025*181254a7Smrg	PR libfortran/35001
2026*181254a7Smrg	* m4/shape.m4:  Return 0 for extents <= 0.
2027*181254a7Smrg	* generated/shape_i4.c:  Regenerated.
2028*181254a7Smrg	* generated/shape_i8.c:  Regenerated.
2029*181254a7Smrg	* generated/shape_i16.c:  Regenerated.
2030*181254a7Smrg
2031*181254a7Smrg2008-01-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
2032*181254a7Smrg
2033*181254a7Smrg	PR libfortran/34980
2034*181254a7Smrg	* m4/shape.m4:  If return array is empty, return early.
2035*181254a7Smrg	* generated/shape_i4.c:  Regenerated.
2036*181254a7Smrg	* generated/shape_i8.c:  Regenerated.
2037*181254a7Smrg	* generated/shape_i16.c:  Regenerated.
2038*181254a7Smrg
2039*181254a7Smrg2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
2040*181254a7Smrg
2041*181254a7Smrg	PR libfofortran/34887
2042*181254a7Smrg	* io/transfer.c (next_record_w): Always move to the farthest
2043*181254a7Smrg	position when completing the record (also when we are
2044*181254a7Smrg	processing a slash edit descriptor).
2045*181254a7Smrg
2046*181254a7Smrg2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2047*181254a7Smrg
2048*181254a7Smrg	PR libfortran/34876
2049*181254a7Smrg	* io/transfer.c (write_buf): Handle case of zero sized array.
2050*181254a7Smrg	(transfer_array): Set data pointer to NULL and size to zero.  Then
2051*181254a7Smrg	make a data transfer and return.
2052*181254a7Smrg
2053*181254a7Smrg2008-01-24  David Edelsohn  <edelsohn@gnu.org>
2054*181254a7Smrg
2055*181254a7Smrg	* configure: Regenerate.
2056*181254a7Smrg
2057*181254a7Smrg2008-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2058*181254a7Smrg
2059*181254a7Smrg	PR libfortran/34795
2060*181254a7Smrg	* io/inquire.c (inquire_via_unit): If a unit is opened, return values
2061*181254a7Smrg	according to the open action for DIRECT, FORMATTED, and	UNFORMATTED.
2062*181254a7Smrg	(inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
2063*181254a7Smrg	FORAMATTED, and UNFORMATTED inquiries.
2064*181254a7Smrg	* io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
2065*181254a7Smrg	for files that are not opened. (inquire_direct): Same.
2066*181254a7Smrg	(inquire_formatted): Same.
2067*181254a7Smrg
2068*181254a7Smrg2008-01-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2069*181254a7Smrg
2070*181254a7Smrg	PR libfortran/34782
2071*181254a7Smrg	* io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
2072*181254a7Smrg	of the current max_pos or the newly calculated position.
2073*181254a7Smrg
2074*181254a7Smrg2008-01-18  Tobias Burnus  <burnus@net-b.de>
2075*181254a7Smrg
2076*181254a7Smrg	* io/write.c (write_real): Increase default precision
2077*181254a7Smrg	for REAL(16) by one.
2078*181254a7Smrg
2079*181254a7Smrg2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>
2080*181254a7Smrg
2081*181254a7Smrg	PR libfortran/34669
2082*181254a7Smrg	* mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
2083*181254a7Smrg	to avoid piping the -fdump-parse-tree output to the assembler
2084*181254a7Smrg	when configuring with -pipe.
2085*181254a7Smrg	* mk-sik-inc.sh: Likewise.
2086*181254a7Smrg	* mk-srk-inc.sh: Likewise.
2087*181254a7Smrg
2088*181254a7Smrg2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
2089*181254a7Smrg
2090*181254a7Smrg	PR libfortran/34671
2091*181254a7Smrg	* gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
2092*181254a7Smrg	_gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
2093*181254a7Smrg	_gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
2094*181254a7Smrg	_gfortran_count_8_l Removed _gfortran_count_16_l16,
2095*181254a7Smrg	_gfortran_count_16_l4, _gfortran_count_16_l8,
2096*181254a7Smrg	_gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
2097*181254a7Smrg	_gfortran_count_8_l16, _gfortran_count_8_l4 and
2098*181254a7Smrg	_gfortran_count_8_l8.
2099*181254a7Smrg	* Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
2100*181254a7Smrg	i_any_c.  Added generated/all_l1. and generated/all_l2.c to
2101*181254a7Smrg	i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
2102*181254a7Smrg	generated/count_16_l4.c, generated/count_4_l8.c,
2103*181254a7Smrg	generated/count_8_l8.c, generated/count_16_l8.c,
2104*181254a7Smrg	generated/count_4_l16.c, generated/count_8_l16.c, and
2105*181254a7Smrg	generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
2106*181254a7Smrg	count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
2107*181254a7Smrg	i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
2108*181254a7Smrg	any of the files generated from all.m4, any.m4 and count.m4.
2109*181254a7Smrg	* Makefile.in:  Regenerated.
2110*181254a7Smrg	* m4/ifunction_logical.m4:  New file.  Use
2111*181254a7Smrg	GFC_LOGICAL_1 pointer for access to source arrays.
2112*181254a7Smrg	* m4/any.m4:  Include ifunction_logical.m4 instead of
2113*181254a7Smrg	ifunction.m4.  Don't check atype_name.
2114*181254a7Smrg	* m4/all.m4:  Likewise.
2115*181254a7Smrg	* m4/count.m4:  Likewise.
2116*181254a7Smrg	* generated/any_l1.c:  New file.
2117*181254a7Smrg	* generated/any_l2.c:  New file.
2118*181254a7Smrg	* generated/all_l1.c:  New file.
2119*181254a7Smrg	* generated/count_1_l.c:  New file.
2120*181254a7Smrg	* generated/count_2_l.c:  New file.
2121*181254a7Smrg	* generated/count_4_l.c:  New file.
2122*181254a7Smrg	* generated/count_8_l.c:  New file.
2123*181254a7Smrg	* generated/count_16_l.c:  New file.
2124*181254a7Smrg	* generated/any_l4.c:  Regenerated.
2125*181254a7Smrg	* generated/any_l8.c:  Regenerated.
2126*181254a7Smrg	* generated/any_l16.c:  Regenerated.
2127*181254a7Smrg	* generated/all_l4.c: Regenerated.
2128*181254a7Smrg	* generated/all_l8.c: Regenerated.
2129*181254a7Smrg	* generated/all_l16.c: Regenerated.
2130*181254a7Smrg	* generated/count_4_l4.c:  Removed.
2131*181254a7Smrg	* generated/count_4_l8.c:  Removed.
2132*181254a7Smrg	* generated/count_4_l16.c:  Removed.
2133*181254a7Smrg	* generated/count_8_l4.c:  Removed.
2134*181254a7Smrg	* generated/count_8_l8.c:  Removed.
2135*181254a7Smrg	* generated/count_8_l16.c:  Removed.
2136*181254a7Smrg	* generated/count_16_l4.c:  Removed.
2137*181254a7Smrg	* generated/count_16_l8.c:  Removed.
2138*181254a7Smrg	* generated/count_16_l16.c:  Removed.
2139*181254a7Smrg
2140*181254a7Smrg2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
2141*181254a7Smrg
2142*181254a7Smrg	PR libfortran/34746
2143*181254a7Smrg	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
2144*181254a7Smrg	in printf format for all bounds checking; cast all
2145*181254a7Smrg	integer-like arguments to runtime_error() to long int.
2146*181254a7Smrg	(`m'name`'rtype_qual`_'atype_code):  Likewise.
2147*181254a7Smrg	(`s'name`'rtype_qual`_'atype_code):  Likewise.
2148*181254a7Smrg	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
2149*181254a7Smrg	(`m'name`'rtype_qual`_'atype_code):  Likewise.
2150*181254a7Smrg	(`s'name`'rtype_qual`_'atype_code):  Likewise.
2151*181254a7Smrg	* generated/all_l16.c: Regenerated.
2152*181254a7Smrg	* generated/all_l4.c: Regenerated.
2153*181254a7Smrg	* generated/all_l8.c: Regenerated.
2154*181254a7Smrg	* generated/any_l16.c: Regenerated.
2155*181254a7Smrg	* generated/any_l4.c: Regenerated.
2156*181254a7Smrg	* generated/any_l8.c: Regenerated.
2157*181254a7Smrg	* generated/count_16_l16.c: Regenerated.
2158*181254a7Smrg	* generated/count_16_l4.c: Regenerated.
2159*181254a7Smrg	* generated/count_16_l8.c: Regenerated.
2160*181254a7Smrg	* generated/count_4_l16.c: Regenerated.
2161*181254a7Smrg	* generated/count_4_l4.c: Regenerated.
2162*181254a7Smrg	* generated/count_4_l8.c: Regenerated.
2163*181254a7Smrg	* generated/count_8_l16.c: Regenerated.
2164*181254a7Smrg	* generated/count_8_l4.c: Regenerated.
2165*181254a7Smrg	* generated/count_8_l8.c: Regenerated.
2166*181254a7Smrg	* generated/maxloc0_16_i1.c: Regenerated.
2167*181254a7Smrg	* generated/maxloc0_16_i16.c: Regenerated.
2168*181254a7Smrg	* generated/maxloc0_16_i2.c: Regenerated.
2169*181254a7Smrg	* generated/maxloc0_16_i4.c: Regenerated.
2170*181254a7Smrg	* generated/maxloc0_16_i8.c: Regenerated.
2171*181254a7Smrg	* generated/maxloc0_16_r10.c: Regenerated.
2172*181254a7Smrg	* generated/maxloc0_16_r16.c: Regenerated.
2173*181254a7Smrg	* generated/maxloc0_16_r4.c: Regenerated.
2174*181254a7Smrg	* generated/maxloc0_16_r8.c: Regenerated.
2175*181254a7Smrg	* generated/maxloc0_4_i1.c: Regenerated.
2176*181254a7Smrg	* generated/maxloc0_4_i16.c: Regenerated.
2177*181254a7Smrg	* generated/maxloc0_4_i2.c: Regenerated.
2178*181254a7Smrg	* generated/maxloc0_4_i4.c: Regenerated.
2179*181254a7Smrg	* generated/maxloc0_4_i8.c: Regenerated.
2180*181254a7Smrg	* generated/maxloc0_4_r10.c: Regenerated.
2181*181254a7Smrg	* generated/maxloc0_4_r16.c: Regenerated.
2182*181254a7Smrg	* generated/maxloc0_4_r4.c: Regenerated.
2183*181254a7Smrg	* generated/maxloc0_4_r8.c: Regenerated.
2184*181254a7Smrg	* generated/maxloc0_8_i1.c: Regenerated.
2185*181254a7Smrg	* generated/maxloc0_8_i16.c: Regenerated.
2186*181254a7Smrg	* generated/maxloc0_8_i2.c: Regenerated.
2187*181254a7Smrg	* generated/maxloc0_8_i4.c: Regenerated.
2188*181254a7Smrg	* generated/maxloc0_8_i8.c: Regenerated.
2189*181254a7Smrg	* generated/maxloc0_8_r10.c: Regenerated.
2190*181254a7Smrg	* generated/maxloc0_8_r16.c: Regenerated.
2191*181254a7Smrg	* generated/maxloc0_8_r4.c: Regenerated.
2192*181254a7Smrg	* generated/maxloc0_8_r8.c: Regenerated.
2193*181254a7Smrg	* generated/maxloc1_16_i1.c: Regenerated.
2194*181254a7Smrg	* generated/maxloc1_16_i16.c: Regenerated.
2195*181254a7Smrg	* generated/maxloc1_16_i2.c: Regenerated.
2196*181254a7Smrg	* generated/maxloc1_16_i4.c: Regenerated.
2197*181254a7Smrg	* generated/maxloc1_16_i8.c: Regenerated.
2198*181254a7Smrg	* generated/maxloc1_16_r10.c: Regenerated.
2199*181254a7Smrg	* generated/maxloc1_16_r16.c: Regenerated.
2200*181254a7Smrg	* generated/maxloc1_16_r4.c: Regenerated.
2201*181254a7Smrg	* generated/maxloc1_16_r8.c: Regenerated.
2202*181254a7Smrg	* generated/maxloc1_4_i1.c: Regenerated.
2203*181254a7Smrg	* generated/maxloc1_4_i16.c: Regenerated.
2204*181254a7Smrg	* generated/maxloc1_4_i2.c: Regenerated.
2205*181254a7Smrg	* generated/maxloc1_4_i4.c: Regenerated.
2206*181254a7Smrg	* generated/maxloc1_4_i8.c: Regenerated.
2207*181254a7Smrg	* generated/maxloc1_4_r10.c: Regenerated.
2208*181254a7Smrg	* generated/maxloc1_4_r16.c: Regenerated.
2209*181254a7Smrg	* generated/maxloc1_4_r4.c: Regenerated.
2210*181254a7Smrg	* generated/maxloc1_4_r8.c: Regenerated.
2211*181254a7Smrg	* generated/maxloc1_8_i1.c: Regenerated.
2212*181254a7Smrg	* generated/maxloc1_8_i16.c: Regenerated.
2213*181254a7Smrg	* generated/maxloc1_8_i2.c: Regenerated.
2214*181254a7Smrg	* generated/maxloc1_8_i4.c: Regenerated.
2215*181254a7Smrg	* generated/maxloc1_8_i8.c: Regenerated.
2216*181254a7Smrg	* generated/maxloc1_8_r10.c: Regenerated.
2217*181254a7Smrg	* generated/maxloc1_8_r16.c: Regenerated.
2218*181254a7Smrg	* generated/maxloc1_8_r4.c: Regenerated.
2219*181254a7Smrg	* generated/maxloc1_8_r8.c: Regenerated.
2220*181254a7Smrg	* generated/maxval_i1.c: Regenerated.
2221*181254a7Smrg	* generated/maxval_i16.c: Regenerated.
2222*181254a7Smrg	* generated/maxval_i2.c: Regenerated.
2223*181254a7Smrg	* generated/maxval_i4.c: Regenerated.
2224*181254a7Smrg	* generated/maxval_i8.c: Regenerated.
2225*181254a7Smrg	* generated/maxval_r10.c: Regenerated.
2226*181254a7Smrg	* generated/maxval_r16.c: Regenerated.
2227*181254a7Smrg	* generated/maxval_r4.c: Regenerated.
2228*181254a7Smrg	* generated/maxval_r8.c: Regenerated.
2229*181254a7Smrg	* generated/minloc0_16_i1.c: Regenerated.
2230*181254a7Smrg	* generated/minloc0_16_i16.c: Regenerated.
2231*181254a7Smrg	* generated/minloc0_16_i2.c: Regenerated.
2232*181254a7Smrg	* generated/minloc0_16_i4.c: Regenerated.
2233*181254a7Smrg	* generated/minloc0_16_i8.c: Regenerated.
2234*181254a7Smrg	* generated/minloc0_16_r10.c: Regenerated.
2235*181254a7Smrg	* generated/minloc0_16_r16.c: Regenerated.
2236*181254a7Smrg	* generated/minloc0_16_r4.c: Regenerated.
2237*181254a7Smrg	* generated/minloc0_16_r8.c: Regenerated.
2238*181254a7Smrg	* generated/minloc0_4_i1.c: Regenerated.
2239*181254a7Smrg	* generated/minloc0_4_i16.c: Regenerated.
2240*181254a7Smrg	* generated/minloc0_4_i2.c: Regenerated.
2241*181254a7Smrg	* generated/minloc0_4_i4.c: Regenerated.
2242*181254a7Smrg	* generated/minloc0_4_i8.c: Regenerated.
2243*181254a7Smrg	* generated/minloc0_4_r10.c: Regenerated.
2244*181254a7Smrg	* generated/minloc0_4_r16.c: Regenerated.
2245*181254a7Smrg	* generated/minloc0_4_r4.c: Regenerated.
2246*181254a7Smrg	* generated/minloc0_4_r8.c: Regenerated.
2247*181254a7Smrg	* generated/minloc0_8_i1.c: Regenerated.
2248*181254a7Smrg	* generated/minloc0_8_i16.c: Regenerated.
2249*181254a7Smrg	* generated/minloc0_8_i2.c: Regenerated.
2250*181254a7Smrg	* generated/minloc0_8_i4.c: Regenerated.
2251*181254a7Smrg	* generated/minloc0_8_i8.c: Regenerated.
2252*181254a7Smrg	* generated/minloc0_8_r10.c: Regenerated.
2253*181254a7Smrg	* generated/minloc0_8_r16.c: Regenerated.
2254*181254a7Smrg	* generated/minloc0_8_r4.c: Regenerated.
2255*181254a7Smrg	* generated/minloc0_8_r8.c: Regenerated.
2256*181254a7Smrg	* generated/minloc1_16_i1.c: Regenerated.
2257*181254a7Smrg	* generated/minloc1_16_i16.c: Regenerated.
2258*181254a7Smrg	* generated/minloc1_16_i2.c: Regenerated.
2259*181254a7Smrg	* generated/minloc1_16_i4.c: Regenerated.
2260*181254a7Smrg	* generated/minloc1_16_i8.c: Regenerated.
2261*181254a7Smrg	* generated/minloc1_16_r10.c: Regenerated.
2262*181254a7Smrg	* generated/minloc1_16_r16.c: Regenerated.
2263*181254a7Smrg	* generated/minloc1_16_r4.c: Regenerated.
2264*181254a7Smrg	* generated/minloc1_16_r8.c: Regenerated.
2265*181254a7Smrg	* generated/minloc1_4_i1.c: Regenerated.
2266*181254a7Smrg	* generated/minloc1_4_i16.c: Regenerated.
2267*181254a7Smrg	* generated/minloc1_4_i2.c: Regenerated.
2268*181254a7Smrg	* generated/minloc1_4_i4.c: Regenerated.
2269*181254a7Smrg	* generated/minloc1_4_i8.c: Regenerated.
2270*181254a7Smrg	* generated/minloc1_4_r10.c: Regenerated.
2271*181254a7Smrg	* generated/minloc1_4_r16.c: Regenerated.
2272*181254a7Smrg	* generated/minloc1_4_r4.c: Regenerated.
2273*181254a7Smrg	* generated/minloc1_4_r8.c: Regenerated.
2274*181254a7Smrg	* generated/minloc1_8_i1.c: Regenerated.
2275*181254a7Smrg	* generated/minloc1_8_i16.c: Regenerated.
2276*181254a7Smrg	* generated/minloc1_8_i2.c: Regenerated.
2277*181254a7Smrg	* generated/minloc1_8_i4.c: Regenerated.
2278*181254a7Smrg	* generated/minloc1_8_i8.c: Regenerated.
2279*181254a7Smrg	* generated/minloc1_8_r10.c: Regenerated.
2280*181254a7Smrg	* generated/minloc1_8_r16.c: Regenerated.
2281*181254a7Smrg	* generated/minloc1_8_r4.c: Regenerated.
2282*181254a7Smrg	* generated/minloc1_8_r8.c: Regenerated.
2283*181254a7Smrg	* generated/minval_i1.c: Regenerated.
2284*181254a7Smrg	* generated/minval_i16.c: Regenerated.
2285*181254a7Smrg	* generated/minval_i2.c: Regenerated.
2286*181254a7Smrg	* generated/minval_i4.c: Regenerated.
2287*181254a7Smrg	* generated/minval_i8.c: Regenerated.
2288*181254a7Smrg	* generated/minval_r10.c: Regenerated.
2289*181254a7Smrg	* generated/minval_r16.c: Regenerated.
2290*181254a7Smrg	* generated/minval_r4.c: Regenerated.
2291*181254a7Smrg	* generated/minval_r8.c: Regenerated.
2292*181254a7Smrg	* generated/product_c10.c: Regenerated.
2293*181254a7Smrg	* generated/product_c16.c: Regenerated.
2294*181254a7Smrg	* generated/product_c4.c: Regenerated.
2295*181254a7Smrg	* generated/product_c8.c: Regenerated.
2296*181254a7Smrg	* generated/product_i1.c: Regenerated.
2297*181254a7Smrg	* generated/product_i16.c: Regenerated.
2298*181254a7Smrg	* generated/product_i2.c: Regenerated.
2299*181254a7Smrg	* generated/product_i4.c: Regenerated.
2300*181254a7Smrg	* generated/product_i8.c: Regenerated.
2301*181254a7Smrg	* generated/product_r10.c: Regenerated.
2302*181254a7Smrg	* generated/product_r16.c: Regenerated.
2303*181254a7Smrg	* generated/product_r4.c: Regenerated.
2304*181254a7Smrg	* generated/product_r8.c: Regenerated.
2305*181254a7Smrg	* generated/sum_c10.c: Regenerated.
2306*181254a7Smrg	* generated/sum_c16.c: Regenerated.
2307*181254a7Smrg	* generated/sum_c4.c: Regenerated.
2308*181254a7Smrg	* generated/sum_c8.c: Regenerated.
2309*181254a7Smrg	* generated/sum_i1.c: Regenerated.
2310*181254a7Smrg	* generated/sum_i16.c: Regenerated.
2311*181254a7Smrg	* generated/sum_i2.c: Regenerated.
2312*181254a7Smrg	* generated/sum_i4.c: Regenerated.
2313*181254a7Smrg	* generated/sum_i8.c: Regenerated.
2314*181254a7Smrg	* generated/sum_r10.c: Regenerated.
2315*181254a7Smrg	* generated/sum_r16.c: Regenerated.
2316*181254a7Smrg	* generated/sum_r4.c: Regenerated.
2317*181254a7Smrg	* generated/sum_r8.c: Regenerated.
2318*181254a7Smrg
2319*181254a7Smrg2008-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
2320*181254a7Smrg
2321*181254a7Smrg	PR libfortran/34670
2322*181254a7Smrg	* m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
2323*181254a7Smrg	(u_name):  New macro for the upper case name of the intrinsic.
2324*181254a7Smrg	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
2325*181254a7Smrg	bounds checking and rank check, depending on
2326*181254a7Smrg	compile_options.bounds_check.
2327*181254a7Smrg	(`m'name`'rtype_qual`_'atype_code):  Likewise.
2328*181254a7Smrg	(`s'name`'rtype_qual`_'atype_code):  Likewise.
2329*181254a7Smrg	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
2330*181254a7Smrg	bounds checking and rank check, depending on
2331*181254a7Smrg	compile_options.bounds_check.
2332*181254a7Smrg	(`m'name`'rtype_qual`_'atype_code):  Likewise.
2333*181254a7Smrg	(`s'name`'rtype_qual`_'atype_code):  Likewise.
2334*181254a7Smrg	* generated/all_l16.c: Regenerated.
2335*181254a7Smrg	* generated/all_l4.c: Regenerated.
2336*181254a7Smrg	* generated/all_l8.c: Regenerated.
2337*181254a7Smrg	* generated/any_l16.c: Regenerated.
2338*181254a7Smrg	* generated/any_l4.c: Regenerated.
2339*181254a7Smrg	* generated/any_l8.c: Regenerated.
2340*181254a7Smrg	* generated/count_16_l16.c: Regenerated.
2341*181254a7Smrg	* generated/count_16_l4.c: Regenerated.
2342*181254a7Smrg	* generated/count_16_l8.c: Regenerated.
2343*181254a7Smrg	* generated/count_4_l16.c: Regenerated.
2344*181254a7Smrg	* generated/count_4_l4.c: Regenerated.
2345*181254a7Smrg	* generated/count_4_l8.c: Regenerated.
2346*181254a7Smrg	* generated/count_8_l16.c: Regenerated.
2347*181254a7Smrg	* generated/count_8_l4.c: Regenerated.
2348*181254a7Smrg	* generated/count_8_l8.c: Regenerated.
2349*181254a7Smrg	* generated/maxloc0_16_i1.c: Regenerated.
2350*181254a7Smrg	* generated/maxloc0_16_i16.c: Regenerated.
2351*181254a7Smrg	* generated/maxloc0_16_i2.c: Regenerated.
2352*181254a7Smrg	* generated/maxloc0_16_i4.c: Regenerated.
2353*181254a7Smrg	* generated/maxloc0_16_i8.c: Regenerated.
2354*181254a7Smrg	* generated/maxloc0_16_r10.c: Regenerated.
2355*181254a7Smrg	* generated/maxloc0_16_r16.c: Regenerated.
2356*181254a7Smrg	* generated/maxloc0_16_r4.c: Regenerated.
2357*181254a7Smrg	* generated/maxloc0_16_r8.c: Regenerated.
2358*181254a7Smrg	* generated/maxloc0_4_i1.c: Regenerated.
2359*181254a7Smrg	* generated/maxloc0_4_i16.c: Regenerated.
2360*181254a7Smrg	* generated/maxloc0_4_i2.c: Regenerated.
2361*181254a7Smrg	* generated/maxloc0_4_i4.c: Regenerated.
2362*181254a7Smrg	* generated/maxloc0_4_i8.c: Regenerated.
2363*181254a7Smrg	* generated/maxloc0_4_r10.c: Regenerated.
2364*181254a7Smrg	* generated/maxloc0_4_r16.c: Regenerated.
2365*181254a7Smrg	* generated/maxloc0_4_r4.c: Regenerated.
2366*181254a7Smrg	* generated/maxloc0_4_r8.c: Regenerated.
2367*181254a7Smrg	* generated/maxloc0_8_i1.c: Regenerated.
2368*181254a7Smrg	* generated/maxloc0_8_i16.c: Regenerated.
2369*181254a7Smrg	* generated/maxloc0_8_i2.c: Regenerated.
2370*181254a7Smrg	* generated/maxloc0_8_i4.c: Regenerated.
2371*181254a7Smrg	* generated/maxloc0_8_i8.c: Regenerated.
2372*181254a7Smrg	* generated/maxloc0_8_r10.c: Regenerated.
2373*181254a7Smrg	* generated/maxloc0_8_r16.c: Regenerated.
2374*181254a7Smrg	* generated/maxloc0_8_r4.c: Regenerated.
2375*181254a7Smrg	* generated/maxloc0_8_r8.c: Regenerated.
2376*181254a7Smrg	* generated/maxloc1_16_i1.c: Regenerated.
2377*181254a7Smrg	* generated/maxloc1_16_i16.c: Regenerated.
2378*181254a7Smrg	* generated/maxloc1_16_i2.c: Regenerated.
2379*181254a7Smrg	* generated/maxloc1_16_i4.c: Regenerated.
2380*181254a7Smrg	* generated/maxloc1_16_i8.c: Regenerated.
2381*181254a7Smrg	* generated/maxloc1_16_r10.c: Regenerated.
2382*181254a7Smrg	* generated/maxloc1_16_r16.c: Regenerated.
2383*181254a7Smrg	* generated/maxloc1_16_r4.c: Regenerated.
2384*181254a7Smrg	* generated/maxloc1_16_r8.c: Regenerated.
2385*181254a7Smrg	* generated/maxloc1_4_i1.c: Regenerated.
2386*181254a7Smrg	* generated/maxloc1_4_i16.c: Regenerated.
2387*181254a7Smrg	* generated/maxloc1_4_i2.c: Regenerated.
2388*181254a7Smrg	* generated/maxloc1_4_i4.c: Regenerated.
2389*181254a7Smrg	* generated/maxloc1_4_i8.c: Regenerated.
2390*181254a7Smrg	* generated/maxloc1_4_r10.c: Regenerated.
2391*181254a7Smrg	* generated/maxloc1_4_r16.c: Regenerated.
2392*181254a7Smrg	* generated/maxloc1_4_r4.c: Regenerated.
2393*181254a7Smrg	* generated/maxloc1_4_r8.c: Regenerated.
2394*181254a7Smrg	* generated/maxloc1_8_i1.c: Regenerated.
2395*181254a7Smrg	* generated/maxloc1_8_i16.c: Regenerated.
2396*181254a7Smrg	* generated/maxloc1_8_i2.c: Regenerated.
2397*181254a7Smrg	* generated/maxloc1_8_i4.c: Regenerated.
2398*181254a7Smrg	* generated/maxloc1_8_i8.c: Regenerated.
2399*181254a7Smrg	* generated/maxloc1_8_r10.c: Regenerated.
2400*181254a7Smrg	* generated/maxloc1_8_r16.c: Regenerated.
2401*181254a7Smrg	* generated/maxloc1_8_r4.c: Regenerated.
2402*181254a7Smrg	* generated/maxloc1_8_r8.c: Regenerated.
2403*181254a7Smrg	* generated/maxval_i1.c: Regenerated.
2404*181254a7Smrg	* generated/maxval_i16.c: Regenerated.
2405*181254a7Smrg	* generated/maxval_i2.c: Regenerated.
2406*181254a7Smrg	* generated/maxval_i4.c: Regenerated.
2407*181254a7Smrg	* generated/maxval_i8.c: Regenerated.
2408*181254a7Smrg	* generated/maxval_r10.c: Regenerated.
2409*181254a7Smrg	* generated/maxval_r16.c: Regenerated.
2410*181254a7Smrg	* generated/maxval_r4.c: Regenerated.
2411*181254a7Smrg	* generated/maxval_r8.c: Regenerated.
2412*181254a7Smrg	* generated/minloc0_16_i1.c: Regenerated.
2413*181254a7Smrg	* generated/minloc0_16_i16.c: Regenerated.
2414*181254a7Smrg	* generated/minloc0_16_i2.c: Regenerated.
2415*181254a7Smrg	* generated/minloc0_16_i4.c: Regenerated.
2416*181254a7Smrg	* generated/minloc0_16_i8.c: Regenerated.
2417*181254a7Smrg	* generated/minloc0_16_r10.c: Regenerated.
2418*181254a7Smrg	* generated/minloc0_16_r16.c: Regenerated.
2419*181254a7Smrg	* generated/minloc0_16_r4.c: Regenerated.
2420*181254a7Smrg	* generated/minloc0_16_r8.c: Regenerated.
2421*181254a7Smrg	* generated/minloc0_4_i1.c: Regenerated.
2422*181254a7Smrg	* generated/minloc0_4_i16.c: Regenerated.
2423*181254a7Smrg	* generated/minloc0_4_i2.c: Regenerated.
2424*181254a7Smrg	* generated/minloc0_4_i4.c: Regenerated.
2425*181254a7Smrg	* generated/minloc0_4_i8.c: Regenerated.
2426*181254a7Smrg	* generated/minloc0_4_r10.c: Regenerated.
2427*181254a7Smrg	* generated/minloc0_4_r16.c: Regenerated.
2428*181254a7Smrg	* generated/minloc0_4_r4.c: Regenerated.
2429*181254a7Smrg	* generated/minloc0_4_r8.c: Regenerated.
2430*181254a7Smrg	* generated/minloc0_8_i1.c: Regenerated.
2431*181254a7Smrg	* generated/minloc0_8_i16.c: Regenerated.
2432*181254a7Smrg	* generated/minloc0_8_i2.c: Regenerated.
2433*181254a7Smrg	* generated/minloc0_8_i4.c: Regenerated.
2434*181254a7Smrg	* generated/minloc0_8_i8.c: Regenerated.
2435*181254a7Smrg	* generated/minloc0_8_r10.c: Regenerated.
2436*181254a7Smrg	* generated/minloc0_8_r16.c: Regenerated.
2437*181254a7Smrg	* generated/minloc0_8_r4.c: Regenerated.
2438*181254a7Smrg	* generated/minloc0_8_r8.c: Regenerated.
2439*181254a7Smrg	* generated/minloc1_16_i1.c: Regenerated.
2440*181254a7Smrg	* generated/minloc1_16_i16.c: Regenerated.
2441*181254a7Smrg	* generated/minloc1_16_i2.c: Regenerated.
2442*181254a7Smrg	* generated/minloc1_16_i4.c: Regenerated.
2443*181254a7Smrg	* generated/minloc1_16_i8.c: Regenerated.
2444*181254a7Smrg	* generated/minloc1_16_r10.c: Regenerated.
2445*181254a7Smrg	* generated/minloc1_16_r16.c: Regenerated.
2446*181254a7Smrg	* generated/minloc1_16_r4.c: Regenerated.
2447*181254a7Smrg	* generated/minloc1_16_r8.c: Regenerated.
2448*181254a7Smrg	* generated/minloc1_4_i1.c: Regenerated.
2449*181254a7Smrg	* generated/minloc1_4_i16.c: Regenerated.
2450*181254a7Smrg	* generated/minloc1_4_i2.c: Regenerated.
2451*181254a7Smrg	* generated/minloc1_4_i4.c: Regenerated.
2452*181254a7Smrg	* generated/minloc1_4_i8.c: Regenerated.
2453*181254a7Smrg	* generated/minloc1_4_r10.c: Regenerated.
2454*181254a7Smrg	* generated/minloc1_4_r16.c: Regenerated.
2455*181254a7Smrg	* generated/minloc1_4_r4.c: Regenerated.
2456*181254a7Smrg	* generated/minloc1_4_r8.c: Regenerated.
2457*181254a7Smrg	* generated/minloc1_8_i1.c: Regenerated.
2458*181254a7Smrg	* generated/minloc1_8_i16.c: Regenerated.
2459*181254a7Smrg	* generated/minloc1_8_i2.c: Regenerated.
2460*181254a7Smrg	* generated/minloc1_8_i4.c: Regenerated.
2461*181254a7Smrg	* generated/minloc1_8_i8.c: Regenerated.
2462*181254a7Smrg	* generated/minloc1_8_r10.c: Regenerated.
2463*181254a7Smrg	* generated/minloc1_8_r16.c: Regenerated.
2464*181254a7Smrg	* generated/minloc1_8_r4.c: Regenerated.
2465*181254a7Smrg	* generated/minloc1_8_r8.c: Regenerated.
2466*181254a7Smrg	* generated/minval_i1.c: Regenerated.
2467*181254a7Smrg	* generated/minval_i16.c: Regenerated.
2468*181254a7Smrg	* generated/minval_i2.c: Regenerated.
2469*181254a7Smrg	* generated/minval_i4.c: Regenerated.
2470*181254a7Smrg	* generated/minval_i8.c: Regenerated.
2471*181254a7Smrg	* generated/minval_r10.c: Regenerated.
2472*181254a7Smrg	* generated/minval_r16.c: Regenerated.
2473*181254a7Smrg	* generated/minval_r4.c: Regenerated.
2474*181254a7Smrg	* generated/minval_r8.c: Regenerated.
2475*181254a7Smrg	* generated/product_c10.c: Regenerated.
2476*181254a7Smrg	* generated/product_c16.c: Regenerated.
2477*181254a7Smrg	* generated/product_c4.c: Regenerated.
2478*181254a7Smrg	* generated/product_c8.c: Regenerated.
2479*181254a7Smrg	* generated/product_i1.c: Regenerated.
2480*181254a7Smrg	* generated/product_i16.c: Regenerated.
2481*181254a7Smrg	* generated/product_i2.c: Regenerated.
2482*181254a7Smrg	* generated/product_i4.c: Regenerated.
2483*181254a7Smrg	* generated/product_i8.c: Regenerated.
2484*181254a7Smrg	* generated/product_r10.c: Regenerated.
2485*181254a7Smrg	* generated/product_r16.c: Regenerated.
2486*181254a7Smrg	* generated/product_r4.c: Regenerated.
2487*181254a7Smrg	* generated/product_r8.c: Regenerated.
2488*181254a7Smrg	* generated/sum_c10.c: Regenerated.
2489*181254a7Smrg	* generated/sum_c16.c: Regenerated.
2490*181254a7Smrg	* generated/sum_c4.c: Regenerated.
2491*181254a7Smrg	* generated/sum_c8.c: Regenerated.
2492*181254a7Smrg	* generated/sum_i1.c: Regenerated.
2493*181254a7Smrg	* generated/sum_i16.c: Regenerated.
2494*181254a7Smrg	* generated/sum_i2.c: Regenerated.
2495*181254a7Smrg	* generated/sum_i4.c: Regenerated.
2496*181254a7Smrg	* generated/sum_i8.c: Regenerated.
2497*181254a7Smrg	* generated/sum_r10.c: Regenerated.
2498*181254a7Smrg	* generated/sum_r16.c: Regenerated.
2499*181254a7Smrg	* generated/sum_r4.c: Regenerated.
2500*181254a7Smrg	* generated/sum_r8.c: Regenerated.
2501*181254a7Smrg
2502*181254a7Smrg2008-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2503*181254a7Smrg
2504*181254a7Smrg	PR libfortran/34676
2505*181254a7Smrg	* io/list_read.c (next_char): Only save the EOF condition for later if
2506*181254a7Smrg	advance="no".
2507*181254a7Smrg
2508*181254a7Smrg2008-01-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
2509*181254a7Smrg
2510*181254a7Smrg	PR libfortran/34565
2511*181254a7Smrg	* io/io.h:  Adjust protoypes for open_internal(),
2512*181254a7Smrg	next_array_record() and init_loop_spec().
2513*181254a7Smrg	* io/list_read.c (next_char):  Use argument "finished"
2514*181254a7Smrg	of next_array_record to check for end on internal file.
2515*181254a7Smrg	* io/unit.c:  Calculate the offset for an array
2516*181254a7Smrg	internal file and supply this informatin to open_internal().
2517*181254a7Smrg	* io/unix.c (open_internal):  Set the offset for the internal
2518*181254a7Smrg	file on open.
2519*181254a7Smrg	* io/transfer.c (init_loop_spec):  Calculate the starting
2520*181254a7Smrg	record in case of negative strides.  Return size of 0 for
2521*181254a7Smrg	an empty array.
2522*181254a7Smrg	(next_array_record):  Use an extra flag to signal that the
2523*181254a7Smrg	array is finished.
2524*181254a7Smrg	(next_record_r):  Use the new flag to next_array_record().
2525*181254a7Smrg	(next_record_w):  Likewise.
2526*181254a7Smrg
2527*181254a7Smrg
2528*181254a7SmrgCopyright (C) 2008 Free Software Foundation, Inc.
2529*181254a7Smrg
2530*181254a7SmrgCopying and distribution of this file, with or without modification,
2531*181254a7Smrgare permitted in any medium without royalty provided the copyright
2532*181254a7Smrgnotice and this notice are preserved.
2533