re PR fortran/85780 (ICE in resolve_fl_procedure, at fortran/resolve.c:12504)
[official-gcc.git] / gcc / fortran / ChangeLog
blob5ee82a6936596aa4394a536c4d975162d551ccc7
1 2019-01-25  Steven G. Kargl  <kargl@gcc.gnu.org>
3         PR fortran/85780
4         * decl.c (gfc_match_subroutine): Check for conflict between BIND(C)
5         and alternative return.
7 2019-01-24  Paul Thomas  <pault@gcc.gnu.org>
9         PR fortran/88929
10         * trans-array.c (gfc_conv_descriptor_elem_len): New function.
11         * trans-array.h : Add prototype for above.
12         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Take account of
13         assumed rank arrays being flagged by rank = -1 in expressions.
14         Intent in arrays need a pointer to a copy of the data to be
15         assigned to the descriptor passed for conversion. This should
16         then be freed, together with the CFI descriptor on return from
17         the C call.
19 2019-01-22  Harald Anlauf  <anlauf@gmx.de>
21         PR fortran/88579
22         * trans-expr.c (gfc_conv_power_op): Handle cases of (2**e) ** integer
23         and (- 2**e) ** integer.
25 2019-01-19  Dominique d'Humieres  <dominiq@gcc.gnu.org>
27         PR fortran/37835
28         * resolve.c (resolve_types): Add !flag_automatic.
29         * symbol.c (gfc_add_save): Silence warnings.
31 2019-01-19  Steven G. Kargl  <kargl@gcc.gnu.org>
33         PR fortran/77960
34         * io.c (match_io_element): input-item cannot be an external function.
36 2018-01-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
37         Paul Thomas  <pault@gcc.gnu.org>
39         PR fortran/56789
40         * trans-expr.c (gfc_conv_procedure_call): Call
41         gfc_conv_subref_array_arg if the formal arg is contiguous
42         and the actual arg may not be.
44 2019-01-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
46         PR fortran/88871
47         * resolve.c (resolve_ref): Fix logic for removal of
48         reference.
50 2019-01-19  Jakub Jelinek  <jakub@redhat.com>
52         PR fortran/88902
53         * trans-decl.c (gfc_get_symbol_decl): Don't add length to function
54         or parent function if it has been added there already.
56 2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
58         PR fortran/43136
59         * resolve.c (resolve_array_ref): Add equal_length argument; set it
60         if the length of the substring equals that of the orignal
61         variable.
62         (resolve_ref): Remove the substring if it is equal in length to
63         the original variable, unless it is an EXPR_SUBSTRING).
65 2019-01-15  Steven G. Kargl  <kargl@gcc.gnu.org>
67         PR fortran/81849
68         * resolve.c (resolve_symbol): Host associated varaibles can appear
69         in the specification statement of a RESULT array.
71 2019-01-15  Paul Thomas  <pault@gcc.gnu.org>
73         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs
74         that are indirect references; ie. dummy arguments.
76 2019-01-13  Dominique d'Humieres  <dominiq@gcc.gnu.org>
78         PR fortran/88803
79         * gfortran.texi: Replace @xref with @ref and adjust the sentence.
81 2019-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
83         PR fortran/57992
84         * trans-array.c (gfc_conv_array_parameter): Do not pack/unpack
85         functions with contiguous results.
87 2019-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
89         PR fortran/59345
90         * trans-array.c (gfc_conv_array_parameter): Remove TODO.  Do not
91         pack/unpack results of functions which return an explicit-shaped
92         or allocatable array.
94 2019-01-12  Steven G. Kargl  <kargl@gcc.gnu.org>
96         PR fortran/61765
97         * resolve.c (gfc_verify_binding_labels): Break if-elseif-elseif
98         structure into independent if's with a return to simplify logic.
99         Avoid a check for ENTRY name with bind(c).
101 2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
103         * gfortran.texi: Add description in sections on TS 29113 and
104         further interoperability with C.
105         * trans-array.c (gfc_conv_descriptor_attribute): New function.
106         (gfc_get_dataptr_offset): Remove static function attribute.
107         * trans-array.h: Add prototypes for above functions.
108         * trans-decl.c: Add declarations for the library functions
109         cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
110         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
111         (gfc_conv_procedure_call): Call it for scalar and array actual
112         arguments, when the formal arguments are bind_c with assumed
113         shape or assumed rank.
114         * trans.h: External declarations for gfor_fndecl_cfi_to_gfc
115         and gfor_fndecl_gfc_to_cfi.
117 2019-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>
119         PR fortran/35031
120         * decl.c (gfc_match_entry): Check for F2018:C1546.  Fix nearby
121         mis-indentation.
123 2019-01-11  Jakub Jelinek  <jakub@redhat.com>
125         PR middle-end/85956
126         PR lto/88733
127         * trans-openmp.c: Include attribs.h.
128         (gfc_walk_alloc_comps, gfc_omp_clause_linear_ctor): Handle
129         VAR_DECL max bound with "omp dummy var" attribute like NULL or
130         error_mark_node - recompute number of elts independently.
132 2019-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
134         PR fortran/59345
135         * trans-array.c (gfc_conv_parameter_array): Temporary
136         arrays generated for expressions do not need to be repacked.
138 2019-01-10  Steven G. Kargl  <kargl@gcc.gnu.org>
140         PR fortran/86322
141         * decl.c (top_var_list): Set locus of expr.
142         (gfc_match_data): Detect pointer on non-rightmost part-refs.
144 2019-01-09  Steven G. Kargl  <kargl@gcc.gnu.org>
146         PR fortran/88376
147         * resolve.c (is_illegal_recursion): Remove an assert().
149 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
151         PR other/16615
152         * expr.c: Change "can not" to "cannot".
154 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
156         PR other/16615
157         * class.c: Mechanically replace "can not" with "cannot".
158         * decl.c: Likewise.
159         * expr.c: Likewise.
160         * gfc-internals.texi: Likewise.
161         * intrinsic.texi: Likewise.
162         * invoke.texi: Likewise.
163         * io.c: Likewise.
164         * match.c: Likewise.
165         * parse.c: Likewise.
166         * primary.c: Likewise.
167         * resolve.c: Likewise.
168         * symbol.c: Likewise.
169         * trans-array.c: Likewise.
170         * trans-decl.c: Likewise.
171         * trans-intrinsic.c: Likewise.
172         * trans-stmt.c: Likewise.
174 2019-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
176         PR fortran/68426
177         * simplify.c (gfc_simplify_spread): Also simplify if the
178         type of source is an EXPR_STRUCTURE.
180 2019-01-08  Janus Weil  <janus@gcc.gnu.org>
182         PR fortran/88047
183         * class.c (gfc_find_vtab): For polymorphic typespecs, the components of
184         the class container may not be available (in case of invalid code).
186 2019-01-08  Richard Biener  <rguenther@suse.de>
188         PR fortran/88611
189         * trans-expr.c (gfc_conv_initializer): For ISOCBINDING_NULL_*
190         directly build the expected GENERIC tree.
192 2019-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
193         Harald Anlauf <anlauf@gmx.de>
194         Tobias Burnus <burnus@gcc.gnu.org>
196         PR fortran/45424
197         * check.c (gfc_check_is_contiguous): New function.
198         * expr.c (gfc_is_not_contiguous): New function.
199         * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_CONTIGUOUS.
200         Add prototype for gfc_is_not_contiguous.
201         * intrinsic.c (do_ts29113_check): Add GFC_ISYM_IS_CONTIGUOUS.
202         (add_function): Add is_contiguous.
203         * intrinsic.h: Add prototypes for gfc_check_is_contiguous,
204         gfc_simplify_is_contiguous and gfc_resolve_is_contiguous.
205         * intrinsic.texi: Add IS_CONTIGUOUS.
206         * iresolve.c (gfc_resolve_is_contiguous): New function.
207         * simplify.c (gfc_simplify_is_contiguous): New function.
208         * trans-decl.c (gfor_fncecl_is_contiguous0): New variable.
209         (gfc_build_intrinsic_function_decl): Add it.
210         * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): New
211         function.
212         (gfc_conv_intrinsic_function): Handle GFC_ISYM_IS_CONTIGUOUS.
214 2019-01-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
216         PR fortran/88658
217         * gfortran.h: Add macro gfc_real_4_kind
218         * simplify.c (simplify_min_max): Special case for the types of
219         AMAX0, AMIN0, MAX1 and MIN1, which actually change the types of
220         their arguments.
222 2019-01-05  Janus Weil  <janus@gcc.gnu.org>
224         PR fortran/88009
225         * class.c (gfc_find_derived_vtab): Mark the _final component as
226         artificial.
227         (find_intrinsic_vtab): Ditto. Also add an extra check to avoid
228         dereferencing a null pointer and adjust indentation.
229         * resolve.c (resolve_fl_variable): Add extra check to avoid
230         dereferencing a null pointer. Move variable declarations to local scope.
231         (resolve_fl_procedure): Add extra check to avoid dereferencing a null
232         pointer.
233         * symbol.c (check_conflict): Suppress errors for artificial symbols.
235 2019-01-01  Steven G. Kargl  <kargl@gcc.gnu.org>
237         * parse.c (decode_statement): Suppress "Unclassifiable statement"
238         error if previous error messages were emittes.
240 2019-01-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
242         PR fortran/82743
243         * primary.c (gfc_convert_to_structure_constructor): If a character
244         in a constructor is too long, add a  warning with
245         -Wcharacter-truncation.
247 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
249         Update copyright years.
251         * gfortranspec.c (lang_specific_driver): Update copyright notice
252         dates.
253         * gfc-internals.texi: Bump @copying's copyright year.
254         * gfortran.texi: Ditto.
255         * intrinsic.texi: Ditto.
256         * invoke.texi: Ditto.
258 Copyright (C) 2019 Free Software Foundation, Inc.
260 Copying and distribution of this file, with or without modification,
261 are permitted in any medium without royalty provided the copyright
262 notice and this notice are preserved.