xref: /netbsd-src/external/gpl3/gcc/dist/libgfortran/ChangeLog-2010 (revision 181254a7b1bdde6873432bffef2d2decc4b5c22f)
1*181254a7Smrg2010-12-10  Tobias Burnus  <burnus@net-b.de>
2*181254a7Smrg
3*181254a7Smrg	PR fortran/46540
4*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Honour
5*181254a7Smrg	--disable-libquadmath-support.
6*181254a7Smrg	* configure.ac: Handle --disable-libquadmath-support.
7*181254a7Smrg	* configure: Regenerate.
8*181254a7Smrg
9*181254a7Smrg2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
10*181254a7Smrg
11*181254a7Smrg	PR target/40125
12*181254a7Smrg	PR lto/46695
13*181254a7Smrg	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
14*181254a7Smrg	* Makefile.am (LTLDFLAGS): Use lt_host_flags.
15*181254a7Smrg	* aclocal.m4: Regenerate.
16*181254a7Smrg	* configure: Regenerate.
17*181254a7Smrg	* Makefile.in: Regenerate.
18*181254a7Smrg
19*181254a7Smrg2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
20*181254a7Smrg	    Tobias Burnus  <burnus@net-b.de>
21*181254a7Smrg
22*181254a7Smrg	PR fortran/32049
23*181254a7Smrg	* Makefile.am: Add missing pow_r16_i4.c, add transfer128.c,
24*181254a7Smrg	link libquadmath, if used.
25*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add.
26*181254a7Smrg	* configure.ac: Use it, touch spec file.
27*181254a7Smrg	* gfortran.map: Add pow_r16_i4 and
28*181254a7Smrg	transfer_(real,complex)128(,write) functions.
29*181254a7Smrg	* intrinsics/cshift0.c (cshift0): Handle __float128 type.
30*181254a7Smrg	* intrinsics/erfc_scaled_inc.c: Ditto.
31*181254a7Smrg	* intrinsics/pack_generic.c (pack): Ditto
32*181254a7Smrg	* intrinsics/spread_generic.c (spread): Ditto.
33*181254a7Smrg	* intrinsics/unpack_generic.c (unpack1): Ditto.
34*181254a7Smrg	* io/read.c (convert_real): Ditto.
35*181254a7Smrg	* io/transfer.c: Update comments.
36*181254a7Smrg	* io/transfer128.c: New file.
37*181254a7Smrg	* io/write_float.def (write_float): Handle __float128 type.
38*181254a7Smrg	* libgfortran.h: #include quadmath_weak.h, define __builtin_infq
39*181254a7Smrg	and nanq.
40*181254a7Smrg	* m4/mtype.m4: Handle __float128 type.
41*181254a7Smrg	* runtime/in_pack_generic.c (internal_pack): Ditto.
42*181254a7Smrg	* runtime/in_unpack_generic.c (internal_unpack): Ditto.
43*181254a7Smrg	* kinds-override.h: New file.
44*181254a7Smrg	* libgfortran.spec.in: Ditto.
45*181254a7Smrg	* generated/pow_r16_i4.c: Generated.
46*181254a7Smrg	* Makefile.in: Regenerate.
47*181254a7Smrg	* configure: Regenerate.
48*181254a7Smrg	* config.h: Regenerate.
49*181254a7Smrg	* bessel_r10.c: Regenerate.
50*181254a7Smrg	* bessel_r16.c: Regenerate.
51*181254a7Smrg	* bessel_r4.c: Regenerate.
52*181254a7Smrg	* bessel_r8.c: Regenerate.
53*181254a7Smrg	* exponent_r16.c: Regenerate.
54*181254a7Smrg	* fraction_r16.c: Regenerate.
55*181254a7Smrg	* nearest_r16.c: Regenerate.
56*181254a7Smrg	* norm2_r10.c: Regenerate.
57*181254a7Smrg	* norm2_r16.c: Regenerate.
58*181254a7Smrg	* norm2_r4.c: Regenerate.
59*181254a7Smrg	* norm2_r8.c: Regenerate.
60*181254a7Smrg	* rrspacing_r16.c: Regenerate.
61*181254a7Smrg	* set_exponent_r16.c: Regenerate.
62*181254a7Smrg	* spacing_r16.c: Regenerate.
63*181254a7Smrg
64*181254a7Smrg2010-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
65*181254a7Smrg
66*181254a7Smrg	* io/unix.c (struct unix_stream): Add st_dev and st_ino members.
67*181254a7Smrg	(fd_to_stream): Avoid unnecessary lseek() call, test isatty()
68*181254a7Smrg	last. Make a token effort to support block devices.
69*181254a7Smrg	(compare_file_filename): Use cached stat values.
70*181254a7Smrg	(find_file0): Likewise.
71*181254a7Smrg	(find_file): Likewise.
72*181254a7Smrg
73*181254a7Smrg2010-11-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
74*181254a7Smrg
75*181254a7Smrg	PR libgfortran/46373
76*181254a7Smrg	* io/transfer.c (data_transfer_init): Do not call flush_if_preconnected
77*181254a7Smrg	if this is an internal unit.
78*181254a7Smrg
79*181254a7Smrg2010-11-04  Janne Blomqvist  <jb@gcc.gnu.org>
80*181254a7Smrg
81*181254a7Smrg	PR libfortran/44931
82*181254a7Smrg	* io/inquire.c (inquire_via_unit): Use stream_ttyname() instead of
83*181254a7Smrg	calling ttyname() directly.
84*181254a7Smrg	* io/unix.h (unix_stream): Move struct to unix.c.
85*181254a7Smrg	* io/unix.c: Move struct unix_stream here.
86*181254a7Smrg	(stream_ttyname): Don't mark the argument as unused if it is used.
87*181254a7Smrg
88*181254a7Smrg2010-11-04  Janne Blomqvist  <jb@gcc.gnu.org>
89*181254a7Smrg
90*181254a7Smrg	* io/unix.h (struct unix_stream): Remove prot member.
91*181254a7Smrg	* io/unix.c: Remove PROT_READ and PROT_WRITE constants.
92*181254a7Smrg	(fd_to_stream): Remove prot from argument list, don't set prot.
93*181254a7Smrg	(open_external): Don't set prot flag.
94*181254a7Smrg	(input_stream): Remove prot from argument list.
95*181254a7Smrg	(output_stream): Likewise.
96*181254a7Smrg	(error_stream): Likewise.
97*181254a7Smrg
98*181254a7Smrg2010-11-03  Janne Blomqvist  <jb@gcc.gnu.org>
99*181254a7Smrg
100*181254a7Smrg	* io/unix.h: Remove empty_internal_buffer prototype.
101*181254a7Smrg	* io/unix.c (empty_internal_buffer): Remove unused function.
102*181254a7Smrg
103*181254a7Smrg2010-11-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
104*181254a7Smrg
105*181254a7Smrg	PR libgfortran/43899
106*181254a7Smrg	* runtime/error.c (generate_warning): New function to generate a run
107*181254a7Smrg	time warning message. Fix some whitespace.
108*181254a7Smrg	* libgfortran.h: Add prototype for new function.
109*181254a7Smrg	* io/list_read.c (nml_read_obj): Use new function to warn when a
110*181254a7Smrg	character namelist object is truncated.  Only warn if compiled
111*181254a7Smrg	with -fbounds-check.
112*181254a7Smrg
113*181254a7Smrg2010-11-02  Janne Blomqvist  <jb@gcc.gnu.org>
114*181254a7Smrg
115*181254a7Smrg	PR libfortran/45629
116*181254a7Smrg	* io/io.h: Remove setjmp.h include.
117*181254a7Smrg	(st_parameter_dt): Change last_char to int, remove eof_jump.
118*181254a7Smrg	* io/list_read.c (next_char): Return EOF instead of jumping.
119*181254a7Smrg	(unget_char): Use int to be able to handle EOF.
120*181254a7Smrg	(eat_spaces): Handle EOF return from next_char.
121*181254a7Smrg	(eat_line): Likewise.
122*181254a7Smrg	(eat_separator): Handle EOF return from next_char, eat_spaces,
123*181254a7Smrg	eat_line.
124*181254a7Smrg	(finish_separator): Likewise.
125*181254a7Smrg	(convert_integer): Likewise.
126*181254a7Smrg	(read_logical): Likewise.
127*181254a7Smrg	(read_integer): Likewise.
128*181254a7Smrg	(read_character): Likewise.
129*181254a7Smrg	(parse_real): Likewise.
130*181254a7Smrg	(read_complex): Likewise.
131*181254a7Smrg	(read_real): Likewise.
132*181254a7Smrg	(list_formatted_read_scalar): Likewise.
133*181254a7Smrg	(list_formatted_read): Likewise.
134*181254a7Smrg	(finish_list_read): Likewise.
135*181254a7Smrg	(nml_parse_qualifier): Likewise.
136*181254a7Smrg	(nml_match_name): Likewise.
137*181254a7Smrg	(nml_get_obj_data): Likewise.
138*181254a7Smrg	(namelist_read): Likewise.
139*181254a7Smrg	* io/transfer.c (data_transfer_init): Initialize last_char.
140*181254a7Smrg	(finalize_transfer): Remove jmp_buf setup.
141*181254a7Smrg
142*181254a7Smrg2010-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
143*181254a7Smrg
144*181254a7Smrg	PR libgfortran/46010
145*181254a7Smrg	* io/list_read.c (nml_parse_qualifier): Add additional conditions for
146*181254a7Smrg	setting the end index for loop specification. Fix some whitespace.
147*181254a7Smrg	* io/write.c (write_default_char4): Const-ify the source argument.
148*181254a7Smrg
149*181254a7Smrg2010-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
150*181254a7Smrg
151*181254a7Smrg	PR fortran/46007
152*181254a7Smrg	* m4/shape.m4 (shape_'rtype_kind`):  Use variable for rank.
153*181254a7Smrg	Allocate return array if unallocated.
154*181254a7Smrg	* generated/shape_i4.c:  Regenerated.
155*181254a7Smrg	* generated/shape_i8.c:  Regenerated.
156*181254a7Smrg	* generated/shape_i16.c:  Regenerated.
157*181254a7Smrg
158*181254a7Smrg2010-10-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
159*181254a7Smrg
160*181254a7Smrg	PR libgfortran/46079
161*181254a7Smrg	* runtime/stop.c (stop_numeric_f08): New function.
162*181254a7Smrg	(stop_numeric): Restore	to previous behavior.
163*181254a7Smrg	* gfortran.map: Add symbol _gfortran_stop_numeric_f08.
164*181254a7Smrg
165*181254a7Smrg2010-10-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
166*181254a7Smrg
167*181254a7Smrg	* io/io.h: Remove definition of the BT enumerator.
168*181254a7Smrg	* libgfortran.h: Replace GFC_DTYPE enumerator with BT.
169*181254a7Smrg	* intrinsics/iso_c_generated_procs.c: Likewise
170*181254a7Smrg	* intrinsics/date_and_time.c: Likewise.
171*181254a7Smrg	* intrinsics/iso_c_binding.c: Likewise.
172*181254a7Smrg	* io/list_read.c: Likewise.
173*181254a7Smrg	* io/transfer.c: Likewise.
174*181254a7Smrg	* io/write.c: Likewise.
175*181254a7Smrg
176*181254a7Smrg2010-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
177*181254a7Smrg
178*181254a7Smrg	PR fortran/20165
179*181254a7Smrg	PR fortran/31593
180*181254a7Smrg	PR fortran/43665
181*181254a7Smrg	* gfortran.map:  Add _gfortran_transfer_array_write,
182*181254a7Smrg	_gfortran_transfer_array_write, _gfortran_transfer_character_write,
183*181254a7Smrg	_gfortran_transfer_character_wide_write,
184*181254a7Smrg	_gfortran_transfer_complex_write,
185*181254a7Smrg	_gfortran_transfer_integer_write,
186*181254a7Smrg	_gfortran_transfer_logical_write and
187*181254a7Smrg	_gfortran_transfer_real_write.
188*181254a7Smrg	* io/transfer.c (transfer_integer_write):  Add prototype and
189*181254a7Smrg	function body as call to the original function, without the
190*181254a7Smrg	_write.
191*181254a7Smrg	(transfer_real_write):  Likewise.
192*181254a7Smrg	(transfer_logical_write):  Likewise.
193*181254a7Smrg	(transfer_character_write):  Likewise.
194*181254a7Smrg	(transfer_character_wide_write):  Likewise.
195*181254a7Smrg	(transfer_complex_write):  Likewise.
196*181254a7Smrg	(transfer_array_write):  Likewise.
197*181254a7Smrg
198*181254a7Smrg2010-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
199*181254a7Smrg
200*181254a7Smrg	PR libfortran/45710
201*181254a7Smrg	* io/write.c (namelist_write_newline): Pad character array internal
202*181254a7Smrg	unit records with spaces.
203*181254a7Smrg
204*181254a7Smrg2010-09-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
205*181254a7Smrg
206*181254a7Smrg	PR libfortran/45723
207*181254a7Smrg	* io/open.c (new_unit): On POSITION_APPEND don't seek if file length is
208*181254a7Smrg	zero.
209*181254a7Smrg
210*181254a7Smrg2010-09-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
211*181254a7Smrg
212*181254a7Smrg	PR libfortran/45532
213*181254a7Smrg	* io/list_read.c (nml_get_obj_data): Set first_nl if the previous
214*181254a7Smrg	is NULL.
215*181254a7Smrg
216*181254a7Smrg2010-09-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
217*181254a7Smrg
218*181254a7Smrg	* intrinsics/pack_generic.c (pack): Add missing return and fix
219*181254a7Smrg	whitespace.
220*181254a7Smrg	* intrinsics/cshift0.c (cshift0): Fix whitespace.
221*181254a7Smrg	* intrinsics/unpack_generic.c (unpack1, unpack0): Fix whitespace.
222*181254a7Smrg
223*181254a7Smrg2010-09-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
224*181254a7Smrg
225*181254a7Smrg	* runtime/string.c (compare0): Remove.
226*181254a7Smrg	(find_option): Inline string comparison
227*181254a7Smrg
228*181254a7Smrg2010-09-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
229*181254a7Smrg
230*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE,
231*181254a7Smrg	LIBGFOR_CHECK_FOR_BROKEN_ISNAN,
232*181254a7Smrg	LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Remove.
233*181254a7Smrg	* configure.ac: Remove above checks.
234*181254a7Smrg	* libgfortran.h: Define isnan, isinf, isfinite, isnormal and
235*181254a7Smrg	signbit in terms of the respective built-ins.
236*181254a7Smrg	* io/write_float.def (WRITE_FLOAT): Use signbit() instead of
237*181254a7Smrg	__builtin_signbit().
238*181254a7Smrg	* intrinsics/c99_functions.c (tgamma): Use isnan() instead of
239*181254a7Smrg	__builtin_isnan().
240*181254a7Smrg	* config.h.in: Regenerate.
241*181254a7Smrg	* configure: Regenerate.
242*181254a7Smrg
243*181254a7Smrg2010-09-06  Tobias Burnus  <burnus@net-b.de>
244*181254a7Smrg
245*181254a7Smrg	PR fortran/38282
246*181254a7Smrg	* gfortran.map: Add new iany, iall and iparity intrinsics.
247*181254a7Smrg	* Makefile.am: Ditto.
248*181254a7Smrg	* m4/iany.m4: New.
249*181254a7Smrg	* m4/iall.m4: New.
250*181254a7Smrg	* m4/iparity.m4: New.
251*181254a7Smrg	* Makefile.in: Regenerate.
252*181254a7Smrg	* generated/iall_i1.c: Generate.
253*181254a7Smrg	* generated/iall_i2.c: Generate.
254*181254a7Smrg	* generated/iall_i4.c: Generate.
255*181254a7Smrg	* generated/iall_i8.c: Generate.
256*181254a7Smrg	* generated/iall_i16.c: Generate.
257*181254a7Smrg	* generated/iany_i1.c: Generate.
258*181254a7Smrg	* generated/iany_i2.c: Generate.
259*181254a7Smrg	* generated/iany_i4.c: Generate.
260*181254a7Smrg	* generated/iany_i8.c: Generate.
261*181254a7Smrg	* generated/iany_i16.c: Generate.
262*181254a7Smrg	* generated/iparity_i1.c: Generate.
263*181254a7Smrg	* generated/iparity_i2.c: Generate.
264*181254a7Smrg	* generated/iparity_i4.c: Generate.
265*181254a7Smrg	* generated/iparity_i8.c: Generate.
266*181254a7Smrg	* generated/iparity_i16.c: Generate.
267*181254a7Smrg
268*181254a7Smrg2010-09-05  Tobias Burnus  <burnus@net-b.de>
269*181254a7Smrg
270*181254a7Smrg	* m4/bessel.m4: Fix printf warning by casting to (long int).
271*181254a7Smrg	* generated/bessel_r4.c:Regenerated.
272*181254a7Smrg	* generated/bessel_r8.c: Regenerated.
273*181254a7Smrg	* generated/bessel_r10.c: Regenerated.
274*181254a7Smrg	* generated/bessel_r16.c: Regenerated.
275*181254a7Smrg
276*181254a7Smrg2010-09-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
277*181254a7Smrg
278*181254a7Smrg	* intrinsics/execute_command_line.c: New file.
279*181254a7Smrg	* gfortran.map (_gfortran_execute_command_line_i4,
280*181254a7Smrg	_gfortran_execute_command_line_i8): New symbols.
281*181254a7Smrg	* Makefile.am: Add new file intrinsics/execute_command_line.c.
282*181254a7Smrg	* Makefile.in: Regenerated.
283*181254a7Smrg
284*181254a7Smrg2010-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
285*181254a7Smrg
286*181254a7Smrg	* m4/mtype.m4 (upcase, hasmathfunc, mathfunc_macro): New macros.
287*181254a7Smrg	* m4/fraction.m4: Use new macros to support quad-float types.
288*181254a7Smrg	* m4/set_exponent.m4: Likewise.
289*181254a7Smrg	* m4/spacing.m4: Likewise.
290*181254a7Smrg	* m4/exponent.m4: Likewise.
291*181254a7Smrg	* m4/nearest.m4: Likewise.
292*181254a7Smrg	* m4/norm2.m4: Likewise.
293*181254a7Smrg	* m4/bessel.m4: Likewise.
294*181254a7Smrg	* m4/rrspacing.m4: Likewise.
295*181254a7Smrg	* generated/bessel_r4.c:Regenerated.
296*181254a7Smrg	* generated/bessel_r8.c: Regenerated.
297*181254a7Smrg	* generated/bessel_r10.c: Regenerated.
298*181254a7Smrg	* generated/bessel_r16.c: Regenerated.
299*181254a7Smrg	* generated/exponent_r4.c: Regenerated.
300*181254a7Smrg	* generated/exponent_r8.c: Regenerated.
301*181254a7Smrg	* generated/exponent_r10.c: Regenerated.
302*181254a7Smrg	* generated/exponent_r16.c: Regenerated.
303*181254a7Smrg	* generated/fraction_r4.c: Regenerated.
304*181254a7Smrg	* generated/fraction_r8.c: Regenerated.
305*181254a7Smrg	* generated/fraction_r10.c: Regenerated.
306*181254a7Smrg	* generated/fraction_r16.c: Regenerated.
307*181254a7Smrg	* generated/nearest_r4.c: Regenerated.
308*181254a7Smrg	* generated/nearest_r8.c: Regenerated.
309*181254a7Smrg	* generated/nearest_r10.c: Regenerated.
310*181254a7Smrg	* generated/nearest_r16.c: Regenerated.
311*181254a7Smrg	* generated/norm2_r4.c: Regenerated.
312*181254a7Smrg	* generated/norm2_r8.c: Regenerated.
313*181254a7Smrg	* generated/norm2_r10.c: Regenerated.
314*181254a7Smrg	* generated/norm2_r16.c: Regenerated.
315*181254a7Smrg	* generated/rrspacing_r4.c: Regenerated.
316*181254a7Smrg	* generated/rrspacing_r8.c: Regenerated.
317*181254a7Smrg	* generated/rrspacing_r10.c: Regenerated.
318*181254a7Smrg	* generated/rrspacing_r16.c: Regenerated.
319*181254a7Smrg	* generated/set_exponent_r4.c: Regenerated.
320*181254a7Smrg	* generated/set_exponent_r8.c: Regenerated.
321*181254a7Smrg	* generated/set_exponent_r10.c: Regenerated.
322*181254a7Smrg	* generated/set_exponent_r16.c: Regenerated.
323*181254a7Smrg	* generated/spacing_r4.c: Regenerated.
324*181254a7Smrg	* generated/spacing_r8.c: Regenerated.
325*181254a7Smrg	* generated/spacing_r10.c: Regenerated.
326*181254a7Smrg	* generated/spacing_r16.c: Regenerated.
327*181254a7Smrg
328*181254a7Smrg2010-08-28  Tobias Burnus  <burnus@net-b.de>
329*181254a7Smrg
330*181254a7Smrg	* mk-kinds-h.sh: Disable REAL(16) if REAL(10) is available.
331*181254a7Smrg
332*181254a7Smrg2010-08-27  Tobias Burnus  <burnus@net-b.de>
333*181254a7Smrg
334*181254a7Smrg	PR fortran/33197
335*181254a7Smrg	* libgfortran/m4/ifunction.m4 (FINISH_ARRAY_FUNCTION,
336*181254a7Smrg	ARRAY_FUNCTION): Allow expression after loop.
337*181254a7Smrg	* libgfortran/m4/norm2.m4: New for _gfortran_norm2_r{4,8,10,16}.
338*181254a7Smrg	* libgfortran/m4/parity.m4: New for _gfortran_parity_l{1,2,4,8,16}.
339*181254a7Smrg	* libgfortran/gfortran.map: Add new functions.
340*181254a7Smrg	* libgfortran/Makefile.am: Ditto.
341*181254a7Smrg	* libgfortran/m4/minloc1.m4: Add empty argument for ARRAY_FUNCTION.
342*181254a7Smrg	* libgfortran/m4/maxloc1.m4: Ditto.
343*181254a7Smrg	* libgfortran/m4/all.m4: Ditto.
344*181254a7Smrg	* libgfortran/m4/minval.m4: Ditto.
345*181254a7Smrg	* libgfortran/m4/maxval.m4: Ditto.
346*181254a7Smrg	* libgfortran/m4/count.m4: Ditto.
347*181254a7Smrg	* libgfortran/m4/product.m4: Ditto.
348*181254a7Smrg	* libgfortran/m4/any.m4: Ditto.
349*181254a7Smrg	* Makefile.in: Regenerated.
350*181254a7Smrg	* generated/minval_r8.c: Regenerated.
351*181254a7Smrg	* generated/maxloc1_4_r8.c: Regenerated.
352*181254a7Smrg	* generated/minloc1_16_r16.c: Regenerated.
353*181254a7Smrg	* generated/norm2_r4.c: Regenerated.
354*181254a7Smrg	* generated/sum_i8.c: Regenerated.
355*181254a7Smrg	* generated/parity_l2.c: Regenerated.
356*181254a7Smrg	* generated/any_l16.c: Regenerated.
357*181254a7Smrg	* generated/maxval_i2.c: Regenerated.
358*181254a7Smrg	* generated/any_l2.c: Regenerated.
359*181254a7Smrg	* generated/product_r4.c: Regenerated.
360*181254a7Smrg	* generated/maxloc1_8_i4.c: Regenerated.
361*181254a7Smrg	* generated/parity_l16.c: Regenerated.
362*181254a7Smrg	* generated/all_l1.c: Regenerated.
363*181254a7Smrg	* generated/product_i2.c: Regenerated.
364*181254a7Smrg	* generated/minloc1_8_r16.c: Regenerated.
365*181254a7Smrg	* generated/maxloc1_8_r16.c: Regenerated.
366*181254a7Smrg	* generated/sum_r16.c: Regenerated.
367*181254a7Smrg	* generated/sum_i1.c: Regenerated.
368*181254a7Smrg	* generated/minloc1_4_r8.c: Regenerated.
369*181254a7Smrg	* generated/maxloc1_16_r16.c: Regenerated.
370*181254a7Smrg	* generated/minloc1_16_i4.c: Regenerated.
371*181254a7Smrg	* generated/maxloc1_16_i4.c: Regenerated.
372*181254a7Smrg	* generated/maxval_r16.c: Regenerated.
373*181254a7Smrg	* generated/product_c10.c: Regenerated.
374*181254a7Smrg	* generated/minloc1_8_i4.c: Regenerated.
375*181254a7Smrg	* generated/all_l2.c: Regenerated.
376*181254a7Smrg	* generated/product_c4.c: Regenerated.
377*181254a7Smrg	* generated/sum_r4.c: Regenerated.
378*181254a7Smrg	* generated/all_l16.c: Regenerated.
379*181254a7Smrg	* generated/minloc1_16_r10.c: Regenerated.
380*181254a7Smrg	* generated/sum_i2.c: Regenerated.
381*181254a7Smrg	* generated/maxloc1_8_r8.c: Regenerated.
382*181254a7Smrg	* generated/minval_i16.c: Regenerated.
383*181254a7Smrg	* generated/parity_l4.c: Regenerated.
384*181254a7Smrg	* generated/maxval_i4.c: Regenerated.
385*181254a7Smrg	* generated/any_l4.c: Regenerated.
386*181254a7Smrg	* generated/minval_i8.c: Regenerated.
387*181254a7Smrg	* generated/maxloc1_4_i8.c: Regenerated.
388*181254a7Smrg	* generated/minloc1_4_i16.c: Regenerated.
389*181254a7Smrg	* generated/maxloc1_4_i16.c: Regenerated.
390*181254a7Smrg	* generated/minloc1_8_r10.c: Regenerated.
391*181254a7Smrg	* generated/product_i4.c: Regenerated.
392*181254a7Smrg	* generated/maxloc1_8_r10.c: Regenerated.
393*181254a7Smrg	* generated/sum_c16.c: Regenerated.
394*181254a7Smrg	* generated/minloc1_16_r8.c: Regenerated.
395*181254a7Smrg	* generated/maxloc1_16_r8.c: Regenerated.
396*181254a7Smrg	* generated/count_4_l.c: Regenerated.
397*181254a7Smrg	* generated/sum_r10.c: Regenerated.
398*181254a7Smrg	* generated/count_8_l.c: Regenerated.
399*181254a7Smrg	* generated/sum_c4.c: Regenerated.
400*181254a7Smrg	* generated/maxloc1_16_r10.c: Regenerated.
401*181254a7Smrg	* generated/minloc1_8_r8.c: Regenerated.
402*181254a7Smrg	* generated/maxval_r10.c: Regenerated.
403*181254a7Smrg	* generated/minval_i1.c: Regenerated.
404*181254a7Smrg	* generated/maxloc1_4_i1.c: Regenerated.
405*181254a7Smrg	* generated/minloc1_4_i8.c: Regenerated.
406*181254a7Smrg	* generated/product_i16.c: Regenerated.
407*181254a7Smrg	* generated/all_l4.c: Regenerated.
408*181254a7Smrg	* generated/norm2_r16.c: Regenerated.
409*181254a7Smrg	* generated/minval_r4.c: Regenerated.
410*181254a7Smrg	* generated/maxloc1_4_r4.c: Regenerated.
411*181254a7Smrg	* generated/sum_i4.c: Regenerated.
412*181254a7Smrg	* generated/maxval_r8.c: Regenerated.
413*181254a7Smrg	* generated/norm2_r8.c: Regenerated.
414*181254a7Smrg	* generated/minloc1_4_i1.c: Regenerated.
415*181254a7Smrg	* generated/minval_r16.c: Regenerated.
416*181254a7Smrg	* generated/minval_i2.c: Regenerated.
417*181254a7Smrg	* generated/maxloc1_4_i2.c: Regenerated.
418*181254a7Smrg	* generated/product_r8.c: Regenerated.
419*181254a7Smrg	* generated/maxloc1_8_i8.c: Regenerated.
420*181254a7Smrg	* generated/sum_c10.c: Regenerated.
421*181254a7Smrg	* generated/minloc1_4_r16.c: Regenerated.
422*181254a7Smrg	* generated/maxloc1_4_r16.c: Regenerated.
423*181254a7Smrg	* generated/count_1_l.c: Regenerated.
424*181254a7Smrg	* generated/minloc1_4_r4.c: Regenerated.
425*181254a7Smrg	* generated/minloc1_16_i8.c: Regenerated.
426*181254a7Smrg	* generated/maxloc1_16_i8.c: Regenerated.
427*181254a7Smrg	* generated/minloc1_4_i2.c: Regenerated.
428*181254a7Smrg	* generated/maxloc1_8_i1.c: Regenerated.
429*181254a7Smrg	* generated/minloc1_8_i8.c: Regenerated.
430*181254a7Smrg	* generated/product_r16.c: Regenerated.
431*181254a7Smrg	* generated/product_c8.c: Regenerated.
432*181254a7Smrg	* generated/sum_r8.c: Regenerated.
433*181254a7Smrg	* generated/norm2_r10.c: Regenerated.
434*181254a7Smrg	* generated/minloc1_16_i16.c: Regenerated.
435*181254a7Smrg	* generated/maxloc1_8_r4.c: Regenerated.
436*181254a7Smrg	* generated/minloc1_16_i1.c: Regenerated.
437*181254a7Smrg	* generated/maxloc1_16_i1.c: Regenerated.
438*181254a7Smrg	* generated/minval_r10.c: Regenerated.
439*181254a7Smrg	* generated/count_16_l.c: Regenerated.
440*181254a7Smrg	* generated/parity_l8.c: Regenerated.
441*181254a7Smrg	* generated/minloc1_8_i1.c: Regenerated.
442*181254a7Smrg	* generated/minval_i4.c: Regenerated.
443*181254a7Smrg	* generated/maxloc1_4_i4.c: Regenerated.
444*181254a7Smrg	* generated/maxloc1_8_i2.c: Regenerated.
445*181254a7Smrg	* generated/maxval_i8.c: Regenerated.
446*181254a7Smrg	* generated/any_l8.c: Regenerated.
447*181254a7Smrg	* generated/minloc1_4_r10.c: Regenerated.
448*181254a7Smrg	* generated/minloc1_8_i16.c: Regenerated.
449*181254a7Smrg	* generated/maxloc1_4_r10.c: Regenerated.
450*181254a7Smrg	* generated/maxloc1_8_i16.c: Regenerated.
451*181254a7Smrg	* generated/minloc1_16_r4.c: Regenerated.
452*181254a7Smrg	* generated/maxloc1_16_r4.c: Regenerated.
453*181254a7Smrg	* generated/product_i8.c: Regenerated.
454*181254a7Smrg	* generated/sum_i16.c: Regenerated.
455*181254a7Smrg	* generated/count_2_l.c: Regenerated.
456*181254a7Smrg	* generated/maxloc1_16_i16.c: Regenerated.
457*181254a7Smrg	* generated/minloc1_8_r4.c: Regenerated.
458*181254a7Smrg	* generated/sum_c8.c: Regenerated.
459*181254a7Smrg	* generated/minloc1_16_i2.c: Regenerated.
460*181254a7Smrg	* generated/maxloc1_16_i2.c: Regenerated.
461*181254a7Smrg	* generated/parity_l1.c: Regenerated.
462*181254a7Smrg	* generated/maxval_i16.c: Regenerated.
463*181254a7Smrg	* generated/maxval_i1.c: Regenerated.
464*181254a7Smrg	* generated/minloc1_4_i4.c: Regenerated.
465*181254a7Smrg	* generated/any_l1.c: Regenerated.
466*181254a7Smrg	* generated/minloc1_8_i2.c: Regenerated.
467*181254a7Smrg	* generated/product_c16.c: Regenerated.
468*181254a7Smrg	* generated/product_r10.c: Regenerated.
469*181254a7Smrg	* generated/product_i1.c: Regenerated.
470*181254a7Smrg	* generated/all_l8.c: Regenerated.
471*181254a7Smrg	* generated/maxval_r4.c: Regenerated.
472*181254a7Smrg
473*181254a7Smrg2010-08-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
474*181254a7Smrg
475*181254a7Smrg	* config/fpu-387.h (has_sse): Remove cw_sse, unused.
476*181254a7Smrg	Use fixed-length asm.
477*181254a7Smrg
478*181254a7Smrg2010-08-23  Tobias Burnus  <burnus@net-b.de>
479*181254a7Smrg
480*181254a7Smrg	PR fortran/45323
481*181254a7Smrg	* io/write.c (nml_write_obj, namelist_write): Cast argument
482*181254a7Smrg	of toupper to int.
483*181254a7Smrg
484*181254a7Smrg2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
485*181254a7Smrg
486*181254a7Smrg	* configure: Regenerate.
487*181254a7Smrg
488*181254a7Smrg2010-08-19  Tobias Burnus  <burnus@net-b.de>
489*181254a7Smrg
490*181254a7Smrg	PR fortran/36158
491*181254a7Smrg	PR fortran/33197
492*181254a7Smrg	* m4/bessel.m4: Implement bessel_jn and bessel_yn.
493*181254a7Smrg	* gfortran.map: Add the generated bessel_jn_r{4,8,10,16}
494*181254a7Smrg	and bessel_yn_r{4,8,10,16}.
495*181254a7Smrg	* Makefile.am: Add bessel.m4.
496*181254a7Smrg	* Makefile.in: Regenerated.
497*181254a7Smrg	* generated/bessel_r4.c: Generated.
498*181254a7Smrg	* generated/bessel_r16.c: Generated.
499*181254a7Smrg	* generated/bessel_r8.c: Generated.
500*181254a7Smrg	* generated/bessel_r10.c: Generated.
501*181254a7Smrg
502*181254a7Smrg2010-08-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
503*181254a7Smrg
504*181254a7Smrg	PR libfortran/45108
505*181254a7Smrg	* io/list_read.c (namelist_read): If namelist reading fails, use
506*181254a7Smrg	generate_error and then continue the read loop.
507*181254a7Smrg
508*181254a7Smrg2010-08-17  Jakub Jelinek  <jakub@redhat.com>
509*181254a7Smrg
510*181254a7Smrg	PR fortran/45308
511*181254a7Smrg	* intrinsics/date_and_time.c (date_and_time): Pass __{zone,time,date}_len
512*181254a7Smrg	instead of {ZONE,TIME,DATE}_LEN as second argument to fstrcpy.  Drop
513*181254a7Smrg	asserts.  Adjust comment to the F2003 wording from the F95 wording.
514*181254a7Smrg
515*181254a7Smrg2010-08-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
516*181254a7Smrg
517*181254a7Smrg	PR libfortran/44931
518*181254a7Smrg	* io/inquire.c (inquire_via_unit): Add special case for __MINGW32__ to
519*181254a7Smrg	return special file names CONIN$, CONOUT$, and CONERR$.
520*181254a7Smrg
521*181254a7Smrg2010-08-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
522*181254a7Smrg
523*181254a7Smrg	PR libfortran/45143
524*181254a7Smrg	* io/format.c: Remove fnode storage structure definitions, moving these
525*181254a7Smrg	to format.h. (parse_format_list): Add check for data descriptors,
526*181254a7Smrg	taking care of nested formats. Adjust calling parameters to pass a
527*181254a7Smrg	check flag. (parse_format): Likewise.
528*181254a7Smrg	* io/format.h: Add structures moved from format.c.
529*181254a7Smrg
530*181254a7Smrg2010-08-02  Janne Blomqvist  <jb@gcc.gnu.org>
531*181254a7Smrg
532*181254a7Smrg	* io/unit.c (update_position): Don't update the position flag for
533*181254a7Smrg	non-seekable files, check for stell() error.
534*181254a7Smrg
535*181254a7Smrg2010-08-01  Janne Blomqvist  <jb@gcc.gnu.org>
536*181254a7Smrg
537*181254a7Smrg	* io/unix.c (file_exists): Use access(2) instead of stat(2) to
538*181254a7Smrg	test file existence.
539*181254a7Smrg	(fallback_access): Move up in file, implement F_OK.
540*181254a7Smrg
541*181254a7Smrg2010-07-31  David Edelsohn  <edelsohn@gnu.org>
542*181254a7Smrg
543*181254a7Smrg	* io/inquire.c: Include io.h before string.h.
544*181254a7Smrg
545*181254a7Smrg2010-07-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
546*181254a7Smrg
547*181254a7Smrg	PR libfortran/44931
548*181254a7Smrg	* io/inquire.c (inquire_via_unit): Use ttyname to return actual device
549*181254a7Smrg	file name for stdin, stdout, and stderr.  If ttyname does not succeed
550*181254a7Smrg	fall back to default names for these units. Include string.h to allow
551*181254a7Smrg	using strlen function.
552*181254a7Smrg	* unix.c: Remove typedef of unix_stream structure, move to unix.h.
553*181254a7Smrg	* unix.h: Add typedef of unix_stream structure so that it is
554*181254a7Smrg	accessible to inquire.c.
555*181254a7Smrg
556*181254a7Smrg2010-07-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
557*181254a7Smrg
558*181254a7Smrg	PR libfortran/44953
559*181254a7Smrg	* io/unix.c (mem_alloc_w4): Return gfc_char4_t instead of char type
560*181254a7Smrg	pointer. (mem_write4): Remove cast to gfc_char4_t.
561*181254a7Smrg	* io/transfer.c (write_block): Use a gfc_char4_t pointer.
562*181254a7Smrg	(memset4): New helper function. (next_record_w): Use new helper
563*181254a7Smrg	function rather than sset for internal units.  Don't attempt to pad
564*181254a7Smrg	with spaces if it is not needed.
565*181254a7Smrg	* io/unix.h: Update prototype for mem_alloc_w4.
566*181254a7Smrg	* io/write.c (memset4): Use gfc_char4_t pointer and chracter type.
567*181254a7Smrg	Don't use multiply by 4 to compute offset. (memcpy4): Likewise.
568*181254a7Smrg	(write_default_char4): Use a gfc_char4_t pointer and update memset4
569*181254a7Smrg	and memcpy calls. (write_a): Likewise. (write_l): Likewise.
570*181254a7Smrg	(write_boz): Likewise. (write_decimal): Likewise. (write_x): Likewise.
571*181254a7Smrg	(write_char): Add support for character(kind=4) internal units that
572*181254a7Smrg	was previously missed. (write_integer): Use a gfc_char4_t pointer and
573*181254a7Smrg	update memset4 and memcpy calls. (write_character): Likewise.
574*181254a7Smrg	(write_separator): Add support for character(kind=4) internal units
575*181254a7Smrg	that was previously missed.
576*181254a7Smrg	* write_float.def (output_float): Use a gfc_char4_t pointer and
577*181254a7Smrg	update memset4 and memcpy calls. (write_infnan): Likewise.
578*181254a7Smrg	(output_float_FMT_G_): Likewise.
579*181254a7Smrg
580*181254a7Smrg2010-07-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
581*181254a7Smrg
582*181254a7Smrg	PR libfortran/37077
583*181254a7Smrg	* io/read.c (read_default_char4): Add support for reading into a
584*181254a7Smrg	kind-4 character variable from a character(kind=4) internal unit.
585*181254a7Smrg	* io/io.h (read_block_form4): Add prototype.
586*181254a7Smrg	* io/unit.c (get_internal_unit): Add call to fbuf_init.
587*181254a7Smrg	(free_internal_unit): Add call to fbuf_destroy. (get_unit): Fix
588*181254a7Smrg	whitespace.
589*181254a7Smrg	* io/transfer.c (read_sf_internal): Use fbuf_alloc to allocate a string
590*181254a7Smrg	to recieve the wide characters translated to single byte chracters.
591*181254a7Smrg	(read_block_form): Fix whitespace. (read_block_form4): New function to
592*181254a7Smrg	read from a character(kind=4) internal unit into a character(kind=4)
593*181254a7Smrg	variable. (read_block_direct): Fix whitespace. (write_block): Fix
594*181254a7Smrg	whitespace. (formatted_transfer_scalar_read): Likewise.
595*181254a7Smrg	(formatted_transfer_scalar_write): Likewise.
596*181254a7Smrg	* io/write.c (write_character): Add support for list directed write of
597*181254a7Smrg	a kind=1 character string to a character(kind=4) internal unit.
598*181254a7Smrg
599*181254a7Smrg2010-07-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
600*181254a7Smrg
601*181254a7Smrg	PR libfortran/44934
602*181254a7Smrg	* io/file_pos.c (st_endfile): Correctly set unit flags for form.
603*181254a7Smrg	* io/transfer.c (data_transfer_init): Fix indentation of whitespace.
604*181254a7Smrg
605*181254a7Smrg2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
606*181254a7Smrg
607*181254a7Smrg	PR libfortran/37077
608*181254a7Smrg	* io/read.c: Fix comment.
609*181254a7Smrg	* io/io.h (is_char4_unit): New macro.
610*181254a7Smrg	* io/unit.c (get_internal_unit): Call new function open_internal4.
611*181254a7Smrg	* io/unix.c (mem_alloc_r4): New function. (mem_alloc_w4): New function.
612*181254a7Smrg	(mem_read4): New function, temporary stub. (mem_write4): New function.
613*181254a7Smrg	(open_internal4): New function to set stream pointers to use the new
614*181254a7Smrg	mem functions.
615*181254a7Smrg	* io/transfer.c (write_block): Use new mem_alloc_w4 to access internal
616*181254a7Smrg	units of kind=4.
617*181254a7Smrg	* io/unix.h: Add prototypes for open_internal4, mem_alloc_w4, and
618*181254a7Smrg	mem_alloc_r4.
619*181254a7Smrg	* io/write.c (memset4): New helper function. (memcpy4): New helper
620*181254a7Smrg	function. (write_default_char4): Use new helper functions.
621*181254a7Smrg	(write_a): Likewise. (write_l): Likewise. (write_boz): Likewise.
622*181254a7Smrg	(write_decimal): Likewise. (write_x): Likewise.
623*181254a7Smrg	(write_integer): Likewise.
624*181254a7Smrg	* io/write_float.def (output_float): Add code blocks to handle internal
625*181254a7Smrg	unit kind=4 output utilizing gfc_char4_t pointers. (write_infnan): Use
626*181254a7Smrg	new helper functions. (OUTPUT_FLOAT_FMT_G): Update this macro likewise.
627*181254a7Smrg
628*181254a7Smrg2010-07-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
629*181254a7Smrg
630*181254a7Smrg	* config/fpu-387.h [__sun__ && __svr4__] Include <signal.h>,
631*181254a7Smrg	<ucontext.h>.
632*181254a7Smrg	(sigill_caught): New.
633*181254a7Smrg	(sigill_hdlr): New function
634*181254a7Smrg	(has_sse) [__sun__ && __svr4__]: Check if SSE instruction causes
635*181254a7Smrg	SIGILL.
636*181254a7Smrg
637*181254a7Smrg2010-07-11  Kai Tietz  <kai.tietz@onevision.com>
638*181254a7Smrg
639*181254a7Smrg	PR libfortran/44698
640*181254a7Smrg	* io/unix.c (flush_buf): Add _commit for WIN32.
641*181254a7Smrg
642*181254a7Smrg2010-06-28  Tobias Burnus  <burnus@net-b.de>
643*181254a7Smrg
644*181254a7Smrg	PR fortran/43298
645*181254a7Smrg	* list_read.c (parse_real): Do not pass (..) on for NAN(..).
646*181254a7Smrg	* read.c (convert_real): Fix comment about NAN/INF.
647*181254a7Smrg
648*181254a7Smrg2010-07-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
649*181254a7Smrg
650*181254a7Smrg	* configure.ac (gfortran_use_symver): Only check for Sun-style symbol
651*181254a7Smrg	versioning on Solaris 2.
652*181254a7Smrg	* configure: Regenerate.
653*181254a7Smrg
654*181254a7Smrg2010-07-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
655*181254a7Smrg
656*181254a7Smrg	* configure.ac: Check for Sun symbol versioning.
657*181254a7Smrg	* configure: Regenerate.
658*181254a7Smrg
659*181254a7Smrg	* Makefile.am [LIBGFOR_USE_SYMVER]: Protect version_arg with
660*181254a7Smrg	LIBGFOR_USE_SYMVER_GNU.
661*181254a7Smrg	Add version_dep.
662*181254a7Smrg	[LIBGFOR_USE_SYMVER_SUN]: Handle Sun symbol versioning.
663*181254a7Smrg	[!LIBGFOR_USE_SYMVER]: Add version_dep.
664*181254a7Smrg	(libgfortran_la_DEPENDENCIES): Set to $(version_dep).
665*181254a7Smrg	* Makefile.in: Regenerate.
666*181254a7Smrg
667*181254a7Smrg2010-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
668*181254a7Smrg
669*181254a7Smrg	PR libfortran/43298
670*181254a7Smrg	* io/read.c: Add code to parse and read Inf, Infinity, NaN, and Nan with
671*181254a7Smrg	optional parenthesis.
672*181254a7Smrg
673*181254a7Smrg2010-06-28  Tobias Burnus  <burnus@net-b.de>
674*181254a7Smrg
675*181254a7Smrg	PR fortran/43298
676*181254a7Smrg	* list_read.c (parse_real, read_real): Support NAN(alphanum).
677*181254a7Smrg
678*181254a7Smrg2010-06-25  Tobias Burnus  <burnus@net-b.de>
679*181254a7Smrg
680*181254a7Smrg	* intrinsics/selected_real_kind.f90
681*181254a7Smrg	(_gfortran_selected_real_kind2008): Add function.
682*181254a7Smrg	(_gfortran_selected_real_kind): Stub which calls
683*181254a7Smrg	_gfortran_selected_real_kind2008.
684*181254a7Smrg	* gfortran.map (GFORTRAN_1.4): Add
685*181254a7Smrg	_gfortran_selected_real_kind2008.
686*181254a7Smrg	* mk-srk-inc.sh: Save also RADIX.
687*181254a7Smrg
688*181254a7Smrg2010-06-25  Tobias Burnus  <burnus@net-b.de>
689*181254a7Smrg
690*181254a7Smrg	* runtime/compile_options.c (init_compile_options): Update
691*181254a7Smrg	compile_options.allow_std for GFC_STD_F2008_OBS.
692*181254a7Smrg	* io/transfer.c (formatted_transfer_scalar_read,
693*181254a7Smrg	formatted_transfer_scalar_write): Fix allow_std check.
694*181254a7Smrg	* io/list_read.c (nml_parse_qualifier): Ditto.
695*181254a7Smrg
696*181254a7Smrg2010-06-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
697*181254a7Smrg
698*181254a7Smrg	PR libfortran/44477
699*181254a7Smrg	* io/file_pos.c (st_endfile): Add check for ENDFILE when file is
700*181254a7Smrg	already positioned after the EOF marker. Use find_or_create_unit
701*181254a7Smrg	instead of find_unit. If unit is not connected, connect it and create
702*181254a7Smrg	the file with default settings.
703*181254a7Smrg	* io/transfer.c (data_transfer_init):  Add check for attempted READ or
704*181254a7Smrg	WRITE when file is already positioned after the EOF marker.
705*181254a7Smrg
706*181254a7Smrg2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
707*181254a7Smrg
708*181254a7Smrg	* intrinsics/selected_char_kind.c (selected_char_kind): Fix
709*181254a7Smrg	return value for ISO_10646.
710*181254a7Smrg
711*181254a7Smrg2010-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
712*181254a7Smrg
713*181254a7Smrg	* mk-kinds-h.sh: Define GFC_REAL_*_LITERAL_SUFFIX and
714*181254a7Smrg	GFC_REAL_*_LITERAL macros for each kind.
715*181254a7Smrg	* intrinsics/cpu_time.c (cpu_time_4, cpu_time_8, cpu_time_10,
716*181254a7Smrg	cpu_time_16): Use them.
717*181254a7Smrg	* intrinsics/random.c (rnumber_4, rnumber_8, rnumber_10,
718*181254a7Smrg	rnumber_16): Likewise.
719*181254a7Smrg
720*181254a7Smrg2010-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
721*181254a7Smrg
722*181254a7Smrg	* intrinsics/system_clock.c (system_clock_4, system_clock_8):
723*181254a7Smrg	Undefine TCK.
724*181254a7Smrg
725*181254a7Smrg2010-06-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
726*181254a7Smrg
727*181254a7Smrg	PR libfortran/34670
728*181254a7Smrg	* intrinsics/date_and_time.c:  Replace assert with runtime_error
729*181254a7Smrg	when VALUE is too small.
730*181254a7Smrg
731*181254a7Smrg2010-05-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
732*181254a7Smrg
733*181254a7Smrg	PR fortran/43851
734*181254a7Smrg	* runtime/stop.c (stop_string): Make sure nothing is emitted for
735*181254a7Smrg	blank stop.
736*181254a7Smrg
737*181254a7Smrg2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
738*181254a7Smrg
739*181254a7Smrg	PR fortran/43851
740*181254a7Smrg	* runtime/stop.c (error_stop_numeric): New function and updated comment.
741*181254a7Smrg	Add declaration for stop_numeric and remove declaration for stop_string.
742*181254a7Smrg	(stop_string): Use for blank STOP.
743*181254a7Smrg	(stop_numeric): Remove use of special -1 stop code.
744*181254a7Smrg	* runtime/pause.c (do_pause): Use stop_string for blank stop.
745*181254a7Smrg	(pause_numeric): Remove use of special -1 pause code.
746*181254a7Smrg	* gfortran.map: Add new symbol to run-time library.
747*181254a7Smrg	* libgfortran.h: Move declaration for stop_string to here to make
748*181254a7Smrg	function visible for do_pause. Remove declaration for stop_numeric.
749*181254a7Smrg
750*181254a7Smrg2010-05-08  Janne Blomqvist  <jb@gcc.gnu.org>
751*181254a7Smrg
752*181254a7Smrg	* io/unix.h (mem_alloc_r): Fix typo to reduce visibility.
753*181254a7Smrg
754*181254a7Smrg2010-05-07  Janne Blomqvist  <jb@gcc.gnu.org>
755*181254a7Smrg
756*181254a7Smrg	* libgfortran.h (free_mem): Remove prototype.
757*181254a7Smrg	* runtime/memory.c (free_mem): Remove function.
758*181254a7Smrg	* intrinsics/date_and_time.c (secnds): Replace free_mem() with
759*181254a7Smrg	free().
760*181254a7Smrg	* io/fbuf.c (fbuf_destroy): Likewise.
761*181254a7Smrg	* io/format.c (free_format_hash_table): Likewise.
762*181254a7Smrg	(save_parsed_format): Likewise.
763*181254a7Smrg	(free_format_data): Likewise.
764*181254a7Smrg	* io/list_read.c (free_saved): Likewise.
765*181254a7Smrg	(free_line): Likewise.
766*181254a7Smrg	(nml_touch_nodes): Likewise.
767*181254a7Smrg	(nml_read_obj): Likewise
768*181254a7Smrg	* io/lock.c (free_ionml): Likewise.
769*181254a7Smrg	* io/open.c (new_unit): Likewise.
770*181254a7Smrg	(already_open): Likewise.
771*181254a7Smrg	* io/unit.c (destroy_unit_mutex): Likewise.
772*181254a7Smrg	(free_internal_unit): Likewise.
773*181254a7Smrg	(close_unit_1): Likewise.
774*181254a7Smrg	* io/unix.c (raw_close): Likewise.
775*181254a7Smrg	(buf_close): Likewise.
776*181254a7Smrg	(mem_close): Likewise.
777*181254a7Smrg	(tempfile): Likewise.
778*181254a7Smrg	* io/write.c (nml_write_obj): Likewise.
779*181254a7Smrg	* io/write_float.def (output_float_FMT_G_##): Likewise.
780*181254a7Smrg	* runtime/error.c (show_locus): Likewise.
781*181254a7Smrg
782*181254a7Smrg2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
783*181254a7Smrg
784*181254a7Smrg	PR other/43620
785*181254a7Smrg	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
786*181254a7Smrg	* configure: Regenerate.
787*181254a7Smrg	* Makefile.in: Regenerate.
788*181254a7Smrg
789*181254a7Smrg2010-04-30  Kai Tietz  <kai.tietz@onevision.com>
790*181254a7Smrg
791*181254a7Smrg	PR/43844
792*181254a7Smrg	* io/unix.c (raw_truncate): Explicit cast from integer-scalar
793*181254a7Smrg	to pointer.
794*181254a7Smrg	(tempfile): Use for mingw GetTempPath and avoid double slash
795*181254a7Smrg	for path.
796*181254a7Smrg
797*181254a7Smrg2010-04-24  Kai Tietz  <kai.tietz@onevision.com>
798*181254a7Smrg
799*181254a7Smrg	PR/43844
800*181254a7Smrg	* io/unix.c (tempfile): Correct logic for mktemp case.
801*181254a7Smrg
802*181254a7Smrg2010-04-06  Tobias Burnus  <burnus@net-b.de>
803*181254a7Smrg
804*181254a7Smrg	PR fortran/39997
805*181254a7Smrg	* runtime/stop.c (error_stop_string): New function.
806*181254a7Smrg	* gfortran.map (_gfortran_error_stop_string): Add.
807*181254a7Smrg
808*181254a7Smrg2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
809*181254a7Smrg
810*181254a7Smrg	* Makefile.in: Regenerate.
811*181254a7Smrg	* aclocal.m4: Regenerate.
812*181254a7Smrg
813*181254a7Smrg2010-04-01  Janne Blomqvist  <jb@gcc.gnu.org>
814*181254a7Smrg
815*181254a7Smrg	PR libfortran/43605
816*181254a7Smrg	* io/intrinsics.c (gf_ftell): New function, seek to correct offset.
817*181254a7Smrg	(ftell): Call gf_ftell.
818*181254a7Smrg	(FTELL_SUB): Likewise.
819*181254a7Smrg
820*181254a7Smrg2010-04-01  Paul Thomas  <pault@gcc.gnu.org>
821*181254a7Smrg
822*181254a7Smrg	* io/transfer.c : Update copyright.
823*181254a7Smrg	* io/unix.c : ditto
824*181254a7Smrg	* io/read.c : ditto
825*181254a7Smrg	* io/io.h : ditto
826*181254a7Smrg	* io/unix.h : ditto
827*181254a7Smrg	* io/inquire.c : ditto
828*181254a7Smrg	* io/format.c : ditto
829*181254a7Smrg	* io/list_read.c : ditto
830*181254a7Smrg	* runtime/error.c : ditto
831*181254a7Smrg	* libgfortran.h : ditto
832*181254a7Smrg	* intrinsics/date_and_time.c: ditto
833*181254a7Smrg	* intrinsics/args.c : ditto
834*181254a7Smrg
835*181254a7Smrg2010-04-01  Janne Blomqvist  <jb@gcc.gnu.org>
836*181254a7Smrg
837*181254a7Smrg	PR libfortran/43605
838*181254a7Smrg	* io/intrinsics.c (ftell): Reset fbuf, correct offset.
839*181254a7Smrg	(FTELL_SUB): Likewise.
840*181254a7Smrg
841*181254a7Smrg2010-03-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
842*181254a7Smrg
843*181254a7Smrg	PR libfortran/43265
844*181254a7Smrg	* io/transfer.c (next_record_r): Only call hit_eof for specific
845*181254a7Smrg	conditions when an EOF is encountered.
846*181254a7Smrg
847*181254a7Smrg2010-03-29  Tobias Burnus  <burnus@net-b.de>
848*181254a7Smrg
849*181254a7Smrg	PR fortran/43551
850*181254a7Smrg	* io/unix.c (buf_write): Set physical_offset after lseek.
851*181254a7Smrg
852*181254a7Smrg2010-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
853*181254a7Smrg
854*181254a7Smrg	PR libfortran/43517
855*181254a7Smrg	* io/read.c (read_x): Return if seen EOR condition.
856*181254a7Smrg
857*181254a7Smrg2010-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
858*181254a7Smrg
859*181254a7Smrg	PR fortran/43409
860*181254a7Smrg	* io/io.h: Fix type of size in st_parameter_inquire structure.
861*181254a7Smrg
862*181254a7Smrg2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
863*181254a7Smrg
864*181254a7Smrg	PR fortran/43409
865*181254a7Smrg	* io/unix.h: Add prototype for new function to return file size.
866*181254a7Smrg	* io/unix.c (file_size): New function.
867*181254a7Smrg	* io/inquire.c (inquire_via_unit): Use new function.
868*181254a7Smrg	(inquire_via_filename): Use new function.
869*181254a7Smrg
870*181254a7Smrg2010-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
871*181254a7Smrg
872*181254a7Smrg	* io/transfer.c (read_sf_internal): Remove stray function declaration
873*181254a7Smrg	used during debugging.
874*181254a7Smrg
875*181254a7Smrg2010-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
876*181254a7Smrg
877*181254a7Smrg	PR libfortran/43265
878*181254a7Smrg	* io/io.h: Delete prototype for read_sf, making it static.
879*181254a7Smrg	* io/read.c (read_x): Modify to call hit_eof if PAD="no".
880*181254a7Smrg	* io/transfer.c (read_sf_internal): New static function extracted from
881*181254a7Smrg	read_sf for use on internal units only. Handle empty string case.
882*181254a7Smrg	(read_sf): New factoring of this function, make it static.  Add special
883*181254a7Smrg	conditions for EOF based on ADVANCE="no", PAD="no", and whether any
884*181254a7Smrg	bytes have been previously read from the record.
885*181254a7Smrg	(read_block_form): Modify to call read_sf or read_sf_internal.
886*181254a7Smrg	(next_record_r): Add a done flag similar to next_record_w. Call hit_eof
887*181254a7Smrg	if internal array unit next record returns finished, meaning an EOF was
888*181254a7Smrg	found and not done, ie not the last record expected.  For external
889*181254a7Smrg	units call hit_eof if item_count is 1 or there are no pending spaces.
890*181254a7Smrg	(next_record): Update call to next_record_r.
891*181254a7Smrg
892*181254a7Smrg2010-03-12  Kai Tietz  <kai.tietz@onevision.com>
893*181254a7Smrg
894*181254a7Smrg	PR/42950
895*181254a7Smrg	* io/format.c (parse_format_list): Add to ERROR, WARNING,
896*181254a7Smrg	SILENT enumerators NOTIFICATION_ prefix.
897*181254a7Smrg	* runtime/error.c (notification_std): Likewise.
898*181254a7Smrg	* libgfortran.h (notification): Likewise.
899*181254a7Smrg	(GFC_LARGEST_BUF): Check for HAVE_GFC_INTEGER_16.
900*181254a7Smrg
901*181254a7Smrg2010-03-11  Tobias Burnus  <burnus@net-b.de>
902*181254a7Smrg
903*181254a7Smrg	PR fortran/43228
904*181254a7Smrg	* io/list_read.c (nml_parse_qualifier): Disable expanded_read
905*181254a7Smrg	for array sections.
906*181254a7Smrg
907*181254a7Smrg2010-03-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
908*181254a7Smrg
909*181254a7Smrg	PR libfortran/43320
910*181254a7Smrg	* io/transfer.c (next_record_r): Add hit_eof based on item_count
911*181254a7Smrg	condition.
912*181254a7Smrg
913*181254a7Smrg2010-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
914*181254a7Smrg
915*181254a7Smrg	PR libfortran/43265
916*181254a7Smrg	* io/read.c: Include fbuf.h and unix.h to enable lower level I/O for
917*181254a7Smrg	read_x. (read_x): Replace the use of read_sf with equivalent lower level
918*181254a7Smrg	I/O, eliminating unneeded code and handling EOF and EOR conditions.
919*181254a7Smrg	* io/io.h: Revise prototype for read_sf.
920*181254a7Smrg	* io/transfer.c (read_sf): Delete no_error parameter and all uses of it.
921*181254a7Smrg	(read_block_form): Likewise.
922*181254a7Smrg	(next_record_r): Delete wrong code call to hit_eof.
923*181254a7Smrg
924*181254a7Smrg2010-03-08  Kai TIetz  <kai.tietz@onevision.com>
925*181254a7Smrg
926*181254a7Smrg	PR/42950
927*181254a7Smrg	* libgfortran.h (_POSIX): Define if __MINGW32__ is defined.
928*181254a7Smrg	(gfc_printf): Define to gnu_printf for __MINGW32__ case,
929*181254a7Smrg	otherwise to __printf__.
930*181254a7Smrg	(gfc_strtof,gfc_strtod,gfc_strtold): Define for mingw case
931*181254a7Smrg	to POSIX compatible converter functions.
932*181254a7Smrg	(runtime_error): Use instead gfc_printf as formatter
933*181254a7Smrg	attribute name.
934*181254a7Smrg	(runtime_error_at): Likewise.
935*181254a7Smrg	(runtime_warning_at): Likewise.
936*181254a7Smrg	(st_printf): Likewise.
937*181254a7Smrg	* intrinsics/date_and_time.c (localtime_r): Undefine
938*181254a7Smrg	possible defined macro.
939*181254a7Smrg	(gmtime_r): Likewise.
940*181254a7Smrg	* io/read.c (convert_real): Use gfc_strtof, gfc_strtod,
941*181254a7Smrg	and gfc_strtold.
942*181254a7Smrg
943*181254a7Smrg2010-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
944*181254a7Smrg
945*181254a7Smrg	PR libfortran/43155
946*181254a7Smrg	* io/transfer.c (require_type): Subtract one from item_count for output
947*181254a7Smrg	of error message.  Add comment before formatted_transfer function
948*181254a7Smrg	explaining why the item_count is off by one.
949*181254a7Smrg
950*181254a7Smrg2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
951*181254a7Smrg
952*181254a7Smrg	* io/write_float.def (WRITE_FLOAT): Use __builtin_signbit.
953*181254a7Smrg
954*181254a7Smrg2010-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
955*181254a7Smrg
956*181254a7Smrg	* io/list_read.c (list_formatted_read_scalar): Remove duplicate code.
957*181254a7Smrg
958*181254a7Smrg2010-02-09  Tobias Burnus  <burnus@net-b.de>
959*181254a7Smrg
960*181254a7Smrg	PR fortran/42996
961*181254a7Smrg	* intrinsics/args.c (get_command_argument_i4): Always return
962*181254a7Smrg	commandline-argument length for length parameter.
963*181254a7Smrg
964*181254a7Smrg2010-02-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
965*181254a7Smrg
966*181254a7Smrg	PR libfortran/42742
967*181254a7Smrg	* io/format.c (reset_fnode_counters): Use the correct pointer to the
968*181254a7Smrg	head of the fnode list. (parse_format): Remove previous hack that set
969*181254a7Smrg	limit on size of format string for caching.
970*181254a7Smrg
971*181254a7Smrg2010-02-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
972*181254a7Smrg
973*181254a7Smrg	PR libfortran
974*181254a7Smrg	* io/transfer.c (read_sf): Handle EOR and EOF conditions for
975*181254a7Smrg	ADVANCE="no" with PAD="yes" or PAD="no".
976*181254a7Smrg
977*181254a7Smrg2010-02-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
978*181254a7Smrg
979*181254a7Smrg	PR libfortran/42901
980*181254a7Smrg	* io/list_read.c (nml_get_obj_data): Add new qualifier flag, clean up
981*181254a7Smrg	code, and adjust logic to set namelist info pointer correctly for array
982*181254a7Smrg	qualifiers of derived type components.
983*181254a7Smrg
984*181254a7Smrg2010-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
985*181254a7Smrg
986*181254a7Smrg	PR libfortran/42742
987*181254a7Smrg	* io/format.c (parse_format): Set limit on size of format strings that
988*181254a7Smrg	will be cached.
989*181254a7Smrg
990*181254a7Smrg2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
991*181254a7Smrg
992*181254a7Smrg	* configure: Regenerate.
993*181254a7Smrg
994*181254a7Smrg2010-01-03  Janne Blomqvist  <jb@gcc.gnu.org>
995*181254a7Smrg
996*181254a7Smrg	PR libfortran/42420
997*181254a7Smrg	* io/unix.c: Defines for MINGW stat and fstat.
998*181254a7Smrg	(gfstat_t): New typedef.
999*181254a7Smrg	(id_from_fd): Use gfstat_t instead of struct stat.
1000*181254a7Smrg	(fd_to_stream): Likewise.
1001*181254a7Smrg	(compare_file_filename): Likewise.
1002*181254a7Smrg	(find_file): Likewise.
1003*181254a7Smrg	(file_exists): Likewise.
1004*181254a7Smrg	(inquire_sequential): Likewise.
1005*181254a7Smrg	(inquire_direct): Likewise.
1006*181254a7Smrg	(inquire_formatted): Likewise.
1007*181254a7Smrg
1008*181254a7Smrg
1009*181254a7SmrgCopyright (C) 2010 Free Software Foundation, Inc.
1010*181254a7Smrg
1011*181254a7SmrgCopying and distribution of this file, with or without modification,
1012*181254a7Smrgare permitted in any medium without royalty provided the copyright
1013*181254a7Smrgnotice and this notice are preserved.
1014