]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
2019-02-09 Aaron Sawdey <acsawdey@linux.ibm.com>
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
7d41610c 12019-02-09 Paul Thomas <pault@gcc.gnu.org>
2
3 PR fortran/89200
4 * trans-array.c (gfc_trans_create_temp_array): Set the 'span'
5 field for derived types.
6
df378257 72019-02-04 Harald Anlauf <anlauf@gmx.de>
8
9 PR fortran/89077
10 * decl.c (add_init_expr_to_sym): Copy length of string initializer
11 to declared symbol.
12
6c23b2c4 132019-02-04 Martin Liska <mliska@suse.cz>
14
15 PR fortran/89185
16 * resolve.c (resolve_ref): Remove breakout variable as
17 we need to prevent prev = &(*prev)->next to happen
18 with *prev == NULL.
19
d7b02225 202019-02-04 Martin Liska <mliska@suse.cz>
21
22 PR fortran/88912
23 * scanner.c (load_file): Report error for -fpre-include
24 file and do not ICE.
25
8151f617 262019-02-02 Dominique d'Humieres <dominiq@gcc.gnu.org>
27
28 PR fortran/81344
29 * invoke.texi: Document the behavior of repeated -ffpe-trap
30 and -ffpe-summary.
31
b399769c 322019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
33
34 PR fortran/88298
35 * arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
36 * gfortran.h (gfc_expr): Add flag do_not_warn.
37 * intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
38 no warning is desired.
39
1834f7a3 402019-02-02 Paul Thomas <pault@gcc.gnu.org>
41
42 PR fortran/88393
43 * trans-expr.c (gfc_conv_procedure_call): For derived entities,
44 passed in parentheses to class formals, invert the order of
45 copying allocatable components to taking the _data of the
46 class expression.
47
ba3862bc 482019-02-02 Paul Thomas <pault@gcc.gnu.org>
49
50 PR fortran/88980
51 * trans-array.c (gfc_array_init_size): Add element_size to the
52 arguments.
53 (gfc_array_allocate): Remove the recalculation of the size of
54 the element and use element_size from the call to the above.
55 Unconditionally set the span field of the descriptor.
56
285eb84d 572019-02-02 Paul Thomas <pault@gcc.gnu.org>
58
59 PR fortran/88685
60 * expr.c (is_subref_array): Move the check for class pointer
61 dummy arrays to after the reference check. If we haven't seen
62 an array reference other than an element and a component is not
63 class or derived, return false.
64
49b830df 652019-02-01 Jakub Jelinek <jakub@redhat.com>
66
67 PR fortran/83246
68 PR fortran/89084
69 * trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
70 if sym->ns->construct_entities rather than if
71 sym->ns->parent->code->op == EXEC_BLOCK.
72
a82041dd 732019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
74
75 PR fortran/88669
76 * resolve.c (resolve_component): If the reference is a BT_CLASS,
77 copy the contiguous attribute from the reference and use the
78 correct attributes.
79
a11ed94b 802019-01-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
81
82 PR fortran/52564
83 * io.c (match_io): Add check for comma after '*' without subsequent
84 IO list.
85
5851d123 862019-01-30 Dominique d'Humieres <dominiq@gcc.gnu.org>
87
88 PR fortran/52884
89 * invoke.texi: Document the promotion of double precision
90 constants.
91
659d7fd3 922019-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
93
94 PR fortran/57048
95 * interface.c (gfc_compare_types): If a derived type and an
96 integer both have a derived type, and they are identical,
97 this is a C binding type and compares equal.
98
bc3eb257 992019-01-26 Harald Anlauf <anlauf@gmx.de>
100
101 PR fortran/57553
102 * expr.c (check_inquiry): Add list of inquiry functions allowed in
103 constant expressions for F2008+.
104
2ae44fa6 1052019-01-25 Steven G. Kargl <kargl@gcc.gnu.org>
106
107 PR fortran/85780
108 * decl.c (gfc_match_subroutine): Check for conflict between BIND(C)
109 and alternative return.
110
297fd295 1112019-01-24 Paul Thomas <pault@gcc.gnu.org>
112
113 PR fortran/88929
114 * trans-array.c (gfc_conv_descriptor_elem_len): New function.
115 * trans-array.h : Add prototype for above.
116 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Take account of
117 assumed rank arrays being flagged by rank = -1 in expressions.
118 Intent in arrays need a pointer to a copy of the data to be
119 assigned to the descriptor passed for conversion. This should
120 then be freed, together with the CFI descriptor on return from
121 the C call.
122
4348a41f 1232019-01-22 Harald Anlauf <anlauf@gmx.de>
124
125 PR fortran/88579
126 * trans-expr.c (gfc_conv_power_op): Handle cases of (2**e) ** integer
127 and (- 2**e) ** integer.
128
c81c2702 1292019-01-19 Dominique d'Humieres <dominiq@gcc.gnu.org>
130
131 PR fortran/37835
132 * resolve.c (resolve_types): Add !flag_automatic.
133 * symbol.c (gfc_add_save): Silence warnings.
134
19081b87 1352019-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
136
137 PR fortran/77960
138 * io.c (match_io_element): input-item cannot be an external function.
4348a41f 139
b7e6520a 1402018-01-19 Thomas Koenig <tkoenig@gcc.gnu.org>
141 Paul Thomas <pault@gcc.gnu.org>
142
143 PR fortran/56789
144 * trans-expr.c (gfc_conv_procedure_call): Call
145 gfc_conv_subref_array_arg if the formal arg is contiguous
146 and the actual arg may not be.
147
66f2cfae 1482019-01-17 Thomas Koenig <tkoenig@gcc.gnu.org>
149
150 PR fortran/88871
151 * resolve.c (resolve_ref): Fix logic for removal of
152 reference.
153
7b60c131 1542019-01-19 Jakub Jelinek <jakub@redhat.com>
155
156 PR fortran/88902
157 * trans-decl.c (gfc_get_symbol_decl): Don't add length to function
158 or parent function if it has been added there already.
159
0b953692 1602019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
161
a96be852 162 PR fortran/43136
0b953692 163 * resolve.c (resolve_array_ref): Add equal_length argument; set it
164 if the length of the substring equals that of the orignal
165 variable.
166 (resolve_ref): Remove the substring if it is equal in length to
167 the original variable, unless it is an EXPR_SUBSTRING).
168
ef1b2a98 1692019-01-15 Steven G. Kargl <kargl@gcc.gnu.org>
170
171 PR fortran/81849
172 * resolve.c (resolve_symbol): Host associated varaibles can appear
173 in the specification statement of a RESULT array.
174
8f563733 1752019-01-15 Paul Thomas <pault@gcc.gnu.org>
176
177 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs
178 that are indirect references; ie. dummy arguments.
179
0cc7cbe4 1802019-01-13 Dominique d'Humieres <dominiq@gcc.gnu.org>
181
182 PR fortran/88803
183 * gfortran.texi: Replace @xref with @ref and adjust the sentence.
184
70409dee 1852019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
186
187 PR fortran/57992
7b60c131 188 * trans-array.c (gfc_conv_array_parameter): Do not pack/unpack
70409dee 189 functions with contiguous results.
190
ae57d8c7 1912019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
192
193 PR fortran/59345
194 * trans-array.c (gfc_conv_array_parameter): Remove TODO. Do not
195 pack/unpack results of functions which return an explicit-shaped
196 or allocatable array.
197
c8f3fe68 1982019-01-12 Steven G. Kargl <kargl@gcc.gnu.org>
199
200 PR fortran/61765
201 * resolve.c (gfc_verify_binding_labels): Break if-elseif-elseif
202 structure into independent if's with a return to simplify logic.
203 Avoid a check for ENTRY name with bind(c).
204
77ddff12 2052019-01-12 Paul Thomas <pault@gcc.gnu.org>
206
7b60c131 207 * gfortran.texi: Add description in sections on TS 29113 and
77ddff12 208 further interoperability with C.
209 * trans-array.c (gfc_conv_descriptor_attribute): New function.
210 (gfc_get_dataptr_offset): Remove static function attribute.
7b60c131 211 * trans-array.h: Add prototypes for above functions.
212 * trans-decl.c: Add declarations for the library functions
77ddff12 213 cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
214 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
215 (gfc_conv_procedure_call): Call it for scalar and array actual
216 arguments, when the formal arguments are bind_c with assumed
217 shape or assumed rank.
7b60c131 218 * trans.h: External declarations for gfor_fndecl_cfi_to_gfc
77ddff12 219 and gfor_fndecl_gfc_to_cfi.
220
0e8475b7 2212019-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
222
223 PR fortran/35031
224 * decl.c (gfc_match_entry): Check for F2018:C1546. Fix nearby
225 mis-indentation.
226
45b37eaa 2272019-01-11 Jakub Jelinek <jakub@redhat.com>
228
229 PR middle-end/85956
230 PR lto/88733
231 * trans-openmp.c: Include attribs.h.
232 (gfc_walk_alloc_comps, gfc_omp_clause_linear_ctor): Handle
233 VAR_DECL max bound with "omp dummy var" attribute like NULL or
234 error_mark_node - recompute number of elts independently.
235
04afaf6a 2362019-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
237
238 PR fortran/59345
45b37eaa 239 * trans-array.c (gfc_conv_parameter_array): Temporary
04afaf6a 240 arrays generated for expressions do not need to be repacked.
241
15cbe83d 2422019-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
243
244 PR fortran/86322
245 * decl.c (top_var_list): Set locus of expr.
246 (gfc_match_data): Detect pointer on non-rightmost part-refs.
247
e66b219e 2482019-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
249
250 PR fortran/88376
251 * resolve.c (is_illegal_recursion): Remove an assert().
252
07c11f2b 2532019-01-09 Sandra Loosemore <sandra@codesourcery.com>
254
255 PR other/16615
07c11f2b 256 * expr.c: Change "can not" to "cannot".
257
f4d3c071 2582019-01-09 Sandra Loosemore <sandra@codesourcery.com>
259
260 PR other/16615
f4d3c071 261 * class.c: Mechanically replace "can not" with "cannot".
262 * decl.c: Likewise.
263 * expr.c: Likewise.
264 * gfc-internals.texi: Likewise.
265 * intrinsic.texi: Likewise.
266 * invoke.texi: Likewise.
267 * io.c: Likewise.
268 * match.c: Likewise.
269 * parse.c: Likewise.
270 * primary.c: Likewise.
271 * resolve.c: Likewise.
272 * symbol.c: Likewise.
273 * trans-array.c: Likewise.
274 * trans-decl.c: Likewise.
275 * trans-intrinsic.c: Likewise.
276 * trans-stmt.c: Likewise.
277
9f096803 2782019-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
279
280 PR fortran/68426
281 * simplify.c (gfc_simplify_spread): Also simplify if the
282 type of source is an EXPR_STRUCTURE.
283
d56370db 2842019-01-08 Janus Weil <janus@gcc.gnu.org>
285
286 PR fortran/88047
287 * class.c (gfc_find_vtab): For polymorphic typespecs, the components of
288 the class container may not be available (in case of invalid code).
289
ac64cdbe 2902019-01-08 Richard Biener <rguenther@suse.de>
291
292 PR fortran/88611
293 * trans-expr.c (gfc_conv_initializer): For ISOCBINDING_NULL_*
294 directly build the expected GENERIC tree.
295
5f34f219 2962019-01-07 Thomas Koenig <tkoenig@gcc.gnu.org>
297 Harald Anlauf <anlauf@gmx.de>
298 Tobias Burnus <burnus@gcc.gnu.org>
299
300 PR fortran/45424
301 * check.c (gfc_check_is_contiguous): New function.
302 * expr.c (gfc_is_not_contiguous): New function.
303 * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_CONTIGUOUS.
304 Add prototype for gfc_is_not_contiguous.
305 * intrinsic.c (do_ts29113_check): Add GFC_ISYM_IS_CONTIGUOUS.
306 (add_function): Add is_contiguous.
307 * intrinsic.h: Add prototypes for gfc_check_is_contiguous,
308 gfc_simplify_is_contiguous and gfc_resolve_is_contiguous.
309 * intrinsic.texi: Add IS_CONTIGUOUS.
310 * iresolve.c (gfc_resolve_is_contiguous): New function.
311 * simplify.c (gfc_simplify_is_contiguous): New function.
312 * trans-decl.c (gfor_fncecl_is_contiguous0): New variable.
313 (gfc_build_intrinsic_function_decl): Add it.
314 * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): New
315 function.
316 (gfc_conv_intrinsic_function): Handle GFC_ISYM_IS_CONTIGUOUS.
317
2abeea3d 3182019-01-06 Thomas Koenig <tkoenig@gcc.gnu.org>
319
320 PR fortran/88658
321 * gfortran.h: Add macro gfc_real_4_kind
322 * simplify.c (simplify_min_max): Special case for the types of
323 AMAX0, AMIN0, MAX1 and MIN1, which actually change the types of
324 their arguments.
325
f2aba4ef 3262019-01-05 Janus Weil <janus@gcc.gnu.org>
327
328 PR fortran/88009
329 * class.c (gfc_find_derived_vtab): Mark the _final component as
330 artificial.
331 (find_intrinsic_vtab): Ditto. Also add an extra check to avoid
332 dereferencing a null pointer and adjust indentation.
333 * resolve.c (resolve_fl_variable): Add extra check to avoid
334 dereferencing a null pointer. Move variable declarations to local scope.
335 (resolve_fl_procedure): Add extra check to avoid dereferencing a null
336 pointer.
337 * symbol.c (check_conflict): Suppress errors for artificial symbols.
338
5055fc33 3392019-01-01 Steven G. Kargl <kargl@gcc.gnu.org>
340
45b37eaa 341 * parse.c (decode_statement): Suppress "Unclassifiable statement"
5055fc33 342 error if previous error messages were emittes.
343
66aeaf4b 3442019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
345
346 PR fortran/82743
347 * primary.c (gfc_convert_to_structure_constructor): If a character
348 in a constructor is too long, add a warning with
349 -Wcharacter-truncation.
350
3d8932fd 3512019-01-01 Jakub Jelinek <jakub@redhat.com>
8e8f6434 352
fbd26352 353 Update copyright years.
354
277184bc 355 * gfortranspec.c (lang_specific_driver): Update copyright notice
356 dates.
357 * gfc-internals.texi: Bump @copying's copyright year.
358 * gfortran.texi: Ditto.
359 * intrinsic.texi: Ditto.
360 * invoke.texi: Ditto.
2355cca7 361\f
3d8932fd 362Copyright (C) 2019 Free Software Foundation, Inc.
7dfbd804 363
364Copying and distribution of this file, with or without modification,
365are permitted in any medium without royalty provided the copyright
366notice and this notice are preserved.