]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/fortran/ChangeLog
[openacc] Add __builtin_goacc_parlevel_{id,size}
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
1 2018-05-02 Tom de Vries <tom@codesourcery.com>
2
3 PR libgomp/82428
4 * f95-lang.c (DEF_GOACC_BUILTIN_ONLY): Define.
5
6 2018-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
7
8 PR fortran/85520
9 * decl.c (gfc_match_char_spec): Check for negative length and set to 0.
10
11 2018-04-14 Andre Vehreschild <vehre@gcc.gnu.org>
12
13 PR fortran/81773
14 PR fortran/83606
15 * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored
16 during dependency computation. They define no data dependency.
17 * trans-array.c (conv_array_index_offset): The stride can not be set
18 here, prevent fail.
19 * trans-intrinsic.c (conv_caf_send): Add creation of temporary array
20 for caf_get's result and copying to the array with vectorial
21 indexing.
22
23 2018-04-14 Thomas Koenig <tkoenig@gcc.gnu.org>
24
25 PR fortran/85387
26 * frontend-passes.c (traverse_io_block): Check for start, end or
27 stride being defined by an outer implied DO loop.
28
29 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
30
31 PR fortran/83064
32 PR testsuite/85346
33 * trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind
34 for annotation and remove dependence on -ftree-parallelize-loops.
35
36 2018-04-10 Jakub Jelinek <jakub@redhat.com>
37
38 PR fortran/85313
39 * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;.
40 (resolve_oacc_nested_loops): Likewise. Formatting fix.
41
42 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
43
44 PR fortran/83064
45 * trans-stmt.c (gfc_trans_forall_loop): Remove annotation for
46 parallell processing of DO CONCURRENT -ftree-parallelize-loops
47 is set.
48
49 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
50
51 PR fortran/51260
52 * resolve.c (resolve_variable): Simplify cases where access to a
53 parameter array results in a single constant.
54
55 2018-04-02 Thomas Koenig <tkoenig@gcc.gnu.org>
56
57 PR fortran/85102
58 * decl.c (variable_decl): If upper or lower bounds simplify
59 to a constant, use that.
60
61 2018-03-30 Paul Thomas <pault@gcc.gnu.org>
62
63 PR fortran/84931
64 * simplify.c (gfc_convert_constant): Handle case of array
65 constructors within an array that has no iterator and improve
66 the conciseness of this section of code.
67
68 2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
69
70 PR fortran/85111
71 * array.c (gfc_resolve_character_array_constructor): Early
72 exit for zero-size arrays.
73 * simplify.c (simplify_transformation_to_array): Exit early
74 if the result size is zero.
75 (simplify_minmaxloc_to_array): Likewise.
76
77 2018-03-28 Mikael Morin <mikael@gcc.gnu.org>
78
79 PR fortran/69497
80 * symbol.c (gfc_symbol_done_2): Start freeing namespaces
81 from the root.
82 (gfc_free_namespace): Restore assert (revert r258839).
83
84 2018-03-28 Jakub Jelinek <jakub@redhat.com>
85
86 * gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
87 * ioparm.def (IOPARM_dt_default_exp): Rename to ...
88 (IOPARM_dt_dec_ext): ... this.
89 * trans-io.c (build_dt): Adjust for default_exp renaming to
90 dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
91 * io.c (match_io): Likewise.
92
93 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
94
95 PR fortran/85084
96 * frontend-passes.c (gfc_run_passes): Do not run front-end
97 optimizations if a previous error occurred.
98
99 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
100 Harald Anlauf <anlauf@gmx.de>
101
102 PR fortran/85083
103 * primary.c (gfc_convert_to_structure_constructor): Check
104 conformance of argument types in structure constructor.
105
106 2018-03-26 Thomas Koenig <tkoenig@gcc.gnu.org>
107
108 PR fortran/66709
109 * io.c: Include constructor.h.
110 (resolve_tag_format): For a constant character array, concatenate
111 into a single character expression.
112
113 2018-03-25 Seth Johnson <johnsonsr@ornl.gov>
114 Dominique d'Humieres <dominiq@gcc.gnu.org>
115
116 PR fortran/84924
117 * check.c (gfc_check_c_f_pointer): Allow scalar noninteroperable
118 scalar derived type with -std=f2003 and -std=f2008.
119
120 2018-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
121 Dominique d'Humieres <dominiq@gcc.gnu.org>
122
123 PR fortran/69497
124 * symbol.c (gfc_free_namespace): Delete the assert and only if
125 refs count is equals zero, free the namespace. Otherwise,
126 something is halfway and other errors will resound.
127
128 2018-03-24 Thomas Koenig <tkoenig@gcc.gnu.org>
129
130 PR fortran/70068
131 * expr.c (find_substring_ref): Change types of start, end
132 and length variables to gfc_charlen_t. Set length to zero
133 for empty substring.
134
135 2018-03-24 Steven G. Kargl <kargl@gcc.gnu.org>
136
137 PR fortran/42651
138 * decl.c (check_function_name): Improved error message
139 (gfc_match_volatile, gfc_match_asynchronous) Use check_function_name.
140
141 2018-03-22 Steven G. Kargl <kargl@gcc.gnu.org>
142
143 PR fortran/84922
144 * decl.c (get_proc_name): If the MODULE prefix appears in interface
145 body, then it must appear on the contained subroutine or function.
146 While here, fix nearby mis-indented code.
147
148 2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
149 Harald Anlauf <anlauf@gmx.de>
150
151 PR fortran/84957
152 * trans-types.c (gfc_sym_type): Do not dereference NULL pointer.
153
154 2018-03-21 Janne Blomqvist <jb@gcc.gnu.org>
155
156 PR fortran/84615
157 * trans-expr.c (gfc_conv_procedure_call): Convert charlen to
158 gfc_charlen_type_node when calling procedure.
159
160 2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org>
161
162 PR fortran/85001
163 * interface.c (symbol_rank): Remove bogus null pointer check that
164 crept in when translating a ternary operator into an if-else
165 constructor.
166
167 2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
168
169 PR fortran/84931
170 * simplify.c (gfc_convert_constant): Correctly handle iterators
171 for type conversion.
172
173 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
174
175 PR fortran/77414
176 * decl.c (get_proc_name): Check for a subroutine re-defined in
177 the contain portion of a subroutine. Change language of existing
178 error message to better describe the issue. While here fix whitespace
179 issues.
180
181 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
182
183 PR fortran/65453
184 * decl.c (get_proc_name): Catch clash between a procedure statement
185 and a contained subprogram
186
187 2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org>
188
189 PR fortran/69395
190 * decl.c (merge_array_spec): Correct the error condition.
191
192 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
193
194 PR fortran/78741
195 * decl.c (get_proc_name): Check for clash of entry name with
196 subroutine name.
197
198 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
199
200 PR fortran/69395
201 * decl.c (merge_array_spec): Limit the merging to maximum allowed
202 dimensions, and issue error message if limit is exceeded.
203
204 2018-03-13 Steven G. Kargl <kargl@gcc.gnu.org>
205
206 * check.c (gfc_check_kill_sub): Remove check for INTEGER(4) or (8).
207 * intrinsic.c (add_functions): Remove reference to gfc_resolve_kill.
208 (add_subroutines): Remove reference to gfc_resolve_kill_sub.
209 * intrinsic.texi: Update documentation.
210 * iresolve.c (gfc_resolve_kill, gfc_resolve_kill_sub): Remove.
211 * trans-decl.c (gfc_build_intrinsic_function_decls): Add
212 gfor_fndecl_kill and gfor_fndecl_kill_sub
213 * trans-intrinsic.c (conv_intrinsic_kill, conv_intrinsic_kill_sub): new
214 functions.
215 (gfc_conv_intrinsic_function): Use conv_intrinsic_kill.
216 (gfc_conv_intrinsic_subroutine): Use conv_intrinsic_kill_sub.
217 * trans.h: Declare gfor_fndecl_kill and gfor_fndecl_kill_sub.
218
219 2018-03-11 Paul Thomas <pault@gcc.gnu.org>
220
221 PR fortran/84546
222 * trans-array.c (structure_alloc_comps): Make sure that the
223 vptr is copied and that the unlimited polymorphic _len is used
224 to compute the size to be allocated.
225 * trans-expr.c (gfc_get_class_array_ref): If unlimited, use the
226 unlimited polymorphic _len for the offset to the element.
227 (gfc_copy_class_to_class): Set the new 'unlimited' argument.
228 * trans.h : Add the boolean 'unlimited' to the prototype.
229
230 2018-03-11 Steven G. Kargl <kargl@gcc.gnu.org>
231
232 PR fortran/83939
233 * resolve.c (resolve_fl_procedure): Enforce F2018:C15100.
234
235 2018-03-11 Steven G. Kargl <kargls@gcc.gnu.org>
236
237 * check.c (gfc_check_kill): Check pid and sig are scalar.
238 (gfc_check_kill_sub): Restrict kind to 4 and 8.
239 * intrinsic.c (add_function): Sort keyword list. Add pid and sig
240 keywords for KILL. Remove redundant *back="back" in favor of the
241 original *bck="back".
242 (add_subroutines): Sort keyword list. Add pid and sig keywords
243 for KILL.
244 * intrinsic.texi: Fix documentation to consistently use pid and sig.
245 * iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8. Choose the
246 correct function.
247 (gfc_resolve_rename_sub): Add comment.
248
249 2018-03-11 Thomas Koenig <tkoenig@gcc.gnu.org>
250
251 PR fortran/66128
252 * simplify.c (simplify_transformation): Return default result for
253 empty array argument.
254 (gfc_simplify_all): Remove special-case handling for zerosize.
255 (gfc_simplify_any): Likewise.
256 (gfc_simplify_count): Likewise.
257 (gfc_simplify_iall): Likewise.
258 (gfc_simplify_iany): Likewise.
259 (gfc_simplify_iparity): Likewise.
260 (gfc_simplify_minval): Likewise.
261 (gfc_simplify_maxval): Likewise.
262 (gfc_simplify_norm2): Likewise.
263 (gfc_simplify_product): Likewise.
264 (gfc_simplify_sum): Likewise.
265
266 2018-03-10 Steven G. Kargl <kargl@gcc.gnu.org>
267
268 PR fortran/84734
269 * arith.c (check_result, eval_intrinsic): If result overflows, pass
270 the expression up the chain instead of a NULL pointer.
271
272 2018-03-07 Steven G. Kargl <kargl@gcc.gnu.org>
273
274 PR fortran/64124
275 PR fortran/70409
276 * decl.c (gfc_match_char_spec): Try to reduce a charlen to a constant.
277
278 2017-03-06 Thomas Koenig <tkoenig@gcc.gnu.org>
279
280 PR fortran/84697
281 PR fortran/66128
282 * expr.c (simplify_parameter_variable): If p is a size zero array
283 and not an ARRAY_EXPR insert an empty array constructor and
284 return.
285 * gfortran.h: Add prototype for gfc_is_size_zero_array.
286 * simplify.c (is_size_zero_array): Make non-static and rename into
287 (gfc_is_size_zero_array): Check for parameter arrays of zero
288 size by comparing shape and absence of constructor.
289 (gfc_simplify_all): Use gfc_is_size_zero_array instead of
290 is_size_zero_array.
291 (gfc_simplify_count): Likewise.
292 (gfc_simplify_iall): Likewise.
293 (gfc_simplify_iany): Likewise.
294 (gfc_simplify_iparity): Likewise.
295 (gfc_simplify_minval): Likewise.
296 (gfc_simplify_maxval): Likewise.
297 (gfc_simplify_product): Likewise.
298 (gfc_simplify_sum): Likewise.
299
300 2018-03-06 Steven G. Kargl <kargl@gcc.gnu.org>
301
302 PR fortran/56667
303 * primary.c (match_sym_complex_part): Give the matcher for an implied
304 do-loop a chance to run.
305
306 2018-03-03 Harald Anlauf <anlauf@gmx.de>
307
308 PR fortran/71085
309 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not
310 dereference NULL pointer.
311
312 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
313
314 PR fortran/66128
315 * simplify.c (is_size_zero_array): New function to check for size
316 zero array.
317 (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
318 gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity,
319 gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2,
320 gfc_simplify_product, gfc_simplify_sum): Use it, and implement
321 requirements from F2018.
322
323 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
324
325 PR fortran/51434
326 * simplify.c (gfc_simplify_transfer): Resolve mold.
327
328 2018-03-03 Paul Thomas <pault@gcc.gnu.org>
329
330 PR fortran/80965
331 * resolve.c (build_loc_call): Change symtree name from 'loc' to
332 '_loc'.
333
334 2018-03-01 Paul Thomas <pault@gcc.gnu.org>
335
336 PR fortran/84219
337 * target-memory.c (gfc_interpret_derived): Assert that BT_VOID
338 components are caf tokens.
339 (gfc_target_interpret_expr): Treat BT_VOID expressions as
340 integers.
341
342 2018-03-01 Paul Thomas <pault@gcc.gnu.org>
343
344 PR fortran/84538
345 * class.c (class_array_ref_detected): Remove the condition that
346 there be no reference after the array reference.
347 (find_intrinsic_vtab): Remove excess whitespace.
348 * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp'
349 as 'base and call build_class_array_ref earlier.
350
351 2018-02-28 Paul Thomas <pault@gcc.gnu.org>
352
353 PR fortran/83901
354 * trans-stmt.c (trans_associate_var): Make sure that the se
355 expression is a pointer type before converting it to the symbol
356 backend_decl type.
357
358 2018-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
359
360 PR fortran/83633
361 * decl.c (variable_decl): Check that an explicit-shape-array with
362 nonconstant bounds is allowed.
363
364 2018-02-25 Paul Thomas <pault@gcc.gnu.org>
365
366 PR fortran/84523
367 * trans-intrinsic.c (gfc_conv_allocated): If the argument se
368 has a pre block, add it to the expression pre block.
369
370 2018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org>
371
372 PR fortran/78238
373 * gfortran.h (gfc_integer_4_kind): Define.
374 * resolve.c (resolve_select_type): Make sure that the
375 kind of c->high is gfc_integer_4_kind.
376
377 2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
378
379 PR fortran/30792
380 * decl.c (gfc_match_data): Check for invalid substring in
381 data-implied-do
382
383 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
384
385 * intrinsic.texi: Arguments to MATMUL cannot both be rank one.
386
387 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
388
389 PR fortran/84511
390 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement.
391
392 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
393
394 PR fortran/84346
395 * interface.c (compare_actual_formal): Issue error if keyword is
396 used in a statement function.
397
398 2018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
399
400 PR fortran/84506
401 * trans-io.c (set_parameter_value_inquire): Adjust range check of
402 negative unit values for kind=8 units to the kind=4 negative limit.
403
404 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
405
406 PR fortran/83149
407 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before
408 accessing its components.
409
410 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
411
412 PR fortran/83149
413 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name
414 before accessing its components.
415
416 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
417
418 PR fortran/83148
419 * trans-const.c : Clean up some whitespace issues.
420 * trans-expr.c (gfc_conv_initializer): If an iso_c_binding
421 derived type has a kind value of zero, set it to the default
422 integer kind.
423
424 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org>
425
426 PR fortran/84519
427 * trans-decl.c (gfc_build_builtin_function_decls): Add bool
428 argument to stop and error stop decls.
429 * trans-stmt.c (gfc_trans_stop): Add false value to argument
430 lists.
431
432 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
433
434 PR 78534
435 PR 84509
436 * trans-decl.c (gfc_build_builtin_function_decls): Pass
437 gfc_int8_type node to pause_numeric, size_type_node to
438 pause_string.
439 * trans-stmt.c (gfc_trans_pause): Likewise.
440
441 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
442
443 * gfortran.texi: Update Coarray API description.
444 * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for
445 character lengths, int for exit codes.
446 (generate_coarray_sym_init): Use size_t for character length.
447 * trans-intrinsic.c (conv_co_collective): Likewise.
448 * trans-stmt.c (gfc_trans_lock_unlock): Likewise.
449 (gfc_trans_event_post_wait): Likewise.
450 (gfc_trans_sync): Likewise.
451 (gfc_trans_stop): Use size_t for character lengths, int for exit
452 codes.
453
454 2018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org>
455
456 PR fortran/48890
457 PR fortran/83823
458 * primary.c (gfc_convert_to_structure_constructor):
459 For a constant string constructor, make sure the length
460 is correct.
461
462 2018-02-19 Paul Thomas <pault@gcc.gnu.org>
463
464 PR fortran/83344
465 PR fortran/83975
466 * resolve.c (resolve_assoc_var): Rearrange the logic for the
467 determination of the character length of associate names. If
468 the associate name is missing a length expression or the length
469 expression is not a constant and the target is not a variable,
470 make the associate name allocatable and deferred length.
471 * trans-decl.c (gfc_get_symbol_decl): Null the character length
472 backend_decl for deferred length associate names that are not
473 variables. Set 'length' to gfc_index_zero_node for character
474 associate names, whose character length is a PARM_DECL.
475
476 2018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org>
477
478 PR fortran/35339
479 * frontend-passes.c (traverse_io_block): Remove workaround for
480 PR 80945.
481
482 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
483
484 * gfortran.texi: Document additional src/dst_type. Fix some typos.
485 * trans-decl.c (gfc_build_builtin_function_decls): Declare the new
486 argument of _caf_*_by_ref () with * e { get, send, sendget }.
487 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the
488 data referenced when generating a call to caf_get_by_ref ().
489 (conv_caf_send): Same but for caf_send_by_ref () and
490 caf_sendget_by_ref ().
491
492 2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
493
494 PR fortran/84389
495 * io.c (check_format): Allow FMT_COLON.
496
497 2018-02-18 Paul Thomas <pault@gcc.gnu.org>
498
499 PR fortran/80945
500 * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from
501 the typenode in the case of deferred length characters.
502
503 2018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org>
504
505 PR fortran/84270
506 * frontend-passes (scalarized_expr): If the expression
507 is an assumed size array, leave in the last reference
508 and pass AR_SECTION instead of AR_FULL to gfc_resolve
509 in order to avoid an error.
510
511 2018-02-17 Paul Thomas <pault@gcc.gnu.org>
512
513 PR fortran/84115
514 * resolve.c (resolve_assoc_var): If a non-constant target expr.
515 has no string length expression, make the associate variable
516 into a deferred length, allocatable symbol.
517 * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to
518 the symbol.
519 * trans-stmt.c (trans_associate_var): Null and free scalar
520 associate names that are allocatable. After assignment, remove
521 the allocatable attribute to prevent reallocation.
522
523 2018-02-16 Jakub Jelinek <jakub@redhat.com>
524
525 PR fortran/84418
526 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF
527 kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step.
528
529 2018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org>
530
531 PR fortran/84354
532 * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs.
533
534 2018-02-15 Janus Weil <janus@gcc.gnu.org>
535
536 PR fortran/84409
537 * interface.c (check_dtio_arg_TKR_intent): Add a check for character
538 length.
539
540 2018-02-14 Janus Weil <janus@gcc.gnu.org>
541
542 PR fortran/84385
543 * match.c (gfc_match_select_type): Fix check for selector in
544 SELECT TYPE statement.
545
546 2018-02-13 Janus Weil <janus@gcc.gnu.org>
547
548 PR fortran/84313
549 * symbol.c (check_conflict): Reject procedure pointers in common blocks.
550
551 2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie>
552 Janne Blomqvist <jb@gcc.gnu.org>
553
554 * module.c (dump_module): Use lbasename to ensure that module
555 files are reproducible.
556
557 2018-02-12 Janus Weil <janus@gcc.gnu.org>
558
559 PR fortran/84273
560 * resolve.c (resolve_component): Fix checks of passed argument in
561 procedure-pointer components.
562
563 2018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
564
565 PR fortran/35299
566 * resolve.c (resolve_formal_arglist): Update error message.
567
568 2018-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
569
570 * gfortran.texi: Fix typos in documentation of caf_register ().
571 * trans-array.c (structure_alloc_comps): Only register a component of
572 a derived typed corray, not of an ultimate component coarray.
573
574 2018-02-11 Steven G. Kargl <kargl@gcc.gnu.org>
575
576 PR fortran/54223
577 PR fortran/84276
578 * interface.c (compare_actual_formal): Add in_statement_function
579 bool parameter. Skip check of INTENT attribute for statement
580 functions. Arguments to a statement function cannot be optional,
581 issue error for missing argument.
582 (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use
583 in_statement_function.
584
585 2018-02-11 Paul Thomas <pault@gcc.gnu.org>
586
587 PR fortran/84074
588 * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset
589 flag. If the is a vector subscript or the expression is not a
590 variable, make the descriptor one-based.
591
592 2018-02-10 Paul Thomas <pault@gcc.gnu.org>
593
594 PR fortran/84141
595 PR fortran/84155
596 * trans-array.c (gfc_array_init_size): Revert the change made
597 in revision 257356 setting the dtype.
598 * trans-types.c (gfc_get_dtype): Do not use the cached dtype.
599 Call gfc_get_dtype_rank_type every time.
600
601 PR fortran/56691
602 * trans-array.c (gfc_conv_expr_descriptor): If the source array
603 is a descriptor type, use its offset, removing the condition
604 that is be a class expression.
605
606 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
607
608 PR fortran/82994
609 * match.c (gfc_match_deallocate): Check for NULL pointer.
610
611 2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org>
612
613 PR fortran/68560
614 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function.
615 (gfc_conv_intrinsic_function): Call it.
616
617 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
618
619 PR fortran/82049
620 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then
621 try to resolve it. While here return early if possible.
622
623 2018-02-04 Paul Thomas <pault@gcc.gnu.org>
624
625 PR fortran/84115
626 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of
627 'length' if the symbol charlen backend_decl is an indirect ref.
628
629 2018-02-03 Paul Thomas <pault@gcc.gnu.org>
630
631 PR fortran/84141
632 PR fortran/84155
633 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype
634 use gfc_get_dtype_rank_type.
635
636 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
637
638 PR 83975
639 PR 83344
640 * resolve.c (resolve_assoc_var): Generate an error if
641 target length unknown.
642
643 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
644
645 PR fortran/83705
646 * simplify.c (gfc_simplify_repeat): Increase limit for deferring
647 to runtime, print a warning message.
648
649 2018-01-31 Jakub Jelinek <jakub@redhat.com>
650
651 PR fortran/84116
652 * openmp.c (gfc_match_omp_clauses): If all the linear
653 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist
654 nor set *head = NULL. Formatting fixes.
655
656 2018-01-31 Paul Thomas <pault@gcc.gnu.org>
657
658 PR fortran/84088
659 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is
660 an address expression passed to an assumed rank dummy, convert
661 to an indirect reference.
662
663 2018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
664
665 * dump-parse-tree.c (write_proc): Use sym_name (which may
666 be sym->binding_label) instead of sym->name.
667
668 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
669
670 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead
671 of int for slen.
672
673 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
674
675 PR fortran/78534
676 * trans-expr.c (fill_with_spaces): Use memset instead of
677 generating loop.
678 (gfc_trans_string_copy): Improve opportunity to use builtins with
679 constant lengths.
680
681 2018-01-30 Jakub Jelinek <jakub@redhat.com>
682
683 PR debug/84131
684 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off
685 to DATA_FIELD's offset rather than OFFSET_FIELD's offset.
686
687 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
688
689 PR fortran/84134
690 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is
691 zero, return false.
692
693 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
694
695 PR fortran/84133
696 * frontend-passes (matmul_to_var_expr): Return early if
697 in association list.
698 (inline_matmul_assign): Likewise.
699
700 2017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
701
702 PR fortran/84073
703 * resolve.c (resolve_component): Ensure BIND(C) character
704 components have length one.
705 (resolve_symbol): Likewise for variables.
706
707 2018-01-27 Jakub Jelinek <jakub@redhat.com>
708
709 PR fortran/84065
710 * decl.c (add_init_expr_to_sym): Ignore initializers for too large
711 lengths.
712
713 2018-01-26 Damian Rouson <damian@sourceryinstitute.org>
714 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
715 Soren Rasmussen <s.c.rasmussen@gmail.com>
716
717 Partial support for Fortran 2018 teams features.
718
719 * array.c (gfc_match_array_ref): add team attribute in coarray
720 transfers.
721 * check.c (gfc_check_get_team, gfc_check_team_number): add new
722 functions for get_team and team_number.
723 * dump-parse-tree.c (show_code_node): add new statements: form team,
724 change team, end team, and sync team.
725 * expr.c (gfc_find_team_co): add new function.
726 * gfortran.h: add new statements.
727 * intrinsic.c (add_functions): add get_team and team_number functions.
728 * intrinsic.h: add get_team and team_number prototypes for check,
729 simplify, and resolve.
730 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new
731 functions.
732 * iso-fortran-env.def: add the team_type derived type.
733 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number)
734 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team):
735 add change team, end team, form team, sync team match and functions.
736 * match.h: add new prototypes for change team, end team, form team,
737 and sync team.
738 * parse.c (decode_statement): add cases for change team, end team,
739 form team, and sync team.
740 * resolve.c: add cases for exec form team, change team, end team, and
741 sync team.
742 * simplify.c (gfc_simplify_get_team): add new function for get team.
743 * st.c (gfc_free_statement): add cases exec for change team, end team,
744 form team, sync team.
745 * trans-decl.c (gfor_fndecl_caf_form_team)
746 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team)
747 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team)
748 (gfor_fndecl_caf_team_number): add functions and definitions.
749 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add
750 new function and team_type argument support.
751 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team)
752 (gfc_trans_end_team, gfc_trans_sync_team): add new functions.
753 * trans-stmt.h: add new prototypes.
754 * trans-types.c (gfc_get_derived_type): check condition for team_type.
755 * trans.c (trans_code): new exec cases for form team, change team, end
756 team, and sync team.
757 * trans.h: add new prototypes.
758
759 2018-01-26 Steven G. Kargl <kargl@gcc.gnu.org>
760
761 PR fortran/83998
762 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0
763 or .false. The summation does the correct type conversion.
764 (gfc_simplify_dot_product): Special case zero-sized arrays.
765
766 2018-25-01 Paul Thomas <pault@gcc.gnu.org>
767
768 PR fortran/37577
769 * array.c (gfc_match_array_ref): If standard earlier than F2008
770 it is an error if the reference dimension is greater than 7.
771 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the
772 dtype masks and shifts accordingly.
773 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype
774 type node to check the field.
775 (gfc_conv_descriptor_dtype): Access the rank field of dtype.
776 (duplicate_allocatable_coarray): Access the rank field of the
777 dtype descriptor rather than the dtype itself.
778 * trans-expr.c (get_scalar_to_descriptor_type): Store the type
779 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE
780 (ie. a character).
781 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to
782 get_scalar_to_descriptor_type if the actual expression is a
783 constant.
784 (gfc_trans_structure_assign): Assign the rank directly to the
785 dtype rank field.
786 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result
787 to default integer kind.
788 (gfc_conv_intrinsic_sizeof): Obtain the element size from the
789 'elem_len' field of the dtype.
790 * trans-io.c (gfc_build_io_library_fndecls): Replace
791 gfc_int4_type_node with dtype_type_node where necessary.
792 (transfer_namelist_element): Use gfc_get_dtype_rank_type for
793 scalars.
794 * trans-types.c : Provide 'get_dtype_type_node' to acces the
795 dtype_type_node and, if necessary, build it.
796 The maximum size of an array element is now determined by the
797 maximum value of size_t.
798 Update the description of the array descriptor, including the
799 type def for the dtype_type.
800 (gfc_get_dtype_rank_type): Build a constructor for the dtype.
801 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS.
802 (gfc_get_array_descriptor_base): Change the type of the dtype
803 field to dtype_type_node.
804 (gfc_get_array_descr_info): Get the offset to the rank field of
805 the dtype.
806 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'.
807 * trans.h : Define the indices of the dtype fields.
808
809 2018-23-01 Paul Thomas <pault@gcc.gnu.org>
810
811 PR fortran/83866
812 * decl.c (gfc_match_derived_decl): If eos not matched, recover
813 and emit error about garbage after declaration.
814
815 2018-23-01 Paul Thomas <pault@gcc.gnu.org>
816
817 PR fortran/83898
818 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor
819 for characters.
820
821 2018-01-22 Janne Blomqvist <jb@gcc.gnu.org>
822
823 PR 78534
824 PR 83704
825 * arith.c (gfc_arith_concat): Use size_t for string length.
826 (gfc_compare_string): Likewise.
827 (gfc_compare_with_Cstring): Likewise.
828 * array.c (gfc_resolve_character_array_constructor): Use
829 HOST_WIDE_INT, gfc_mpz_get_hwi.
830 * check.c (gfc_check_fe_runtime_error): Use size_t.
831 * data.c (create_character_initializer): Use HOST_WIDE_INT,
832 gfc_extract_hwi.
833 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t.
834 (add_init_expr_to_sym): Use HOST_WIDE_INT.
835 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT,
836 gfc_extract_hwi.
837 (gfc_apply_init): Likewise.
838 * match.h (gfc_set_constant_character_len): Update prototype.
839 * primary.c (match_string_constant): Use size_t.
840 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT,
841 gfc_mpz_get_hwi.
842 * simplify.c (init_result_expr): Likewise.
843 (gfc_simplify_len_trim): Use size_t.
844 * target-memory.c (gfc_encode_character): Use size_t.
845 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi.
846 (interpret_array): Use size_t.
847 (gfc_interpret_character): Likewise.
848 * target-memory.h (gfc_encode_character): Update prototype.
849 (gfc_interpret_character): Likewise.
850 (gfc_target_interpret_expr): Likewise.
851 * trans-const.c (gfc_build_string_const): Use size_t for length
852 argument.
853 (gfc_build_wide_string_const): Likewise.
854 * trans-const.h (gfc_build_string_const): Likewise.
855 (gfc_build_wide_string_const): Likewise.
856
857 2018-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
858
859 PR fortran/83900
860 * simplify.c (gfc_simplify_matmul): Set return type correctly.
861
862 2018-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
863
864 PR fortran/83900
865 * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
866
867 2018-01-17 Harald Anlauf <anlauf@gmx.de>
868
869 PR fortran/83864
870 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
871
872 2018-01-17 Harald Anlauf <anlauf@gmx.de>
873
874 PR fortran/83874
875 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
876
877 2018-01-15 Louis Krupp <louis.krupp@zoho.com>
878
879 PR fortran/82257
880 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA
881 from symbol marked unlimited polymorphic.
882 * resolve.c (resolve_structure_cons): Likewise.
883 * misc.c (gfc_typename): Don't dereference derived->components
884 if it's NULL.
885
886 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
887
888 PR fortran/54613
889 * gfortran.h (gfc_check_f): Rename f4ml to f5ml.
890 (gfc_logical_4_kind): New macro
891 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument.
892 (gfc_simplify_maxloc): Likewise.
893 (gfc_resolve_maxloc): Likewise.
894 (gfc_resolve_minloc): Likewise.
895 * check.c (gfc_check_minloc_maxloc): Add checking for "back"
896 argument; also raise error if it is used (for now). Add it
897 if it isn't present.
898 * intrinsic.c (add_sym_4ml): Rename to
899 (add_sym_5ml), adjust for extra argument.
900 (add_functions): Add "back" constant. Adjust maxloc and minloc
901 for back argument.
902 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is
903 not of gfc_logical_4_kind, convert.
904 (gfc_resolve_minloc): Likewise.
905 * simplify.c (gfc_simplify_minloc): Add back argument.
906 (gfc_simplify_maxloc): Likewise.
907 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last
908 argument to %VAL to ensure passing by value.
909 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc
910 also for library calls.
911
912 2018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
913
914 PR fortran/82007
915 * resolve.c (resolve_transfer): Delete code looking for 'DT'
916 format specifiers in format strings. Set formatted to true if a
917 format string or format label is present.
918 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix
919 whitespace.
920
921 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
922
923 PR fortran/83744
924 * dump-parse-tree.c (get_c_type_name): Remove extra line.
925 Change for loop to use declaration in for loop. Handle BT_LOGICAL
926 and BT_CHARACTER.
927 (write_decl): Add where argument. Fix indentation. Replace
928 assert with error message. Add typename to warning
929 in comment.
930 (write_type): Adjust locus to call of write_decl.
931 (write_variable): Likewise.
932 (write_proc): Likewise. Replace assert with error message.
933
934 2018-01-13 Paul Thomas <pault@gcc.gnu.org>
935
936 PR fortran/52162
937 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if
938 the rhs expression is neither an elemental nor a conversion
939 function.
940
941 PR fortran/83622
942 * trans-array.c (is_pointer_array): Remove unconditional return
943 of false for -fopenmp.
944
945 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
946 <emsr@gcc.gnu.org>
947
948 PR fortran/83803
949 * dump-parse-tree.c (write_proc): Always emit closing parenthesis
950 for functions.
951
952 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
953
954 PR fortran/82367
955 * resolve.c (resolve_allocate_expr): Check for NULL pointer.
956
957 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
958
959 PR fortran/83093
960 * resolve.c (resolve_charlen): Check the type of cl->length
961 after resolution.
962
963 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
964
965 PR fortran/83740
966 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting.
967
968 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
969
970 PR fortran/83740
971 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the
972 LHS type when assigning.
973
974 2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
975
976 PR fortran/83742
977 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer.
978
979 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
980
981 * match.c (gfc_match_allocate): Check for NULL pointer.
982
983 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
984
985 * expr.c (gfc_check_pointer_assign): Fix typo in comment.
986
987 2018-01-08 Paul Thomas <pault@gcc.gnu.org>
988
989 PR fortran/83611
990 * decl.c (gfc_get_pdt_instance): If parameterized arrays have
991 an initializer, convert the kind parameters and add to the
992 component if the instance.
993 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and
994 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable'
995 for parameterized arrays. Clean up typos in comments. Convert
996 parameterized array initializers and copy into the array.
997 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for
998 parameterized types.
999 *trans-stmt.c (trans_associate_var): Deallocate associate vars
1000 as necessary, when they are PDT function results for example.
1001
1002 PR fortran/83731
1003 * trans-array.c (structure_alloc_comps): Only compare len parms
1004 when they are declared explicitly.
1005
1006 2018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
1007
1008 PR fortran/50892
1009 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to
1010 lhs type.
1011
1012 2018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
1013
1014 PR fortran/78534
1015 PR fortran/66310
1016 * array.c (got_charlen): Use gfc_charlen_int_kind.
1017 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
1018 hardcoded kind.
1019 (find_intrinsic_vtab): Likewise.
1020 * decl.c (match_char_length): Use gfc_charlen_int_kind.
1021 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind.
1022 (gfc_match_implicit): Use gfc_charlen_int_kind.
1023 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t.
1024 (show_expr): Use HOST_WIDE_INT_PRINT_DEC.
1025 * expr.c (gfc_get_character_expr): Length parameter of type
1026 gfc_charlen_t.
1027 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
1028 (gfc_extract_hwi): New function.
1029 (simplify_const_ref): Make string_len of type gfc_charlen_t.
1030 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
1031 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind.
1032 * gfortran.h (gfc_mpz_get_hwi): New prototype.
1033 (gfc_mpz_set_hwi): Likewise.
1034 (gfc_charlen_t): New typedef.
1035 (gfc_expr): Use gfc_charlen_t for character lengths.
1036 (gfc_size_kind): New extern variable.
1037 (gfc_extract_hwi): New prototype.
1038 (gfc_get_character_expr): Use gfc_charlen_t for character length.
1039 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
1040 * gfortran.texi: Update description of hidden string length argument.
1041 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind.
1042 (gfc_resolve_char_achar): Likewise.
1043 (gfc_resolve_repeat): Pass string length directly without
1044 temporary, use gfc_charlen_int_kind.
1045 (gfc_resolve_transfer): Use gfc_charlen_int_kind.
1046 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
1047 * misc.c (gfc_mpz_get_hwi): New function.
1048 (gfc_mpz_set_hwi): New function.
1049 * module.c (atom_int): Change type from int to HOST_WIDE_INT.
1050 (parse_integer): Don't complain about large integers.
1051 (write_atom): Use HOST_WIDE_INT for integers.
1052 (mio_integer): Handle integer type mismatch.
1053 (mio_hwi): New function.
1054 (mio_intrinsic_op): Use HOST_WIDE_INT.
1055 (mio_array_ref): Likewise.
1056 (mio_expr): Likewise.
1057 * primary.c (match_substring): Use gfc_charlen_int_kind.
1058 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind.
1059 (resolve_character_operator): Likewise.
1060 (resolve_assoc_var): Likewise.
1061 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf.
1062 (resolve_charlen): Use mpz_sgn to determine sign.
1063 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
1064 instead of long.
1065 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind.
1066 * target-memory.c (size_character): Length argument of type
1067 gfc_charlen_t.
1068 (gfc_encode_character): Likewise.
1069 (gfc_interpret_character): Use gfc_charlen_t.
1070 * target-memory.h (gfc_encode_character): Modify prototype.
1071 * trans-array.c (gfc_trans_array_ctor_element): Use existing type.
1072 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type.
1073 (trans_array_constructor): Use existing type.
1074 (get_array_charlen): Likewise.
1075 * trans-const.c (gfc_conv_mpz_to_tree_type): New function.
1076 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
1077 * trans-decl.c (gfc_trans_deferred_vars): Use existing type.
1078 (add_argument_checking): Likewise.
1079 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type
1080 gfc_charlen_type_node.
1081 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
1082 4, fold_convert to correct type.
1083 (gfc_conv_class_to_class): Build const of type size_type_node for
1084 size.
1085 (gfc_copy_class_to_class): Likewise.
1086 (gfc_conv_string_length): Use same type in expression.
1087 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
1088 (gfc_conv_string_tmp): Make sure len is of the right type.
1089 (gfc_conv_concat_op): Use same type in expression.
1090 (gfc_conv_procedure_call): Likewise.
1091 (fill_with_spaces): Comment out memset() block due to spurious
1092 -Wstringop-overflow warnings.
1093 (gfc_trans_string_copy): Use gfc_charlen_type_node.
1094 (alloc_scalar_allocatable_for_subcomponent_assignment):
1095 fold_convert to right type.
1096 (gfc_trans_subcomponent_assign): Likewise.
1097 (trans_class_vptr_len_assignment): Build const of correct type.
1098 (gfc_trans_pointer_assignment): Likewise.
1099 (alloc_scalar_allocatable_for_assignment): fold_convert to right
1100 type in expr.
1101 (trans_class_assignment): Build const of correct type.
1102 * trans-intrinsic.c (gfc_conv_associated): Likewise.
1103 (gfc_conv_intrinsic_repeat): Do calculation in sizetype.
1104 * trans-io.c (gfc_build_io_library_fndecls): Use
1105 gfc_charlen_type_node for character lengths.
1106 (set_string): Convert to right type in assignment.
1107 * trans-stmt.c (gfc_trans_label_assign): Build const of
1108 gfc_charlen_type_node.
1109 (trans_associate_var): Likewise.
1110 (gfc_trans_character_select): Likewise.
1111 (gfc_trans_allocate): Likewise, don't typecast strlen result.
1112 (gfc_trans_deallocate): Don't typecast strlen result.
1113 * trans-types.c (gfc_size_kind): New variable.
1114 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
1115 from size_type_node.
1116 * trans-types.h: Fix comment.
1117
1118 2018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
1119
1120 PR fortran/83683
1121 PR fortran/45689
1122 * check.c (gfc_check_eoshift): Check for string length and
1123 for conformance of boundary.
1124 * intrinsic.c (add_functions): Add gfc_simplify_eoshift.
1125 * intrinsic.h: Add prototype for gfc_simplify_eoshift.
1126 * simplify.c (gfc_simplify_eoshift): New function.
1127
1128 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1129 Alan Hayward <alan.hayward@arm.com>
1130 David Sherwood <david.sherwood@arm.com>
1131
1132 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL.
1133
1134 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1135 Alan Hayward <alan.hayward@arm.com>
1136 David Sherwood <david.sherwood@arm.com>
1137
1138 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p.
1139
1140 2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
1141
1142 PR fortran/83664
1143 * check.c (gfc_check_eoshift): Error for missing boundary if array
1144 is not one of the standard types.
1145
1146 2018-01-03 Jakub Jelinek <jakub@redhat.com>
1147
1148 Update copyright years.
1149
1150 * gfortranspec.c (lang_specific_driver): Update copyright notice
1151 dates.
1152 * gfc-internals.texi: Bump @copying's copyright year.
1153 * gfortran.texi: Ditto.
1154 * intrinsic.texi: Ditto.
1155 * invoke.texi: Ditto.
1156
1157 2017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1158
1159 PR fortran/45689
1160 * intrinsic.c (add_function): Add gfc_simplify_maxloc and
1161 gfc_simplify_minloc to maxloc and minloc, respectively.
1162 * intrinsic.h: Add prototypes for gfc_simplify_minloc
1163 and gfc_simplify_maxloc.
1164 * simplify.c (min_max_chose): Adjust prototype. Modify function
1165 to have a return value which indicates if the extremum was found.
1166 (is_constant_array_expr): Fix typo in comment.
1167 (simplify_minmaxloc_to_scalar): New function.
1168 (simplify_minmaxloc_nodim): New function.
1169 (new_array): New function.
1170 (simplify_minmaxloc_to_array): New function.
1171 (gfc_simplify_minmaxloc): New function.
1172 (simplify_minloc): New function.
1173 (simplify_maxloc): New function.
1174
1175 2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1176
1177 PR fortran/45689
1178 PR fortran/83650
1179 * simplify.c (gfc_simplify_cshift): Re-implement to allow full
1180 range of arguments.
1181
1182 2018-01-01 Paul Thomas <pault@gcc.gnu.org>
1183
1184 PR fortran/83076
1185 * resolve.c (resolve_fl_derived0): Add caf_token fields for
1186 allocatable and pointer scalars, when -fcoarray selected.
1187 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token
1188 field as well as the backend_decl.
1189 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module
1190 derived types that are not vtypes. Components with caf_token
1191 attribute are pvoid types. For a component requiring it, find
1192 the caf_token field and have the component token field point to
1193 its backend_decl.
1194
1195 PR fortran/83319
1196 *trans-types.c (gfc_get_array_descriptor_base): Add the token
1197 field to the descriptor even when codimen not set.
1198 \f
1199 Copyright (C) 2018 Free Software Foundation, Inc.
1200
1201 Copying and distribution of this file, with or without modification,
1202 are permitted in any medium without royalty provided the copyright
1203 notice and this notice are preserved.