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