]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/fortran/ChangeLog
a163a1d79198715f1f3888cffa5cbbc01a769828
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
1 2019-07-03 Martin Liska <mliska@suse.cz>
2
3 * check.c (gfc_check_c_funloc): Remove
4 dead assignemts.
5 * decl.c (variable_decl): Likewise.
6 * resolve.c (resolve_typebound_function): Likewise.
7 * simplify.c (gfc_simplify_matmul): Likewise.
8 (gfc_simplify_scan): Likewise.
9 * trans-array.c (gfc_could_be_alias): Likewise.
10 * trans-common.c (add_equivalences): Likewise.
11 * trans-expr.c (trans_class_vptr_len_assignment): Likewise.
12 (gfc_trans_array_constructor_copy): Likewise.
13 (gfc_trans_assignment_1): Likewise.
14 * trans-intrinsic.c (conv_intrinsic_atomic_op): Likewise.
15 * trans-openmp.c (gfc_omp_finish_clause): Likewise.
16 * trans-types.c (gfc_get_array_descriptor_base): Likewise.
17 * trans.c (gfc_build_final_call): Likewise.
18
19 2019-06-27 Steven G. Kargl <kargl@gcc.gnu.org>
20
21 PR fortran/90987
22 * gfortran.dg/common_1.f: new test.
23 * gfortran.dg/common_26.f90: Ditto.
24
25 2019-06-26 Steven G. Kargl <kargl@gcc.gnu.org>
26
27 PR Fortran/90988
28 ChangeLog forgotten with revision 272667
29 * decl.c (access_attr_decl): Use temporary variable to reduce
30 unreadability of code. Normalize jumping to return.
31 (gfc_match_protected): Fix parsing error. Add comments to
32 explain code. Remove dead code.
33 (gfc_match_private): Use temporary variable to reduce unreadability
34 of code. Fix parsing error. Move code to test for blank PRIVATE.
35 Remove dead code.
36 (gfc_match_public): Move code to test for blank PUBLIC. Fix
37 parsing error. Remove dead code.
38
39 2019-06-24 Jan Hubicka <jh@suse.cz>
40
41 * trans-expr.c (gfc_conv_substring): Check that
42 type is array or integer prior checking string flag.
43 (gfc_conv_string_parameter): Likewise.
44 * trans-openmp.c (gfc_omp_scalar_p): Likewise.
45 * trans.c (gfc_build_array_ref): Likewise.
46
47 2019-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
48
49 PR fortran/89782
50 * io.c (gfc_resolve_dt): Check that internal units are not
51 character PARAMETER.
52
53 2019-06-21 Steven G. Kargl <kargl@gcc.gnu.org>
54
55 PR fortran/67884
56 * resolve.c (deferred_requirements) : Check only the result variable.
57 (resolve_fl_procedure): Check deferred requirements on functions.
58
59 2019-06-21 Steven G. Kargl <kargl@gcc.gnu.org>
60
61 PR fortran/51991
62 * decl.c (gfc_match_save): If SAVE was not seen, return MATCH_NO
63 instead issuing an error message and returning MATCH_ERROR.
64
65 2019-06-20 Steven G. Kargl <kargl@gcc.gnu.org>
66
67 PR fortran/77632
68 * /decl.c (variable_decl): Mark a variable that is a target in pointer
69 initialization when in PROGRAM, MODULE, or SUBMODULE scope with an
70 implicit save.
71
72 2019-06-20 Steven G. Kargl <kargl@gcc.gnu.org>
73
74 PR fortran/86587
75 * symbol.c (verify_bind_c_derived_type): Remove erroneous error
76 checking for BIND(C) and PRIVATE attributes.
77
78 2019-06-20 Thomas Koenig <tkoenig@gcc.gnu.org>
79
80 PR fortran/90937
81 * trans-types.c (get_formal_from_actual_arglist): Get symbol from
82 current namespace so it will be freed later. If symbol is of type
83 character, get an empty character length.
84
85 2019-06-19 Steven G. Kargl <kargl@gcc.gnu.org>
86
87 PR fortran/69499
88 * match.c (gfc_match_select_type): SELECT TYPE is an executable
89 statement, and cannot appear in MODULE or SUBMODULE scope.
90
91 2019-06-19 Steven G. Kargl <kargl@gcc.gnu.org>
92
93 PR fortran/69398
94 * decl.c (attr_decl): Check for duplicate DIMENSION attribute for a
95 CLASS entity.
96
97 2019-06-19 Steven G. Kargl <kargl@gcc.gnu.org>
98
99 PR fortran/87907
100 * resolve.c (resolve_contained_fntype): Do not dereference a NULL
101 pointer.
102
103 2019-06-19 Jim MacArthur <jim.macarthur@codethink.co.uk>
104 Mark Eggleston <mark.eggleston@codethink.com>
105
106 PR fortran/89103
107 * gfortran.texi: Add -fdec-blank-format-item
108 * invoke.texi: Add option to list of options.
109 * invoke.texi: Add to section on Commas in FORMAT specifications.
110 * io.c (check_format): At FMT_RPAREN goto finished if
111 -fdec-blank-format-item otherwise set error string.
112 * lang.opt: Add new option.
113 * options.c (set_dec_flags): Add SET_BITFLAG for
114 flag_dec_format_defaults.
115
116 2019-06-18 Julian Brown <julian@codesourcery.com>
117
118 PR fortran/90921
119 * trans-decl.c (finish_oacc_declare): Reset module_oacc_clauses
120 before scanning each namespace.
121
122 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
123
124 PR fortran/85221
125 * trans-decl.c (add_attributes_to_decl): Handle OpenACC 'declare'
126 directive.
127
128 2019-06-16 Thomas Koenig <tkoenig@gcc.gnu.org>
129
130 * dump_parse_tree (debug): Add verison for formal arglist.
131 Do not crash when a gfc_expr is NULL.
132
133 2019-06-15 Steven G. Kargl <kargl@gcc.gnu.org>
134
135 * decl.c (gfc_match_derived_decl): Dummy argument cannot be a derived
136 type.
137
138 2019-06-14 Steven G. Kargl <kargl@gcc.gnu.org>
139
140 * arith.c (arith_power): Rework overflow of an integer to an integer
141 exponent.
142
143 2019-06-14 Harald Anlauf <anlauf@gmx.de>
144
145 PR fortran/90577
146 PR fortran/90578
147 * trans-intrinsic.c (gfc_conv_intrinsic_shift): Properly
148 distinguish logical/arithmetic shifts.
149 * intrinsic.texi: Update documentation for SHIFTR/SHIFTL/SHIFTA
150 (Fortran 2008) and LSHIFT/RSHIFT (GNU extensions).
151
152 2019-06-14 Steven G. Kargl <kargl@gcc.gnu.org>
153
154 PR fortran/89646
155 * dependency.c (gfc_check_argument_var_dependency): Suppress spurious
156 warnings by comparing variable names.
157
158 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org>
159
160 PR fortran/68544
161 * resolve.c (is_dt_name): New function to compare symbol name against
162 list of derived types.
163 (resolve_actual_arglist): Use it to find wrong code.
164
165 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org>
166
167 PR fortran/89344
168 * expr.c (gfc_check_vardef_context): Check for INTENT(IN) variable
169 in SELECT TYPE construct.
170
171 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org>
172
173 PR fortran/88810
174 * dependency.c (gfc_dep_resolver): Re-arrange code to make the logic
175 a bit more transparent. Fix 2 nearby formatting issues.
176
177 2019-06-13 Jakub Jelinek <jakub@redhat.com>
178
179 * io.c (check_format): Use G_(...) instead of _(...) for error values,
180 append " in format string at %L" to all strings but unexpected_element,
181 use error as gfc_error formating string instead of
182 "%s in format string at %L". Formatting fixes.
183
184 2019-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
185
186 * gfortran.h (gfc_free_dt_list): Remove prototype.
187
188 2019-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
189
190 PR fortran/90002
191 * array.c (gfc_free_array_spec): When freeing an array-spec, avoid
192 an ICE for assumed-shape coarrays.
193
194 2019-06-08 Paul Thomas <pault@gcc.gnu.org>
195
196 PR fortran/90786
197 * trans-expr.c (pointer_assignment_is_proc_pointer) Remove as
198 it is very simple and only called from one place.
199 (gfc_trans_pointer_assignment): Rename non_proc_pointer_assign
200 as non_proc_ptr_assign. Assign to it directly, rather than call
201 to above, deleted function and use gfc_expr_attr instead of
202 only checking the reference chain.
203
204 2019-06-08 Thomas Koenig <tkoenig@gcc.gnu.org>
205 Tomáš Trnka <trnka@scm.com>
206
207 PR fortran/90744
208 * trans-types.c (get_formal_from_actual_arglist): Unset typespec
209 flags which make no sense for procedures without explicit
210 interface.
211
212 2019-06-02 Thomas Koenig <tkoenig@gcc.gnu.org>
213
214 PR fortran/90539
215 * trans-expr.c (gfc_conv_subref_array_arg): If the size of the
216 expression can be determined to be one, treat it as contiguous.
217 Set likelyhood of presence of an actual argument according to
218 PRED_FORTRAN_ABSENT_DUMMY and likelyhood of being contiguous
219 according to PRED_FORTRAN_CONTIGUOUS.
220
221 2019-05-30 Thomas Koenig <tkoenig@gcc.gnu.org>
222
223 * gfc-internals.texi (Translating to GENERIC): New chapter.
224
225 2019-05-30 Marek Polacek <polacek@redhat.com>
226
227 * lang.opt (ftail-call-workaround): Fix a typo.
228
229 2019-05-30 Jakub Jelinek <jakub@redhat.com>
230
231 * lang.opt (ftail-call-workaround=): Fix a typo - lenghts to lengths.
232
233 2019-05-29 Thomas Koenig <tkoenig@gcc.gnu.org>
234
235 PR fortran/90539
236 * gfortran.h (gfc_has_dimen_vector_ref): Add prototype.
237 * trans.h (gfc_conv_subref_array_arg): Add argument check_contiguous.
238 (gfc_conv_is_contiguous_expr): Add prototype.
239 * frontend-passes.c (has_dimen_vector_ref): Remove prototype,
240 rename to
241 (gfc_has_dimen_vector_ref): New function name.
242 (matmul_temp_args): Use gfc_has_dimen_vector_ref.
243 (inline_matmul_assign): Likewise.
244 * trans-array.c (gfc_conv_array_parameter): Also check for absence
245 of a vector subscript before calling gfc_conv_subref_array_arg.
246 Pass additional argument to gfc_conv_subref_array_arg.
247 * trans-expr.c (gfc_conv_subref_array_arg): Add argument
248 check_contiguous. If that is true, check if the argument
249 is contiguous and do not repack in that case.
250 * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): Split
251 away most of the work into, and call
252 (gfc_conv_intrinsic_is_coniguous_expr): New function.
253
254 2019-05-29 Jakub Jelinek <jakub@redhat.com>
255
256 PR fortran/90329
257 * lang.opt (fbroken-callers): Remove.
258 (ftail-call-workaround, ftail-call-workaround=): New options.
259 * gfortran.h (struct gfc_namespace): Add implicit_interface_calls.
260 * interface.c (gfc_procedure_use): Set implicit_interface_calls
261 for calls to implicit interface procedures.
262 * trans-decl.c (create_function_arglist): Use flag_tail_call_workaround
263 instead of flag_broken_callers. If it is not 2, also require
264 sym->ns->implicit_interface_calls.
265 * invoke.texi (fbroken-callers): Remove documentation.
266 (ftail-call-workaround, ftail-call-workaround=): Document.
267
268 2019-05-26 Thomas Koenig <tkoenig@gcc.gnu.org>
269
270 PR fortran/90539
271 * trans-types.c (get_formal_from_actual_arglist): Set rank
272 and lower bound for assumed size arguments.
273
274 2019-05-22 Andrew Stubbs <ams@codesourcery.com>
275
276 * trans-stmt.c (gfc_trans_critical): Use size_type_node for
277 gfor_fndecl_caf_lock and gfor_fndecl_caf_unlock calls.
278 (gfc_trans_allocate): Use size_type_node for gfor_fndecl_caf_sync_all
279 call.
280
281 2019-05-22 Jeff Law <law@redhat.com>
282 Mark Eggleston <mark.eggleston@codethink.com>
283
284 PR fortran/89100
285 * gfortran.texi: Add Default widths for F, G and I format
286 descriptors to Extensions section.
287 * invoke.texi: Add -fdec-format-defaults
288 * io.c (check_format): Use default widths for i, f and g when
289 flag_dec_format_defaults is enabled.
290 * lang.opt: Add new option.
291 * options.c (set_dec_flags): Add SET_BITFLAG for
292 flag_dec_format_defaults.
293
294 2019-05-21 Janne Blomqvist <jb@gcc.gnu.org>
295
296 PR libfortran/90038
297 * intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new
298 wait=.false. implementation.
299
300 2019-05-20 Mark Eggleston <markeggleston@codethink.com>
301
302 * gfortran.texi: Remove reference to the ASSIGN statement, capitalise
303 complex, state that padding is with spaces and modify the Hollerith
304 constant examples.
305
306 2019-05-19 Paul Thomas <pault@gcc.gnu.org>
307
308 PR fortran/90498
309 * trans-stmt.c (trans_associate_var) Do not use the saved
310 descriptor if the expression is a COMPONENT_REF.
311
312 2019-05-19 Thomas Koenig <tkoenig@gcc.gnu.org>
313
314 PR fortran/90329
315 * invoke.texi: Document -fbroken-callers.
316 * lang.opt: Add -fbroken-callers.
317 * trans-decl.c (create_function_arglist): Only set
318 DECL_HIDDEN_STRING_LENGTH if flag_broken_callers is set.
319
320 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
321
322 PR fortran/89433
323 * f95-lang.c (gfc_attribute_table): Set min_len to -1 for "omp
324 declare target".
325 * trans-decl.c (add_attributes_to_decl): Refer to OpenACC
326 'routine' clauses from "omp declare target" attribute.
327
328 2019-05-16 Martin Sebor <msebor@redhat.com>
329
330 * gfortranspec.c (append_arg): Spell out the word "argument."
331
332 2019-05-16 Jakub Jelinek <jakub@redhat.com>
333
334 PR fortran/90329
335 * trans-decl.c (create_function_arglist): Set
336 DECL_HIDDEN_STRING_LENGTH on hidden string length PARM_DECLs if
337 len is constant.
338
339 2019-05-15 Janne Blomqvist <jb@gcc.gnu.org>
340
341 * parse.c (gfc_parse_file): Remove translation string markers.
342
343 2019-05-12 Janne Blomqvist <jb@gcc.gnu.org>
344
345 * dump-parse-tree.c (get_c_type_name): Use macros for complex type
346 names.
347 * parse.c (gfc_parse_file): Define complex macros, add CPP support
348 when printing C prototypes.
349
350 2019-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
351
352 PR fortran/61968
353 * interface.c (compare_actual_formal): Do not create a vtab if
354 the actual argument is assumed type.
355
356 2019-05-10 Paul Thomas <pault@gcc.gnu.org>
357
358 PR fortran/90093
359 * trans-decl.c (convert_CFI_desc): Test that the dummy is
360 present before doing any of the conversions.
361
362 PR fortran/90352
363 * decl.c (gfc_verify_c_interop_param): Restore the error for
364 charlen > 1 actual arguments passed to bind(C) procs.
365 Clean up trailing white space.
366
367 PR fortran/90355
368 * trans-array.c (gfc_trans_create_temp_array): Set the 'span'
369 field to the element length for all types.
370 (gfc_conv_expr_descriptor): The force_no_tmp flag is used to
371 prevent temporary creation, especially for substrings.
372 * trans-decl.c (gfc_trans_deferred_vars): Rather than assert
373 that the backend decl for the string length is non-null, use it
374 as a condition before calling gfc_trans_vla_type_sizes.
375 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): 'force_no_tmp'
376 is set before calling gfc_conv_expr_descriptor.
377 * trans.c (get_array_span): Move the code for extracting 'span'
378 from gfc_build_array_ref to this function. This is specific to
379 descriptors that are component and indirect references.
380 * trans.h : Add the force_no_tmp flag bitfield to gfc_se.
381
382 2019-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
383
384 PR fortran/90351
385 PR fortran/90329
386 * dump-parse-tree.c: Include version.h.
387 (gfc_dump_external_c_prototypes): New function.
388 (get_c_type_name): Select "char" as a name for a simple char.
389 Adjust to handling external functions. Also handle complex.
390 (write_decl): Add argument bind_c. Adjust for dumping of external
391 procedures.
392 (write_proc): Likewise.
393 (write_interop_decl): Add bind_c argument to call of write_proc.
394 * gfortran.h: Add prototype for gfc_dump_external_c_prototypes.
395 * lang.opt: Add -fc-prototypes-external flag.
396 * parse.c (gfc_parse_file): Move dumping of BIND(C) prototypes.
397 Call gfc_dump_external_c_prototypes if option is set.
398 * invoke.texi: Document -fc-prototypes-external.
399
400 2019-05-06 Steven G. Kargl <kargl@gcc.gnu.org>
401
402 PR fortran/90290
403 * match.c (gfc_match_stopcode): Check F2008 condition on stop code.
404
405 2019-05-01 Andrew Benson <abensonca@gmail.com>
406
407 * module.c (write_module): Initialize module_column before writing
408 module to ensure line break occurs at correct column.
409
410 2019-05-01 Dominique d'Humieres <dominiq@gcc.gnu.org>
411
412 PR fortran/60144
413 * match.c (gfc_match_parens): Change the location for missing ')'.
414 (gfc_match_if): Detect a missing '('. Remove the spurious named
415 constant error. Change the wording of some errors.
416 (gfc_match_else): Change the wording of an error.
417 (gfc_match_elseif): Detect a missing '('. Improve the matching
418 process to get a better syntax analysis.
419
420 2019-04-19 Steven G. Kargl <kargl@gcc.gnu.org>
421
422 PR fortran/90166
423 * decl.c (in_module_or_interface): New function to check that the
424 current state is in a module, submodule, or interface.
425 (gfc_match_prefix): Use it.
426
427 2019-04-22 Paul Thomas <pault@gcc.gnu.org>
428
429 PR fortran/57284
430 * resolve.c (find_array_spec): If this is a class expression
431 and the symbol and component array specs are the same, this is
432 not an error.
433 *trans-intrinsic.c (gfc_conv_intrinsic_size): If a class symbol
434 argument, has no namespace, it has come from the interface
435 mapping and the _data component must be accessed directly.
436
437 2019-04-17 Thomas Schwinge <thomas@codesourcery.com>
438
439 PR fortran/90048
440 * openmp.c (gfc_resolve_do_iterator): Handle sharing_clauses for
441 OpenACC, too.
442 (gfc_resolve_oacc_blocks): Populate sharing_clauses with private
443 clauses.
444
445 2019-04-14 Paul Thomas <pault@gcc.gnu.org>
446
447 PR fortran/89843
448 * trans-decl.c (gfc_get_symbol_decl): Assumed shape and assumed
449 rank dummies of bind C procs require deferred initialization.
450 (convert_CFI_desc): New procedure to convert incoming CFI
451 descriptors to gfc types and back again.
452 (gfc_trans_deferred_vars): Call it.
453 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Null the CFI
454 descriptor pointer. Free the descriptor in all cases.
455
456 PR fortran/89846
457 * expr.c (is_CFI_desc): New function.
458 (is_subref_array): Tidy up by referencing the symbol directly.
459 * gfortran.h : Prototype for is_CFI_desc.
460 * trans_array.c (get_CFI_desc): New function.
461 (gfc_get_array_span, gfc_conv_scalarized_array_ref,
462 gfc_conv_array_ref): Use it.
463 * trans.c (get_array_span): Extract the span from descriptors
464 that are indirect references.
465
466 PR fortran/90022
467 * trans-decl.c (gfc_get_symbol_decl): Make sure that the se
468 expression is a pointer type before converting it to the symbol
469 backend_decl type.
470 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Eliminate
471 temporary creation for intent(in).
472
473 2019-04-13 Dominique d'Humieres <dominiq@gcc.gnu.org>
474
475 PR fortran/79842
476 * module.c (gfc_use_module): use complete sentences.
477
478 2019-04-11 Thomas Koenig <tkoenig@gcc.gnu.org>
479
480 PR translation/89939
481 * frontend-passes.c (B_ERROR): Delete macro.
482 (C_ERROR): Delete macro.
483 (B_ERROR_1): New macro.
484 (C_ERROR_1): New macro.
485 (C_ERROR_2): New macro.
486 (inline_matmul_assign): Use new macros.
487 (call_external_blas): Likewise.
488
489 2019-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
490
491 PR fortran/87352
492 * gfortran.h (gfc_component): Add finalized field.
493 * class.c (finalize_component): If the component is already
494 finalized, return early. Set component->finalized on exit.
495
496 2019-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
497
498 PR fortran/89981
499 * resolve.c (resolve_global_procedure): If the global symbol is an
500 ENTRY, also look up its name among the entries.
501
502 2019-04-04 Harald Anlauf <anlauf@gmx.de>
503
504 PR fortran/89904
505 * check.c (gfc_check_transfer): Reject procedures as actual
506 arguments for SOURCE and MOLD of TRANSFER intrinsic.
507
508 2019-04-03 Steven G. Kargl <kargl@gcc.gnu.org>
509
510 PR fortran/68567
511 * expr.c (gfc_reduce_init_expr): Add extra check to avoid
512 dereferencing a null pointer.
513
514 2019-04-03 Dominique d'Humieres <dominiq@gcc.gnu.org>
515
516 PR fortran/89375
517 * expr.c (comp_pointer): Remove redundant condition.
518
519 2019-03-31 Harald Anlauf <anlauf@gmx.de>
520
521 PR fortran/83515
522 PR fortran/85797
523 * trans-types.c (gfc_typenode_for_spec): Handle conversion for
524 procedure pointers.
525 * target-memory.c (gfc_element_size): Handle size determination
526 for procedure pointers.
527
528 2019-03-31 Thomas Koenig <tkoenig@gcc.gnu.org>
529
530 * dump-parse-tree.c (debug): Add for symbol_attribute *,
531 symbol_attribute and gfc_ref * arguments.
532
533 2019-03-30 Paul Thomas <pault@gcc.gnu.org>
534
535 PR fortran/89841
536 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Use the formal
537 argument attributes rather than those of the actual argument.
538
539 PR fortran/89842
540 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Call
541 'set_dtype_for_unallocated' for any type of arrayspec.
542
543 2019-03-27 Janus Weil <janus@gcc.gnu.org>
544
545 PR fortran/85537
546 * expr.c (gfc_check_assign_symbol): Reject internal and dummy procedures
547 in procedure pointer initialization.
548
549 2019-03-27 Paul Thomas <pault@gcc.gnu.org>
550
551 PR fortran/88247
552 * expr.c (is_subref_array): Permit substrings to be detected
553 as subref arrays.
554 * trans-array.c (get_array_ctor_var_strlen): Obtain the length
555 of deferred length strings. Handle substrings with a NULL end
556 expression.
557 (trans_array_constructor): Remove an unnecessary blank line.
558 (gfc_conv_scalarized_array_ref): Skip to label 'done' if 'decl'
559 is a pointer array.
560 (get_array_charlen): If the expression is an array, convert the
561 first element of the constructor and use its string length. Get
562 a new charlen if necessary.
563 (gfc_conv_expr_descriptor): Call 'get_array_charlen' for array
564 constructor expressions. If the ss_info string length is
565 available, use that to set the span of character arrays.
566 * trans-expr.c (gfc_get_expr_charlen): Handle substrings
567 * trans-stmt.c (trans_associate_var): Set the pointer array
568 flag for variable targets and constant array constructors. Take
569 care not to reset the string length or the span in the case of
570 expressions that are not converted as direct by reference.
571
572 2019-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
573
574 * intrinsic.texi (MINLOC): Fix typo in BACK argument documentation.
575 (MAXLOC): Likewise.
576
577 2019-03-24 Thomas Koenig <tkoenig@gcc.gnu.org>
578
579 PR fortran/78865
580 * interface.c (compare_actual_formal): Change errors about
581 missing or extra to gfc_error_now to make sure they are issued.
582 Change "spec" to "specifier" in message.
583 * resolve.c (resolve_global_procedure): Also check for mismatching
584 interface with global symbols if the namespace has already been
585 resolved.
586
587 2019-03-21 Thomas Schwinge <thomas@codesourcery.com>
588
589 PR fortran/72741
590 * openmp.c (gfc_match_oacc_routine): Set the level of parallelism
591 for all variants.
592 (gfc_resolve_oacc_routines): Call gfc_add_omp_declare_target.
593
594 PR fortran/89773
595 * gfortran.h (gfc_oacc_routine_name): Add loc member.
596 (gfc_resolve_oacc_routines): Declare.
597 * openmp.c (gfc_match_oacc_routine): Move some error checking
598 into...
599 (gfc_resolve_oacc_routines): ... this new function.
600 * resolve.c (resolve_codes): Call it.
601
602 PR fortran/72741
603 * openmp.c (gfc_match_oacc_routine): Clarify.
604
605 PR fortran/72741
606 * module.c (verify_OACC_ROUTINE_LOP_NONE): New function.
607 (enum ab_attribute): Add AB_OACC_ROUTINE_LOP_GANG,
608 AB_OACC_ROUTINE_LOP_WORKER, AB_OACC_ROUTINE_LOP_VECTOR,
609 AB_OACC_ROUTINE_LOP_SEQ.
610 (attr_bits): Add these.
611 (mio_symbol_attribute): Handle these.
612
613 2019-03-20 Janus Weil <janus@gcc.gnu.org>
614
615 PR fortran/71861
616 * symbol.c (check_conflict): ABSTRACT attribute conflicts with
617 INTRINSIC attribute.
618
619 2019-03-18 Thomas Koenig <tkoeng@gcc.gnu.org>
620
621 PR fortran/68009
622 * iresolve.c: Include trans.h.
623 (gfc_resolve_fe_runtine_error): Set backend_decl on
624 resolved_sym.
625
626 2019-03-17 Thomas Koenig <tkoenig@gcc.gnu.org>
627
628 PR fortran/88008
629 * gfortran.h (expr_t): Add EXPR_UNKNOWN.
630 * expr.c (gfc_copy_expr): Add EXPR_UNKNOWN to switch statement.
631 (gfc_simplify_expr): Likewise.
632 * module.c (mio_expr): Likewise.
633 * resovle.c (extract_compcall_passed_object): Issue error on
634 unknown type.
635 (check_typebound_baseobject): Issue error on wrong type.
636 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Add
637 EXPR_UNKNOWN to switch statement.
638
639 2019-03-16 Jakub Jelinek <jakub@redhat.com>
640
641 PR fortran/89724
642 * scanner.c (load_line): Remove linenum and current_line static
643 variables, add warned_tabs automatic variable. Use current_file->line
644 instead of current_line and warned_tabs boolean to avoid diagnosing
645 tabs multiple times on the same line.
646
647 2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org>
648
649 PR fortran/84394
650 * symbol.c (gfc_add_subroutine): If we are encountering a
651 subrtoutine within a BLOCK DATA and the name starts with an
652 underscore, do not check.
653
654 2019-03-15 Harald Anlauf <anlauf@gmx.de>
655
656 PR fortran/60091
657 * expr.c (gfc_check_pointer_assign): Correct and improve error
658 messages for invalid pointer assignments.
659
660 2019-03-14 Thomas Koenig <tkoenig@gcc.gnu.org>
661
662 * gfortran.texi: Document Q edit descriptor under
663 "Extensions not implemented in GNU Fortran".
664
665 2019-03-13 Harald Anlauf <anlauf@gmx.de>
666
667 PR fortran/87045
668 * trans-expr.c (gfc_trans_pointer_assignment): Move check for same
669 string length so that we do not get false errors for deferred
670 length.
671
672 2019-03-13 Janus Weil <janus@gcc.gnu.org>
673
674 PR fortran/89601
675 * decl.c (gfc_match_formal_arglist): Reject empty type parameter lists.
676 (gfc_match_derived_decl): Mark as PDT only if type parameter list was
677 matched successfully.
678
679 2019-03-13 Thomas Koenig <tkoenig@gcc.gnu.org>
680
681 PR fortran/66695
682 PR fortran/77746
683 PR fortran/79485
684 * gfortran.h (gfc_symbol): Add bind_c component.
685 (gfc_get_gsymbol): Add argument bind_c.
686 * decl.c (add_global_entry): Add bind_c argument to
687 gfc_get_symbol.
688 * parse.c (parse_block_data): Likewise.
689 (parse_module): Likewise.
690 (add_global_procedure): Likewise.
691 (add_global_program): Likewise.
692 * resolve.c (resolve_common_blocks): Likewise.
693 (resolve_global_procedure): Likewise.
694 (gfc_verify_binding_labels): Likewise.
695 * symbol.c (gfc_get_gsymbol): Add argument bind_c. Set bind_c
696 in gsym.
697 * trans-decl.c (gfc_get_module_backend_decl): Add bind_c argument
698 to gfc_get_symbol.
699 (gfc_get_extern_function_decl): If the sym has a binding label
700 and it cannot be found in the global symbol tabel, it is the wrong
701 one and vice versa.
702
703 2019-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
704
705 PR fortran/87673
706 * match.c (gfc_match_type_spec): Remove call to
707 gfc_resolve_expr for character length.
708
709 2019-03-12 Martin Liska <mliska@suse.cz>
710
711 * decl.c (add_init_expr_to_sym): Replace usage of 'can't'
712 with 'cannot'.
713 (variable_decl): Likewise.
714 (cray_pointer_decl): Likewise.
715 (match_binding_attributes): Likewise.
716 * f95-lang.c (gfc_init): Likewise.
717 * interface.c (gfc_check_typebound_override): Likewise.
718 * intrinsic.c (make_generic): Likewise.
719 * module.c (dump_module): Likewise.
720 (gfc_use_module): Likewise.
721 * primary.c (gfc_convert_to_structure_constructor): Likewise.
722 * resolve.c (resolve_entries): Likewise.
723 (check_generic_tbp_ambiguity): Likewise.
724 (get_checked_tb_operator_target): Likewise.
725 * scanner.c (load_file): Likewise.
726 * trans-expr.c (gfc_conv_intrinsic_to_class): Likewise.
727
728 2019-03-12 Paul Thomas <pault@gcc.gnu.org>
729
730 PR fortran/89363
731 PR fortran/89364
732 * trans-expr.c (set_dtype_for_unallocated): New function.
733 (gfc_conv_gfc_desc_to_cfi_desc): Call it for allocatable and
734 pointer arguments.
735 (gfc_conv_procedure_call): Likewise. Also, set the ubound of
736 the final dimension to -1 for assumed rank formal args that are
737 associated with assumed size arrays.
738 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Return -1 for
739 the final dimension of assumed rank entities that are argument
740 associated with assumed size arrays.
741 (gfc_conv_intrinsic_shape): Likewise return -1 for the final
742 dimension of the shape intrinsic.
743
744 2019-03-11 Jakub Jelinek <jakub@redhat.com>
745
746 PR fortran/89651
747 * trans-openmp.c (gfc_omp_clause_default_ctor): Set TREE_NO_WARNING
748 on decl if adding COND_EXPR for allocatable.
749 (gfc_omp_clause_copy_ctor): Set TREE_NO_WARNING on dest.
750
751 2019-03-11 Martin Liska <mliska@suse.cz>
752
753 * decl.c (match_record_decl): Wrap an option name
754 in a string format message and fix GNU coding style.
755 (gfc_match_pointer): Likewise.
756 * expr.c (find_array_section): Likewise.
757 * intrinsic.c (gfc_is_intrinsic): Likewise.
758 * options.c (gfc_post_options): Likewise.
759 * primary.c (match_integer_constant): Likewise.
760 * trans-common.c (translate_common): Likewise.
761
762 2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
763
764 PR fortran/66089
765 * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
766 Return false if a scalar tempoary is needed.
767 (gfc_walk_variable_expr): Fix up class refs.
768
769 2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
770
771 PR fortran/87734
772 * symbol.c (gfc_add_procedure): Only throw an error if the
773 procedure has not been declared either PUBLIC or PRIVATE.
774
775 2019-03-09 Thomas Koenig <tkoenig@gcc.gnu.org>
776
777 PR fortran/71544
778 * trans-types.c (gfc_typenode_for_spec) Set ts->is_c_interop of
779 C_PTR and C_FUNPTR.
780 (create_fn_spec): Mark argument as escaping if ts->is_c_interop is set.
781
782 2019-03-09 Janus Weil <janus@gcc.gnu.org>
783
784 PR fortran/84504
785 * expr.c (gfc_check_assign_symbol): Deal with procedure pointers to
786 pointer-valued functions.
787
788 2019-03-09 Thomas König <tkoenig@gcc.gnu.org>
789
790 PR fortran/71203
791 * decl.c (add_init_expr_to_sym): Add shape if init has none. Add
792 asserts that it has to be an EXPR_ARRAY in this case.
793
794 2019-03-08 Jakub Jelinek <jakub@redhat.com>
795
796 PR other/80058
797 * arith.c (gfc_complex2complex): Avoid two spaces in the middle of
798 diagnostics.
799 * resolve.c (resolve_allocate_expr): Likewise.
800
801 2019-03-06 Harald Anlauf <anlauf@gmx.de>
802
803 PR fortran/71203
804 * expr.c (simplify_const_ref): Avoid null pointer dereference.
805
806 2019-03-03 Harald Anlauf <anlauf@gmx.de>
807 Steven G. Kargl <kargl@gcc.gnu.org>
808
809 PR fortran/77583
810 * symbol.c (check_conflict): Check for valid procedure name
811 passed to error reporting routine.
812
813 2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org>
814
815 PR fortran/72714
816 * resolve.c (resolve_allocate_expr): Add some tests for coarrays.
817
818 2019-03-02 Harald Anlauf <anlauf@gmx.de>
819
820 PR fortran/89516
821 * check.c (gfc_calculate_transfer_sizes): Correct checks for cases
822 where storage size of elements of MOLD is 0.
823
824 2019-02-28 Thomas Schwinge <thomas@codesourcery.com>
825 Cesar Philippidis <cesar@codesourcery.com>
826
827 PR fortran/72741
828 PR fortran/89433
829 * openmp.c (gfc_match_oacc_routine): Handle repeated use of the
830 Fortran OpenACC 'routine' directive.
831
832 PR fortran/72741
833 * gfortran.h (enum oacc_routine_lop): Add OACC_ROUTINE_LOP_ERROR.
834 * openmp.c (gfc_oacc_routine_lop, gfc_match_oacc_routine): Use it.
835 * trans-decl.c (add_attributes_to_decl): Likewise.
836
837 PR fortran/72741
838 PR fortran/89433
839 * openmp.c (gfc_match_oacc_routine): Accept intrinsic symbols.
840
841 2019-02-26 Harald Anlauf <anlauf@gmx.de>
842
843 PR fortran/89492
844 * check.c (gfc_calculate_transfer_sizes): Handle cases where
845 storage size of elements of MOLD is 0.
846
847 2019-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
848
849 PR fortran/89496
850 * trans-types.c (get_formal_from_actual_arglist): If
851 the actual arglist has no expression, the corresponding
852 formal arglist is an alternate return.
853
854 2019-02-26 Jakub Jelinek <jakub@redhat.com>
855
856 PR fortran/43210
857 * trans-array.c (gfc_conv_array_initializer): Use RANGE_EXPR instead
858 of duplicating the initializer possibly many times.
859
860 2019-02-24 Thomas Koenig <tkoenig@gcc.gnu.org>
861
862 PR fortran/89174
863 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Add is_mold
864 to arguments. If we are dealing with a MOLD, call
865 gfc_expr_to_initialize().
866 * trans-stmt.c (gfc_trans_allocate): For MOLD, pass is_mold=true
867 to gfc_find_and_cut_at_last_class_ref.
868 * trans.h (gfc_find_and_cut_at_last_class_ref): Add optional
869 argument is_mold with default false.
870
871 2019-02-24 Harald Anlauf <anlauf@gmx.de>
872
873 PR fortran/89266
874 PR fortran/88326
875 * target-memory.c (gfc_element_size): Return false if element size
876 cannot be determined; element size is returned separately.
877 (gfc_target_expr_size): Return false if expression size cannot be
878 determined; expression size is returned separately.
879 * target-memory.h: Adjust prototypes.
880 * check.c (gfc_calculate_transfer_sizes): Adjust references to
881 gfc_target_expr_size, gfc_element_size.
882 * arith.c (hollerith2representation): Likewise.
883 * class.c (find_intrinsic_vtab): Likewise.
884 * simplify.c (gfc_simplify_sizeof): Likewise.
885
886 2019-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
887
888 PR fortran/84387
889 * trans-io.c (transfer_expr): Do not return if there are no
890 components to the derived type or class.
891
892 2019-02-23 Paul Thomas <pault@gcc.gnu.org>
893
894 PR fortran/88117
895 * resolve.c (deferred_op_assign): Return if the lhs expression
896 has the pointer attribute.
897 * trans-expr.c (gfc_trans_assignment_1): Do not fix the string
898 length if the lhs expression has the pointer attribute.
899
900 2019-02-23 Paul Thomas <pault@gcc.gnu.org>
901
902 PR fortran/89385
903 PR fortran/89366
904 * decl.c (gfc_verify_c_interop_param): Restriction on string
905 length being one is lifted for F2018.
906 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): For scalar
907 characters with intent in, make a temporary and copy the result
908 of the expression evaluation into it.
909 (gfc_conv_procedure_call): Set a flag for character formal args
910 having a character length that is not unity. If the procedure
911 is bind C, call gfc_conv_gfc_desc_to_cfi_desc in this case.
912 Also, extend bind C calls to unconditionally convert both
913 pointers and allocatable expressions.
914
915 2019-02-23 David Malcolm <dmalcolm@redhat.com>
916 Jakub Jelinek <jakub@redhat.com>
917
918 PR middle-end/88074
919 * simplify.c (norm2_do_sqrt, gfc_simplify_norm2): Use
920 mpfr_number_p && !mpfr_zero_p instead of mpfr_regular_p.
921 (norm2_add_squared): Likewise. Use mp_exp_t rather than mpfr_exp_t.
922
923 2019-02-22 Harald Anlauf <anlauf@gmx.de>
924
925 PR fortran/83057
926 * io.c (gfc_match_open): Fix logic in checks of OPEN statement
927 when NEWUNIT= is specified.
928
929 2019-02-22 Steven G. Kargl <kargl@gcc.gnu.org>
930
931 PR fortran/89431
932 * gfortran.texi: Fix documentation to match the implementation.
933
934 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
935 Cesar Philippidis <cesar@codesourcery.com>
936
937 PR fortran/72741
938 * gfortran.h (oacc_routine_lop): New enum.
939 (symbol_attribute): Use it.
940 * openmp.c (gfc_oacc_routine_dims): Replace with...
941 (gfc_oacc_routine_lop): ... this new function.
942 (gfc_match_oacc_routine): Adjust.
943 * trans-decl.c (add_attributes_to_decl): Likewise.
944
945 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
946
947 * openmp.c (gfc_match_oacc_declare): Revert earlier changes.
948
949 2019-02-21 Thomas Koenig <tkoenig@gcc.gnu.org>
950
951 * dump-parse-tree.c (debug): Implement for gfc_expr *,
952 gfc_typespec *, gfc_typespec and gfc_symbol *.
953
954 2019-02-21 Thomas Koenig <tkoenig@gcc.gnu.org>
955
956 PR fortran/86119
957 * class.c (gfc_get_len_component): Add argument k for kind.
958 If the kind of the resulting expression is not equal to k,
959 convert it.
960 * gfortran.h (gfc_len_component): Adjust prototype.
961 * simplify.c (gfc_simplify_len): Pass kind to
962 gfc_get_len_component.
963
964 2019-02-20 Martin Liska <mliska@suse.cz>
965
966 * gfortran.texi: Change singular to plural.
967
968 2019-02-20 Martin Liska <mliska@suse.cz>
969
970 * gfortran.texi: Document Fortran header directive.
971
972 2019-02-19 Thomas Koenig <tkoenig@gcc.gnu.org>
973
974 PR fortran/89384
975 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): If the dummy
976 argument is contiguous and the actual argument may not be,
977 use gfc_conv_subref_array_arg.
978
979 2019-02-19 Thomas Schwinge <thomas@codesourcery.com>
980
981 PR c/87924
982 * openmp.c (gfc_match_omp_clauses): Add representation of wait clause
983 without argument as 'wait (GOMP_ASYNC_NOVAL)'.
984
985 2019-02-18 Thomas Koenig <tkoenig@gcc.gnu.org>
986
987 PR fortran/87689
988 * trans-decl.c (gfc_get_extern_function_decl): Add argument
989 actual_args and pass it through to gfc_get_function_type.
990 * trans-expr.c (conv_function_val): Add argument actual_args
991 and pass it on to gfc_get_extern_function_decl.
992 (conv_procedure_call): Pass actual arguments to conv_function_val.
993 * trans-types.c (get_formal_from_actual_arglist): New function.
994 (gfc_get_function_type): Add argument actual_args. Generate
995 formal args from actual args if necessary.
996 * trans-types.h (gfc_get_function_type): Add optional argument.
997 * trans.h (gfc_get_extern_function_decl): Add optional argument.
998
999 2019-02-18 Martin Liska <mliska@suse.cz>
1000
1001 * decl.c (gfc_match_gcc_builtin): Add support for filtering
1002 of builtin directive based on multilib ABI name.
1003
1004 2019-02-17 Harald Anlauf <anlauf@gmx.de>
1005
1006 PR fortran/88299
1007 * resolve.c (resolve_common_blocks,resolve_common_vars): Move
1008 check for obsolent COMMON feature in F2018 to better place.
1009
1010 2019-02-17 Harald Anlauf <anlauf@gmx.de>
1011
1012 PR fortran/89077
1013 * decl.c (gfc_set_constant_character_len): Clear original string
1014 representation after padding has been performed to target length.
1015
1016 2019-02-16 Jakub Jelinek <jakub@redhat.com>
1017
1018 PR middle-end/88074
1019 * simplify.c (simplify_transformation_to_array): Run post_op
1020 immediately after processing corresponding row, rather than at the
1021 end.
1022 (norm2_scale): New variable.
1023 (add_squared): Rename to ...
1024 (norm2_add_squared): ... this. Scale down operand and/or result
1025 if needed.
1026 (do_sqrt): Rename to ...
1027 (norm2_do_sqrt): ... this. Handle the result == e case. Scale up
1028 result and clear norm2_scale.
1029 (gfc_simplify_norm2): Clear norm2_scale. Change add_squared to
1030 norm2_add_squared and &do_sqrt to norm2_do_sqrt. Scale up result
1031 and clear norm2_scale again.
1032
1033 2019-02-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1034
1035 PR fortran/71066
1036 * trans-decl.c (generate_coarray_sym_init): For an array
1037 constructor in a DATA statement of a coarray variable, set the
1038 rank to 1 to avoid confusion later on. If the constructor
1039 contains only one value, use that for initiailizig.
1040
1041 2019-02-14 Janne Blomqvist <jb@gcc.gnu.org>
1042
1043 PR fortran/81552
1044 * gfortran.h (gfc_option_t): Make flag_init_integer_value a long.
1045 * options.c (gfc_handle_option): Use strtol instead of atoi.
1046 * invoke.texi: Document -finit-integer behavior in more detail.
1047
1048 2019-02-14 Harald Anlauf <anlauf@gmx.de>
1049
1050 PR fortran/88248
1051 * symbol.c: Move check for labeled DO statement from
1052 gfc_define_st_label to gfc_reference_st_label.
1053
1054 2019-02-14 Cesar Philippidis <cesar@codesourcery.com>
1055
1056 PR fortran/72715
1057 * openmp.c (resolve_oacc_nested_loops): Error on do concurrent
1058 loops.
1059
1060 2019-02-13 Martin Liska <mliska@suse.cz>
1061
1062 PR fortran/88649
1063 * resolve.c (resolve_operator): Initialize 't' right
1064 after function entry. Skip switch (e->value.op.op)
1065 for -fdec operands that become function calls.
1066
1067 2019-02-10 Thomas Koenig <tkoenig@gcc.gnu.org>
1068
1069 PR fortran/71723
1070 * expr.c (gfc_check_assign): Add argument is_init_expr. If we are
1071 looking at an init expression, issue error if the target is not a
1072 TARGET and we are not looking at a procedure pointer.
1073 * gfortran.h (gfc_check_assign): Add optional argument
1074 is_init_expr.
1075
1076 2019-02-09 Harald Anlauf <anlauf@gmx.de>
1077
1078 PR fortran/89077
1079 * resolve.c (gfc_resolve_substring_charlen): Check substring
1080 length for constantness prior to general calculation of length.
1081
1082 2019-02-09 Paul Thomas <pault@gcc.gnu.org>
1083
1084 PR fortran/89200
1085 * trans-array.c (gfc_trans_create_temp_array): Set the 'span'
1086 field for derived types.
1087
1088 2019-02-04 Harald Anlauf <anlauf@gmx.de>
1089
1090 PR fortran/89077
1091 * decl.c (add_init_expr_to_sym): Copy length of string initializer
1092 to declared symbol.
1093
1094 2019-02-04 Martin Liska <mliska@suse.cz>
1095
1096 PR fortran/89185
1097 * resolve.c (resolve_ref): Remove breakout variable as
1098 we need to prevent prev = &(*prev)->next to happen
1099 with *prev == NULL.
1100
1101 2019-02-04 Martin Liska <mliska@suse.cz>
1102
1103 PR fortran/88912
1104 * scanner.c (load_file): Report error for -fpre-include
1105 file and do not ICE.
1106
1107 2019-02-02 Dominique d'Humieres <dominiq@gcc.gnu.org>
1108
1109 PR fortran/81344
1110 * invoke.texi: Document the behavior of repeated -ffpe-trap
1111 and -ffpe-summary.
1112
1113 2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1114
1115 PR fortran/88298
1116 * arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
1117 * gfortran.h (gfc_expr): Add flag do_not_warn.
1118 * intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
1119 no warning is desired.
1120
1121 2019-02-02 Paul Thomas <pault@gcc.gnu.org>
1122
1123 PR fortran/88393
1124 * trans-expr.c (gfc_conv_procedure_call): For derived entities,
1125 passed in parentheses to class formals, invert the order of
1126 copying allocatable components to taking the _data of the
1127 class expression.
1128
1129 2019-02-02 Paul Thomas <pault@gcc.gnu.org>
1130
1131 PR fortran/88980
1132 * trans-array.c (gfc_array_init_size): Add element_size to the
1133 arguments.
1134 (gfc_array_allocate): Remove the recalculation of the size of
1135 the element and use element_size from the call to the above.
1136 Unconditionally set the span field of the descriptor.
1137
1138 2019-02-02 Paul Thomas <pault@gcc.gnu.org>
1139
1140 PR fortran/88685
1141 * expr.c (is_subref_array): Move the check for class pointer
1142 dummy arrays to after the reference check. If we haven't seen
1143 an array reference other than an element and a component is not
1144 class or derived, return false.
1145
1146 2019-02-01 Jakub Jelinek <jakub@redhat.com>
1147
1148 PR fortran/83246
1149 PR fortran/89084
1150 * trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
1151 if sym->ns->construct_entities rather than if
1152 sym->ns->parent->code->op == EXEC_BLOCK.
1153
1154 2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
1155
1156 PR fortran/88669
1157 * resolve.c (resolve_component): If the reference is a BT_CLASS,
1158 copy the contiguous attribute from the reference and use the
1159 correct attributes.
1160
1161 2019-01-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1162
1163 PR fortran/52564
1164 * io.c (match_io): Add check for comma after '*' without subsequent
1165 IO list.
1166
1167 2019-01-30 Dominique d'Humieres <dominiq@gcc.gnu.org>
1168
1169 PR fortran/52884
1170 * invoke.texi: Document the promotion of double precision
1171 constants.
1172
1173 2019-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
1174
1175 PR fortran/57048
1176 * interface.c (gfc_compare_types): If a derived type and an
1177 integer both have a derived type, and they are identical,
1178 this is a C binding type and compares equal.
1179
1180 2019-01-26 Harald Anlauf <anlauf@gmx.de>
1181
1182 PR fortran/57553
1183 * expr.c (check_inquiry): Add list of inquiry functions allowed in
1184 constant expressions for F2008+.
1185
1186 2019-01-25 Steven G. Kargl <kargl@gcc.gnu.org>
1187
1188 PR fortran/85780
1189 * decl.c (gfc_match_subroutine): Check for conflict between BIND(C)
1190 and alternative return.
1191
1192 2019-01-24 Paul Thomas <pault@gcc.gnu.org>
1193
1194 PR fortran/88929
1195 * trans-array.c (gfc_conv_descriptor_elem_len): New function.
1196 * trans-array.h : Add prototype for above.
1197 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Take account of
1198 assumed rank arrays being flagged by rank = -1 in expressions.
1199 Intent in arrays need a pointer to a copy of the data to be
1200 assigned to the descriptor passed for conversion. This should
1201 then be freed, together with the CFI descriptor on return from
1202 the C call.
1203
1204 2019-01-22 Harald Anlauf <anlauf@gmx.de>
1205
1206 PR fortran/88579
1207 * trans-expr.c (gfc_conv_power_op): Handle cases of (2**e) ** integer
1208 and (- 2**e) ** integer.
1209
1210 2019-01-19 Dominique d'Humieres <dominiq@gcc.gnu.org>
1211
1212 PR fortran/37835
1213 * resolve.c (resolve_types): Add !flag_automatic.
1214 * symbol.c (gfc_add_save): Silence warnings.
1215
1216 2019-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
1217
1218 PR fortran/77960
1219 * io.c (match_io_element): input-item cannot be an external function.
1220
1221 2018-01-19 Thomas Koenig <tkoenig@gcc.gnu.org>
1222 Paul Thomas <pault@gcc.gnu.org>
1223
1224 PR fortran/56789
1225 * trans-expr.c (gfc_conv_procedure_call): Call
1226 gfc_conv_subref_array_arg if the formal arg is contiguous
1227 and the actual arg may not be.
1228
1229 2019-01-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1230
1231 PR fortran/88871
1232 * resolve.c (resolve_ref): Fix logic for removal of
1233 reference.
1234
1235 2019-01-19 Jakub Jelinek <jakub@redhat.com>
1236
1237 PR fortran/88902
1238 * trans-decl.c (gfc_get_symbol_decl): Don't add length to function
1239 or parent function if it has been added there already.
1240
1241 2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
1242
1243 PR fortran/43136
1244 * resolve.c (resolve_array_ref): Add equal_length argument; set it
1245 if the length of the substring equals that of the orignal
1246 variable.
1247 (resolve_ref): Remove the substring if it is equal in length to
1248 the original variable, unless it is an EXPR_SUBSTRING).
1249
1250 2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org>
1251
1252 PR fortran/81849
1253 * resolve.c (resolve_symbol): Host associated varaibles can appear
1254 in the specification statement of a RESULT array.
1255
1256 2019-01-15 Paul Thomas <pault@gcc.gnu.org>
1257
1258 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs
1259 that are indirect references; ie. dummy arguments.
1260
1261 2019-01-13 Dominique d'Humieres <dominiq@gcc.gnu.org>
1262
1263 PR fortran/88803
1264 * gfortran.texi: Replace @xref with @ref and adjust the sentence.
1265
1266 2019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1267
1268 PR fortran/57992
1269 * trans-array.c (gfc_conv_array_parameter): Do not pack/unpack
1270 functions with contiguous results.
1271
1272 2019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1273
1274 PR fortran/59345
1275 * trans-array.c (gfc_conv_array_parameter): Remove TODO. Do not
1276 pack/unpack results of functions which return an explicit-shaped
1277 or allocatable array.
1278
1279 2019-01-12 Steven G. Kargl <kargl@gcc.gnu.org>
1280
1281 PR fortran/61765
1282 * resolve.c (gfc_verify_binding_labels): Break if-elseif-elseif
1283 structure into independent if's with a return to simplify logic.
1284 Avoid a check for ENTRY name with bind(c).
1285
1286 2019-01-12 Paul Thomas <pault@gcc.gnu.org>
1287
1288 * gfortran.texi: Add description in sections on TS 29113 and
1289 further interoperability with C.
1290 * trans-array.c (gfc_conv_descriptor_attribute): New function.
1291 (gfc_get_dataptr_offset): Remove static function attribute.
1292 * trans-array.h: Add prototypes for above functions.
1293 * trans-decl.c: Add declarations for the library functions
1294 cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
1295 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
1296 (gfc_conv_procedure_call): Call it for scalar and array actual
1297 arguments, when the formal arguments are bind_c with assumed
1298 shape or assumed rank.
1299 * trans.h: External declarations for gfor_fndecl_cfi_to_gfc
1300 and gfor_fndecl_gfc_to_cfi.
1301
1302 2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
1303
1304 PR fortran/35031
1305 * decl.c (gfc_match_entry): Check for F2018:C1546. Fix nearby
1306 mis-indentation.
1307
1308 2019-01-11 Jakub Jelinek <jakub@redhat.com>
1309
1310 PR middle-end/85956
1311 PR lto/88733
1312 * trans-openmp.c: Include attribs.h.
1313 (gfc_walk_alloc_comps, gfc_omp_clause_linear_ctor): Handle
1314 VAR_DECL max bound with "omp dummy var" attribute like NULL or
1315 error_mark_node - recompute number of elts independently.
1316
1317 2019-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
1318
1319 PR fortran/59345
1320 * trans-array.c (gfc_conv_parameter_array): Temporary
1321 arrays generated for expressions do not need to be repacked.
1322
1323 2019-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
1324
1325 PR fortran/86322
1326 * decl.c (top_var_list): Set locus of expr.
1327 (gfc_match_data): Detect pointer on non-rightmost part-refs.
1328
1329 2019-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
1330
1331 PR fortran/88376
1332 * resolve.c (is_illegal_recursion): Remove an assert().
1333
1334 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
1335
1336 PR other/16615
1337 * expr.c: Change "can not" to "cannot".
1338
1339 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
1340
1341 PR other/16615
1342 * class.c: Mechanically replace "can not" with "cannot".
1343 * decl.c: Likewise.
1344 * expr.c: Likewise.
1345 * gfc-internals.texi: Likewise.
1346 * intrinsic.texi: Likewise.
1347 * invoke.texi: Likewise.
1348 * io.c: Likewise.
1349 * match.c: Likewise.
1350 * parse.c: Likewise.
1351 * primary.c: Likewise.
1352 * resolve.c: Likewise.
1353 * symbol.c: Likewise.
1354 * trans-array.c: Likewise.
1355 * trans-decl.c: Likewise.
1356 * trans-intrinsic.c: Likewise.
1357 * trans-stmt.c: Likewise.
1358
1359 2019-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1360
1361 PR fortran/68426
1362 * simplify.c (gfc_simplify_spread): Also simplify if the
1363 type of source is an EXPR_STRUCTURE.
1364
1365 2019-01-08 Janus Weil <janus@gcc.gnu.org>
1366
1367 PR fortran/88047
1368 * class.c (gfc_find_vtab): For polymorphic typespecs, the components of
1369 the class container may not be available (in case of invalid code).
1370
1371 2019-01-08 Richard Biener <rguenther@suse.de>
1372
1373 PR fortran/88611
1374 * trans-expr.c (gfc_conv_initializer): For ISOCBINDING_NULL_*
1375 directly build the expected GENERIC tree.
1376
1377 2019-01-07 Thomas Koenig <tkoenig@gcc.gnu.org>
1378 Harald Anlauf <anlauf@gmx.de>
1379 Tobias Burnus <burnus@gcc.gnu.org>
1380
1381 PR fortran/45424
1382 * check.c (gfc_check_is_contiguous): New function.
1383 * expr.c (gfc_is_not_contiguous): New function.
1384 * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_CONTIGUOUS.
1385 Add prototype for gfc_is_not_contiguous.
1386 * intrinsic.c (do_ts29113_check): Add GFC_ISYM_IS_CONTIGUOUS.
1387 (add_function): Add is_contiguous.
1388 * intrinsic.h: Add prototypes for gfc_check_is_contiguous,
1389 gfc_simplify_is_contiguous and gfc_resolve_is_contiguous.
1390 * intrinsic.texi: Add IS_CONTIGUOUS.
1391 * iresolve.c (gfc_resolve_is_contiguous): New function.
1392 * simplify.c (gfc_simplify_is_contiguous): New function.
1393 * trans-decl.c (gfor_fncecl_is_contiguous0): New variable.
1394 (gfc_build_intrinsic_function_decl): Add it.
1395 * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): New
1396 function.
1397 (gfc_conv_intrinsic_function): Handle GFC_ISYM_IS_CONTIGUOUS.
1398
1399 2019-01-06 Thomas Koenig <tkoenig@gcc.gnu.org>
1400
1401 PR fortran/88658
1402 * gfortran.h: Add macro gfc_real_4_kind
1403 * simplify.c (simplify_min_max): Special case for the types of
1404 AMAX0, AMIN0, MAX1 and MIN1, which actually change the types of
1405 their arguments.
1406
1407 2019-01-05 Janus Weil <janus@gcc.gnu.org>
1408
1409 PR fortran/88009
1410 * class.c (gfc_find_derived_vtab): Mark the _final component as
1411 artificial.
1412 (find_intrinsic_vtab): Ditto. Also add an extra check to avoid
1413 dereferencing a null pointer and adjust indentation.
1414 * resolve.c (resolve_fl_variable): Add extra check to avoid
1415 dereferencing a null pointer. Move variable declarations to local scope.
1416 (resolve_fl_procedure): Add extra check to avoid dereferencing a null
1417 pointer.
1418 * symbol.c (check_conflict): Suppress errors for artificial symbols.
1419
1420 2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org>
1421
1422 * parse.c (decode_statement): Suppress "Unclassifiable statement"
1423 error if previous error messages were emittes.
1424
1425 2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
1426
1427 PR fortran/82743
1428 * primary.c (gfc_convert_to_structure_constructor): If a character
1429 in a constructor is too long, add a warning with
1430 -Wcharacter-truncation.
1431
1432 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1433
1434 Update copyright years.
1435
1436 * gfortranspec.c (lang_specific_driver): Update copyright notice
1437 dates.
1438 * gfc-internals.texi: Bump @copying's copyright year.
1439 * gfortran.texi: Ditto.
1440 * intrinsic.texi: Ditto.
1441 * invoke.texi: Ditto.
1442 \f
1443 Copyright (C) 2019 Free Software Foundation, Inc.
1444
1445 Copying and distribution of this file, with or without modification,
1446 are permitted in any medium without royalty provided the copyright
1447 notice and this notice are preserved.