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