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