1 2014-07-02 Uros Bizjak <ubizjak@gmail.com>
3 * configure.host (ieee_flags): Add -mieee for alpha*.
5 * config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
6 GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
7 * config/fpu-aix.h (support_fpu_rounding_mode): Ditto.
9 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11 * config/fpu-387.h (my_fenv_t): Amend structure so it also works
14 2014-06-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
17 * io/list_read.c (next_char_internal): Adjust the read length to
18 a single wide character. (eat_spaces): Add missing paren.
19 * io/unix.c (mem_read4): Use the correct mem_alloc function for
20 wide character internal reads.
22 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
25 * configure.host: Add checks for IEEE support, rework priorities.
26 * configure.ac: Define IEEE_SUPPORT, check for fpsetsticky and
28 * configure: Regenerate.
29 * Makefile.am: Build new ieee files, install IEEE_* modules.
30 * Makefile.in: Regenerate.
31 * gfortran.map (GFORTRAN_1.6): Add new symbols.
32 * libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions,
33 support_fpu_trap, set_fpu_except_flags, support_fpu_flag,
34 support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New
36 * config/fpu-*.h (get_fpu_trap_exceptions,
37 set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags,
38 support_fpu_flag, support_fpu_rounding_mode, get_fpu_state,
39 set_fpu_state): New functions.
40 * ieee/ieee_features.F90: New file.
41 * ieee/ieee_exceptions.F90: New file.
42 * ieee/ieee_arithmetic.F90: New file.
43 * ieee/ieee_helper.c: New file.
45 2014-06-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
48 * io/list_read.c (eat_spaces): Use a 'for' loop instead of
49 'while' loop to skip the loop if there are no bytes left in the
50 string. Only seek if actual spaces can be skipped.
52 2014-06-25 Tobias Burnus <burnus@net-b.de>
54 * caf/single.c (assign_char4_from_char1, assign_char1_from_char4,
55 convert_type): New static functions.
56 (_gfortran_caf_get, _gfortran_caf_send): Use them.
58 2014-06-19 Tobias Burnus <burnus@net-b.de>
60 * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
61 _gfortran_caf_co_min): Fix stat setting.
63 2014-06-17 Tobias Burnus <burnus@net-b.de>
65 * caf/libcaf.h (gfc_descriptor_t): New typedef.
66 (caf_vector_t): Update.
67 (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
68 Remove vector-subscript argument.
69 (_gfortran_caf_co_send, _gfortran_caf_co_get,
70 _gfortran_caf_co_sendget): New.
71 * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
72 _gfortran_caf_co_min): Remove vector-subscript argument.
73 (_gfortran_caf_co_send, _gfortran_caf_co_get,
74 _gfortran_caf_co_sendget): New.
76 2014-06-17 Janne Blomqvist <jb@gcc.gnu.org>
78 * libgfortran.h (xmallocarray): New prototype.
79 * runtime/memory.c (xmallocarray): New function.
80 (xcalloc): Check for nonzero separately instead of multiplying.
81 * generated/*.c: Regenerated.
82 * intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
84 * intrinsics/eoshift0.c (eoshift0): Likewise.
85 * intrinsics/eoshift2.c (eoshift2): Likewise.
86 * intrinsics/pack_generic.c (pack_internal): Likewise.
87 (pack_s_internal): Likewise.
88 * intrinsics/reshape_generic.c (reshape_internal): Likewise.
89 * intrinsics/spread_generic.c (spread_internal): Likewise.
90 (spread_internal_scalar): Likewise.
91 * intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
92 (string_minmax): Likewise.
93 * intrinsics/transpose_generic.c (transpose_internal): Likewise.
94 * intrinsics/unpack_generic.c (unpack_internal): Likewise.
95 * io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
96 * io/transfer.c (st_set_nml_var): Call xmallocarray instead of
98 * io/unit.c (get_internal_unit): Likewise.
99 (filename_from_unit): Don't cast xmalloc return value.
100 * io/write.c (nml_write_obj): Likewise, formatting.
101 * m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
103 (besse_yn_r'rtype_kind`): Likewise.
104 * m4/cshift1.m4 (cshift1): Likewise.
105 * m4/eoshift1.m4 (eoshift1): Likewise.
106 * m4/eoshift3.m4 (eoshift3): Likewise.
107 * m4/iforeach.m4: Likewise.
108 * m4/ifunction.m4: Likewise.
109 * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
111 * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
112 * m4/matmul.m4 (matmul_'rtype_code`): Likewise.
113 * m4/matmull.m4 (matmul_'rtype_code`): Likewise.
114 * m4/pack.m4 (pack_'rtype_code`): Likewise.
115 * m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
116 * m4/shape.m4 (shape_'rtype_kind`): Likewise.
117 * m4/spread.m4 (spread_'rtype_code`): Likewise.
118 (spread_scalar_'rtype_code`): Likewise.
119 * m4/transpose.m4 (transpose_'rtype_code`): Likewise.
120 * m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
121 (unpack1_'rtype_code`): Likewise.
122 * runtime/convert_char.c (convert_char1_to_char4): Likewise.
123 (convert_char4_to_char1): Simplify.
124 * runtime/environ.c (init_unformatted): Call xmallocarray instead
126 * runtime/in_pack_generic.c (internal_pack): Likewise.
128 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
131 * configure.ac: Include <math.h> when checking for fp_except_t
133 * configure: Regenerate.
135 2014-06-08 Janne Blomqvist <jb@gcc.gnu.org>
138 * io/unix.h (struct stream_vtable): Add new member function,
140 (smarkeor): New inline function.
141 (flush_if_unbuffered): Remove prototype.
142 * io/unix.c (raw_markeor): New function.
143 (raw_vtable): Initialize markeor member.
144 (buf_markeor): New function.
145 (buf_vtable): Initialize markeor member.
146 (mem_vtable): Likewise.
147 (mem4_vtable): Likewise.
148 (flush_if_unbuffered): Remove function.
149 * io/transfer.c (next_record): Call smarkeor instead of
152 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
154 * intrinsics/getcwd.c: Include stdlib.h.
156 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
158 * libgfortran.h (xrealloc): New prototype.
159 * runtime/memory.c (xrealloc): New function.
160 * io/fbuf.c (fbuf_alloc): Use xrealloc.
161 * io/list_read.c (push_char_default): Likewise.
162 (push_char4): Likewise.
164 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
167 * intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
169 (fdate): Use gf_ctime.
170 (fdate_sub): Likewise.
172 (ctime_sub): Likewise.
174 2014-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
177 * io/list_read.c (extended_look_ahead): New helper function to
178 scan the namelist name and look for matches with the new '+'
179 extended type parent indicator. (str_comp_extended): New
180 helper function to compare the namelist name with the varname
181 namelist. (find_nml_name): Use the new helper functions to match
182 the extended type varnames.
184 2014-05-23 Jerry DeLisle <jvdelisle@gcc.gnu>
187 * io/list_read.c (eat_spaces): If the next character pointed to
188 is a space, don't seek, must be at the end.
190 2014-05-23 Hans-Peter Nilsson <hp@axis.com>
192 * configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
193 * configure: Regenerate.
195 2014-05-23 Janne Blomqvist <jb@gcc.gnu.org>
198 * runtime/string.c: Include stdlib.h.
200 2014-05-22 Janne Blomqvist <jb@gcc.gnu.org>
203 * config.h.in: Regenerated.
204 * configure: Regenerated.
205 * configure.ac (AC_CHECK_FUNCS_ONCE): Check for strnlen and
207 * libgfortran.h (fc_strdup): New prototype.
208 * runtime/string.c (strnlen): New fallback function.
209 (strndup): New fallback function.
210 (fc_strdup): New function.
211 * io/close.c (st_close): Use fc_strdup.
212 * io/open.c (new_unit): Likewise.
213 (already_open): Likewise.
214 * io/unit.c (filename_from_unit): Likewise.
215 * io/unix.c (unpack_filename): Remove function.
216 (regular_file): Rename to regular_file2, add path argument.
217 (regular_file): New function calling regular_file2.
218 (compare_file_filename): Use fc_strdup.
219 (find_file): Likewise.
220 (delete_file): Likewise.
221 (file_exists): Likewise.
222 (file_size): Likewise.
223 (inquire_sequential): Likewise.
224 (inquire_direct): Likewise.
225 (inquire_formatted): Likewise.
226 (inquire_access): Likewise.
227 * io/unix.h (unpack_filename): Remove prototype.
228 * runtime/main.c (please_free_exe_path_when_done): Change type to
230 (store_exe_path): Use malloced buffer, grow as needed.
232 2014-05-17 Jerry DeLisle <jvdelisle@gcc.gnu>
235 * io/io.h (gfc_unit): New function pointers *next_char_fn_ptr
236 and *push_char_fn_ptr.
237 *io/list_read.c (next_char): Create macro with this name to call
238 the new function pointer. Split the original next_char function
239 into three new functions. (next_char_default, next_char_internal,
240 next_char_utf8): New functions. (push_char): Create macro with
241 this name to call new function pointer. Split the original
242 push_char into three new functions. (push_char_default,
243 push_char_internal, push_char4): New functions. (set_workers):
244 New function to initilize the function pointers depending on the
245 type of IO to be performed. (list_formatted_read_scalar): Use
246 set_workers function. (finish_list_read): Likewise.
247 (namelist_read): Likewise.
248 (nml_get_obj_data): Use push_char_default.
250 2014-05-16 Janne Blomqvist <jb@gcc.gnu.org>
253 * io/unix.c (raw_close): Check if s->fd is -1.
254 (fd_to_stream): Check return value of fstat(), handle error.
256 2014-05-12 Janne Blomqvist <jb@gcc.gnu.org>
259 * intrinsics/getcwd.c (getcwd_i4_sub): Avoid potentially large
260 stack allocation, avoid extra copying in the common case.
262 2014-05-12 Janne Blomqvist <jb@gcc.gnu.org>
264 * configure.ac (AM_CFLAGS): Use -std=gnu11.
266 * configure: Regenerated.
268 2014-05-11 Tobias Burnus <burnus@net-b.de>
270 * caf/libcaf.h (_gfortran_caf_num_images): Change type of
271 second argument to int.
272 * caf/mpi.c (_gfortran_caf_num_images): Ditto.
273 * caf/single.c (_gfortran_caf_num_images): Ditto.
275 2014-05-08 Tobias Burnus <burnus@net-b.de>
277 * caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
278 _gfortran_caf_co_min, _gfortran_caf_co_max): Declare
281 2014-05-06 Jerry DeLisle <jvdelisle@gcc.gnu>
284 * io/list_read.c (list_formatted_read_scalar): Use eat_separator
285 and delete extraneous code.
287 2014-04-30 Tobias Burnus <burnus@net-b.de>
289 * caf/libcaf.h (_gfortran_caf_this_image, _gfortran_caf_num_images):
291 (_gfortran_caf_init): Change prototype.
292 (mpi_token_t): New typedef.
294 * caf/mpi.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
296 (_gfortran_caf_init): Update.
297 (_gfortran_caf_finalize, _gfortran_caf_register,
298 _gfortran_caf_deregister): Use mpi_token_t.
299 * caf/single.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
301 (_gfortran_caf_init): Update.
302 (_gfortran_caf_finalize, _gfortran_caf_register,
303 _gfortran_caf_deregister): Use mpi_token_t, simplify.
305 2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
308 * io/list_read.c: Add uchar typedef. (push_char4): New function
309 to save kind=4 character. (next_char_utf8): New function to read
310 a single UTF-8 encoded character value. (read_chracter): Update
311 to use the new functions for reading UTF-8 strings.
312 (list_formatted_read_scalar): Update to handle list directed
313 reads of UTF-8 strings. (nml_read_obj): Likewise update for
314 UTF-8 strings in namelists.
315 * io/write.c (nml_write_obj): Add kind=4 character support for
318 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
320 * configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
321 * configure: Regenerate.
323 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
325 * config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
328 2014-04-11 Jerry DeLisle <jvdelisle@gcc.gnu>
331 io/unit.c (is_trim_ok): If internal unit is array, do not trim.
333 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu>
336 * io/transfer.c (data_transfer_init): If std= was specified, set
337 delim status to DELIM_NONE of no other was specified.
339 2014-03-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
341 * configure.ac: Check for presence of fcntl.
342 * configure: Regenerate.
343 * config.h.in: Regenerate.
344 * io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
346 2014-03-17 Jerry DeLisle <jvdelisle@gcc.gnu>
349 * io/list_read.c (list_formatted_read_scalar): Do not use
350 eat_separator. Explicitly set the comma and end-of-line flags.
351 Check for END condition from finish_separator.
353 2014-03-15 Jerry DeLisle <jvdelisle@gcc.gnu>
356 * io/list_read.c (finish_list_read): Read one character to check
357 for the end of the file. If it is the end, then issue the file
358 end error message. If not, use eat_line to reach the end
359 without giving error. The next attempt to read will then
360 issue the error as described above.
362 2014-03-12 Jerry DeLisle <jvdelisle@gcc.gnu>
365 * io/read.c (read_decimal): Quickly skip spaces to avoid calls
367 * io/unit.c (is_trim_ok): New helper function to check various
368 conditions to see if its OK to trim the internal unit string.
369 (get_internal_unit): Use LEN_TRIM to shorten selected internal
370 unit strings for optimizing READ. Enable this optimization for
372 * io/list_read.c (finish_list_read): Don't call eat_line for
375 2014-03-08 Jerry DeLisle <jvdelisle@gcc.gnu>
378 * io/list_read.c (next_char): Mark unlikely error checks.
379 (eat_spaces): For character array reading, skip ahead over
380 spaces rather than call next_char multiple times.
382 2014-03-08 Tobias Burnus <burnus@net-b.de>
384 * libgfortran.h (unlikely, likely): Add usage comment.
386 2014-03-08 Dominique d'Humieres <dominiq@lps.ens.fr>
389 * io/write_float.def (output_float): Remove unused variable
390 nzero_real. Replace a double space with a single one.
391 (determine_en_precision): Fix wrong handling of the EN format.
393 2014-03-03 Jerry DeLisle <jvdelisle@gcc.gnu>
396 * io/inquire.c (inquire_via_unit): In the case of
397 DELIM_UNSPECIFIED set inquire return string to "NONE".
398 * io/list_read.c (read_character): In the case of DELIM_NONE and
399 namelists, complete the character read using the namelist
401 * io/open.c (new_unit): Don't set delim status to none if not
402 specified so that DELIM_UNSPECIFIED can be used later.
403 * io/transfer.c (data_transfer_init): For namelist I/O, if the
404 unit delim status is unspecified set the current status to quote.
405 Otherwise, set current status to the unit status.
406 * io/unit.c (get_internel_unit, init_unit): Remember to set
407 flags_delim initially to DELIM_UNSPECIFIED so defaults come out
409 * io/write.c (write_character): Add a new function argument
410 "mode" to signify that raw output is to be used vs output with
411 delimiters. If the mode is set to DELIM (1) proceed with
412 delimiters. (list_formatted_write_scalar): Write the separator
413 only if a delimiter was previously specified. Update the call to
414 write_character with the mode argument given.
415 (namelist_write_newline): Use the mode argument. (nml_write_obj):
416 Use the mode argument. Remove use of tmp_delim. Write the
417 semi-colon or comma correctly only when needed with using
418 delimiters. Cleanup whitespace.
419 (namelist_write): If delim is not specified in namelist I/O,
420 default to using quotes. Get rid of the tmp_delim variable and
421 use the new mode argument in write_character.
423 2014-02-21 Tobias Burnus <burnus@net-b.de>
426 * libgfortran/io/inquire.c (yes, no): New static const char vars.
427 (inquire_via_unit): Use them. Use OPEN mode instead of using
428 POSIX's access to query about write=, read= and readwrite=.
430 2014-01-20 Jerry DeLisle <jvdelisle@gcc.gnu>
431 Dominique d'Humieres <dominiq@lps.ens.fr>
433 * io/write_float.def (output_float): Remove inadvertent test
434 code from previous patch.
436 2014-01-19 Jerry DeLisle <jvdelisle@gcc.gnu>
437 Dominique d'Humieres <dominiq@lps.ens.fr>
442 * io/write_float.def (output_float): Fix wrong handling of the
444 (output_float_FMT_G_): Fixes rounding issues with -m32.
446 2014-01-11 Jerry DeLisle <jvdelisle@gcc.gnu>
447 Dominique d'Humieres <dominiq@lps.ens.fr>
448 Steven G. Kargl <kargl@gcc.gnu.org>
452 * io/io.h (struct st_parameter_dt): Assign expanded_read flag to
453 unused bit. Define new variable line_buffer_pos.
454 * io/list_read.c (free_saved, next_char, l_push_char,
455 read_logical, read_real): Replace use of item_count with
456 line_buffer_pos for line_buffer look ahead.
457 (read_logical, read_integer, parse_real, read_real, check_type):
458 Adjust location of free_line to after generating error messages
459 to retain the correct item count for the message.
461 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
463 Update copyright years
465 Copyright (C) 2013-2014 Free Software Foundation, Inc.
467 Copying and distribution of this file, with or without modification,
468 are permitted in any medium without royalty provided the copyright
469 notice and this notice are preserved.