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