re PR fortran/81344 (Can't disable -ffpe-trap (or not documented))
[official-gcc.git] / gcc / fortran / ChangeLog
blob6f0e9e694955f2295aa71ed4856364b72d50e25c
1 2019-02-02  Dominique d'Humieres  <dominiq@gcc.gnu.org>
3         PR fortran/81344
4         * invoke.texi: Document the behavior of repeated -ffpe-trap
5         and -ffpe-summary.
7 2019-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
9         PR fortran/88298
10         * arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
11         * gfortran.h (gfc_expr): Add flag do_not_warn.
12         * intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
13         no warning is desired.
15 2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
17         PR fortran/88393
18         * trans-expr.c (gfc_conv_procedure_call): For derived entities,
19         passed in parentheses to class formals, invert the order of
20         copying allocatable components to taking the _data of the
21         class expression.
23 2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
25         PR fortran/88980
26         * trans-array.c (gfc_array_init_size): Add element_size to the
27         arguments.
28         (gfc_array_allocate): Remove the recalculation of the size of
29         the element and use element_size from the call to the above.
30         Unconditionally set the span field of the descriptor.
32 2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
34         PR fortran/88685
35         * expr.c (is_subref_array): Move the check for class pointer
36         dummy arrays to after the reference check. If we haven't seen
37         an array reference other than an element and a component is not
38         class or derived, return false.
40 2019-02-01  Jakub Jelinek  <jakub@redhat.com>
42         PR fortran/83246
43         PR fortran/89084
44         * trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
45         if sym->ns->construct_entities rather than if
46         sym->ns->parent->code->op == EXEC_BLOCK.
48 2019-01-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
50         PR fortran/88669
51         * resolve.c (resolve_component): If the reference is a BT_CLASS,
52         copy the contiguous attribute from the reference and use the
53         correct attributes.
55 2019-01-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
57         PR fortran/52564
58         * io.c (match_io): Add check for comma after '*' without subsequent
59         IO list.
61 2019-01-30  Dominique d'Humieres  <dominiq@gcc.gnu.org>
63         PR fortran/52884
64         * invoke.texi: Document the promotion of double precision
65         constants.
67 2019-01-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
69         PR fortran/57048
70         * interface.c (gfc_compare_types): If a derived type and an
71         integer both have a derived type, and they are identical,
72         this is a C binding type and compares equal.
74 2019-01-26  Harald Anlauf  <anlauf@gmx.de>
76         PR fortran/57553
77         * expr.c (check_inquiry): Add list of inquiry functions allowed in
78         constant expressions for F2008+.
80 2019-01-25  Steven G. Kargl  <kargl@gcc.gnu.org>
82         PR fortran/85780
83         * decl.c (gfc_match_subroutine): Check for conflict between BIND(C)
84         and alternative return.
86 2019-01-24  Paul Thomas  <pault@gcc.gnu.org>
88         PR fortran/88929
89         * trans-array.c (gfc_conv_descriptor_elem_len): New function.
90         * trans-array.h : Add prototype for above.
91         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Take account of
92         assumed rank arrays being flagged by rank = -1 in expressions.
93         Intent in arrays need a pointer to a copy of the data to be
94         assigned to the descriptor passed for conversion. This should
95         then be freed, together with the CFI descriptor on return from
96         the C call.
98 2019-01-22  Harald Anlauf  <anlauf@gmx.de>
100         PR fortran/88579
101         * trans-expr.c (gfc_conv_power_op): Handle cases of (2**e) ** integer
102         and (- 2**e) ** integer.
104 2019-01-19  Dominique d'Humieres  <dominiq@gcc.gnu.org>
106         PR fortran/37835
107         * resolve.c (resolve_types): Add !flag_automatic.
108         * symbol.c (gfc_add_save): Silence warnings.
110 2019-01-19  Steven G. Kargl  <kargl@gcc.gnu.org>
112         PR fortran/77960
113         * io.c (match_io_element): input-item cannot be an external function.
115 2018-01-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
116         Paul Thomas  <pault@gcc.gnu.org>
118         PR fortran/56789
119         * trans-expr.c (gfc_conv_procedure_call): Call
120         gfc_conv_subref_array_arg if the formal arg is contiguous
121         and the actual arg may not be.
123 2019-01-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
125         PR fortran/88871
126         * resolve.c (resolve_ref): Fix logic for removal of
127         reference.
129 2019-01-19  Jakub Jelinek  <jakub@redhat.com>
131         PR fortran/88902
132         * trans-decl.c (gfc_get_symbol_decl): Don't add length to function
133         or parent function if it has been added there already.
135 2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
137         PR fortran/43136
138         * resolve.c (resolve_array_ref): Add equal_length argument; set it
139         if the length of the substring equals that of the orignal
140         variable.
141         (resolve_ref): Remove the substring if it is equal in length to
142         the original variable, unless it is an EXPR_SUBSTRING).
144 2019-01-15  Steven G. Kargl  <kargl@gcc.gnu.org>
146         PR fortran/81849
147         * resolve.c (resolve_symbol): Host associated varaibles can appear
148         in the specification statement of a RESULT array.
150 2019-01-15  Paul Thomas  <pault@gcc.gnu.org>
152         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs
153         that are indirect references; ie. dummy arguments.
155 2019-01-13  Dominique d'Humieres  <dominiq@gcc.gnu.org>
157         PR fortran/88803
158         * gfortran.texi: Replace @xref with @ref and adjust the sentence.
160 2019-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
162         PR fortran/57992
163         * trans-array.c (gfc_conv_array_parameter): Do not pack/unpack
164         functions with contiguous results.
166 2019-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
168         PR fortran/59345
169         * trans-array.c (gfc_conv_array_parameter): Remove TODO.  Do not
170         pack/unpack results of functions which return an explicit-shaped
171         or allocatable array.
173 2019-01-12  Steven G. Kargl  <kargl@gcc.gnu.org>
175         PR fortran/61765
176         * resolve.c (gfc_verify_binding_labels): Break if-elseif-elseif
177         structure into independent if's with a return to simplify logic.
178         Avoid a check for ENTRY name with bind(c).
180 2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
182         * gfortran.texi: Add description in sections on TS 29113 and
183         further interoperability with C.
184         * trans-array.c (gfc_conv_descriptor_attribute): New function.
185         (gfc_get_dataptr_offset): Remove static function attribute.
186         * trans-array.h: Add prototypes for above functions.
187         * trans-decl.c: Add declarations for the library functions
188         cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
189         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
190         (gfc_conv_procedure_call): Call it for scalar and array actual
191         arguments, when the formal arguments are bind_c with assumed
192         shape or assumed rank.
193         * trans.h: External declarations for gfor_fndecl_cfi_to_gfc
194         and gfor_fndecl_gfc_to_cfi.
196 2019-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>
198         PR fortran/35031
199         * decl.c (gfc_match_entry): Check for F2018:C1546.  Fix nearby
200         mis-indentation.
202 2019-01-11  Jakub Jelinek  <jakub@redhat.com>
204         PR middle-end/85956
205         PR lto/88733
206         * trans-openmp.c: Include attribs.h.
207         (gfc_walk_alloc_comps, gfc_omp_clause_linear_ctor): Handle
208         VAR_DECL max bound with "omp dummy var" attribute like NULL or
209         error_mark_node - recompute number of elts independently.
211 2019-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
213         PR fortran/59345
214         * trans-array.c (gfc_conv_parameter_array): Temporary
215         arrays generated for expressions do not need to be repacked.
217 2019-01-10  Steven G. Kargl  <kargl@gcc.gnu.org>
219         PR fortran/86322
220         * decl.c (top_var_list): Set locus of expr.
221         (gfc_match_data): Detect pointer on non-rightmost part-refs.
223 2019-01-09  Steven G. Kargl  <kargl@gcc.gnu.org>
225         PR fortran/88376
226         * resolve.c (is_illegal_recursion): Remove an assert().
228 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
230         PR other/16615
231         * expr.c: Change "can not" to "cannot".
233 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
235         PR other/16615
236         * class.c: Mechanically replace "can not" with "cannot".
237         * decl.c: Likewise.
238         * expr.c: Likewise.
239         * gfc-internals.texi: Likewise.
240         * intrinsic.texi: Likewise.
241         * invoke.texi: Likewise.
242         * io.c: Likewise.
243         * match.c: Likewise.
244         * parse.c: Likewise.
245         * primary.c: Likewise.
246         * resolve.c: Likewise.
247         * symbol.c: Likewise.
248         * trans-array.c: Likewise.
249         * trans-decl.c: Likewise.
250         * trans-intrinsic.c: Likewise.
251         * trans-stmt.c: Likewise.
253 2019-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
255         PR fortran/68426
256         * simplify.c (gfc_simplify_spread): Also simplify if the
257         type of source is an EXPR_STRUCTURE.
259 2019-01-08  Janus Weil  <janus@gcc.gnu.org>
261         PR fortran/88047
262         * class.c (gfc_find_vtab): For polymorphic typespecs, the components of
263         the class container may not be available (in case of invalid code).
265 2019-01-08  Richard Biener  <rguenther@suse.de>
267         PR fortran/88611
268         * trans-expr.c (gfc_conv_initializer): For ISOCBINDING_NULL_*
269         directly build the expected GENERIC tree.
271 2019-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
272         Harald Anlauf <anlauf@gmx.de>
273         Tobias Burnus <burnus@gcc.gnu.org>
275         PR fortran/45424
276         * check.c (gfc_check_is_contiguous): New function.
277         * expr.c (gfc_is_not_contiguous): New function.
278         * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_CONTIGUOUS.
279         Add prototype for gfc_is_not_contiguous.
280         * intrinsic.c (do_ts29113_check): Add GFC_ISYM_IS_CONTIGUOUS.
281         (add_function): Add is_contiguous.
282         * intrinsic.h: Add prototypes for gfc_check_is_contiguous,
283         gfc_simplify_is_contiguous and gfc_resolve_is_contiguous.
284         * intrinsic.texi: Add IS_CONTIGUOUS.
285         * iresolve.c (gfc_resolve_is_contiguous): New function.
286         * simplify.c (gfc_simplify_is_contiguous): New function.
287         * trans-decl.c (gfor_fncecl_is_contiguous0): New variable.
288         (gfc_build_intrinsic_function_decl): Add it.
289         * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): New
290         function.
291         (gfc_conv_intrinsic_function): Handle GFC_ISYM_IS_CONTIGUOUS.
293 2019-01-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
295         PR fortran/88658
296         * gfortran.h: Add macro gfc_real_4_kind
297         * simplify.c (simplify_min_max): Special case for the types of
298         AMAX0, AMIN0, MAX1 and MIN1, which actually change the types of
299         their arguments.
301 2019-01-05  Janus Weil  <janus@gcc.gnu.org>
303         PR fortran/88009
304         * class.c (gfc_find_derived_vtab): Mark the _final component as
305         artificial.
306         (find_intrinsic_vtab): Ditto. Also add an extra check to avoid
307         dereferencing a null pointer and adjust indentation.
308         * resolve.c (resolve_fl_variable): Add extra check to avoid
309         dereferencing a null pointer. Move variable declarations to local scope.
310         (resolve_fl_procedure): Add extra check to avoid dereferencing a null
311         pointer.
312         * symbol.c (check_conflict): Suppress errors for artificial symbols.
314 2019-01-01  Steven G. Kargl  <kargl@gcc.gnu.org>
316         * parse.c (decode_statement): Suppress "Unclassifiable statement"
317         error if previous error messages were emittes.
319 2019-01-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
321         PR fortran/82743
322         * primary.c (gfc_convert_to_structure_constructor): If a character
323         in a constructor is too long, add a  warning with
324         -Wcharacter-truncation.
326 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
328         Update copyright years.
330         * gfortranspec.c (lang_specific_driver): Update copyright notice
331         dates.
332         * gfc-internals.texi: Bump @copying's copyright year.
333         * gfortran.texi: Ditto.
334         * intrinsic.texi: Ditto.
335         * invoke.texi: Ditto.
337 Copyright (C) 2019 Free Software Foundation, Inc.
339 Copying and distribution of this file, with or without modification,
340 are permitted in any medium without royalty provided the copyright
341 notice and this notice are preserved.