check.c (gfc_check_atomic, [...]): Use argument for GFC_ISYM_CAF_GET.
[official-gcc.git] / libgfortran / ChangeLog
blob0a89a989635a242be369e552fe6e9a6f2fee599a
1 2014-06-17  Tobias Burnus  <burnus@net-b.de>
3         * caf/libcaf.h (gfc_descriptor_t): New typedef.
4         (caf_vector_t): Update.
5         (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
6         Remove vector-subscript argument.
7         (_gfortran_caf_co_send, _gfortran_caf_co_get,
8         _gfortran_caf_co_sendget): New.
9         * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
10         _gfortran_caf_co_min): Remove vector-subscript argument.
11         (_gfortran_caf_co_send, _gfortran_caf_co_get,
12         _gfortran_caf_co_sendget): New.
14 2014-06-17  Janne Blomqvist  <jb@gcc.gnu.org>
16         * libgfortran.h (xmallocarray): New prototype.
17         * runtime/memory.c (xmallocarray): New function.
18         (xcalloc): Check for nonzero separately instead of multiplying.
19         * generated/*.c: Regenerated.
20         * intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
21         xmalloc.
22         * intrinsics/eoshift0.c (eoshift0): Likewise.
23         * intrinsics/eoshift2.c (eoshift2): Likewise.
24         * intrinsics/pack_generic.c (pack_internal): Likewise.
25         (pack_s_internal): Likewise.
26         * intrinsics/reshape_generic.c (reshape_internal): Likewise.
27         * intrinsics/spread_generic.c (spread_internal): Likewise.
28         (spread_internal_scalar): Likewise.
29         * intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
30         (string_minmax): Likewise.
31         * intrinsics/transpose_generic.c (transpose_internal): Likewise.
32         * intrinsics/unpack_generic.c (unpack_internal): Likewise.
33         * io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
34         * io/transfer.c (st_set_nml_var): Call xmallocarray instead of
35         xmalloc.
36         * io/unit.c (get_internal_unit): Likewise.
37         (filename_from_unit): Don't cast xmalloc return value.
38         * io/write.c (nml_write_obj): Likewise, formatting.
39         * m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
40         instead of xmalloc.
41         (besse_yn_r'rtype_kind`): Likewise.
42         * m4/cshift1.m4 (cshift1): Likewise.
43         * m4/eoshift1.m4 (eoshift1): Likewise.
44         * m4/eoshift3.m4 (eoshift3): Likewise.
45         * m4/iforeach.m4: Likewise.
46         * m4/ifunction.m4: Likewise.
47         * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
48         Likewise.
49         * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
50         * m4/matmul.m4 (matmul_'rtype_code`): Likewise.
51         * m4/matmull.m4 (matmul_'rtype_code`): Likewise.
52         * m4/pack.m4 (pack_'rtype_code`): Likewise.
53         * m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
54         * m4/shape.m4 (shape_'rtype_kind`): Likewise.
55         * m4/spread.m4 (spread_'rtype_code`): Likewise.
56         (spread_scalar_'rtype_code`): Likewise.
57         * m4/transpose.m4 (transpose_'rtype_code`): Likewise.
58         * m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
59         (unpack1_'rtype_code`): Likewise.
60         * runtime/convert_char.c (convert_char1_to_char4): Likewise.
61         (convert_char4_to_char1): Simplify.
62         * runtime/environ.c (init_unformatted): Call xmallocarray instead
63         of xmalloc.
64         * runtime/in_pack_generic.c (internal_pack): Likewise.
66 2014-06-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
68         PR libfortran/60468
69         * configure.ac: Include <math.h> when checking for fp_except_t
70         and fp_rnd_t types.
71         * configure: Regenerate.
73 2014-06-08  Janne Blomqvist  <jb@gcc.gnu.org>
75         PR libfortran/56981
76         * io/unix.h (struct stream_vtable): Add new member function,
77         markeor.
78         (smarkeor): New inline function.
79         (flush_if_unbuffered): Remove prototype.
80         * io/unix.c (raw_markeor): New function.
81         (raw_vtable): Initialize markeor member.
82         (buf_markeor): New function.
83         (buf_vtable): Initialize markeor member.
84         (mem_vtable): Likewise.
85         (mem4_vtable): Likewise.
86         (flush_if_unbuffered): Remove function.
87         * io/transfer.c (next_record): Call smarkeor instead of
88         flush_if_unbuffered.
90 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
92         * intrinsics/getcwd.c: Include stdlib.h.
94 2014-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
96         * libgfortran.h (xrealloc): New prototype.
97         * runtime/memory.c (xrealloc): New function.
98         * io/fbuf.c (fbuf_alloc): Use xrealloc.
99         * io/list_read.c (push_char_default): Likewise.
100         (push_char4): Likewise.
102 2014-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
104         PR libfortran/61310
105         * intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
106         instead of strftime.
107         (fdate): Use gf_ctime.
108         (fdate_sub): Likewise.
109         (ctime): Likewise.
110         (ctime_sub): Likewise.
112 2014-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
114         PR libgfortran/55117
115         * io/list_read.c (extended_look_ahead): New helper function to
116         scan the namelist name and look for matches with the new '+'
117         extended type parent indicator.  (str_comp_extended): New
118         helper function to compare the namelist name with the varname
119         namelist. (find_nml_name): Use the new helper functions to match
120         the extended type varnames.
122 2014-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu>
124         PR libfortran/61173
125         * io/list_read.c (eat_spaces): If the next character pointed to
126         is a space, don't seek, must be at the end.
128 2014-05-23  Hans-Peter Nilsson  <hp@axis.com>
130         * configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
131         * configure: Regenerate.
133 2014-05-23  Janne Blomqvist  <jb@gcc.gnu.org>
135         PR libfortran/60324
136         * runtime/string.c: Include stdlib.h.
138 2014-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
140         PR libfortran/60324
141         * config.h.in: Regenerated.
142         * configure: Regenerated.
143         * configure.ac (AC_CHECK_FUNCS_ONCE): Check for strnlen and
144         strndup.
145         * libgfortran.h (fc_strdup): New prototype.
146         * runtime/string.c (strnlen): New fallback function.
147         (strndup): New fallback function.
148         (fc_strdup): New function.
149         * io/close.c (st_close): Use fc_strdup.
150         * io/open.c (new_unit): Likewise.
151         (already_open): Likewise.
152         * io/unit.c (filename_from_unit): Likewise.
153         * io/unix.c (unpack_filename): Remove function.
154         (regular_file): Rename to regular_file2, add path argument.
155         (regular_file): New function calling regular_file2.
156         (compare_file_filename): Use fc_strdup.
157         (find_file): Likewise.
158         (delete_file): Likewise.
159         (file_exists): Likewise.
160         (file_size): Likewise.
161         (inquire_sequential): Likewise.
162         (inquire_direct): Likewise.
163         (inquire_formatted): Likewise.
164         (inquire_access): Likewise.
165         * io/unix.h (unpack_filename): Remove prototype.
166         * runtime/main.c (please_free_exe_path_when_done): Change type to
167         bool.
168         (store_exe_path): Use malloced buffer, grow as needed.
170 2014-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu>
172         PR libfortran/52539
173         * io/io.h (gfc_unit): New function pointers *next_char_fn_ptr
174         and *push_char_fn_ptr.
175         *io/list_read.c (next_char): Create macro with this name to call
176         the new function pointer. Split the original next_char function
177         into three new functions. (next_char_default, next_char_internal,
178         next_char_utf8): New functions. (push_char): Create macro with
179         this name to call new function pointer. Split the original
180         push_char into three new functions. (push_char_default,
181         push_char_internal, push_char4): New functions. (set_workers):
182         New function to initilize the function pointers depending on the
183         type of IO to be performed. (list_formatted_read_scalar): Use
184         set_workers function. (finish_list_read): Likewise.
185         (namelist_read): Likewise.
186         (nml_get_obj_data): Use push_char_default.
188 2014-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
190         PR libfortran/61187
191         * io/unix.c (raw_close): Check if s->fd is -1.
192         (fd_to_stream): Check return value of fstat(), handle error.
194 2014-05-12  Janne Blomqvist  <jb@gcc.gnu.org>
196         PR libfortran/61035
197         * intrinsics/getcwd.c (getcwd_i4_sub): Avoid potentially large
198         stack allocation, avoid extra copying in the common case.
200 2014-05-12  Janne Blomqvist  <jb@gcc.gnu.org>
202         * configure.ac (AM_CFLAGS): Use -std=gnu11.
203         (CFLAGS): Likewise.
204         * configure: Regenerated.
206 2014-05-11  Tobias Burnus  <burnus@net-b.de>
208         * caf/libcaf.h (_gfortran_caf_num_images): Change type of
209         second argument to int.
210         * caf/mpi.c (_gfortran_caf_num_images): Ditto.
211         * caf/single.c (_gfortran_caf_num_images): Ditto.
213 2014-05-08  Tobias Burnus  <burnus@net-b.de>
215         * caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
216         _gfortran_caf_co_min, _gfortran_caf_co_max): Declare
217         * caf/single.c
219 2014-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu>
221         PR libfortran/61049
222         * io/list_read.c (list_formatted_read_scalar): Use eat_separator
223         and delete extraneous code.
225 2014-04-30  Tobias Burnus  <burnus@net-b.de>
227         * caf/libcaf.h (_gfortran_caf_this_image, _gfortran_caf_num_images):
228         New prototypes.
229         (_gfortran_caf_init): Change prototype.
230         (mpi_token_t): New typedef.
231         (TOKEN): New define.
232         * caf/mpi.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
233         New functions.
234         (_gfortran_caf_init): Update.
235         (_gfortran_caf_finalize, _gfortran_caf_register,
236         _gfortran_caf_deregister): Use mpi_token_t.
237         * caf/single.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
238         New functions.
239         (_gfortran_caf_init): Update.
240         (_gfortran_caf_finalize, _gfortran_caf_register,
241         _gfortran_caf_deregister): Use mpi_token_t, simplify.
243 2014-04-26  Jerry DeLisle  <jvdelisle@gcc.gnu>
245         PR libfortran/52539
246         * io/list_read.c: Add uchar typedef. (push_char4): New function
247         to save kind=4 character. (next_char_utf8): New function to read
248         a single UTF-8 encoded character value. (read_chracter): Update
249         to use the new functions for reading UTF-8 strings.
250         (list_formatted_read_scalar): Update to handle list directed
251         reads of UTF-8 strings. (nml_read_obj): Likewise update for
252         UTF-8 strings in namelists.
253         * io/write.c (nml_write_obj): Add kind=4 character support for
254         namelist writes.
256 2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
258         * configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
259         * configure: Regenerate.
261 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
263         * config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
264         check.
266 2014-04-11  Jerry DeLisle  <jvdelisle@gcc.gnu>
268         PR libfortran/60810
269         io/unit.c (is_trim_ok): If internal unit is array, do not trim.
271 2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu>
273         PR libfortran/60148
274         * io/transfer.c (data_transfer_init): If std= was specified, set
275         delim status to DELIM_NONE of no other was specified.
277 2014-03-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
279         * configure.ac: Check for presence of fcntl.
280         * configure: Regenerate.
281         * config.h.in: Regenerate.
282         * io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
284 2014-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu>
286         PR libfortran/48600
287         * io/list_read.c (list_formatted_read_scalar): Do not use
288         eat_separator. Explicitly set the comma and end-of-line flags.
289         Check for END condition from finish_separator.
291 2014-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu>
293         PR libfortran/58324
294         * io/list_read.c (finish_list_read): Read one character to check
295         for the end of the file.  If it is the end, then issue the file
296         end error message.  If not, use eat_line to reach the end
297         without giving error.  The next attempt to read will then
298         issue the error as described above.
300 2014-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu>
302         PR libfortran/38199
303         * io/read.c (read_decimal): Quickly skip spaces to avoid calls
304         to next_char.
305         * io/unit.c (is_trim_ok): New helper function to check various
306         conditions to see if its OK to trim the internal unit string.
307         (get_internal_unit): Use LEN_TRIM to shorten selected internal
308         unit strings for optimizing READ. Enable this optimization for
309         formatted READ.
310         * io/list_read.c (finish_list_read): Don't call eat_line for
311         internal units.
313 2014-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu>
315         PR libfortran/38199
316         * io/list_read.c (next_char): Mark unlikely error checks.
317         (eat_spaces): For character array reading, skip ahead over
318         spaces rather than call next_char multiple times.
320 2014-03-08  Tobias Burnus  <burnus@net-b.de>
322         * libgfortran.h (unlikely, likely): Add usage comment.
324 2014-03-08  Dominique d'Humieres  <dominiq@lps.ens.fr>
326         PR libgfortran/60128
327         * io/write_float.def (output_float): Remove unused variable
328         nzero_real. Replace a double space with a single one.
329         (determine_en_precision): Fix wrong handling of the EN format.
331 2014-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu>
333         PR libfortran/60148
334         * io/inquire.c (inquire_via_unit): In the case of
335         DELIM_UNSPECIFIED set inquire return string to "NONE".
336         * io/list_read.c (read_character): In the case of DELIM_NONE and
337         namelists, complete the character read using the namelist
338         variable length.
339         * io/open.c (new_unit): Don't set delim status to none if not
340         specified so that DELIM_UNSPECIFIED can be used later.
341         * io/transfer.c (data_transfer_init): For namelist I/O, if the
342         unit delim status is unspecified set the current status to quote.
343         Otherwise, set current status to the unit status.
344         * io/unit.c (get_internel_unit, init_unit): Remember to set
345         flags_delim initially to DELIM_UNSPECIFIED so defaults come out
346         correctly.
347         * io/write.c (write_character): Add a new function argument
348         "mode" to signify that raw output is to be used vs output with
349         delimiters. If the mode is set to DELIM (1) proceed with
350         delimiters. (list_formatted_write_scalar): Write the separator
351         only if a delimiter was previously specified. Update the call to
352         write_character with the mode argument given.
353         (namelist_write_newline): Use the mode argument. (nml_write_obj):
354         Use the mode argument. Remove use of tmp_delim. Write the
355         semi-colon or comma correctly only when needed with using
356         delimiters. Cleanup whitespace.
357         (namelist_write): If delim is not specified in namelist I/O,
358         default to using quotes. Get rid of the tmp_delim variable and
359         use the new mode argument in write_character.
361 2014-02-21  Tobias Burnus  <burnus@net-b.de>
363         PR fortran/60286
364         * libgfortran/io/inquire.c (yes, no): New static const char vars.
365         (inquire_via_unit): Use them. Use OPEN mode instead of using
366         POSIX's access to query about write=, read= and readwrite=.
368 2014-01-20  Jerry DeLisle  <jvdelisle@gcc.gnu>
369             Dominique d'Humieres  <dominiq@lps.ens.fr>
371         * io/write_float.def (output_float): Remove inadvertent test
372         code from previous patch.
374 2014-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu>
375             Dominique d'Humieres  <dominiq@lps.ens.fr>
377         PR libfortran/59771
378         PR libfortran/59774
379         PR libfortran/59836
380         * io/write_float.def (output_float): Fix wrong handling of the
381         Fw.0 format.
382         (output_float_FMT_G_): Fixes rounding issues with -m32.
384 2014-01-11  Jerry DeLisle  <jvdelisle@gcc.gnu>
385             Dominique d'Humieres  <dominiq@lps.ens.fr>
386             Steven G. Kargl  <kargl@gcc.gnu.org>
388         PR libfortran/59700
389         PR libfortran/59764
390         * io/io.h (struct st_parameter_dt): Assign expanded_read flag to
391         unused bit. Define new variable line_buffer_pos.
392         * io/list_read.c (free_saved, next_char, l_push_char,
393         read_logical, read_real): Replace use of item_count with
394         line_buffer_pos for line_buffer look ahead.
395         (read_logical, read_integer, parse_real, read_real, check_type):
396         Adjust location of free_line to after generating error messages
397         to retain the correct item count for the message.
399 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
401         Update copyright years
403 Copyright (C) 2013-2014 Free Software Foundation, Inc.
405 Copying and distribution of this file, with or without modification,
406 are permitted in any medium without royalty provided the copyright
407 notice and this notice are preserved.