re PR fortran/86906 (erroneous name clash with renaming in use statement)
[gcc.git] / gcc / fortran / ChangeLog
1 2018-08-12 Paul Thomas <pault@gcc.gnu.org>
2
3 PR fortran/86906
4 * resolve.c (resolve_fl_variable_derived): Check if the derived
5 type is use associated before checking for the host association
6 error.
7
8 2018-08-10 Janus Weil <janus@gcc.gnu.org>
9
10 PR fortran/57160
11 * invoke.texi (frontend-optimize): Mention short-circuiting.
12 * options.c (gfc_post_options): Disable -ffrontend-optimize with -Og.
13 * resolve.c (resolve_operator): Warn about short-circuiting only with
14 -ffrontend-optimize.
15 * trans-expr.c (gfc_conv_expr_op): Use short-circuiting operators only
16 with -ffrontend-optimize. Without that flag, make sure that both
17 operands are evaluated.
18
19 2018-08-08 Nathan Sidwell <nathan@acm.org>
20
21 * cpp.c (cb_file_change): Use linemap_included_from.
22
23 2018-08-07 Cesar Philippidis <cesar@codesourcery.com>
24
25 * trans-stmt.h: Remove stale reference to trans-openacc.c.
26
27 2018-08-04 Janus Weil <janus@gcc.gnu.org>
28
29 PR fortran/45521
30 * interface.c (gfc_compare_interfaces): Apply additional
31 distinguishability criteria of F08 to operator interfaces.
32
33 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
34
35 Revert 'AsyncI/O patch committed'
36 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
37 Thomas Koenig <tkoenig@gcc.gnu.org>
38
39 PR fortran/25829
40 * gfortran.texi: Add description of asynchronous I/O.
41 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables
42 as volatile.
43 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to
44 st_wait_async and change argument spec from ".X" to ".w".
45 (gfc_trans_wait): Pass ID argument via reference.
46
47 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
48 Thomas Koenig <tkoenig@gcc.gnu.org>
49
50 PR fortran/25829
51 * gfortran.texi: Add description of asynchronous I/O.
52 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables
53 as volatile.
54 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to
55 st_wait_async and change argument spec from ".X" to ".w".
56 (gfc_trans_wait): Pass ID argument via reference.
57
58 2018-07-20 Martin Sebor <msebor@redhat.com>
59
60 PR middle-end/82063
61 * gfortran.h (gfc_handle_option): Change function argument
62 to HOST_WIDE_INT.
63 * options.c (gfc_handle_option): Same.
64
65 2018-07-20 Andrew Benson <abenson@carnegiescience.edu>
66
67 * gfortran.h (gfc_symbol): Add pointer to next derived type.
68 (gfc_dt_list, gfc_get_dt_list): Remove.
69 (gfc_namespace): Replace gfc_dt_list with gfc_symbol.
70 * parse.c (resolve_all_program_units): Replace gfc_free_dt_list() with
71 simple nullification of gfc_derived_types.
72 * resolve.c (resolve_global_procedure): Replace gfc_dt_list with
73 gfc_symbol.
74 (add_dt_to_dt_list): Change derived type linked list insertion to
75 utilize dt_next pointers in gfc_symbol.
76 * symbol.c (gfc_new_symbol, gfc_free_dt_list, gfc_symbol_done2)
77 (get_iso_c_binding_dt, generate_isocbinding_symbol): Remove
78 gfc_free_dt_list as gfc_dt_list is obsoleted. Change derived type
79 linked list search/insertion to utilize dt_next pointers in gfc_symbol.
80 * trans-types.c (gfc_get_derived_type): Change derived type linked
81 list search to utilize dt_next pointers in gfc_symbol.
82
83 2018-07-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
84
85 * trans-intrinsic.c: (gfc_conv_intrinsic_minmax): Emit MIN_MAX_EXPR
86 or IFN_FMIN/FMAX sequence to calculate the min/max when possible.
87
88 2018-07-18 Janus Weil <janus@gcc.gnu.org>
89 Thomas Koenig <tkoenig@gcc.gnu.org>
90
91 PR fortran/85599
92 * dump-parse-tree.c (show_attr): Add handling of implicit_pure.
93 * frontend-passes.c (do_warn_function_elimination): Do not warn for
94 pure functions.
95 * gfortran.h: Add prototypes for gfc_pure_function and
96 gfc_implicit_pure_function.
97 * gfortran.texi: Add chapter on evaluation of logical expressions.
98 * invoke.texi: Mention that -Wfunction-elimination is implied
99 by -Wextra.
100 * lang.opt: Make -Wextra imply -Wfunction-elimination.
101 * resolve.c (pure_function): Rename to gfc_pure_function.
102 (gfc_implicit_pure_function): New function.
103 (check_pure_function): Use it here.
104 (impure_function_callback): New function.
105 (resolve_operator): Call it via gfc_expr_walker.
106
107 2018-07-16 Fritz Reese <fritzoreese@gmail.com>
108
109 PR fortran/83184
110 * decl.c (match_old_style_init): Initialize locus of variable expr when
111 creating a data variable.
112 (match_clist_expr): Verify array is explicit shape/size before
113 attempting to allocate constant array constructor.
114
115 2018-07-16 Fritz Reese <fritzoreese@gmail.com>
116
117 PR fortran/86417
118 * module.c (mio_component): Set component->loc when loading from module.
119
120 2018-07-10 Jakub Jelinek <jakub@redhat.com>
121
122 PR fortran/86421
123 * module.c (omp_declare_simd_clauses): Add LINEAR with _REF, _VAL and
124 _UVAL suffixes.
125 (mio_omp_declare_simd): Save and restore ref, val and uval modifiers
126 on linear clauses. Initialize n->where to gfc_current_locus.
127
128 2018-07-05 Paul Thomas <pault@gcc.gnu.org>
129
130 PR fortran/86408
131 * resolve.c.c (resolve_contained_fntype): Reference to C418 is
132 in F2008 and not F2003.
133 (resolve_function): Ditto in error message. Also, exclude
134 deferred character length results from the error.
135
136 2018-07-05 Fritz Reese <fritzoreese@gmail.com>
137
138 PR fortran/83183
139 PR fortran/86325
140 * expr.c (class_allocatable, class_pointer, comp_allocatable,
141 comp_pointer): New helpers.
142 (component_initializer): Generate EXPR_NULL for allocatable or pointer
143 components. Do not generate initializers for components within BT_CLASS.
144 Do not assign to comp->initializer.
145 (gfc_generate_initializer): Use new helpers; move code to generate
146 EXPR_NULL for class allocatable components into component_initializer().
147
148 2018-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
149
150 PR fortran/82009
151 * trans-decl.c (gfc_process_block_locals): Delete assert and set
152 saved_local_decls = NULL_TREE.
153
154 2018-07-02 Richard Biener <rguenther@suse.de>
155
156 PR lto/86321
157 * trans-types.c (gfc_get_array_type_bounds): Unshare TYPE_FIELDs
158 for the distinct type copy.
159
160 2018-07-02 Paul Thomas <pault@gcc.gnu.org>
161
162 PR fortran/82969
163 PR fortran/86242
164 * trans-array.c (structure_alloc_comps): Do not explicitly copy
165 procedure pointer components.
166
167 2018-07-02 Paul Thomas <pault@gcc.gnu.org>
168
169 PR fortran/45305
170 * expr.c : Add a prototype for scalarize_intrinsic_call.
171 (gfc_simplify_expr): Use scalarize_intrinsic_call for elemental
172 intrinsic function calls.
173 (scalarize_intrinsic_call): Add 'init_flag' argument. Check if
174 the expression or any of the actual argument expressions are
175 NULL. Before calling gfc_check_init_expr, check 'init_flag'.
176 Only simplify the scalarized expressions if there are no errors
177 on the stack.
178 (gfc_check_init_expr): Set 'init_flag' true in the call to
179 scalarize_intrinsic_call.
180
181 2018-06-28 Fritz Reese <fritzoreese@gmail.com>
182
183 PR fortran/82865
184 * decl.c (gfc_match_type): Refactor and check for PDT declarations.
185
186 2018-06-28 Martin Liska <mliska@suse.cz>
187
188 * gfortranspec.c: Include opt-suggestions.h.
189
190 2018-06-25 Fritz Reese <fritzoreese@gmail.com>
191
192 PR fortran/82972
193 PR fortran/83088
194 PR fortran/85851
195 * expr.c (component_initializer): Assign init expr to c->initializer.
196 (generate_isocbinding_initializer): New.
197 (gfc_generate_initializer): Call generate_isocbinding_initializer to
198 generate initializers for c_ptr and c_funptr with -finit-derived.
199
200 2018-06-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
201
202 PR fortran/85983
203 * interface.c (check_dtio_interface1): Delete assert.
204
205 2018-06-22 Paul Thomas <pault@gcc.gnu.org>
206 Rainer Orth <ro@gcc.gnu.org>
207
208 PR fortran/86281
209 * resolve.c (resolve_contained_fntype): Check for the charlen
210 before testing the length.
211
212 2018-06-21 Paul Thomas <pault@gcc.gnu.org>
213
214 PR fortran/49630
215 * resolve.c (resolve_contained_fntype): Change standard ref.
216 from F95 to F2003: C418. Correct a spelling error in a comment.
217 It is an error for an abstract interface to have an assumed
218 character length result.
219 * trans-expr.c (gfc_conv_procedure_call): Likewise change the
220 standard reference.
221
222 2018-06-21 Paul Thomas <pault@gcc.gnu.org>
223
224 PR fortran/83118
225 * resolve.c (resolve_ordinary_assign): Force the creation of a
226 vtable for assignment of non-polymorphic expressions to an
227 unlimited polymorphic object.
228 * trans-array.c (gfc_alloc_allocatable_for_assignment): Use the
229 size of the rhs type for such assignments. Set the dtype, _len
230 and vptrs appropriately.
231 * trans-expr.c (gfc_trans_assignment): Force the use of the
232 _copy function for these assignments.
233
234 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
235 Thomas Schwinge <thomas@codesourcery.com>
236 Cesar Philippidis <cesar@codesourcery.com>
237
238 * gfortran.h (gfc_omp_clauses): Add unsigned if_present, finalize
239 bitfields.
240 * openmp.c (enum omp_mask2): Remove OMP_CLAUSE_PRESENT_OR_*. Add
241 OMP_CLAUSE_{IF_PRESENT,FINALIZE}.
242 (gfc_match_omp_clauses): Update handling of copy, copyin, copyout,
243 create, deviceptr, present_of_*. Add support for finalize and
244 if_present.
245 (OACC_PARALLEL_CLAUSES): Remove PRESENT_OR_* clauses.
246 (OACC_KERNELS_CLAUSES): Likewise.
247 (OACC_DATA_CLAUSES): Likewise.
248 (OACC_DECLARE_CLAUSES): Likewise.
249 (OACC_UPDATE_CLAUSES): Add IF_PRESENT clause.
250 (OACC_ENTER_DATA_CLAUSES): Remove PRESENT_OR_* clauses.
251 (OACC_EXIT_DATA_CLAUSES): Add FINALIZE clause.
252 (gfc_match_oacc_declare): Update to OpenACC 2.5 semantics.
253 * trans-openmp.c (gfc_trans_omp_clauses): Add support for IF_PRESENT
254 and FINALIZE.
255
256 2018-06-18 Eric Botcazou <ebotcazou@adacore.com>
257
258 * trans-decl.c (gfc_get_fake_result_decl): Revert latest change.
259
260 2018-06-17 Eric Botcazou <ebotcazou@adacore.com>
261
262 * trans-decl.c (nonlocal_dummy_decl_pset): Delete.
263 (nonlocal_dummy_decls): Likewise.
264 (gfc_nonlocal_dummy_array_decl): Likewise.
265 (gfc_get_symbol_decl): Do not call gfc_nonlocal_dummy_array_decl.
266 (gfc_get_fake_result_decl): Do not generate a new DECL if simply
267 reusing the result of a recursive call.
268 (gfc_generate_function_code): Do not create, insert and destroy
269 nonlocal_dummy_decls.
270
271 2018-06-13 Steven G. Kargl <kargl@gcc.gnu.org>
272
273 PR fortran/86110
274 * array.c (gfc_resolve_character_array_constructor): Avoid NULL
275 pointer dereference.
276
277 2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
278
279 PR fortran/85703
280 * parse.c (decode_oacc_directive): Set gfc_matching_function
281 to false.
282 (decode_omp_directive): Likewise.
283
284 2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
285
286 PR fortran/85702
287 * openmp.c (gfc_match_oacc_wait): Use %C to report error location.
288
289 2018-06-12 David Malcolm <dmalcolm@redhat.com>
290
291 PR other/69968
292 * misc.c (gfc_closest_fuzzy_match): Update for renaming of
293 levenshtein_distance to get_edit_distance.
294
295 2018-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
296
297 PR fortran/44491
298 * expr.c (gfc_check_assign): Select non-NULL locus.
299
300 2018-06-11 Janus Weil <janus@gcc.gnu.org>
301
302 PR fortran/45521
303 * interface.c (compare_ptr_alloc): New function.
304 (generic_correspondence): Call it.
305
306 2018-06-10 Thomas Koenig <tkoenig@gcc.gnu.org>
307
308 * gfortran.h (gfc_expr): Add no_bounds_check field.
309 * frontend-passes.c (get_array_inq_function): Set no_bounds_check
310 on function and function argument.
311 (inline_matmul_assign): Set no_bounds_check on zero expression
312 and on lhs of zero expression.
313 Also handle A1B2 case if realloc on assigment is active.
314 * trans-array.c (gfc_conv_array_ref): Don't do range checking
315 if expr has no_bounds_check set.
316 (gfc_conv_expr_descriptor): Set no_bounds_check on ss if expr
317 has it set.
318 * trans-expr.c (gfc_trans_assignment_1): Set no_bounds_check
319 on lss and lss if the corresponding expressions have it set.
320
321 2018-06-10 Dominique d'Humieres <dominiq@gcc.gnu.org>
322
323 PR fortran/79854
324 * trans-const.c: Remove include "diagnostic-core.h".
325 (gfc_conv_constant_to_tree): Replace fatal_error with gcc_unreachable.
326
327 2018-06-10 Janus Weil <janus@gcc.gnu.org>
328
329 PR fortran/85088
330 * decl.c (match_attr_spec): Synchronize the DECL_* enum values with the
331 INTENT_* values from the enum 'sym_intent'. Call 'match_intent_spec'
332 and remove a TODO note.
333 * gfortran.h: Add a comment to sym_intent.
334
335 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
336
337 PR fortran/38351
338 * resolve.c (resolve_operator): Provide better error message for
339 derived type entity used in an binary intrinsic numeric operator.
340
341 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
342
343 PR fortran/85138
344 PR fortran/85996
345 PR fortran/86051
346 * decl.c (gfc_match_char_spec): Use private namespace in attempt to
347 reduce a charlen to a constant.
348
349 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
350
351 PR fortran/78278
352 * data.c (gfc_assign_data_value): Re-arrange code to allow for
353 an error for double initialization of CHARACTER entities.
354
355 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
356
357 PR fortran/63514
358 * symbol.c (gfc_add_volatile): Enforce F2008:C1282 and F2018:C1588.
359
360 2018-06-08 Thomas Koenig <tkoenig@gcc.gnu.org>
361
362 PR fortran/85631
363 * trans.h (gfc_ss): Add field no_bounds_check.
364 * trans-array.c (gfc_conv_ss_startstride): If flag_realloc_lhs and
365 ss->no_bounds_check is set, do not use runtime checks.
366 * trans-expr.c (gfc_trans_assignment_1): Set lss->no_bounds_check
367 for reallocatable lhs.
368
369 2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
370
371 PR fortran/86059
372 * array.c (match_array_cons_element): NULL() cannot be in an
373 array constructor.
374
375 2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
376
377 PR fortran/78571
378 * data.c (create_character_initializer): Return early if type is
379 incompatible with CHARACTER.
380
381 2018-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
382
383 PR fortran/86045
384 * simplify.c (gfc_simplify_mod): Re-arrange code to test whether
385 'P' is zero and issue an error if it is.
386
387 2018-06-06 Thomas Koenig <tkoenig@gcc.gnu.org>
388
389 PR fortran/85641
390 * frontend-passes.c (is_fe_temp): Add prototype.
391 (realloc_string_callback): Early return for frontend-generated
392 temporary.
393
394 2018-06-05 Cesar Philippidis <cesar@codesourcery.com>
395
396 PR fortran/85701
397
398 * openmp.c (gfc_resolve_oacc_declare): Error on functions and
399 subroutine data clause arguments.
400
401 2018-06-04 Steven G. Kargl <kargl@gcc.gnu.org>
402
403 PR fortran/85981
404 * resolve.c (resolve_allocate_deallocate): Check errmsg is default
405 character kind.
406
407 2018-06-03 Paul Thomas <pault@gcc.gnu.org>
408
409 PR fortran/36497
410 * decl.c (variable_decl): Use gfc_add_type for cray pointees.
411
412 2018-06-01 Steven G. Kargl <kargl@gcc.gnu.org>
413
414 PR fortran/63570
415 * check.c (gfc_check_random_init): New function. Check arguments of
416 RANDOM_INIT.
417 * gfortran.h (GFC_ISYM_RANDOM_INIT): New enum token.
418 * intrinsic.c (add_subroutines): Add RANDOM_INIT to list of
419 subroutines.
420 (gfc_check_intrinsic_standard): Introduce Fortran 2018 check.
421 * intrinsic.h: Add prototypes for gfc_check_random_init and
422 gfc_resolve_random_init
423 * intrinsic.texi: Document new intrinsic subprogram.
424 * iresolve.c (gfc_resolve_random_init): Resolve routine name.
425 * trans-decl.c: Declare gfor_fndecl_random_init
426 * trans-intrinsic.c (conv_intrinsic_random_init): New function.
427 Translate call to RANDOM_INIT.
428 (gfc_conv_intrinsic_subroutine): Call it.
429 * trans.h: Declare gfor_fndecl_random_init
430
431 2018-05-27 Steven G. Kargl <kargl@gcc.gnu.org>
432
433 * decl.c (match_data_constant): Fortran 2018 allows pointer
434 initialization in a data statement.
435
436 2018-05-25 Janus Weil <janus@gcc.gnu.org>
437
438 PR fortran/85839
439 * match.c (gfc_match_block_data): Call gfc_notify_std to warn about
440 an obsolescent feature in Fortran 2018.
441 (gfc_match_equivalence): Ditto.
442 * resolve.c (resolve_common_blocks): Ditto.
443 (gfc_resolve_forall): Ditto.
444 * symbol.c (gfc_define_st_label): Ditto.
445
446 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
447
448 PR fortran/85543
449 * resolve.c (update_current_proc_array_outer_dependency): Avoid NULL
450 pointer dereference.
451
452 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
453
454 PR fortran/85780
455 * resolve.c (resolve_fl_procedure): Avoid NULL dereference.
456
457 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
458
459 PR fortran/85779
460 * decl.c (gfc_match_derived_decl): Fix NULL point dereference.
461
462 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
463
464 PR fortran/85895
465 * resolve.c (resolve_sync): Resolve expression before checking for
466 an error.
467
468 2018-05-22 Janus Weil <janus@gcc.gnu.org>
469
470 PR fortran/85841
471 * libgfortran.h: Remove the macros GFC_STD_F2008_TS and
472 GFC_STD_OPT_F08TS.
473 * error.c (notify_std_msg): Remove GFC_STD_F2008_TS.
474 * options.c (set_default_std_flags): Ditto.
475 (gfc_handle_option): Make -std=f2008ts an alias for -std=f2018.
476 * array.c (gfc_match_array_spec): Replace GFC_STD_F2008_TS by
477 GFC_STD_F2018.
478 * check.c (gfc_check_atomic, gfc_check_event_query,
479 gfc_check_c_f_pointer, gfc_check_c_f_procpointer, gfc_check_c_funloc,
480 gfc_check_c_loc, gfc_check_num_images, gfc_check_this_image): Ditto.
481 * decl.c (gfc_verify_c_interop_param, gfc_match_decl_type_spec): Ditto.
482 * intrinsic.c (add_functions, add_subroutines,
483 gfc_check_intrinsic_standard): Ditto.
484 * iso-c-binding.def: Ditto.
485 * iso-fortran-env.def: Ditto.
486 * match.c (gfc_match_event_post, gfc_match_event_wait,
487 gfc_match_fail_image, gfc_match_form_team, gfc_match_change_team,
488 gfc_match_end_team, gfc_match_sync_team): Ditto.
489 * gfortran.texi: Remove mention of -std=f2008ts.
490 Move TSs into F2018 section.
491 * invoke.texi: Update documentation of -std=f2008ts.
492
493 2018-05-21 Janus Weil <janus@gcc.gnu.org>
494
495 PR fortran/85841
496 * libgfortran.h: New macros GFC_STD_OPT_*.
497 * error.c (notify_std_msg): New function.
498 (gfc_notify_std): Adjust such that it can handle combinations of
499 GFC_STD_* flags in the 'std' argument, not just a single one.
500 * match.c (match_arithmetic_if, gfc_match_if): Reject arithmetic if
501 in Fortran 2018.
502 (gfc_match_stopcode): Use GFC_STD_OPT_* macros.
503 * options.c (set_default_std_flags): Warn for F2018 deleted features
504 by default.
505 (gfc_handle_option): F2018 deleted features are allowed in earlier
506 standards.
507 * symbol.c (gfc_define_st_label, gfc_reference_st_label): Reject
508 nonblock do constructs in Fortran 2018.
509
510 2018-05-20 Paul Thomas <pault@gcc.gnu.org>
511
512 PR fortran/80657
513 * resolve.c (flag_fn_result_spec): Use the 'sym' argument to
514 test for self refs to the function result in the character len
515 expression. If a self reference is found, emit an error and
516 return true.
517 (resolve_fntype): Use the function symbol in the calls to the
518 above.
519
520 2018-05-20 Paul Thomas <pault@gcc.gnu.org>
521
522 PR fortran/49636
523 * trans-array.c (gfc_get_array_span): Renamed from
524 'get_array_span'.
525 (gfc_conv_expr_descriptor): Change references to above.
526 * trans-array.h : Add prototype for 'gfc_get_array_span'.
527 * trans-intrinsic.c (gfc_conv_associated): Add pre and post
528 blocks for 'arg1'.
529 * trans-stmt.c (trans_associate_var): If the associate name is
530 a subref array pointer, use gfc_get_array_span for the span.
531
532 2018-05-20 Paul Thomas <pault@gcc.gnu.org>
533
534 PR fortran/82275
535 * match.c (gfc_match_type_spec): Go through the array ref and
536 decrement 'rank' for every dimension that is an element.
537
538 2018-05-19 Paul Thomas <pault@gcc.gnu.org>
539
540 PR fortran/82923
541 PR fortran/66694
542 PR fortran/82617
543 * trans-array.c (gfc_alloc_allocatable_for_assignment): Set the
544 charlen backend_decl of the rhs expr to ss->info->string_length
545 so that the value in the current scope is used.
546
547 2018-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
548
549 PR fortran/63529
550 * gfortran.texi: Clarify documentation for Cray pointer and
551 assumed-sized array.
552
553 2018-05-13 Paul Thomas <pault@gcc.gnu.org>
554
555 PR fortran/85742
556 * trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation
557 of 'size'. If the element type is a pointer use the size of the
558 TREE_TYPE of the type, unless it is VOID_TYPE. In this latter
559 case, set the size to zero.
560
561 2018-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
562
563 * gfortran.h: Remove prototype.
564 * symbol.c (gfc_new_undo_checkpoint): Remove unused function.
565
566 2018-05-11 Steven G. Kargl <kargl@gcc.gnu.org>
567
568 PR fortran/85542
569 * expr.c (check_inquiry): Avoid NULL pointer dereference.
570
571 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org>
572
573 PR fortran/85687
574 * check.c (gfc_check_rank): Check that the argument is a data object.
575
576 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org>
577
578 PR fortran/85521
579 * array.c (gfc_resolve_character_array_constructor): Substrings
580 with upper bound smaller than lower bound are zero length strings.
581
582 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org>
583
584 PR fortran/70870
585 * data.c (gfc_assign_data_value): Check that a data object does
586 not also have default initialization.
587
588 2018-05-10 Marek Polacek <polacek@redhat.com>
589
590 PR fortran/85735
591 * options.c (gfc_post_options): Set main_input_filename.
592
593 2018-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
594
595 PR fortran/54613
596 * intrinsic.texi: Document BACK for MINLOC and MAXLOC.
597
598 2018-05-10 Paul Thomas <pault@gcc.gnu.org>
599
600 PR fortran/68846
601 PR fortran/70864
602 * resolve.c (get_temp_from_expr): The temporary must not have
603 dummy or intent attributes.
604
605 2018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
606
607 PR fortran/54613
608 * check.c (gfc_check_minmaxloc): Remove error for BACK not being
609 implemented. Use gfc_logical_4_kind for BACK.
610 * simplify.c (min_max_choose): Add optional argument back_val.
611 Handle it.
612 (simplify_minmaxloc_to_scalar): Add argument back_val. Pass
613 back_val to min_max_choose.
614 (simplify_minmaxloc_to_nodim): Likewise.
615 (simplify_minmaxloc_to_array): Likewise.
616 (gfc_simplify_minmaxloc): Add argument back, handle it.
617 Pass back_val to specific simplification functions.
618 (gfc_simplify_minloc): Remove ATTRIBUTE_UNUSED from argument back,
619 pass it on to gfc_simplify_minmaxloc.
620 (gfc_simplify_maxloc): Likewise.
621 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Adjust
622 comment. If BACK is true, use greater or equal (or lesser or
623 equal) insteal of greater (or lesser). Mark the condition of
624 having found a value which exceeds the limit as unlikely.
625
626 2018-05-07 Jeff Law <law@redhat.comg>
627
628 * scanner.c (preprocessor_line): Call linemap_add after a line
629 directive that changes the current filename.
630
631 2018-05-06 Andre Vehreschild <vehre@gcc.gnu.org>
632
633 PR fortran/85507
634 * dependency.c (gfc_dep_resolver): Revert looking at coarray dimension
635 introduced by r259385.
636 * trans-intrinsic.c (conv_caf_send): Always report a dependency for
637 same variables in coarray assignments.
638
639 2018-05-02 Tom de Vries <tom@codesourcery.com>
640
641 PR libgomp/82428
642 * f95-lang.c (DEF_GOACC_BUILTIN_ONLY): Define.
643
644 2018-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
645
646 PR fortran/85520
647 * decl.c (gfc_match_char_spec): Check for negative length and set to 0.
648
649 2018-04-14 Andre Vehreschild <vehre@gcc.gnu.org>
650
651 PR fortran/81773
652 PR fortran/83606
653 * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored
654 during dependency computation. They define no data dependency.
655 * trans-array.c (conv_array_index_offset): The stride can not be set
656 here, prevent fail.
657 * trans-intrinsic.c (conv_caf_send): Add creation of temporary array
658 for caf_get's result and copying to the array with vectorial
659 indexing.
660
661 2018-04-14 Thomas Koenig <tkoenig@gcc.gnu.org>
662
663 PR fortran/85387
664 * frontend-passes.c (traverse_io_block): Check for start, end or
665 stride being defined by an outer implied DO loop.
666
667 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
668
669 PR fortran/83064
670 PR testsuite/85346
671 * trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind
672 for annotation and remove dependence on -ftree-parallelize-loops.
673
674 2018-04-10 Jakub Jelinek <jakub@redhat.com>
675
676 PR fortran/85313
677 * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;.
678 (resolve_oacc_nested_loops): Likewise. Formatting fix.
679
680 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
681
682 PR fortran/83064
683 * trans-stmt.c (gfc_trans_forall_loop): Remove annotation for
684 parallell processing of DO CONCURRENT -ftree-parallelize-loops
685 is set.
686
687 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
688
689 PR fortran/51260
690 * resolve.c (resolve_variable): Simplify cases where access to a
691 parameter array results in a single constant.
692
693 2018-04-02 Thomas Koenig <tkoenig@gcc.gnu.org>
694
695 PR fortran/85102
696 * decl.c (variable_decl): If upper or lower bounds simplify
697 to a constant, use that.
698
699 2018-03-30 Paul Thomas <pault@gcc.gnu.org>
700
701 PR fortran/84931
702 * simplify.c (gfc_convert_constant): Handle case of array
703 constructors within an array that has no iterator and improve
704 the conciseness of this section of code.
705
706 2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
707
708 PR fortran/85111
709 * array.c (gfc_resolve_character_array_constructor): Early
710 exit for zero-size arrays.
711 * simplify.c (simplify_transformation_to_array): Exit early
712 if the result size is zero.
713 (simplify_minmaxloc_to_array): Likewise.
714
715 2018-03-28 Mikael Morin <mikael@gcc.gnu.org>
716
717 PR fortran/69497
718 * symbol.c (gfc_symbol_done_2): Start freeing namespaces
719 from the root.
720 (gfc_free_namespace): Restore assert (revert r258839).
721
722 2018-03-28 Jakub Jelinek <jakub@redhat.com>
723
724 * gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
725 * ioparm.def (IOPARM_dt_default_exp): Rename to ...
726 (IOPARM_dt_dec_ext): ... this.
727 * trans-io.c (build_dt): Adjust for default_exp renaming to
728 dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
729 * io.c (match_io): Likewise.
730
731 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
732
733 PR fortran/85084
734 * frontend-passes.c (gfc_run_passes): Do not run front-end
735 optimizations if a previous error occurred.
736
737 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
738 Harald Anlauf <anlauf@gmx.de>
739
740 PR fortran/85083
741 * primary.c (gfc_convert_to_structure_constructor): Check
742 conformance of argument types in structure constructor.
743
744 2018-03-26 Thomas Koenig <tkoenig@gcc.gnu.org>
745
746 PR fortran/66709
747 * io.c: Include constructor.h.
748 (resolve_tag_format): For a constant character array, concatenate
749 into a single character expression.
750
751 2018-03-25 Seth Johnson <johnsonsr@ornl.gov>
752 Dominique d'Humieres <dominiq@gcc.gnu.org>
753
754 PR fortran/84924
755 * check.c (gfc_check_c_f_pointer): Allow scalar noninteroperable
756 scalar derived type with -std=f2003 and -std=f2008.
757
758 2018-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
759 Dominique d'Humieres <dominiq@gcc.gnu.org>
760
761 PR fortran/69497
762 * symbol.c (gfc_free_namespace): Delete the assert and only if
763 refs count is equals zero, free the namespace. Otherwise,
764 something is halfway and other errors will resound.
765
766 2018-03-24 Thomas Koenig <tkoenig@gcc.gnu.org>
767
768 PR fortran/70068
769 * expr.c (find_substring_ref): Change types of start, end
770 and length variables to gfc_charlen_t. Set length to zero
771 for empty substring.
772
773 2018-03-24 Steven G. Kargl <kargl@gcc.gnu.org>
774
775 PR fortran/42651
776 * decl.c (check_function_name): Improved error message
777 (gfc_match_volatile, gfc_match_asynchronous) Use check_function_name.
778
779 2018-03-22 Steven G. Kargl <kargl@gcc.gnu.org>
780
781 PR fortran/84922
782 * decl.c (get_proc_name): If the MODULE prefix appears in interface
783 body, then it must appear on the contained subroutine or function.
784 While here, fix nearby mis-indented code.
785
786 2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
787 Harald Anlauf <anlauf@gmx.de>
788
789 PR fortran/84957
790 * trans-types.c (gfc_sym_type): Do not dereference NULL pointer.
791
792 2018-03-21 Janne Blomqvist <jb@gcc.gnu.org>
793
794 PR fortran/84615
795 * trans-expr.c (gfc_conv_procedure_call): Convert charlen to
796 gfc_charlen_type_node when calling procedure.
797
798 2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org>
799
800 PR fortran/85001
801 * interface.c (symbol_rank): Remove bogus null pointer check that
802 crept in when translating a ternary operator into an if-else
803 constructor.
804
805 2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
806
807 PR fortran/84931
808 * simplify.c (gfc_convert_constant): Correctly handle iterators
809 for type conversion.
810
811 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
812
813 PR fortran/77414
814 * decl.c (get_proc_name): Check for a subroutine re-defined in
815 the contain portion of a subroutine. Change language of existing
816 error message to better describe the issue. While here fix whitespace
817 issues.
818
819 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
820
821 PR fortran/65453
822 * decl.c (get_proc_name): Catch clash between a procedure statement
823 and a contained subprogram
824
825 2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org>
826
827 PR fortran/69395
828 * decl.c (merge_array_spec): Correct the error condition.
829
830 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
831
832 PR fortran/78741
833 * decl.c (get_proc_name): Check for clash of entry name with
834 subroutine name.
835
836 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
837
838 PR fortran/69395
839 * decl.c (merge_array_spec): Limit the merging to maximum allowed
840 dimensions, and issue error message if limit is exceeded.
841
842 2018-03-13 Steven G. Kargl <kargl@gcc.gnu.org>
843
844 * check.c (gfc_check_kill_sub): Remove check for INTEGER(4) or (8).
845 * intrinsic.c (add_functions): Remove reference to gfc_resolve_kill.
846 (add_subroutines): Remove reference to gfc_resolve_kill_sub.
847 * intrinsic.texi: Update documentation.
848 * iresolve.c (gfc_resolve_kill, gfc_resolve_kill_sub): Remove.
849 * trans-decl.c (gfc_build_intrinsic_function_decls): Add
850 gfor_fndecl_kill and gfor_fndecl_kill_sub
851 * trans-intrinsic.c (conv_intrinsic_kill, conv_intrinsic_kill_sub): new
852 functions.
853 (gfc_conv_intrinsic_function): Use conv_intrinsic_kill.
854 (gfc_conv_intrinsic_subroutine): Use conv_intrinsic_kill_sub.
855 * trans.h: Declare gfor_fndecl_kill and gfor_fndecl_kill_sub.
856
857 2018-03-11 Paul Thomas <pault@gcc.gnu.org>
858
859 PR fortran/84546
860 * trans-array.c (structure_alloc_comps): Make sure that the
861 vptr is copied and that the unlimited polymorphic _len is used
862 to compute the size to be allocated.
863 * trans-expr.c (gfc_get_class_array_ref): If unlimited, use the
864 unlimited polymorphic _len for the offset to the element.
865 (gfc_copy_class_to_class): Set the new 'unlimited' argument.
866 * trans.h : Add the boolean 'unlimited' to the prototype.
867
868 2018-03-11 Steven G. Kargl <kargl@gcc.gnu.org>
869
870 PR fortran/83939
871 * resolve.c (resolve_fl_procedure): Enforce F2018:C15100.
872
873 2018-03-11 Steven G. Kargl <kargls@gcc.gnu.org>
874
875 * check.c (gfc_check_kill): Check pid and sig are scalar.
876 (gfc_check_kill_sub): Restrict kind to 4 and 8.
877 * intrinsic.c (add_function): Sort keyword list. Add pid and sig
878 keywords for KILL. Remove redundant *back="back" in favor of the
879 original *bck="back".
880 (add_subroutines): Sort keyword list. Add pid and sig keywords
881 for KILL.
882 * intrinsic.texi: Fix documentation to consistently use pid and sig.
883 * iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8. Choose the
884 correct function.
885 (gfc_resolve_rename_sub): Add comment.
886
887 2018-03-11 Thomas Koenig <tkoenig@gcc.gnu.org>
888
889 PR fortran/66128
890 * simplify.c (simplify_transformation): Return default result for
891 empty array argument.
892 (gfc_simplify_all): Remove special-case handling for zerosize.
893 (gfc_simplify_any): Likewise.
894 (gfc_simplify_count): Likewise.
895 (gfc_simplify_iall): Likewise.
896 (gfc_simplify_iany): Likewise.
897 (gfc_simplify_iparity): Likewise.
898 (gfc_simplify_minval): Likewise.
899 (gfc_simplify_maxval): Likewise.
900 (gfc_simplify_norm2): Likewise.
901 (gfc_simplify_product): Likewise.
902 (gfc_simplify_sum): Likewise.
903
904 2018-03-10 Steven G. Kargl <kargl@gcc.gnu.org>
905
906 PR fortran/84734
907 * arith.c (check_result, eval_intrinsic): If result overflows, pass
908 the expression up the chain instead of a NULL pointer.
909
910 2018-03-07 Steven G. Kargl <kargl@gcc.gnu.org>
911
912 PR fortran/64124
913 PR fortran/70409
914 * decl.c (gfc_match_char_spec): Try to reduce a charlen to a constant.
915
916 2017-03-06 Thomas Koenig <tkoenig@gcc.gnu.org>
917
918 PR fortran/84697
919 PR fortran/66128
920 * expr.c (simplify_parameter_variable): If p is a size zero array
921 and not an ARRAY_EXPR insert an empty array constructor and
922 return.
923 * gfortran.h: Add prototype for gfc_is_size_zero_array.
924 * simplify.c (is_size_zero_array): Make non-static and rename into
925 (gfc_is_size_zero_array): Check for parameter arrays of zero
926 size by comparing shape and absence of constructor.
927 (gfc_simplify_all): Use gfc_is_size_zero_array instead of
928 is_size_zero_array.
929 (gfc_simplify_count): Likewise.
930 (gfc_simplify_iall): Likewise.
931 (gfc_simplify_iany): Likewise.
932 (gfc_simplify_iparity): Likewise.
933 (gfc_simplify_minval): Likewise.
934 (gfc_simplify_maxval): Likewise.
935 (gfc_simplify_product): Likewise.
936 (gfc_simplify_sum): Likewise.
937
938 2018-03-06 Steven G. Kargl <kargl@gcc.gnu.org>
939
940 PR fortran/56667
941 * primary.c (match_sym_complex_part): Give the matcher for an implied
942 do-loop a chance to run.
943
944 2018-03-03 Harald Anlauf <anlauf@gmx.de>
945
946 PR fortran/71085
947 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not
948 dereference NULL pointer.
949
950 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
951
952 PR fortran/66128
953 * simplify.c (is_size_zero_array): New function to check for size
954 zero array.
955 (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
956 gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity,
957 gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2,
958 gfc_simplify_product, gfc_simplify_sum): Use it, and implement
959 requirements from F2018.
960
961 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
962
963 PR fortran/51434
964 * simplify.c (gfc_simplify_transfer): Resolve mold.
965
966 2018-03-03 Paul Thomas <pault@gcc.gnu.org>
967
968 PR fortran/80965
969 * resolve.c (build_loc_call): Change symtree name from 'loc' to
970 '_loc'.
971
972 2018-03-01 Paul Thomas <pault@gcc.gnu.org>
973
974 PR fortran/84219
975 * target-memory.c (gfc_interpret_derived): Assert that BT_VOID
976 components are caf tokens.
977 (gfc_target_interpret_expr): Treat BT_VOID expressions as
978 integers.
979
980 2018-03-01 Paul Thomas <pault@gcc.gnu.org>
981
982 PR fortran/84538
983 * class.c (class_array_ref_detected): Remove the condition that
984 there be no reference after the array reference.
985 (find_intrinsic_vtab): Remove excess whitespace.
986 * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp'
987 as 'base and call build_class_array_ref earlier.
988
989 2018-02-28 Paul Thomas <pault@gcc.gnu.org>
990
991 PR fortran/83901
992 * trans-stmt.c (trans_associate_var): Make sure that the se
993 expression is a pointer type before converting it to the symbol
994 backend_decl type.
995
996 2018-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
997
998 PR fortran/83633
999 * decl.c (variable_decl): Check that an explicit-shape-array with
1000 nonconstant bounds is allowed.
1001
1002 2018-02-25 Paul Thomas <pault@gcc.gnu.org>
1003
1004 PR fortran/84523
1005 * trans-intrinsic.c (gfc_conv_allocated): If the argument se
1006 has a pre block, add it to the expression pre block.
1007
1008 2018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1009
1010 PR fortran/78238
1011 * gfortran.h (gfc_integer_4_kind): Define.
1012 * resolve.c (resolve_select_type): Make sure that the
1013 kind of c->high is gfc_integer_4_kind.
1014
1015 2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
1016
1017 PR fortran/30792
1018 * decl.c (gfc_match_data): Check for invalid substring in
1019 data-implied-do
1020
1021 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
1022
1023 * intrinsic.texi: Arguments to MATMUL cannot both be rank one.
1024
1025 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
1026
1027 PR fortran/84511
1028 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement.
1029
1030 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
1031
1032 PR fortran/84346
1033 * interface.c (compare_actual_formal): Issue error if keyword is
1034 used in a statement function.
1035
1036 2018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1037
1038 PR fortran/84506
1039 * trans-io.c (set_parameter_value_inquire): Adjust range check of
1040 negative unit values for kind=8 units to the kind=4 negative limit.
1041
1042 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
1043
1044 PR fortran/83149
1045 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before
1046 accessing its components.
1047
1048 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
1049
1050 PR fortran/83149
1051 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name
1052 before accessing its components.
1053
1054 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
1055
1056 PR fortran/83148
1057 * trans-const.c : Clean up some whitespace issues.
1058 * trans-expr.c (gfc_conv_initializer): If an iso_c_binding
1059 derived type has a kind value of zero, set it to the default
1060 integer kind.
1061
1062 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org>
1063
1064 PR fortran/84519
1065 * trans-decl.c (gfc_build_builtin_function_decls): Add bool
1066 argument to stop and error stop decls.
1067 * trans-stmt.c (gfc_trans_stop): Add false value to argument
1068 lists.
1069
1070 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
1071
1072 PR 78534
1073 PR 84509
1074 * trans-decl.c (gfc_build_builtin_function_decls): Pass
1075 gfc_int8_type node to pause_numeric, size_type_node to
1076 pause_string.
1077 * trans-stmt.c (gfc_trans_pause): Likewise.
1078
1079 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
1080
1081 * gfortran.texi: Update Coarray API description.
1082 * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for
1083 character lengths, int for exit codes.
1084 (generate_coarray_sym_init): Use size_t for character length.
1085 * trans-intrinsic.c (conv_co_collective): Likewise.
1086 * trans-stmt.c (gfc_trans_lock_unlock): Likewise.
1087 (gfc_trans_event_post_wait): Likewise.
1088 (gfc_trans_sync): Likewise.
1089 (gfc_trans_stop): Use size_t for character lengths, int for exit
1090 codes.
1091
1092 2018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org>
1093
1094 PR fortran/48890
1095 PR fortran/83823
1096 * primary.c (gfc_convert_to_structure_constructor):
1097 For a constant string constructor, make sure the length
1098 is correct.
1099
1100 2018-02-19 Paul Thomas <pault@gcc.gnu.org>
1101
1102 PR fortran/83344
1103 PR fortran/83975
1104 * resolve.c (resolve_assoc_var): Rearrange the logic for the
1105 determination of the character length of associate names. If
1106 the associate name is missing a length expression or the length
1107 expression is not a constant and the target is not a variable,
1108 make the associate name allocatable and deferred length.
1109 * trans-decl.c (gfc_get_symbol_decl): Null the character length
1110 backend_decl for deferred length associate names that are not
1111 variables. Set 'length' to gfc_index_zero_node for character
1112 associate names, whose character length is a PARM_DECL.
1113
1114 2018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org>
1115
1116 PR fortran/35339
1117 * frontend-passes.c (traverse_io_block): Remove workaround for
1118 PR 80945.
1119
1120 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
1121
1122 * gfortran.texi: Document additional src/dst_type. Fix some typos.
1123 * trans-decl.c (gfc_build_builtin_function_decls): Declare the new
1124 argument of _caf_*_by_ref () with * e { get, send, sendget }.
1125 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the
1126 data referenced when generating a call to caf_get_by_ref ().
1127 (conv_caf_send): Same but for caf_send_by_ref () and
1128 caf_sendget_by_ref ().
1129
1130 2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1131
1132 PR fortran/84389
1133 * io.c (check_format): Allow FMT_COLON.
1134
1135 2018-02-18 Paul Thomas <pault@gcc.gnu.org>
1136
1137 PR fortran/80945
1138 * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from
1139 the typenode in the case of deferred length characters.
1140
1141 2018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1142
1143 PR fortran/84270
1144 * frontend-passes (scalarized_expr): If the expression
1145 is an assumed size array, leave in the last reference
1146 and pass AR_SECTION instead of AR_FULL to gfc_resolve
1147 in order to avoid an error.
1148
1149 2018-02-17 Paul Thomas <pault@gcc.gnu.org>
1150
1151 PR fortran/84115
1152 * resolve.c (resolve_assoc_var): If a non-constant target expr.
1153 has no string length expression, make the associate variable
1154 into a deferred length, allocatable symbol.
1155 * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to
1156 the symbol.
1157 * trans-stmt.c (trans_associate_var): Null and free scalar
1158 associate names that are allocatable. After assignment, remove
1159 the allocatable attribute to prevent reallocation.
1160
1161 2018-02-16 Jakub Jelinek <jakub@redhat.com>
1162
1163 PR fortran/84418
1164 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF
1165 kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step.
1166
1167 2018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org>
1168
1169 PR fortran/84354
1170 * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs.
1171
1172 2018-02-15 Janus Weil <janus@gcc.gnu.org>
1173
1174 PR fortran/84409
1175 * interface.c (check_dtio_arg_TKR_intent): Add a check for character
1176 length.
1177
1178 2018-02-14 Janus Weil <janus@gcc.gnu.org>
1179
1180 PR fortran/84385
1181 * match.c (gfc_match_select_type): Fix check for selector in
1182 SELECT TYPE statement.
1183
1184 2018-02-13 Janus Weil <janus@gcc.gnu.org>
1185
1186 PR fortran/84313
1187 * symbol.c (check_conflict): Reject procedure pointers in common blocks.
1188
1189 2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie>
1190 Janne Blomqvist <jb@gcc.gnu.org>
1191
1192 * module.c (dump_module): Use lbasename to ensure that module
1193 files are reproducible.
1194
1195 2018-02-12 Janus Weil <janus@gcc.gnu.org>
1196
1197 PR fortran/84273
1198 * resolve.c (resolve_component): Fix checks of passed argument in
1199 procedure-pointer components.
1200
1201 2018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1202
1203 PR fortran/35299
1204 * resolve.c (resolve_formal_arglist): Update error message.
1205
1206 2018-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
1207
1208 * gfortran.texi: Fix typos in documentation of caf_register ().
1209 * trans-array.c (structure_alloc_comps): Only register a component of
1210 a derived typed corray, not of an ultimate component coarray.
1211
1212 2018-02-11 Steven G. Kargl <kargl@gcc.gnu.org>
1213
1214 PR fortran/54223
1215 PR fortran/84276
1216 * interface.c (compare_actual_formal): Add in_statement_function
1217 bool parameter. Skip check of INTENT attribute for statement
1218 functions. Arguments to a statement function cannot be optional,
1219 issue error for missing argument.
1220 (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use
1221 in_statement_function.
1222
1223 2018-02-11 Paul Thomas <pault@gcc.gnu.org>
1224
1225 PR fortran/84074
1226 * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset
1227 flag. If the is a vector subscript or the expression is not a
1228 variable, make the descriptor one-based.
1229
1230 2018-02-10 Paul Thomas <pault@gcc.gnu.org>
1231
1232 PR fortran/84141
1233 PR fortran/84155
1234 * trans-array.c (gfc_array_init_size): Revert the change made
1235 in revision 257356 setting the dtype.
1236 * trans-types.c (gfc_get_dtype): Do not use the cached dtype.
1237 Call gfc_get_dtype_rank_type every time.
1238
1239 PR fortran/56691
1240 * trans-array.c (gfc_conv_expr_descriptor): If the source array
1241 is a descriptor type, use its offset, removing the condition
1242 that is be a class expression.
1243
1244 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
1245
1246 PR fortran/82994
1247 * match.c (gfc_match_deallocate): Check for NULL pointer.
1248
1249 2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org>
1250
1251 PR fortran/68560
1252 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function.
1253 (gfc_conv_intrinsic_function): Call it.
1254
1255 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
1256
1257 PR fortran/82049
1258 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then
1259 try to resolve it. While here return early if possible.
1260
1261 2018-02-04 Paul Thomas <pault@gcc.gnu.org>
1262
1263 PR fortran/84115
1264 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of
1265 'length' if the symbol charlen backend_decl is an indirect ref.
1266
1267 2018-02-03 Paul Thomas <pault@gcc.gnu.org>
1268
1269 PR fortran/84141
1270 PR fortran/84155
1271 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype
1272 use gfc_get_dtype_rank_type.
1273
1274 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
1275
1276 PR 83975
1277 PR 83344
1278 * resolve.c (resolve_assoc_var): Generate an error if
1279 target length unknown.
1280
1281 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
1282
1283 PR fortran/83705
1284 * simplify.c (gfc_simplify_repeat): Increase limit for deferring
1285 to runtime, print a warning message.
1286
1287 2018-01-31 Jakub Jelinek <jakub@redhat.com>
1288
1289 PR fortran/84116
1290 * openmp.c (gfc_match_omp_clauses): If all the linear
1291 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist
1292 nor set *head = NULL. Formatting fixes.
1293
1294 2018-01-31 Paul Thomas <pault@gcc.gnu.org>
1295
1296 PR fortran/84088
1297 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is
1298 an address expression passed to an assumed rank dummy, convert
1299 to an indirect reference.
1300
1301 2018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
1302
1303 * dump-parse-tree.c (write_proc): Use sym_name (which may
1304 be sym->binding_label) instead of sym->name.
1305
1306 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
1307
1308 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead
1309 of int for slen.
1310
1311 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
1312
1313 PR fortran/78534
1314 * trans-expr.c (fill_with_spaces): Use memset instead of
1315 generating loop.
1316 (gfc_trans_string_copy): Improve opportunity to use builtins with
1317 constant lengths.
1318
1319 2018-01-30 Jakub Jelinek <jakub@redhat.com>
1320
1321 PR debug/84131
1322 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off
1323 to DATA_FIELD's offset rather than OFFSET_FIELD's offset.
1324
1325 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1326
1327 PR fortran/84134
1328 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is
1329 zero, return false.
1330
1331 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1332
1333 PR fortran/84133
1334 * frontend-passes (matmul_to_var_expr): Return early if
1335 in association list.
1336 (inline_matmul_assign): Likewise.
1337
1338 2017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
1339
1340 PR fortran/84073
1341 * resolve.c (resolve_component): Ensure BIND(C) character
1342 components have length one.
1343 (resolve_symbol): Likewise for variables.
1344
1345 2018-01-27 Jakub Jelinek <jakub@redhat.com>
1346
1347 PR fortran/84065
1348 * decl.c (add_init_expr_to_sym): Ignore initializers for too large
1349 lengths.
1350
1351 2018-01-26 Damian Rouson <damian@sourceryinstitute.org>
1352 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
1353 Soren Rasmussen <s.c.rasmussen@gmail.com>
1354
1355 Partial support for Fortran 2018 teams features.
1356
1357 * array.c (gfc_match_array_ref): add team attribute in coarray
1358 transfers.
1359 * check.c (gfc_check_get_team, gfc_check_team_number): add new
1360 functions for get_team and team_number.
1361 * dump-parse-tree.c (show_code_node): add new statements: form team,
1362 change team, end team, and sync team.
1363 * expr.c (gfc_find_team_co): add new function.
1364 * gfortran.h: add new statements.
1365 * intrinsic.c (add_functions): add get_team and team_number functions.
1366 * intrinsic.h: add get_team and team_number prototypes for check,
1367 simplify, and resolve.
1368 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new
1369 functions.
1370 * iso-fortran-env.def: add the team_type derived type.
1371 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number)
1372 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team):
1373 add change team, end team, form team, sync team match and functions.
1374 * match.h: add new prototypes for change team, end team, form team,
1375 and sync team.
1376 * parse.c (decode_statement): add cases for change team, end team,
1377 form team, and sync team.
1378 * resolve.c: add cases for exec form team, change team, end team, and
1379 sync team.
1380 * simplify.c (gfc_simplify_get_team): add new function for get team.
1381 * st.c (gfc_free_statement): add cases exec for change team, end team,
1382 form team, sync team.
1383 * trans-decl.c (gfor_fndecl_caf_form_team)
1384 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team)
1385 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team)
1386 (gfor_fndecl_caf_team_number): add functions and definitions.
1387 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add
1388 new function and team_type argument support.
1389 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team)
1390 (gfc_trans_end_team, gfc_trans_sync_team): add new functions.
1391 * trans-stmt.h: add new prototypes.
1392 * trans-types.c (gfc_get_derived_type): check condition for team_type.
1393 * trans.c (trans_code): new exec cases for form team, change team, end
1394 team, and sync team.
1395 * trans.h: add new prototypes.
1396
1397 2018-01-26 Steven G. Kargl <kargl@gcc.gnu.org>
1398
1399 PR fortran/83998
1400 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0
1401 or .false. The summation does the correct type conversion.
1402 (gfc_simplify_dot_product): Special case zero-sized arrays.
1403
1404 2018-25-01 Paul Thomas <pault@gcc.gnu.org>
1405
1406 PR fortran/37577
1407 * array.c (gfc_match_array_ref): If standard earlier than F2008
1408 it is an error if the reference dimension is greater than 7.
1409 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the
1410 dtype masks and shifts accordingly.
1411 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype
1412 type node to check the field.
1413 (gfc_conv_descriptor_dtype): Access the rank field of dtype.
1414 (duplicate_allocatable_coarray): Access the rank field of the
1415 dtype descriptor rather than the dtype itself.
1416 * trans-expr.c (get_scalar_to_descriptor_type): Store the type
1417 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE
1418 (ie. a character).
1419 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to
1420 get_scalar_to_descriptor_type if the actual expression is a
1421 constant.
1422 (gfc_trans_structure_assign): Assign the rank directly to the
1423 dtype rank field.
1424 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result
1425 to default integer kind.
1426 (gfc_conv_intrinsic_sizeof): Obtain the element size from the
1427 'elem_len' field of the dtype.
1428 * trans-io.c (gfc_build_io_library_fndecls): Replace
1429 gfc_int4_type_node with dtype_type_node where necessary.
1430 (transfer_namelist_element): Use gfc_get_dtype_rank_type for
1431 scalars.
1432 * trans-types.c : Provide 'get_dtype_type_node' to acces the
1433 dtype_type_node and, if necessary, build it.
1434 The maximum size of an array element is now determined by the
1435 maximum value of size_t.
1436 Update the description of the array descriptor, including the
1437 type def for the dtype_type.
1438 (gfc_get_dtype_rank_type): Build a constructor for the dtype.
1439 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS.
1440 (gfc_get_array_descriptor_base): Change the type of the dtype
1441 field to dtype_type_node.
1442 (gfc_get_array_descr_info): Get the offset to the rank field of
1443 the dtype.
1444 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'.
1445 * trans.h : Define the indices of the dtype fields.
1446
1447 2018-23-01 Paul Thomas <pault@gcc.gnu.org>
1448
1449 PR fortran/83866
1450 * decl.c (gfc_match_derived_decl): If eos not matched, recover
1451 and emit error about garbage after declaration.
1452
1453 2018-23-01 Paul Thomas <pault@gcc.gnu.org>
1454
1455 PR fortran/83898
1456 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor
1457 for characters.
1458
1459 2018-01-22 Janne Blomqvist <jb@gcc.gnu.org>
1460
1461 PR 78534
1462 PR 83704
1463 * arith.c (gfc_arith_concat): Use size_t for string length.
1464 (gfc_compare_string): Likewise.
1465 (gfc_compare_with_Cstring): Likewise.
1466 * array.c (gfc_resolve_character_array_constructor): Use
1467 HOST_WIDE_INT, gfc_mpz_get_hwi.
1468 * check.c (gfc_check_fe_runtime_error): Use size_t.
1469 * data.c (create_character_initializer): Use HOST_WIDE_INT,
1470 gfc_extract_hwi.
1471 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t.
1472 (add_init_expr_to_sym): Use HOST_WIDE_INT.
1473 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT,
1474 gfc_extract_hwi.
1475 (gfc_apply_init): Likewise.
1476 * match.h (gfc_set_constant_character_len): Update prototype.
1477 * primary.c (match_string_constant): Use size_t.
1478 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT,
1479 gfc_mpz_get_hwi.
1480 * simplify.c (init_result_expr): Likewise.
1481 (gfc_simplify_len_trim): Use size_t.
1482 * target-memory.c (gfc_encode_character): Use size_t.
1483 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi.
1484 (interpret_array): Use size_t.
1485 (gfc_interpret_character): Likewise.
1486 * target-memory.h (gfc_encode_character): Update prototype.
1487 (gfc_interpret_character): Likewise.
1488 (gfc_target_interpret_expr): Likewise.
1489 * trans-const.c (gfc_build_string_const): Use size_t for length
1490 argument.
1491 (gfc_build_wide_string_const): Likewise.
1492 * trans-const.h (gfc_build_string_const): Likewise.
1493 (gfc_build_wide_string_const): Likewise.
1494
1495 2018-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
1496
1497 PR fortran/83900
1498 * simplify.c (gfc_simplify_matmul): Set return type correctly.
1499
1500 2018-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
1501
1502 PR fortran/83900
1503 * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
1504
1505 2018-01-17 Harald Anlauf <anlauf@gmx.de>
1506
1507 PR fortran/83864
1508 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
1509
1510 2018-01-17 Harald Anlauf <anlauf@gmx.de>
1511
1512 PR fortran/83874
1513 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
1514
1515 2018-01-15 Louis Krupp <louis.krupp@zoho.com>
1516
1517 PR fortran/82257
1518 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA
1519 from symbol marked unlimited polymorphic.
1520 * resolve.c (resolve_structure_cons): Likewise.
1521 * misc.c (gfc_typename): Don't dereference derived->components
1522 if it's NULL.
1523
1524 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
1525
1526 PR fortran/54613
1527 * gfortran.h (gfc_check_f): Rename f4ml to f5ml.
1528 (gfc_logical_4_kind): New macro
1529 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument.
1530 (gfc_simplify_maxloc): Likewise.
1531 (gfc_resolve_maxloc): Likewise.
1532 (gfc_resolve_minloc): Likewise.
1533 * check.c (gfc_check_minloc_maxloc): Add checking for "back"
1534 argument; also raise error if it is used (for now). Add it
1535 if it isn't present.
1536 * intrinsic.c (add_sym_4ml): Rename to
1537 (add_sym_5ml), adjust for extra argument.
1538 (add_functions): Add "back" constant. Adjust maxloc and minloc
1539 for back argument.
1540 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is
1541 not of gfc_logical_4_kind, convert.
1542 (gfc_resolve_minloc): Likewise.
1543 * simplify.c (gfc_simplify_minloc): Add back argument.
1544 (gfc_simplify_maxloc): Likewise.
1545 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last
1546 argument to %VAL to ensure passing by value.
1547 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc
1548 also for library calls.
1549
1550 2018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1551
1552 PR fortran/82007
1553 * resolve.c (resolve_transfer): Delete code looking for 'DT'
1554 format specifiers in format strings. Set formatted to true if a
1555 format string or format label is present.
1556 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix
1557 whitespace.
1558
1559 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1560
1561 PR fortran/83744
1562 * dump-parse-tree.c (get_c_type_name): Remove extra line.
1563 Change for loop to use declaration in for loop. Handle BT_LOGICAL
1564 and BT_CHARACTER.
1565 (write_decl): Add where argument. Fix indentation. Replace
1566 assert with error message. Add typename to warning
1567 in comment.
1568 (write_type): Adjust locus to call of write_decl.
1569 (write_variable): Likewise.
1570 (write_proc): Likewise. Replace assert with error message.
1571
1572 2018-01-13 Paul Thomas <pault@gcc.gnu.org>
1573
1574 PR fortran/52162
1575 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if
1576 the rhs expression is neither an elemental nor a conversion
1577 function.
1578
1579 PR fortran/83622
1580 * trans-array.c (is_pointer_array): Remove unconditional return
1581 of false for -fopenmp.
1582
1583 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1584 <emsr@gcc.gnu.org>
1585
1586 PR fortran/83803
1587 * dump-parse-tree.c (write_proc): Always emit closing parenthesis
1588 for functions.
1589
1590 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
1591
1592 PR fortran/82367
1593 * resolve.c (resolve_allocate_expr): Check for NULL pointer.
1594
1595 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
1596
1597 PR fortran/83093
1598 * resolve.c (resolve_charlen): Check the type of cl->length
1599 after resolution.
1600
1601 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
1602
1603 PR fortran/83740
1604 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting.
1605
1606 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
1607
1608 PR fortran/83740
1609 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the
1610 LHS type when assigning.
1611
1612 2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
1613
1614 PR fortran/83742
1615 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer.
1616
1617 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
1618
1619 * match.c (gfc_match_allocate): Check for NULL pointer.
1620
1621 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
1622
1623 * expr.c (gfc_check_pointer_assign): Fix typo in comment.
1624
1625 2018-01-08 Paul Thomas <pault@gcc.gnu.org>
1626
1627 PR fortran/83611
1628 * decl.c (gfc_get_pdt_instance): If parameterized arrays have
1629 an initializer, convert the kind parameters and add to the
1630 component if the instance.
1631 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and
1632 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable'
1633 for parameterized arrays. Clean up typos in comments. Convert
1634 parameterized array initializers and copy into the array.
1635 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for
1636 parameterized types.
1637 *trans-stmt.c (trans_associate_var): Deallocate associate vars
1638 as necessary, when they are PDT function results for example.
1639
1640 PR fortran/83731
1641 * trans-array.c (structure_alloc_comps): Only compare len parms
1642 when they are declared explicitly.
1643
1644 2018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
1645
1646 PR fortran/50892
1647 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to
1648 lhs type.
1649
1650 2018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
1651
1652 PR fortran/78534
1653 PR fortran/66310
1654 * array.c (got_charlen): Use gfc_charlen_int_kind.
1655 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
1656 hardcoded kind.
1657 (find_intrinsic_vtab): Likewise.
1658 * decl.c (match_char_length): Use gfc_charlen_int_kind.
1659 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind.
1660 (gfc_match_implicit): Use gfc_charlen_int_kind.
1661 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t.
1662 (show_expr): Use HOST_WIDE_INT_PRINT_DEC.
1663 * expr.c (gfc_get_character_expr): Length parameter of type
1664 gfc_charlen_t.
1665 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
1666 (gfc_extract_hwi): New function.
1667 (simplify_const_ref): Make string_len of type gfc_charlen_t.
1668 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
1669 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind.
1670 * gfortran.h (gfc_mpz_get_hwi): New prototype.
1671 (gfc_mpz_set_hwi): Likewise.
1672 (gfc_charlen_t): New typedef.
1673 (gfc_expr): Use gfc_charlen_t for character lengths.
1674 (gfc_size_kind): New extern variable.
1675 (gfc_extract_hwi): New prototype.
1676 (gfc_get_character_expr): Use gfc_charlen_t for character length.
1677 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
1678 * gfortran.texi: Update description of hidden string length argument.
1679 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind.
1680 (gfc_resolve_char_achar): Likewise.
1681 (gfc_resolve_repeat): Pass string length directly without
1682 temporary, use gfc_charlen_int_kind.
1683 (gfc_resolve_transfer): Use gfc_charlen_int_kind.
1684 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
1685 * misc.c (gfc_mpz_get_hwi): New function.
1686 (gfc_mpz_set_hwi): New function.
1687 * module.c (atom_int): Change type from int to HOST_WIDE_INT.
1688 (parse_integer): Don't complain about large integers.
1689 (write_atom): Use HOST_WIDE_INT for integers.
1690 (mio_integer): Handle integer type mismatch.
1691 (mio_hwi): New function.
1692 (mio_intrinsic_op): Use HOST_WIDE_INT.
1693 (mio_array_ref): Likewise.
1694 (mio_expr): Likewise.
1695 * primary.c (match_substring): Use gfc_charlen_int_kind.
1696 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind.
1697 (resolve_character_operator): Likewise.
1698 (resolve_assoc_var): Likewise.
1699 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf.
1700 (resolve_charlen): Use mpz_sgn to determine sign.
1701 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
1702 instead of long.
1703 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind.
1704 * target-memory.c (size_character): Length argument of type
1705 gfc_charlen_t.
1706 (gfc_encode_character): Likewise.
1707 (gfc_interpret_character): Use gfc_charlen_t.
1708 * target-memory.h (gfc_encode_character): Modify prototype.
1709 * trans-array.c (gfc_trans_array_ctor_element): Use existing type.
1710 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type.
1711 (trans_array_constructor): Use existing type.
1712 (get_array_charlen): Likewise.
1713 * trans-const.c (gfc_conv_mpz_to_tree_type): New function.
1714 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
1715 * trans-decl.c (gfc_trans_deferred_vars): Use existing type.
1716 (add_argument_checking): Likewise.
1717 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type
1718 gfc_charlen_type_node.
1719 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
1720 4, fold_convert to correct type.
1721 (gfc_conv_class_to_class): Build const of type size_type_node for
1722 size.
1723 (gfc_copy_class_to_class): Likewise.
1724 (gfc_conv_string_length): Use same type in expression.
1725 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
1726 (gfc_conv_string_tmp): Make sure len is of the right type.
1727 (gfc_conv_concat_op): Use same type in expression.
1728 (gfc_conv_procedure_call): Likewise.
1729 (fill_with_spaces): Comment out memset() block due to spurious
1730 -Wstringop-overflow warnings.
1731 (gfc_trans_string_copy): Use gfc_charlen_type_node.
1732 (alloc_scalar_allocatable_for_subcomponent_assignment):
1733 fold_convert to right type.
1734 (gfc_trans_subcomponent_assign): Likewise.
1735 (trans_class_vptr_len_assignment): Build const of correct type.
1736 (gfc_trans_pointer_assignment): Likewise.
1737 (alloc_scalar_allocatable_for_assignment): fold_convert to right
1738 type in expr.
1739 (trans_class_assignment): Build const of correct type.
1740 * trans-intrinsic.c (gfc_conv_associated): Likewise.
1741 (gfc_conv_intrinsic_repeat): Do calculation in sizetype.
1742 * trans-io.c (gfc_build_io_library_fndecls): Use
1743 gfc_charlen_type_node for character lengths.
1744 (set_string): Convert to right type in assignment.
1745 * trans-stmt.c (gfc_trans_label_assign): Build const of
1746 gfc_charlen_type_node.
1747 (trans_associate_var): Likewise.
1748 (gfc_trans_character_select): Likewise.
1749 (gfc_trans_allocate): Likewise, don't typecast strlen result.
1750 (gfc_trans_deallocate): Don't typecast strlen result.
1751 * trans-types.c (gfc_size_kind): New variable.
1752 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
1753 from size_type_node.
1754 * trans-types.h: Fix comment.
1755
1756 2018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
1757
1758 PR fortran/83683
1759 PR fortran/45689
1760 * check.c (gfc_check_eoshift): Check for string length and
1761 for conformance of boundary.
1762 * intrinsic.c (add_functions): Add gfc_simplify_eoshift.
1763 * intrinsic.h: Add prototype for gfc_simplify_eoshift.
1764 * simplify.c (gfc_simplify_eoshift): New function.
1765
1766 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1767 Alan Hayward <alan.hayward@arm.com>
1768 David Sherwood <david.sherwood@arm.com>
1769
1770 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL.
1771
1772 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1773 Alan Hayward <alan.hayward@arm.com>
1774 David Sherwood <david.sherwood@arm.com>
1775
1776 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p.
1777
1778 2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
1779
1780 PR fortran/83664
1781 * check.c (gfc_check_eoshift): Error for missing boundary if array
1782 is not one of the standard types.
1783
1784 2018-01-03 Jakub Jelinek <jakub@redhat.com>
1785
1786 Update copyright years.
1787
1788 * gfortranspec.c (lang_specific_driver): Update copyright notice
1789 dates.
1790 * gfc-internals.texi: Bump @copying's copyright year.
1791 * gfortran.texi: Ditto.
1792 * intrinsic.texi: Ditto.
1793 * invoke.texi: Ditto.
1794
1795 2017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1796
1797 PR fortran/45689
1798 * intrinsic.c (add_function): Add gfc_simplify_maxloc and
1799 gfc_simplify_minloc to maxloc and minloc, respectively.
1800 * intrinsic.h: Add prototypes for gfc_simplify_minloc
1801 and gfc_simplify_maxloc.
1802 * simplify.c (min_max_chose): Adjust prototype. Modify function
1803 to have a return value which indicates if the extremum was found.
1804 (is_constant_array_expr): Fix typo in comment.
1805 (simplify_minmaxloc_to_scalar): New function.
1806 (simplify_minmaxloc_nodim): New function.
1807 (new_array): New function.
1808 (simplify_minmaxloc_to_array): New function.
1809 (gfc_simplify_minmaxloc): New function.
1810 (simplify_minloc): New function.
1811 (simplify_maxloc): New function.
1812
1813 2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1814
1815 PR fortran/45689
1816 PR fortran/83650
1817 * simplify.c (gfc_simplify_cshift): Re-implement to allow full
1818 range of arguments.
1819
1820 2018-01-01 Paul Thomas <pault@gcc.gnu.org>
1821
1822 PR fortran/83076
1823 * resolve.c (resolve_fl_derived0): Add caf_token fields for
1824 allocatable and pointer scalars, when -fcoarray selected.
1825 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token
1826 field as well as the backend_decl.
1827 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module
1828 derived types that are not vtypes. Components with caf_token
1829 attribute are pvoid types. For a component requiring it, find
1830 the caf_token field and have the component token field point to
1831 its backend_decl.
1832
1833 PR fortran/83319
1834 *trans-types.c (gfc_get_array_descriptor_base): Add the token
1835 field to the descriptor even when codimen not set.
1836 \f
1837 Copyright (C) 2018 Free Software Foundation, Inc.
1838
1839 Copying and distribution of this file, with or without modification,
1840 are permitted in any medium without royalty provided the copyright
1841 notice and this notice are preserved.