Fix handling of temporary files.
[official-gcc.git] / libgfortran / ChangeLog
blob46f2cf4185324a207c0539da5c41100e7f249c59
1 2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>
3         * config.h.in: Regenerated.
4         * configure: Regenerated.
5         * configure.ac: Add checks for getegid and __secure_getenv.
6         * io/unix.c (P_tmpdir): Fallback definition for macro.
7         (tempfile_open): New function.
8         (tempfile): Use secure_getenv, call tempfile_open to try each
9         directory in turn.
10         * libgfortran.h (DEFAULT_TMPDIR): Remove macro.
11         (secure_getenv): New macro/prototype.
12         * runtime/environ.c (secure_getenv): New function.
13         (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR.
14         * runtime/main.c (find_addr2line): Use secure_getenv.
16 2012-04-22  Tobias Burnus  <burnus@net-b.de>
18         PR fortran/53051
19         * io/list_read.c (parse_real): Support "q" for the
20         exponential.
21         * io/read.c (read_f): Ditto.
23 2012-04-17  Tobias Burnus  <burnus@net-b.de>
25         PR libfortran/38199
26         PR libfortran/50673
27         * io/unit.c (get_internal_unit): Properly check for the presence
28         of the format string.
30 2012-04-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
32         PR libfortran/38199
33         PR libfortran/50673
34         * intrinsics/string_intriniscs_inc.c (string_len_trim):
35         Remove prototypes for string_len_trim and move to...
36         * libgfortran.h (string_len_trim): ... here and
37         (string_len_trim_char4): ...here.
38         * io/unit.c: For non-array internal arrays where we do reading,
39         adjust the record length to the last non-blank character.
40         * io/unix.c:  Fix typo.
42 2012-04-10  Michael Matz  <matz@suse.de>
44         * m4/cshift0.m4 (cshift0_'rtype_code`): Guard use of modulo.
46         * generated/cshift0_c10.c: Regenerated.
47         * generated/cshift0_c16.c: Regenerated.
48         * generated/cshift0_c4.c: Regenerated.
49         * generated/cshift0_c8.c: Regenerated.
50         * generated/cshift0_i16.c: Regenerated.
51         * generated/cshift0_i1.c: Regenerated.
52         * generated/cshift0_i2.c: Regenerated.
53         * generated/cshift0_i4.c: Regenerated.
54         * generated/cshift0_i8.c: Regenerated.
55         * generated/cshift0_r10.c: Regenerated.
56         * generated/cshift0_r16.c: Regenerated.
57         * generated/cshift0_r4.c: Regenerated.
58         * generated/cshift0_r8.c: Regenerated.
60 2012-04-04  Tristan Gingold  <gingold@adacore.com>
62         * libgfortran.h: Include complex.h before math.h
64 2012-04-02  Tristan Gingold  <gingold@adacore.com>
66         * configure.ac: Use new version of GCC_CHECK_MATH_FUNC.
67         * configure: Regenerate
68         * config.h.in: Regenerate.
70 2012-03-30  Uros Bizjak  <ubizjak@gmail.com>
72         PR libgfortran/52758
73         * intrinsics/chmod.c (chmod_func): Remove out-of-bounds
74         initialization of rwxXstugo.
76 2012-03-27  Tristan Gingold  <gingold@adacore.com>
78         * configure.ac: Add description to AC_DEFINE in
79         GCC_CHECK_MATH_FUNC.
80         * configure: Regenerate
81         * config.h.in: Regenerate.
83 2012-03-26  Janne Blomqvist  <jb@gcc.gnu.org>
85         * runtime/memory.c (get_mem): Rename to xmalloc, check for zero
86         size.
87         (internal_malloc_size): Remove.
88         * libgfortran.h (get_mem): Rename to xmalloc.
89         (internal_malloc_size): Remove prototype.
90         * Makefile.am (i_iall_c): Fix dependency.
91         (i_iany_c): Likewise.
92         (i_iparity_c): Likewise.
93         (i_norm2_c): Likewise.
94         (i_parity_c): Likewise.
95         * Makefile.in: Regenerated.
96         * m4/parity.m4: Fix typo in comment.
97         * generated/all_l1.c: Regenerated.
98         * generated/all_l16.c: Regenerated.
99         * generated/all_l2.c: Regenerated.
100         * generated/all_l4.c: Regenerated.
101         * generated/all_l8.c: Regenerated.
102         * generated/any_l1.c: Regenerated.
103         * generated/any_l16.c: Regenerated.
104         * generated/any_l2.c: Regenerated.
105         * generated/any_l4.c: Regenerated.
106         * generated/any_l8.c: Regenerated.
107         * generated/bessel_r10.c: Regenerated.
108         * generated/bessel_r16.c: Regenerated.
109         * generated/bessel_r4.c: Regenerated.
110         * generated/bessel_r8.c: Regenerated.
111         * generated/count_16_l.c: Regenerated.
112         * generated/count_1_l.c: Regenerated.
113         * generated/count_2_l.c: Regenerated.
114         * generated/count_4_l.c: Regenerated.
115         * generated/count_8_l.c: Regenerated.
116         * generated/cshift1_16.c: Regenerated.
117         * generated/cshift1_4.c: Regenerated.
118         * generated/cshift1_8.c: Regenerated.
119         * generated/eoshift1_16.c: Regenerated.
120         * generated/eoshift1_4.c: Regenerated.
121         * generated/eoshift1_8.c: Regenerated.
122         * generated/eoshift3_16.c: Regenerated.
123         * generated/eoshift3_4.c: Regenerated.
124         * generated/eoshift3_8.c: Regenerated.
125         * generated/iall_i1.c: Regenerated.
126         * generated/iall_i16.c: Regenerated.
127         * generated/iall_i2.c: Regenerated.
128         * generated/iall_i4.c: Regenerated.
129         * generated/iall_i8.c: Regenerated.
130         * generated/iany_i1.c: Regenerated.
131         * generated/iany_i16.c: Regenerated.
132         * generated/iany_i2.c: Regenerated.
133         * generated/iany_i4.c: Regenerated.
134         * generated/iany_i8.c: Regenerated.
135         * generated/in_pack_c10.c: Regenerated.
136         * generated/in_pack_c16.c: Regenerated.
137         * generated/in_pack_c4.c: Regenerated.
138         * generated/in_pack_c8.c: Regenerated.
139         * generated/in_pack_i1.c: Regenerated.
140         * generated/in_pack_i16.c: Regenerated.
141         * generated/in_pack_i2.c: Regenerated.
142         * generated/in_pack_i4.c: Regenerated.
143         * generated/in_pack_i8.c: Regenerated.
144         * generated/in_pack_r10.c: Regenerated.
145         * generated/in_pack_r16.c: Regenerated.
146         * generated/in_pack_r4.c: Regenerated.
147         * generated/in_pack_r8.c: Regenerated.
148         * generated/iparity_i1.c: Regenerated.
149         * generated/iparity_i16.c: Regenerated.
150         * generated/iparity_i2.c: Regenerated.
151         * generated/iparity_i4.c: Regenerated.
152         * generated/iparity_i8.c: Regenerated.
153         * generated/matmul_c10.c: Regenerated.
154         * generated/matmul_c16.c: Regenerated.
155         * generated/matmul_c4.c: Regenerated.
156         * generated/matmul_c8.c: Regenerated.
157         * generated/matmul_i1.c: Regenerated.
158         * generated/matmul_i16.c: Regenerated.
159         * generated/matmul_i2.c: Regenerated.
160         * generated/matmul_i4.c: Regenerated.
161         * generated/matmul_i8.c: Regenerated.
162         * generated/matmul_l16.c: Regenerated.
163         * generated/matmul_l4.c: Regenerated.
164         * generated/matmul_l8.c: Regenerated.
165         * generated/matmul_r10.c: Regenerated.
166         * generated/matmul_r16.c: Regenerated.
167         * generated/matmul_r4.c: Regenerated.
168         * generated/matmul_r8.c: Regenerated.
169         * generated/maxloc0_16_i1.c: Regenerated.
170         * generated/maxloc0_16_i16.c: Regenerated.
171         * generated/maxloc0_16_i2.c: Regenerated.
172         * generated/maxloc0_16_i4.c: Regenerated.
173         * generated/maxloc0_16_i8.c: Regenerated.
174         * generated/maxloc0_16_r10.c: Regenerated.
175         * generated/maxloc0_16_r16.c: Regenerated.
176         * generated/maxloc0_16_r4.c: Regenerated.
177         * generated/maxloc0_16_r8.c: Regenerated.
178         * generated/maxloc0_4_i1.c: Regenerated.
179         * generated/maxloc0_4_i16.c: Regenerated.
180         * generated/maxloc0_4_i2.c: Regenerated.
181         * generated/maxloc0_4_i4.c: Regenerated.
182         * generated/maxloc0_4_i8.c: Regenerated.
183         * generated/maxloc0_4_r10.c: Regenerated.
184         * generated/maxloc0_4_r16.c: Regenerated.
185         * generated/maxloc0_4_r4.c: Regenerated.
186         * generated/maxloc0_4_r8.c: Regenerated.
187         * generated/maxloc0_8_i1.c: Regenerated.
188         * generated/maxloc0_8_i16.c: Regenerated.
189         * generated/maxloc0_8_i2.c: Regenerated.
190         * generated/maxloc0_8_i4.c: Regenerated.
191         * generated/maxloc0_8_i8.c: Regenerated.
192         * generated/maxloc0_8_r10.c: Regenerated.
193         * generated/maxloc0_8_r16.c: Regenerated.
194         * generated/maxloc0_8_r4.c: Regenerated.
195         * generated/maxloc0_8_r8.c: Regenerated.
196         * generated/maxloc1_16_i1.c: Regenerated.
197         * generated/maxloc1_16_i16.c: Regenerated.
198         * generated/maxloc1_16_i2.c: Regenerated.
199         * generated/maxloc1_16_i4.c: Regenerated.
200         * generated/maxloc1_16_i8.c: Regenerated.
201         * generated/maxloc1_16_r10.c: Regenerated.
202         * generated/maxloc1_16_r16.c: Regenerated.
203         * generated/maxloc1_16_r4.c: Regenerated.
204         * generated/maxloc1_16_r8.c: Regenerated.
205         * generated/maxloc1_4_i1.c: Regenerated.
206         * generated/maxloc1_4_i16.c: Regenerated.
207         * generated/maxloc1_4_i2.c: Regenerated.
208         * generated/maxloc1_4_i4.c: Regenerated.
209         * generated/maxloc1_4_i8.c: Regenerated.
210         * generated/maxloc1_4_r10.c: Regenerated.
211         * generated/maxloc1_4_r16.c: Regenerated.
212         * generated/maxloc1_4_r4.c: Regenerated.
213         * generated/maxloc1_4_r8.c: Regenerated.
214         * generated/maxloc1_8_i1.c: Regenerated.
215         * generated/maxloc1_8_i16.c: Regenerated.
216         * generated/maxloc1_8_i2.c: Regenerated.
217         * generated/maxloc1_8_i4.c: Regenerated.
218         * generated/maxloc1_8_i8.c: Regenerated.
219         * generated/maxloc1_8_r10.c: Regenerated.
220         * generated/maxloc1_8_r16.c: Regenerated.
221         * generated/maxloc1_8_r4.c: Regenerated.
222         * generated/maxloc1_8_r8.c: Regenerated.
223         * generated/maxval_i1.c: Regenerated.
224         * generated/maxval_i16.c: Regenerated.
225         * generated/maxval_i2.c: Regenerated.
226         * generated/maxval_i4.c: Regenerated.
227         * generated/maxval_i8.c: Regenerated.
228         * generated/maxval_r10.c: Regenerated.
229         * generated/maxval_r16.c: Regenerated.
230         * generated/maxval_r4.c: Regenerated.
231         * generated/maxval_r8.c: Regenerated.
232         * generated/minloc0_16_i1.c: Regenerated.
233         * generated/minloc0_16_i16.c: Regenerated.
234         * generated/minloc0_16_i2.c: Regenerated.
235         * generated/minloc0_16_i4.c: Regenerated.
236         * generated/minloc0_16_i8.c: Regenerated.
237         * generated/minloc0_16_r10.c: Regenerated.
238         * generated/minloc0_16_r16.c: Regenerated.
239         * generated/minloc0_16_r4.c: Regenerated.
240         * generated/minloc0_16_r8.c: Regenerated.
241         * generated/minloc0_4_i1.c: Regenerated.
242         * generated/minloc0_4_i16.c: Regenerated.
243         * generated/minloc0_4_i2.c: Regenerated.
244         * generated/minloc0_4_i4.c: Regenerated.
245         * generated/minloc0_4_i8.c: Regenerated.
246         * generated/minloc0_4_r10.c: Regenerated.
247         * generated/minloc0_4_r16.c: Regenerated.
248         * generated/minloc0_4_r4.c: Regenerated.
249         * generated/minloc0_4_r8.c: Regenerated.
250         * generated/minloc0_8_i1.c: Regenerated.
251         * generated/minloc0_8_i16.c: Regenerated.
252         * generated/minloc0_8_i2.c: Regenerated.
253         * generated/minloc0_8_i4.c: Regenerated.
254         * generated/minloc0_8_i8.c: Regenerated.
255         * generated/minloc0_8_r10.c: Regenerated.
256         * generated/minloc0_8_r16.c: Regenerated.
257         * generated/minloc0_8_r4.c: Regenerated.
258         * generated/minloc0_8_r8.c: Regenerated.
259         * generated/minloc1_16_i1.c: Regenerated.
260         * generated/minloc1_16_i16.c: Regenerated.
261         * generated/minloc1_16_i2.c: Regenerated.
262         * generated/minloc1_16_i4.c: Regenerated.
263         * generated/minloc1_16_i8.c: Regenerated.
264         * generated/minloc1_16_r10.c: Regenerated.
265         * generated/minloc1_16_r16.c: Regenerated.
266         * generated/minloc1_16_r4.c: Regenerated.
267         * generated/minloc1_16_r8.c: Regenerated.
268         * generated/minloc1_4_i1.c: Regenerated.
269         * generated/minloc1_4_i16.c: Regenerated.
270         * generated/minloc1_4_i2.c: Regenerated.
271         * generated/minloc1_4_i4.c: Regenerated.
272         * generated/minloc1_4_i8.c: Regenerated.
273         * generated/minloc1_4_r10.c: Regenerated.
274         * generated/minloc1_4_r16.c: Regenerated.
275         * generated/minloc1_4_r4.c: Regenerated.
276         * generated/minloc1_4_r8.c: Regenerated.
277         * generated/minloc1_8_i1.c: Regenerated.
278         * generated/minloc1_8_i16.c: Regenerated.
279         * generated/minloc1_8_i2.c: Regenerated.
280         * generated/minloc1_8_i4.c: Regenerated.
281         * generated/minloc1_8_i8.c: Regenerated.
282         * generated/minloc1_8_r10.c: Regenerated.
283         * generated/minloc1_8_r16.c: Regenerated.
284         * generated/minloc1_8_r4.c: Regenerated.
285         * generated/minloc1_8_r8.c: Regenerated.
286         * generated/minval_i1.c: Regenerated.
287         * generated/minval_i16.c: Regenerated.
288         * generated/minval_i2.c: Regenerated.
289         * generated/minval_i4.c: Regenerated.
290         * generated/minval_i8.c: Regenerated.
291         * generated/minval_r10.c: Regenerated.
292         * generated/minval_r16.c: Regenerated.
293         * generated/minval_r4.c: Regenerated.
294         * generated/minval_r8.c: Regenerated.
295         * generated/norm2_r10.c: Regenerated.
296         * generated/norm2_r16.c: Regenerated.
297         * generated/norm2_r4.c: Regenerated.
298         * generated/norm2_r8.c: Regenerated.
299         * generated/pack_c10.c: Regenerated.
300         * generated/pack_c16.c: Regenerated.
301         * generated/pack_c4.c: Regenerated.
302         * generated/pack_c8.c: Regenerated.
303         * generated/pack_i1.c: Regenerated.
304         * generated/pack_i16.c: Regenerated.
305         * generated/pack_i2.c: Regenerated.
306         * generated/pack_i4.c: Regenerated.
307         * generated/pack_i8.c: Regenerated.
308         * generated/pack_r10.c: Regenerated.
309         * generated/pack_r16.c: Regenerated.
310         * generated/pack_r4.c: Regenerated.
311         * generated/pack_r8.c: Regenerated.
312         * generated/parity_l1.c: Regenerated.
313         * generated/parity_l16.c: Regenerated.
314         * generated/parity_l2.c: Regenerated.
315         * generated/parity_l4.c: Regenerated.
316         * generated/parity_l8.c: Regenerated.
317         * generated/product_c10.c: Regenerated.
318         * generated/product_c16.c: Regenerated.
319         * generated/product_c4.c: Regenerated.
320         * generated/product_c8.c: Regenerated.
321         * generated/product_i1.c: Regenerated.
322         * generated/product_i16.c: Regenerated.
323         * generated/product_i2.c: Regenerated.
324         * generated/product_i4.c: Regenerated.
325         * generated/product_i8.c: Regenerated.
326         * generated/product_r10.c: Regenerated.
327         * generated/product_r16.c: Regenerated.
328         * generated/product_r4.c: Regenerated.
329         * generated/product_r8.c: Regenerated.
330         * generated/reshape_c10.c: Regenerated.
331         * generated/reshape_c16.c: Regenerated.
332         * generated/reshape_c4.c: Regenerated.
333         * generated/reshape_c8.c: Regenerated.
334         * generated/reshape_i16.c: Regenerated.
335         * generated/reshape_i4.c: Regenerated.
336         * generated/reshape_i8.c: Regenerated.
337         * generated/reshape_r10.c: Regenerated.
338         * generated/reshape_r16.c: Regenerated.
339         * generated/reshape_r4.c: Regenerated.
340         * generated/reshape_r8.c: Regenerated.
341         * generated/shape_i16.c: Regenerated.
342         * generated/shape_i4.c: Regenerated.
343         * generated/shape_i8.c: Regenerated.
344         * generated/spread_c10.c: Regenerated.
345         * generated/spread_c16.c: Regenerated.
346         * generated/spread_c4.c: Regenerated.
347         * generated/spread_c8.c: Regenerated.
348         * generated/spread_i1.c: Regenerated.
349         * generated/spread_i16.c: Regenerated.
350         * generated/spread_i2.c: Regenerated.
351         * generated/spread_i4.c: Regenerated.
352         * generated/spread_i8.c: Regenerated.
353         * generated/spread_r10.c: Regenerated.
354         * generated/spread_r16.c: Regenerated.
355         * generated/spread_r4.c: Regenerated.
356         * generated/spread_r8.c: Regenerated.
357         * generated/sum_c10.c: Regenerated.
358         * generated/sum_c16.c: Regenerated.
359         * generated/sum_c4.c: Regenerated.
360         * generated/sum_c8.c: Regenerated.
361         * generated/sum_i1.c: Regenerated.
362         * generated/sum_i16.c: Regenerated.
363         * generated/sum_i2.c: Regenerated.
364         * generated/sum_i4.c: Regenerated.
365         * generated/sum_i8.c: Regenerated.
366         * generated/sum_r10.c: Regenerated.
367         * generated/sum_r16.c: Regenerated.
368         * generated/sum_r4.c: Regenerated.
369         * generated/sum_r8.c: Regenerated.
370         * generated/transpose_c10.c: Regenerated.
371         * generated/transpose_c16.c: Regenerated.
372         * generated/transpose_c4.c: Regenerated.
373         * generated/transpose_c8.c: Regenerated.
374         * generated/transpose_i16.c: Regenerated.
375         * generated/transpose_i4.c: Regenerated.
376         * generated/transpose_i8.c: Regenerated.
377         * generated/transpose_r10.c: Regenerated.
378         * generated/transpose_r16.c: Regenerated.
379         * generated/transpose_r4.c: Regenerated.
380         * generated/transpose_r8.c: Regenerated.
381         * generated/unpack_c10.c: Regenerated.
382         * generated/unpack_c16.c: Regenerated.
383         * generated/unpack_c4.c: Regenerated.
384         * generated/unpack_c8.c: Regenerated.
385         * generated/unpack_i1.c: Regenerated.
386         * generated/unpack_i16.c: Regenerated.
387         * generated/unpack_i2.c: Regenerated.
388         * generated/unpack_i4.c: Regenerated.
389         * generated/unpack_i8.c: Regenerated.
390         * generated/unpack_r10.c: Regenerated.
391         * generated/unpack_r16.c: Regenerated.
392         * generated/unpack_r4.c: Regenerated.
393         * generated/unpack_r8.c: Regenerated.
394         * intrinsics/cshift0.c: Use xmalloc.
395         * intrinsics/ctime.c: Likewise.
396         * intrinsics/date_and_time.c: Likewise.
397         * intrinsics/eoshift0.c: Likewise.
398         * intrinsics/eoshift2.c: Likewise.
399         * intrinsics/getlog.c: Likewise.
400         * intrinsics/pack_generic.c: Likewise.
401         * intrinsics/reshape_generic.c: Likewise.
402         * intrinsics/spread_generic.c: Likewise.
403         * intrinsics/string_intrinsics_inc.c: Likewise.
404         * intrinsics/transpose_generic.c: Likewise.
405         * intrinsics/unpack_generic.c: Likewise.
406         * io/fbuf.c: Likewise.
407         * io/format.c: Likewise.
408         * io/intrinsics.c: Likewise.
409         * io/list_read.c: Likewise.
410         * io/open.c: Likewise.
411         * io/transfer.c: Likewise.
412         * io/unit.c: Likewise.
413         * io/unix.c: Likewise.
414         * io/write.c: Likewise.
415         * m4/bessel.m4: Likewise.
416         * m4/cshift1.m4: Likewise.
417         * m4/eoshift1.m4: Likewise.
418         * m4/eoshift3.m4: Likewise.
419         * m4/iforeach.m4: Likewise.
420         * m4/ifunction.m4: Likewise.
421         * m4/ifunction_logical.m4: Likewise.
422         * m4/in_pack.m4: Likewise.
423         * m4/matmul.m4: Likewise.
424         * m4/matmull.m4: Likewise.
425         * m4/pack.m4: Likewise.
426         * m4/reshape.m4: Likewise.
427         * m4/shape.m4: Likewise.
428         * m4/spread.m4: Likewise.
429         * m4/transpose.m4: Likewise.
430         * m4/unpack.m4: Likewise.
431         * runtime/convert_char.c: Likewise.
432         * runtime/environ.c: Likewise.
433         * runtime/in_pack_generic.c: Likewise.
435 2012-03-26  Tristan Gingold  <gingold@adacore.com>
437         * configure.ac: Use GCC_CHECK_MATH_FUNC for math functions.
438         * acinclude.m4: Include ../config/math.m4
439         * configure: Regenerate.
440         * Makefile.in: Regenerate.
442 2012-03-25  Janne Blomqvist  <jb@gcc.gnu.org>
444         * runtime/memory.c (xcalloc): New function.
445         * libgfortran.h (xcalloc): New prototype.
446         * io/list_read.c (push_char): Use xcalloc instead of get_mem and
447         memset.
448         (l_push_char): Likewise.
449         * io/unit.c (insert_unit): Likewise.
450         (get_internal_unit): Likewise.
451         * io/unix.c (open_internal): Likewise.
452         (open_internal4): Likewise.
453         (fd_to_stream): Likewise.
455 2012-03-17  Janne Blomqvist  <jb@gcc.gnu.org>
457         PR libfortran/52608
458         * io/write_float.def (output_float): Move removal of initial zeros
459         until after the scale factor has been applied.
461 2012-03-16  Janne Blomqvist  <jb@gcc.gnu.org>
463         * io/unix.h (struct stream): Rename to stream_vtable.
464         (struct stream): New struct definition.
465         (sread): Dereference vtable pointer.
466         (swrite): Likewise.
467         (sseek): Likewise.
468         (struncate): Likewise.
469         (sflush): Likewise.
470         (sclose): Likewise.
471         * io/unix.c (raw_vtable): New variable.
472         (buf_vtable): Likewise.
473         (mem_vtable): Likewise.
474         (mem4_vtable): Likewise.
475         (raw_init): Assign vtable pointer.
476         (buf_init): Likewise.
477         (open_internal): Likewise.
478         (open_internal4): Likewise.
480 2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>
482         PR libfortran/52434
483         PR libfortran/48878
484         PR libfortran/38199
485         * io/unit.c (get_internal_unit): Default to ROUND_UNSPECIFIED.
486         (init_units): Likewise.
487         * io/write_float.def (determine_precision): New function.
488         (output_float): Take into account buffer with %f format, no need
489         for our own rounding if unspecified or processor specified
490         rounding.
491         (DTOA): Simplify format string, add parameters.
492         (FDTOA): New macros similar to DTOA, but using %f format.
493         (OUTPUT_FLOAT_FMT_G): Stack allocate newf, determine correct
494         precision and fill buffer.
495         (EN_PREC): New macro.
496         (determine_en_precision): New function.
497         (WRITE_FLOAT): For G format, move buffer filling into
498         output_float_FMT_G, use FDTOA for F format.
499         (write_float): Increase buffer due to F format.
501 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
503         * intrinsics/c99_functions.c [__sgi__ && !HAVE_COMPLEX_H]: Remove.
505 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
507         * configure.ac: Remove Tru64 reference.
508         * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
509         handling.
510         * configure: Regenerate.
511         * intrinsics/c99_functions.c [__osf__]: Remove.
513 2012-03-10  Tobias Burnus  <burnus@net-b.de>
515         * libgfortran.h (descriptor_dimension, GFC_DIMENSION_LBOUND,
516         GFC_DIMENSION_EXTENT, GFC_DIMENSION_SET, GFC_DESCRIPTOR_DATA,
517         GFC_ARRAY_DESCRIPTOR): Rename _lbound to lower_bound and
518         data to base_addr.
519         * intrinsics/cshift0.c (size0, cshift0): Handle data to
520         base_addr rename.
521         * intrinsics/date_and_time.c (date_and_time, secnds, itime_i4,
522         itime_i8, gmtime_i4, gmtime_i8, ltime_i4, ltime_i8): Ditto.
523         * intrinsics/dtime.c (dtime_sub): Ditto.
524         * intrinsics/eoshift0.c (eoshift0): Ditto.
525         * intrinsics/eoshift2.c (eoshift2): Ditto.
526         * intrinsics/etime.c (etime_sub): Ditto.
527         * intrinsics/iso_c_binding.c (c_f_pointer_u0): Ditto.
528         * intrinsics/move_alloc.c (move_alloc): Ditto.
529         * intrinsics/pack_generic.c (pack_internal, pack,
530         pack_s_internal): Ditto.
531         * intrinsics/random.c (arandom_r4, arandom_r8, arandom_r10,
532         arandom_r16, random_seed_i4, random_seed_i8): Ditto.
533         * intrinsics/reshape_generic.c (reshape_internal): Ditto.
534         * intrinsics/spread_generic.c (spread_internal,
535         spread_internal_scalar, spread, spread_scalar): Ditto.
536         * intrinsics/stat.c (stat_i4_sub_0, stat_i8_sub_0, fstat_i4_sub,
537         fstat_i8_sub): Ditto.
538         * intrinsics/transpose_generic.c (transpose_internal): Ditto.
539         * intrinsics/unpack_generic.c (unpack_bounds, unpack_internal,
540         unpack1, unpack0, unpack0_char4): Ditto.
541         * m4/bessel.m4 (bessel_jn_r'rtype_kind`, bessel_yn_r'rtype_kind`):
542         Ditto.
543         * m4/cshift0.m4 (cshift0_'rtype_code`): Ditto.
544         * m4/cshift1.m4 (cshift1): Ditto.
545         * m4/eoshift1.m4 (eoshift1): Ditto.
546         * m4/eoshift3.m4 (eoshift3): Ditto.
547         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
548         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
549         * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
550         * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Ditto.
551         * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`): Ditto.
552         * m4/matmul.m4 (matmul_'rtype_code`): Ditto.
553         * m4/matmull.m4 (matmul_'rtype_code`): Ditto.
554         * m4/pack.m4 (pack_'rtype_code`): Ditto.
555         * m4/reshape.m4 (reshape_'rtype_ccode`): Ditto.
556         * m4/shape.m4 (shape_'rtype_kind`): Ditto.
557         * m4/spread.m4 (spread_'rtype_code`): Ditto.
558         * m4/transpose.m4 (transpose_'rtype_code`): Ditto.
559         * m4/unpack.m4 (unpack0_'rtype_code`, unpack1_'rtype_code`): Ditto.
560         * runtime/bounds.c (count_0): Ditto.
561         * runtime/in_pack_generic.c (internal_pack): Ditto.
562         * runtime/in_unpack_generic.c (internal_unpack): Ditto.
563         * generated/cshift0_r4.c: Regenerated.
564         * generated/unpack_r8.c: Regenerated.
565         * generated/cshift0_c10.c: Regenerated.
566         * generated/in_unpack_i1.c: Regenerated.
567         * generated/eoshift1_16.c: Regenerated.
568         * generated/iany_i16.c: Regenerated.
569         * generated/reshape_i4.c: Regenerated.
570         * generated/parity_l16.c: Regenerated.
571         * generated/in_unpack_r16.c: Regenerated.
572         * generated/iparity_i1.c: Regenerated.
573         * generated/minloc0_16_r10.c: Regenerated.
574         * generated/minloc1_16_i8.c: Regenerated.
575         * generated/bessel_r8.c: Regenerated.
576         * generated/maxloc0_4_i8.c: Regenerated.
577         * generated/maxloc1_8_i1.c: Regenerated.
578         * generated/sum_c10.c: Regenerated.
579         * generated/maxloc0_8_r10.c: Regenerated.
580         * generated/unpack_r16.c: Regenerated.
581         * generated/maxloc1_16_i1.c: Regenerated.
582         * generated/minloc1_4_i1.c: Regenerated.
583         * generated/unpack_i4.c: Regenerated.
584         * generated/in_pack_i1.c: Regenerated.
585         * generated/cshift0_i1.c: Regenerated.
586         * generated/minloc0_16_i4.c: Regenerated.
587         * generated/minloc1_8_r8.c: Regenerated.
588         * generated/maxval_r8.c: Regenerated.
589         * generated/unpack_i2.c: Regenerated.
590         * generated/matmul_r16.c: Regenerated.
591         * generated/maxloc0_16_r8.c: Regenerated.
592         * generated/maxloc1_8_i16.c: Regenerated.
593         * generated/maxloc0_4_r4.c: Regenerated.
594         * generated/pack_c10.c: Regenerated.
595         * generated/in_unpack_c8.c: Regenerated.
596         * generated/maxloc1_8_i8.c: Regenerated.
597         * generated/in_pack_c16.c: Regenerated.
598         * generated/parity_l1.c: Regenerated.
599         * generated/in_pack_i2.c: Regenerated.
600         * generated/maxloc0_4_r8.c: Regenerated.
601         * generated/pack_r4.c: Regenerated.
602         * generated/matmul_r8.c: Regenerated.
603         * generated/pack_i1.c: Regenerated.
604         * generated/minloc0_16_r16.c: Regenerated.
605         * generated/cshift0_c8.c: Regenerated.
606         * generated/minloc1_4_i16.c: Regenerated.
607         * generated/minloc0_4_r4.c: Regenerated.
608         * generated/product_i2.c: Regenerated.
609         * generated/maxval_r10.c: Regenerated.
610         * generated/minloc0_16_r8.c: Regenerated.
611         * generated/in_pack_i8.c: Regenerated.
612         * generated/all_l8.c: Regenerated.
613         * generated/minloc0_8_i16.c: Regenerated.
614         * generated/minloc1_8_i2.c: Regenerated.
615         * generated/matmul_l8.c: Regenerated.
616         * generated/spread_r10.c: Regenerated.
617         * generated/product_c4.c: Regenerated.
618         * generated/reshape_r16.c: Regenerated.
619         * generated/cshift0_i16.c: Regenerated.
620         * generated/minloc1_8_r10.c: Regenerated.
621         * generated/iparity_i8.c: Regenerated.
622         * generated/minloc0_16_i8.c: Regenerated.
623         * generated/minloc1_8_i1.c: Regenerated.
624         * generated/maxloc0_16_r10.c: Regenerated.
625         * generated/maxloc1_8_i4.c: Regenerated.
626         * generated/maxloc0_16_i8.c: Regenerated.
627         * generated/maxloc1_16_i16.c: Regenerated.
628         * generated/reshape_i8.c: Regenerated.
629         * generated/all_l16.c: Regenerated.
630         * generated/cshift1_8.c: Regenerated.
631         * generated/matmul_c10.c: Regenerated.
632         * generated/pack_r16.c: Regenerated.
633         * generated/transpose_r10.c: Regenerated.
634         * generated/maxloc1_16_i2.c: Regenerated.
635         * generated/minloc1_4_r4.c: Regenerated.
636         * generated/reshape_r8.c: Regenerated.
637         * generated/product_r10.c: Regenerated.
638         * generated/spread_c10.c: Regenerated.
639         * generated/reshape_r4.c: Regenerated.
640         * generated/in_unpack_i4.c: Regenerated.
641         * generated/minval_r4.c: Regenerated.
642         * generated/minloc1_16_r16.c: Regenerated.
643         * generated/norm2_r8.c: Regenerated.
644         * generated/iany_i2.c: Regenerated.
645         * generated/eoshift3_8.c: Regenerated.
646         * generated/maxloc1_16_r8.c: Regenerated.
647         * generated/maxloc0_16_r16.c: Regenerated.
648         * generated/cshift0_i8.c: Regenerated.
649         * generated/all_l1.c: Regenerated.
650         * generated/minloc1_16_r10.c: Regenerated.
651         * generated/spread_i16.c: Regenerated.
652         * generated/minloc1_8_r16.c: Regenerated.
653         * generated/spread_r16.c: Regenerated.
654         * generated/matmul_c8.c: Regenerated.
655         * generated/pack_r10.c: Regenerated.
656         * generated/reshape_r10.c: Regenerated.
657         * generated/sum_r10.c: Regenerated.
658         * generated/count_8_l.c: Regenerated.
659         * generated/minloc1_16_i16.c: Regenerated.
660         * generated/maxloc0_16_i2.c: Regenerated.
661         * generated/count_1_l.c: Regenerated.
662         * generated/unpack_c16.c: Regenerated.
663         * generated/any_l8.c: Regenerated.
664         * generated/minloc1_16_i1.c: Regenerated.
665         * generated/sum_r4.c: Regenerated.
666         * generated/in_unpack_r8.c: Regenerated.
667         * generated/product_r8.c: Regenerated.
668         * generated/in_unpack_r4.c: Regenerated.
669         * generated/unpack_i1.c: Regenerated.
670         * generated/cshift0_r8.c: Regenerated.
671         * generated/spread_i2.c: Regenerated.
672         * generated/minloc1_4_r10.c: Regenerated.
673         * generated/minloc1_16_i2.c: Regenerated.
674         * generated/minloc0_16_i2.c: Regenerated.
675         * generated/eoshift3_16.c: Regenerated.
676         * generated/maxloc0_8_i4.c: Regenerated.
677         * generated/maxloc1_16_r10.c: Regenerated.
678         * generated/maxloc1_4_i16.c: Regenerated.
679         * generated/maxloc1_4_r8.c: Regenerated.
680         * generated/parity_l2.c: Regenerated.
681         * generated/maxloc0_16_i16.c: Regenerated.
682         * generated/product_r4.c: Regenerated.
683         * generated/in_unpack_r10.c: Regenerated.
684         * generated/maxloc1_8_i2.c: Regenerated.
685         * generated/iparity_i2.c: Regenerated.
686         * generated/maxloc1_8_r4.c: Regenerated.
687         * generated/maxloc1_8_r8.c: Regenerated.
688         * generated/iall_i4.c: Regenerated.
689         * generated/maxloc0_4_i16.c: Regenerated.
690         * generated/cshift0_i4.c: Regenerated.
691         * generated/in_unpack_c10.c: Regenerated.
692         * generated/unpack_c8.c: Regenerated.
693         * generated/transpose_c8.c: Regenerated.
694         * generated/in_unpack_c16.c: Regenerated.
695         * generated/product_c16.c: Regenerated.
696         * generated/minval_r8.c: Regenerated.
697         * generated/minloc0_4_i1.c: Regenerated.
698         * generated/minloc0_8_r16.c: Regenerated.
699         * generated/in_unpack_i16.c: Regenerated.
700         * generated/reshape_c16.c: Regenerated.
701         * generated/pack_i4.c: Regenerated.
702         * generated/minval_r10.c: Regenerated.
703         * generated/maxloc0_4_r10.c: Regenerated.
704         * generated/unpack_i8.c: Regenerated.
705         * generated/minloc1_16_r8.c: Regenerated.
706         * generated/pack_c16.c: Regenerated.
707         * generated/maxval_r4.c: Regenerated.
708         * generated/spread_r8.c: Regenerated.
709         * generated/minloc0_16_r4.c: Regenerated.
710         * generated/maxval_i4.c: Regenerated.
711         * generated/matmul_r4.c: Regenerated.
712         * generated/product_c8.c: Regenerated.
713         * generated/maxloc1_4_i4.c: Regenerated.
714         * generated/any_l4.c: Regenerated.
715         * generated/cshift0_r16.c: Regenerated.
716         * generated/maxloc1_16_r4.c: Regenerated.
717         * generated/in_pack_r10.c: Regenerated.
718         * generated/iall_i1.c: Regenerated.
719         * generated/product_i1.c: Regenerated.
720         * generated/maxloc0_4_i1.c: Regenerated.
721         * generated/maxloc0_8_r16.c: Regenerated.
722         * generated/minloc1_8_i16.c: Regenerated.
723         * generated/reshape_c10.c: Regenerated.
724         * generated/matmul_l4.c: Regenerated.
725         * generated/cshift0_c16.c: Regenerated.
726         * generated/spread_r4.c: Regenerated.
727         * generated/sum_r16.c: Regenerated.
728         * generated/in_unpack_c4.c: Regenerated.
729         * generated/maxval_i8.c: Regenerated.
730         * generated/maxloc0_8_r8.c: Regenerated.
731         * generated/unpack_i16.c: Regenerated.
732         * generated/norm2_r4.c: Regenerated.
733         * generated/maxloc1_4_r16.c: Regenerated.
734         * generated/in_pack_r4.c: Regenerated.
735         * generated/sum_c8.c: Regenerated.
736         * generated/parity_l8.c: Regenerated.
737         * generated/minval_i2.c: Regenerated.
738         * generated/transpose_c10.c: Regenerated.
739         * generated/cshift0_r10.c: Regenerated.
740         * generated/cshift0_i2.c: Regenerated.
741         * generated/spread_c4.c: Regenerated.
742         * generated/maxval_r16.c: Regenerated.
743         * generated/unpack_c10.c: Regenerated.
744         * generated/bessel_r4.c: Regenerated.
745         * generated/minloc0_8_i1.c: Regenerated.
746         * generated/product_c10.c: Regenerated.
747         * generated/minloc1_4_i4.c: Regenerated.
748         * generated/minloc1_4_i2.c: Regenerated.
749         * generated/transpose_c4.c: Regenerated.
750         * generated/in_pack_c8.c: Regenerated.
751         * generated/minval_i8.c: Regenerated.
752         * generated/maxloc1_4_i2.c: Regenerated.
753         * generated/maxloc1_4_i1.c: Regenerated.
754         * generated/iall_i8.c: Regenerated.
755         * generated/iany_i8.c: Regenerated.
756         * generated/sum_c16.c: Regenerated.
757         * generated/spread_i8.c: Regenerated.
758         * generated/sum_i8.c: Regenerated.
759         * generated/pack_i2.c: Regenerated.
760         * generated/unpack_r10.c: Regenerated.
761         * generated/minloc0_4_i4.c: Regenerated.
762         * generated/iany_i4.c: Regenerated.
763         * generated/maxloc0_4_i4.c: Regenerated.
764         * generated/in_pack_r8.c: Regenerated.
765         * generated/spread_i1.c: Regenerated.
766         * generated/maxval_i16.c: Regenerated.
767         * generated/pack_c8.c: Regenerated.
768         * generated/iparity_i16.c: Regenerated.
769         * generated/matmul_c16.c: Regenerated.
770         * generated/eoshift1_8.c: Regenerated.
771         * generated/any_l16.c: Regenerated.
772         * generated/maxloc1_4_i8.c: Regenerated.
773         * generated/minloc0_8_r4.c: Regenerated.
774         * generated/transpose_c16.c: Regenerated.
775         * generated/reshape_c4.c: Regenerated.
776         * generated/minloc0_8_r8.c: Regenerated.
777         * generated/count_16_l.c: Regenerated.
778         * generated/minloc0_16_i1.c: Regenerated.
779         * generated/minloc1_16_r4.c: Regenerated.
780         * generated/maxloc0_8_i1.c: Regenerated.
781         * generated/matmul_i1.c: Regenerated.
782         * generated/sum_i2.c: Regenerated.
783         * generated/cshift1_4.c: Regenerated.
784         * generated/minloc0_4_i2.c: Regenerated.
785         * generated/bessel_r10.c: Regenerated.
786         * generated/matmul_c4.c: Regenerated.
787         * generated/parity_l4.c: Regenerated.
788         * generated/in_unpack_i2.c: Regenerated.
789         * generated/product_i16.c: Regenerated.
790         * generated/maxloc0_16_i4.c: Regenerated.
791         * generated/minloc0_4_r10.c: Regenerated.
792         * generated/transpose_i16.c: Regenerated.
793         * generated/matmul_l16.c: Regenerated.
794         * generated/any_l1.c: Regenerated.
795         * generated/minval_r16.c: Regenerated.
796         * generated/shape_i16.c: Regenerated.
797         * generated/in_pack_c4.c: Regenerated.
798         * generated/minloc1_8_r4.c: Regenerated.
799         * generated/iany_i1.c: Regenerated.
800         * generated/matmul_i16.c: Regenerated.
801         * generated/maxloc0_16_r4.c: Regenerated.
802         * generated/spread_c8.c: Regenerated.
803         * generated/product_i8.c: Regenerated.
804         * generated/minloc1_8_i4.c: Regenerated.
805         * generated/product_i4.c: Regenerated.
806         * generated/minval_i16.c: Regenerated.
807         * generated/pack_r8.c: Regenerated.
808         * generated/matmul_r10.c: Regenerated.
809         * generated/shape_i8.c: Regenerated.
810         * generated/eoshift1_4.c: Regenerated.
811         * generated/minloc1_16_i4.c: Regenerated.
812         * generated/transpose_r16.c: Regenerated.
813         * generated/spread_c16.c: Regenerated.
814         * generated/maxloc0_8_i16.c: Regenerated.
815         * generated/minval_i1.c: Regenerated.
816         * generated/sum_i4.c: Regenerated.
817         * generated/in_pack_r16.c: Regenerated.
818         * generated/iall_i16.c: Regenerated.
819         * generated/minloc0_8_r10.c: Regenerated.
820         * generated/maxloc0_8_i8.c: Regenerated.
821         * generated/transpose_i4.c: Regenerated.
822         * generated/maxloc0_4_i2.c: Regenerated.
823         * generated/iall_i2.c: Regenerated.
824         * generated/maxloc0_8_r4.c: Regenerated.
825         * generated/minloc0_4_r16.c: Regenerated.
826         * generated/minloc1_4_r8.c: Regenerated.
827         * generated/minloc0_4_i8.c: Regenerated.
828         * generated/minval_i4.c: Regenerated.
829         * generated/minloc1_8_i8.c: Regenerated.
830         * generated/in_pack_i16.c: Regenerated.
831         * generated/spread_i4.c: Regenerated.
832         * generated/cshift0_c4.c: Regenerated.
833         * generated/minloc0_4_i16.c: Regenerated.
834         * generated/sum_r8.c: Regenerated.
835         * generated/minloc0_16_i16.c: Regenerated.
836         * generated/sum_i1.c: Regenerated.
837         * generated/all_l2.c: Regenerated.
838         * generated/sum_c4.c: Regenerated.
839         * generated/shape_i4.c: Regenerated.
840         * generated/maxval_i1.c: Regenerated.
841         * generated/norm2_r10.c: Regenerated.
842         * generated/unpack_c4.c: Regenerated.
843         * generated/maxloc0_16_i1.c: Regenerated.
844         * generated/all_l4.c: Regenerated.
845         * generated/maxloc1_16_i8.c: Regenerated.
846         * generated/sum_i16.c: Regenerated.
847         * generated/maxloc1_8_r16.c: Regenerated.
848         * generated/minloc1_4_r16.c: Regenerated.
849         * generated/maxloc1_16_r16.c: Regenerated.
850         * generated/transpose_i8.c: Regenerated.
851         * generated/minloc0_8_i2.c: Regenerated.
852         * generated/product_r16.c: Regenerated.
853         * generated/in_pack_c10.c: Regenerated.
854         * generated/maxloc0_4_r16.c: Regenerated.
855         * generated/pack_c4.c: Regenerated.
856         * generated/bessel_r16.c: Regenerated.
857         * generated/norm2_r16.c: Regenerated.
858         * generated/in_unpack_i8.c: Regenerated.
859         * generated/maxloc1_16_i4.c: Regenerated.
860         * generated/minloc1_4_i8.c: Regenerated.
861         * generated/eoshift3_4.c: Regenerated.
862         * generated/maxloc1_8_r10.c: Regenerated.
863         * generated/matmul_i8.c: Regenerated.
864         * generated/matmul_i4.c: Regenerated.
865         * generated/reshape_i16.c: Regenerated.
866         * generated/matmul_i2.c: Regenerated.
867         * generated/transpose_r8.c: Regenerated.
868         * generated/transpose_r4.c: Regenerated.
869         * generated/cshift1_16.c: Regenerated.
870         * generated/maxloc1_4_r10.c: Regenerated.
871         * generated/iparity_i4.c: Regenerated.
872         * generated/in_pack_i4.c: Regenerated.
873         * generated/maxloc0_8_i2.c: Regenerated.
874         * generated/unpack_r4.c: Regenerated.
875         * generated/count_4_l.c: Regenerated.
876         * generated/maxloc1_4_r4.c: Regenerated.
877         * generated/minloc0_8_i8.c: Regenerated.
878         * generated/any_l2.c: Regenerated.
879         * generated/minloc0_8_i4.c: Regenerated.
880         * generated/pack_i8.c: Regenerated.
881         * generated/count_2_l.c: Regenerated.
882         * generated/reshape_c8.c: Regenerated.
883         * generated/maxval_i2.c: Regenerated.
884         * generated/minloc0_4_r8.c: Regenerated.
886 2012-01-20  Tobias Burnus  <burnus@net-b.de>
888         PR libgfortran/51899
889         * configure.ac: Check whether umask is available.
890         * intrinsics/chmod.c (chmod_func): Make compile with MinGW.
891         * configure: Regenerate.
892         * config.h.in: Regenerate.
894 2012-01-12  Tobias Burnus  <burnus@net-b.de>
896         PR fortran/36755
897         * intrinsics/chmod.c (chmod_func): Replace call to /bin/chmod
899 2012-01-12  Janne Blomqvist  <jb@gcc.gnu.org>
901         * configure.ac: Remove check for fdopen.
902         * runtime/backtrace.c (CAN_PIPE): Fix comment, remove check for
903         fdopen.
904         * configure: Regenerated.
905         * config.h.in: Regenerated.
907 2012-01-12  Janne Blomqvist  <jb@gcc.gnu.org>
908             Tobias Burnus  <burnus@net-b.de>
910         PR libfortran/51803
911         * runtime/main.c (store_exe_path): Avoid malloc if getcwd fails or
912         is not available.
914 2012-01-11  Tobias Burnus  <burnus@net-b.de>
916         * runtime/main.c (store_exe_path): Fix absolute path
917         detection for Windows.
919 2012-01-11  Janne Blomqvist  <jb@gcc.gnu.org>
920             Mike Stump  <mikestump@comcast.net>
922         PR libfortran/51803
923         * runtime/main.c (store_exe_path): Handle getcwd failure and lack
924         of the function better.
926 2012-01-10  Tobias Burnus  <burnus@net-b.de>
928         PR fortran/51197
929         * runtime/compile_options.c (show_signal): List
930         more signals.
932 2012-01-09  Harald Anlauf  <anlauf@gmx.de>
933             Tobias Burnus  <burnus@net-b.de>
935         PR fortran/51197
936         * runtime/backtrace.c (show_backtrace): Modify wording written
937         before the backtrace.
938         * runtime/compile_options.c (show_signal): New function.
939         (backtrace_handler): Use it.
941 2012-01-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
943         * Makefile.am (libgfortran_la_LDFLAGS): Add -Wc,-shared-libgcc.
944         * Makefile.in: Regenerate.
946 2012-01-06  Tobias Burnus <burnus@net-b.de>
948         * caf/single.c (_gfortran_caf_register, _gfortran_caf_deregister):
949         Fix token handling.
950         * caf/mpi.c  (_gfortran_caf_register, _gfortran_caf_deregister): Ditto.
951         * caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h.
952         (_gfortran_caf_register, _gfortran_caf_deregister): Update prototype.
954 Copyright (C) 2012 Free Software Foundation, Inc.
956 Copying and distribution of this file, with or without modification,
957 are permitted in any medium without royalty provided the copyright
958 notice and this notice are preserved.