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