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