2016-08-31 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / libgfortran / ChangeLog
blob394f7d35e7b01d90f75d765e8ccc96d5b3cecb86
1 2016-08-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2         Paul Thomas  <pault@gcc.gnu.org>
4         PR libgfortran/48298
5         * gfortran.map : Flag _st_set_nml_dtio_var and
6         _gfortran_transfer_derived.
7         * io/format.c (format_lex): Detect DTIO formatting.
8         (parse_format_list): Parse the DTIO format.
9         (next_format): Include FMT_DT.
10         * io/format.h : Likewise. Add structure 'udf' to structure
11         'fnode' to carry the IOTYPE string and the 'vlist'.
12         * io/io.h : Add prototypes for the two types of DTIO subroutine
13         and a typedef for gfc_class. Also, add to 'namelist_type'
14         fields for the pointer to the DTIO procedure and the vtable.
15         Add fields to struct st_parameter_dt for pointers to the two
16         types of DTIO subroutine. Add to gfc_unit DTIO specific fields.
17         (internal_proto): Add prototype for 'read_user_defined' and
18         'write_user_defined'.
19         * io/list_read.c (check_buffers): Use the 'current_unit' field.
20         (unget_char): Likewise.
21         (eat_spaces): Likewise.
22         (list_formatted_read_scalar): For case BT_CLASS, call the DTIO
23         procedure.
24         (nml_get_obj_data): Likewise when DTIO procedure is present,.
25         * io/transfer.c : Export prototypes for 'transfer_derived' and
26         'transfer_derived_write'.
27         (unformatted_read): For case BT_CLASS, call the DTIO procedure.
28         (unformatted_write): Likewise.
29         (formatted_transfer_scalar_read): Likewise.
30         (formatted_transfer_scalar_write: Likewise.
31         (transfer_derived): New function.
32         (data_transfer_init): Set last_char if no child_dtio.
33         (finalize_transfer): Return if child_dtio set.
34         (st_write_done): Add condition for child_dtio not set.
35         Add extra arguments for st_set_nml_var prototype.
36         (set_nml_var): New function that contains the contents of the
37         old version of st_set_nml_var. Also sets the 'dtio_sub' and
38         'vtable' fields of the 'nml' structure.
39         (st_set_nml_var): Now just calls set_nml_var with 'dtio_sub'
40         and 'vtable' NULL.
41         (st_set_nml_dtio_var): New function that calls set_nml_var.
42         * io/unit.c (get_external_unit): If the found unit child_dtio
43         is non zero, don't do any mutex locking/unlocking.  Just
44         return the unit.
45         * io/unix.c (tempfile_open): Revert to C style comment.
46         * io/write.c (list_formatted_write_scalar): Do the DTIO call.
47         (nml_write_obj): Add BT_CLASS and do the DTIO call.
49 2016-08-29  Nathan Sidwell  <nathan@acm.org>
51         * configure.ac (nvptx-*): Hardwire newlib.
52         * configure: Rebuilt.
54 2016-08-19  Janne Blomqvist  <jb@gcc.gnu.org>
56         * intrinsics/random.c (xor_keys): New array with "secret" keys.
57         (scramble_seed): XOR given seed with xor_keys array rather than
58         shuffling bytes.
59         (unscramble_seed): Remove function.
60         (random_seed_i4): Use new scramble_seed.
61         (random_seed_i8): Likewise.
63 2016-08-19  Janne Blomqvist  <jb@gcc.gnu.org>
65         * intrinsics/random.c (master_init): New variable.
66         (init_rand_state): Move below getosrandom (), maybe initialize
67         master_state.
68         (random_seed_i4): If called with no arguments, set master_init to
69         false, and reinitialize. If called with PUT=, set master_init to
70         true.
71         (random_seed_i8): Likewise.
73 2016-08-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
75         * intrinsics/random.c: Include <stdlib.h>.
77 2016-08-11  Janne Blomqvist  <jb@gcc.gnu.org>
79         * intrinsics/random.c: Replace KISS with xorshift1024* using
80         per-thread state.
81         * runtime/main.c (init): Don't call random_seed_i4.
83 2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>
85         * caf/libcaf.h: Add parameter stat to caf_get() and
86         caf_send()'s function prototypes.
87         * caf/single.c (_gfortran_caf_get): Implement reporting
88         error using stat instead of abort().
89         (_gfortran_caf_send): Same.
90         (_gfortran_caf_sendget): Use NULL for stat when calling
91         caf_send().
93 2016-06-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
95         PR libgfortran/48852
96         * io/write.c: Cleaned up whitespace.
97         (write_d, write_e, write_f, write_es, write_en): Use new helper
98         function write_float_0.
99         (write_float_0): New helper function.
100         (get_precision, select_buffer, select_string, write_float_string): New
101         helper functions used in remaining float writing functions.
102         Helper function write_float_string now contains code for writing
103         to kind=4 character internal units.
104         (write_real): Modified to establish working buffers at this level
105         and to  use new helper functions.
106         (write_real_g0): Likewise modified.
107         (write_complex): Likewise modified. Gets both float strings before
108         output so that final lengths can be determined which allows right
109         justifying the complex number with no intervening spaces.
110         * io/write_float.def (build_float_string): Renamed from previosly
111         output_float, modified to use buffers passed in from higher functions,
112         builds a null terminated string of the floating point value. Character
113         kind=4 code eliminated.
114         (write_infnan): Likewise modified to use incoming buffers and eliminate
115         kind=4 related code.
116         (OUTPUT_FLOAT_FMT_G): Deleted, functionality moved into FORMAT_FLOAT.
117         (FORMAT_FLOAT): Renamed macro from WRITE_FLOAT. Use build_float_string.
118         (get_float_string): Renamed from write_float, uses FORMAT_FLOAT macro.
119         Buffer allocation removed, now at higher level.
121 2016-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
123         PR libgfortran/71123
124         * io/list_read (eat_spaces): Eat '\r' as part of spaces.
126 2016-04-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
128         PR libgfortran/70684
129         * io/list_read (check_buffers): Add '\r' to check for end of line.
131 2016-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
132             Dominique d'Humieres  <dominiq@lps.ens.fr>
134         PR libgfortran/70235
135         * io/write_float.def: Fix PF format for negative values of the scale
136         factor.
138 2016-03-28  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
140         * caf/libcaf.h: caf_stop_numeric and caf_stop_str prototype.
141         * caf/single.c: _gfortran_caf_stop_numeric and
142         _gfortran_caf_stop_str implementation.
144 2016-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
146         PR libgfortran/69456
147         * io/list_read.c (read_real): If digit is missing from exponent issue
148         an error. (parse_real): Likewise and adjusted error message to clarify
149         it is part of a complex number.
150         (nml_read_obj): Bump item count and add comment that this is used to
151         identify which item in a namelist read has a problem.
153 2016-02-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
155         PR libgfortran/69651
156         * io/list_read.c (push_char4): Fix the pointer usage for xrealloc.
158 2016-02-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
160         PR libgfortran/69651
161         * io/list_read.c: Entire file trailing spaces removed.
162         (CASE_SEPARATORS): Remove '!'.
163         (is_separator): Add namelist mode as condition with '!'.
164         (push_char): Remove un-needed memset. (push_char4): Likewise and remove
165         'new' pointer. (eat_separator): Remove un-needed use of notify_std.
166         (read_logical): If '!' bang encountered when not in namelist mode got
167         bad_logical to give an error. (read_integer): Likewise reject '!'.
168         (read_character): Remove condition testing c = '!' which is now inside
169         the is_separator macro. (parse_real): Reject '!' unless in namelist mode.
170         (read_complex): Reject '!' unless in namelist mode. (read_real): Likewise
171         reject '!'.
173 2016-02-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
175         PR libgfortran/69668
176         * io/list_read.c (read_character): Remove code related to DELIM_NONE.
178 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
180         PR libfortran/68744
181         * runtime/backtrace.c: Include gthr.h.
182         (show_backtrace): Use __gthread_active_p() to determine whether threads
183         are active.  Return if lbstate is NULL.
185 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
187         * intrinsics/execute_command_line.c (set_cmdstat): Use "%s", msg
188         instead of msg to avoid -Wformat-security warning.
190 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
192         Update copyright years.
194 Copyright (C) 2016 Free Software Foundation, Inc.
196 Copying and distribution of this file, with or without modification,
197 are permitted in any medium without royalty provided the copyright
198 notice and this notice are preserved.