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