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