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