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