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