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