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