1 2018-09-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
3 * simplify.c (gfc_simplify_modulo): Re-arrange code to test whether
4 'P' is zero and issue an error if it is.
6 2018-08-31 Paul Thomas <pault@gcc.gnu.org>
10 * trans-array.c (gfc_conv_scalarized_array_ref): Do not fix
11 info->descriptor but pass it directly to gfc_build_array_ref.
12 (gfc_conv_array_ref): Likewise for se->expr.
13 * trans.c (gfc_build_array_ref): If 'decl' is a COMPONENT_REF
14 obtain the span field directly from it.
16 2017-08-28 Paul Thomas <pault@gcc.gnu.org>
19 * trans-expr.c (gfc_conv_procedure_call): Allocatable class
20 scalar results being passed to a derived type formal argument
21 are finalized if possible. Otherwise, rely on existing code for
22 deallocation. Make the deallocation of allocatable result
23 components conditional on finalization not taking place. Make
24 the freeing of data components after finalization conditional
25 on the data being NULL.
26 (gfc_trans_arrayfunc_assign): Change the gcc_assert to a
27 condition to return NULL_TREE.
28 (gfc_trans_assignment_1): If the assignment is class to class
29 and the rhs expression must be finalized but the assignment
30 is not marked as a polymorphic assignment, use the vptr copy
31 function instead of gfc_trans_scalar_assign.
34 * trans-expr.c (gfc_conv_expr_reference): Do not add the post
35 block to the pre block if the expression is to be finalized.
36 * trans-stmt.c (gfc_trans_allocate): If the expr3 must be
37 finalized, load the post block into a finalization block and
38 add it right at the end of the allocation block.
40 2018-08-27 David Malcolm <dmalcolm@redhat.com>
43 * error.c (gfc_format_decoder): Update for conversion of
44 show_caret_p to a tri-state.
46 2018-08-25 Janus Weil <janus@gcc.gnu.org>
49 * resolve.c (resolve_transfer): Correctly determine typespec for
50 generic function calls, in order to throw a proper error.
52 2018-08-24 Thomas Koenig <tkoenig@gcc.gnu.org>
55 * frontend-passes.c (var_in_expr_callback): New function.
56 (var_in_expr): New function.
57 (traverse_io_block): Use var_in_expr instead of
58 gfc_check_dependency for checking if the variable depends on the
61 2018-08-23 Janne Blomqvist <blomqvist.janne@gmail.com>
63 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Delete
64 HONOR_SIGNED_ZEROS checks.
66 2018-08-23 Paul Thomas <pault@gcc.gnu.org>
69 * resolve.c (resolve_typebound_call): If the TBP is not marked
70 as a subroutine, check the specific symbol.
72 2018-08-22 Thomas Koenig <tkoenig@gcc.gnu.org>
74 * gfortran.texi: Mention that asynchronous I/O does
75 not work on systems which lack condition variables, such
78 2018-08-22 Janus Weil <janus@gcc.gnu.org>
81 * match.c (gfc_match_associate): Improve diagnostics for the ASSOCIATE
84 2018-08-22 Andrew Benson <abensonca@gmail.com>
86 * module.c (load_generic_interfaces): Move call to find_symbol()
87 so that only occurs if actually needed.
89 2018-08-22 Janus Weil <janus@gcc.gnu.org>
92 * decl.c (gfc_match_data_decl): Allow allocatable components of
93 indirectly recursive type.
94 * resolve.c (resolve_component): Remove two errors messages ...
95 (resolve_fl_derived): ... and replace them by a new one.
97 2018-08-21 Janne Blomqvist <jb@gcc.gnu.org>
99 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use
100 MAX_EXPR/MIN_EXPR unconditionally for real arguments.
101 * gfortran.texi (Compiler Characteristics): Document MAX/MIN
104 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
105 Thomas Koenig <tkoenig@gcc.gnu.org>
108 * gfortran.texi: Add description of asynchronous I/O.
109 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables
111 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to
112 st_wait_async and change argument spec from ".X" to ".w".
113 (gfc_trans_wait): Pass ID argument via reference.
115 2018-08-16 Nathan Sidwell <nathan@acm.org>
117 * cpp.c (dump_macro): Use cpp_user_macro_p.
119 2018-08-14 Janus Weil <janus@gcc.gnu.org>
122 * interface.c (compare_type): Remove a CLASS/TYPE check.
123 (compare_type_characteristics): New function that behaves like the old
125 (gfc_check_dummy_characteristics, gfc_check_result_characteristics):
126 Call 'compare_type_characteristics' instead of 'compare_type'.
128 2018-08-12 Paul Thomas <pault@gcc.gnu.org>
131 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Class array
132 elements are returned as references to the data element. Get
133 the class expression by stripping back the references. Use this
134 for the element size.
136 2018-08-12 Paul Thomas <pault@gcc.gnu.org>
139 * resolve.c (resolve_fl_variable_derived): Check if the derived
140 type is use associated before checking for the host association
143 2018-08-10 Janus Weil <janus@gcc.gnu.org>
146 * invoke.texi (frontend-optimize): Mention short-circuiting.
147 * options.c (gfc_post_options): Disable -ffrontend-optimize with -Og.
148 * resolve.c (resolve_operator): Warn about short-circuiting only with
150 * trans-expr.c (gfc_conv_expr_op): Use short-circuiting operators only
151 with -ffrontend-optimize. Without that flag, make sure that both
152 operands are evaluated.
154 2018-08-08 Nathan Sidwell <nathan@acm.org>
156 * cpp.c (cb_file_change): Use linemap_included_from.
158 2018-08-07 Cesar Philippidis <cesar@codesourcery.com>
160 * trans-stmt.h: Remove stale reference to trans-openacc.c.
162 2018-08-04 Janus Weil <janus@gcc.gnu.org>
165 * interface.c (gfc_compare_interfaces): Apply additional
166 distinguishability criteria of F08 to operator interfaces.
168 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
170 Revert 'AsyncI/O patch committed'
171 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
172 Thomas Koenig <tkoenig@gcc.gnu.org>
175 * gfortran.texi: Add description of asynchronous I/O.
176 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables
178 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to
179 st_wait_async and change argument spec from ".X" to ".w".
180 (gfc_trans_wait): Pass ID argument via reference.
182 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
183 Thomas Koenig <tkoenig@gcc.gnu.org>
186 * gfortran.texi: Add description of asynchronous I/O.
187 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables
189 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to
190 st_wait_async and change argument spec from ".X" to ".w".
191 (gfc_trans_wait): Pass ID argument via reference.
193 2018-07-20 Martin Sebor <msebor@redhat.com>
196 * gfortran.h (gfc_handle_option): Change function argument
198 * options.c (gfc_handle_option): Same.
200 2018-07-20 Andrew Benson <abenson@carnegiescience.edu>
202 * gfortran.h (gfc_symbol): Add pointer to next derived type.
203 (gfc_dt_list, gfc_get_dt_list): Remove.
204 (gfc_namespace): Replace gfc_dt_list with gfc_symbol.
205 * parse.c (resolve_all_program_units): Replace gfc_free_dt_list() with
206 simple nullification of gfc_derived_types.
207 * resolve.c (resolve_global_procedure): Replace gfc_dt_list with
209 (add_dt_to_dt_list): Change derived type linked list insertion to
210 utilize dt_next pointers in gfc_symbol.
211 * symbol.c (gfc_new_symbol, gfc_free_dt_list, gfc_symbol_done2)
212 (get_iso_c_binding_dt, generate_isocbinding_symbol): Remove
213 gfc_free_dt_list as gfc_dt_list is obsoleted. Change derived type
214 linked list search/insertion to utilize dt_next pointers in gfc_symbol.
215 * trans-types.c (gfc_get_derived_type): Change derived type linked
216 list search to utilize dt_next pointers in gfc_symbol.
218 2018-07-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
220 * trans-intrinsic.c: (gfc_conv_intrinsic_minmax): Emit MIN_MAX_EXPR
221 or IFN_FMIN/FMAX sequence to calculate the min/max when possible.
223 2018-07-18 Janus Weil <janus@gcc.gnu.org>
224 Thomas Koenig <tkoenig@gcc.gnu.org>
227 * dump-parse-tree.c (show_attr): Add handling of implicit_pure.
228 * frontend-passes.c (do_warn_function_elimination): Do not warn for
230 * gfortran.h: Add prototypes for gfc_pure_function and
231 gfc_implicit_pure_function.
232 * gfortran.texi: Add chapter on evaluation of logical expressions.
233 * invoke.texi: Mention that -Wfunction-elimination is implied
235 * lang.opt: Make -Wextra imply -Wfunction-elimination.
236 * resolve.c (pure_function): Rename to gfc_pure_function.
237 (gfc_implicit_pure_function): New function.
238 (check_pure_function): Use it here.
239 (impure_function_callback): New function.
240 (resolve_operator): Call it via gfc_expr_walker.
242 2018-07-16 Fritz Reese <fritzoreese@gmail.com>
245 * decl.c (match_old_style_init): Initialize locus of variable expr when
246 creating a data variable.
247 (match_clist_expr): Verify array is explicit shape/size before
248 attempting to allocate constant array constructor.
250 2018-07-16 Fritz Reese <fritzoreese@gmail.com>
253 * module.c (mio_component): Set component->loc when loading from module.
255 2018-07-10 Jakub Jelinek <jakub@redhat.com>
258 * module.c (omp_declare_simd_clauses): Add LINEAR with _REF, _VAL and
260 (mio_omp_declare_simd): Save and restore ref, val and uval modifiers
261 on linear clauses. Initialize n->where to gfc_current_locus.
263 2018-07-05 Paul Thomas <pault@gcc.gnu.org>
266 * resolve.c.c (resolve_contained_fntype): Reference to C418 is
267 in F2008 and not F2003.
268 (resolve_function): Ditto in error message. Also, exclude
269 deferred character length results from the error.
271 2018-07-05 Fritz Reese <fritzoreese@gmail.com>
275 * expr.c (class_allocatable, class_pointer, comp_allocatable,
276 comp_pointer): New helpers.
277 (component_initializer): Generate EXPR_NULL for allocatable or pointer
278 components. Do not generate initializers for components within BT_CLASS.
279 Do not assign to comp->initializer.
280 (gfc_generate_initializer): Use new helpers; move code to generate
281 EXPR_NULL for class allocatable components into component_initializer().
283 2018-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
286 * trans-decl.c (gfc_process_block_locals): Delete assert and set
287 saved_local_decls = NULL_TREE.
289 2018-07-02 Richard Biener <rguenther@suse.de>
292 * trans-types.c (gfc_get_array_type_bounds): Unshare TYPE_FIELDs
293 for the distinct type copy.
295 2018-07-02 Paul Thomas <pault@gcc.gnu.org>
299 * trans-array.c (structure_alloc_comps): Do not explicitly copy
300 procedure pointer components.
302 2018-07-02 Paul Thomas <pault@gcc.gnu.org>
305 * expr.c : Add a prototype for scalarize_intrinsic_call.
306 (gfc_simplify_expr): Use scalarize_intrinsic_call for elemental
307 intrinsic function calls.
308 (scalarize_intrinsic_call): Add 'init_flag' argument. Check if
309 the expression or any of the actual argument expressions are
310 NULL. Before calling gfc_check_init_expr, check 'init_flag'.
311 Only simplify the scalarized expressions if there are no errors
313 (gfc_check_init_expr): Set 'init_flag' true in the call to
314 scalarize_intrinsic_call.
316 2018-06-28 Fritz Reese <fritzoreese@gmail.com>
319 * decl.c (gfc_match_type): Refactor and check for PDT declarations.
321 2018-06-28 Martin Liska <mliska@suse.cz>
323 * gfortranspec.c: Include opt-suggestions.h.
325 2018-06-25 Fritz Reese <fritzoreese@gmail.com>
330 * expr.c (component_initializer): Assign init expr to c->initializer.
331 (generate_isocbinding_initializer): New.
332 (gfc_generate_initializer): Call generate_isocbinding_initializer to
333 generate initializers for c_ptr and c_funptr with -finit-derived.
335 2018-06-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
338 * interface.c (check_dtio_interface1): Delete assert.
340 2018-06-22 Paul Thomas <pault@gcc.gnu.org>
341 Rainer Orth <ro@gcc.gnu.org>
344 * resolve.c (resolve_contained_fntype): Check for the charlen
345 before testing the length.
347 2018-06-21 Paul Thomas <pault@gcc.gnu.org>
350 * resolve.c (resolve_contained_fntype): Change standard ref.
351 from F95 to F2003: C418. Correct a spelling error in a comment.
352 It is an error for an abstract interface to have an assumed
353 character length result.
354 * trans-expr.c (gfc_conv_procedure_call): Likewise change the
357 2018-06-21 Paul Thomas <pault@gcc.gnu.org>
360 * resolve.c (resolve_ordinary_assign): Force the creation of a
361 vtable for assignment of non-polymorphic expressions to an
362 unlimited polymorphic object.
363 * trans-array.c (gfc_alloc_allocatable_for_assignment): Use the
364 size of the rhs type for such assignments. Set the dtype, _len
365 and vptrs appropriately.
366 * trans-expr.c (gfc_trans_assignment): Force the use of the
367 _copy function for these assignments.
369 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
370 Thomas Schwinge <thomas@codesourcery.com>
371 Cesar Philippidis <cesar@codesourcery.com>
373 * gfortran.h (gfc_omp_clauses): Add unsigned if_present, finalize
375 * openmp.c (enum omp_mask2): Remove OMP_CLAUSE_PRESENT_OR_*. Add
376 OMP_CLAUSE_{IF_PRESENT,FINALIZE}.
377 (gfc_match_omp_clauses): Update handling of copy, copyin, copyout,
378 create, deviceptr, present_of_*. Add support for finalize and
380 (OACC_PARALLEL_CLAUSES): Remove PRESENT_OR_* clauses.
381 (OACC_KERNELS_CLAUSES): Likewise.
382 (OACC_DATA_CLAUSES): Likewise.
383 (OACC_DECLARE_CLAUSES): Likewise.
384 (OACC_UPDATE_CLAUSES): Add IF_PRESENT clause.
385 (OACC_ENTER_DATA_CLAUSES): Remove PRESENT_OR_* clauses.
386 (OACC_EXIT_DATA_CLAUSES): Add FINALIZE clause.
387 (gfc_match_oacc_declare): Update to OpenACC 2.5 semantics.
388 * trans-openmp.c (gfc_trans_omp_clauses): Add support for IF_PRESENT
391 2018-06-18 Eric Botcazou <ebotcazou@adacore.com>
393 * trans-decl.c (gfc_get_fake_result_decl): Revert latest change.
395 2018-06-17 Eric Botcazou <ebotcazou@adacore.com>
397 * trans-decl.c (nonlocal_dummy_decl_pset): Delete.
398 (nonlocal_dummy_decls): Likewise.
399 (gfc_nonlocal_dummy_array_decl): Likewise.
400 (gfc_get_symbol_decl): Do not call gfc_nonlocal_dummy_array_decl.
401 (gfc_get_fake_result_decl): Do not generate a new DECL if simply
402 reusing the result of a recursive call.
403 (gfc_generate_function_code): Do not create, insert and destroy
404 nonlocal_dummy_decls.
406 2018-06-13 Steven G. Kargl <kargl@gcc.gnu.org>
409 * array.c (gfc_resolve_character_array_constructor): Avoid NULL
412 2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
415 * parse.c (decode_oacc_directive): Set gfc_matching_function
417 (decode_omp_directive): Likewise.
419 2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
422 * openmp.c (gfc_match_oacc_wait): Use %C to report error location.
424 2018-06-12 David Malcolm <dmalcolm@redhat.com>
427 * misc.c (gfc_closest_fuzzy_match): Update for renaming of
428 levenshtein_distance to get_edit_distance.
430 2018-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
433 * expr.c (gfc_check_assign): Select non-NULL locus.
435 2018-06-11 Janus Weil <janus@gcc.gnu.org>
438 * interface.c (compare_ptr_alloc): New function.
439 (generic_correspondence): Call it.
441 2018-06-10 Thomas Koenig <tkoenig@gcc.gnu.org>
443 * gfortran.h (gfc_expr): Add no_bounds_check field.
444 * frontend-passes.c (get_array_inq_function): Set no_bounds_check
445 on function and function argument.
446 (inline_matmul_assign): Set no_bounds_check on zero expression
447 and on lhs of zero expression.
448 Also handle A1B2 case if realloc on assigment is active.
449 * trans-array.c (gfc_conv_array_ref): Don't do range checking
450 if expr has no_bounds_check set.
451 (gfc_conv_expr_descriptor): Set no_bounds_check on ss if expr
453 * trans-expr.c (gfc_trans_assignment_1): Set no_bounds_check
454 on lss and lss if the corresponding expressions have it set.
456 2018-06-10 Dominique d'Humieres <dominiq@gcc.gnu.org>
459 * trans-const.c: Remove include "diagnostic-core.h".
460 (gfc_conv_constant_to_tree): Replace fatal_error with gcc_unreachable.
462 2018-06-10 Janus Weil <janus@gcc.gnu.org>
465 * decl.c (match_attr_spec): Synchronize the DECL_* enum values with the
466 INTENT_* values from the enum 'sym_intent'. Call 'match_intent_spec'
467 and remove a TODO note.
468 * gfortran.h: Add a comment to sym_intent.
470 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
473 * resolve.c (resolve_operator): Provide better error message for
474 derived type entity used in an binary intrinsic numeric operator.
476 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
481 * decl.c (gfc_match_char_spec): Use private namespace in attempt to
482 reduce a charlen to a constant.
484 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
487 * data.c (gfc_assign_data_value): Re-arrange code to allow for
488 an error for double initialization of CHARACTER entities.
490 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
493 * symbol.c (gfc_add_volatile): Enforce F2008:C1282 and F2018:C1588.
495 2018-06-08 Thomas Koenig <tkoenig@gcc.gnu.org>
498 * trans.h (gfc_ss): Add field no_bounds_check.
499 * trans-array.c (gfc_conv_ss_startstride): If flag_realloc_lhs and
500 ss->no_bounds_check is set, do not use runtime checks.
501 * trans-expr.c (gfc_trans_assignment_1): Set lss->no_bounds_check
502 for reallocatable lhs.
504 2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
507 * array.c (match_array_cons_element): NULL() cannot be in an
510 2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
513 * data.c (create_character_initializer): Return early if type is
514 incompatible with CHARACTER.
516 2018-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
519 * simplify.c (gfc_simplify_mod): Re-arrange code to test whether
520 'P' is zero and issue an error if it is.
522 2018-06-06 Thomas Koenig <tkoenig@gcc.gnu.org>
525 * frontend-passes.c (is_fe_temp): Add prototype.
526 (realloc_string_callback): Early return for frontend-generated
529 2018-06-05 Cesar Philippidis <cesar@codesourcery.com>
533 * openmp.c (gfc_resolve_oacc_declare): Error on functions and
534 subroutine data clause arguments.
536 2018-06-04 Steven G. Kargl <kargl@gcc.gnu.org>
539 * resolve.c (resolve_allocate_deallocate): Check errmsg is default
542 2018-06-03 Paul Thomas <pault@gcc.gnu.org>
545 * decl.c (variable_decl): Use gfc_add_type for cray pointees.
547 2018-06-01 Steven G. Kargl <kargl@gcc.gnu.org>
550 * check.c (gfc_check_random_init): New function. Check arguments of
552 * gfortran.h (GFC_ISYM_RANDOM_INIT): New enum token.
553 * intrinsic.c (add_subroutines): Add RANDOM_INIT to list of
555 (gfc_check_intrinsic_standard): Introduce Fortran 2018 check.
556 * intrinsic.h: Add prototypes for gfc_check_random_init and
557 gfc_resolve_random_init
558 * intrinsic.texi: Document new intrinsic subprogram.
559 * iresolve.c (gfc_resolve_random_init): Resolve routine name.
560 * trans-decl.c: Declare gfor_fndecl_random_init
561 * trans-intrinsic.c (conv_intrinsic_random_init): New function.
562 Translate call to RANDOM_INIT.
563 (gfc_conv_intrinsic_subroutine): Call it.
564 * trans.h: Declare gfor_fndecl_random_init
566 2018-05-27 Steven G. Kargl <kargl@gcc.gnu.org>
568 * decl.c (match_data_constant): Fortran 2018 allows pointer
569 initialization in a data statement.
571 2018-05-25 Janus Weil <janus@gcc.gnu.org>
574 * match.c (gfc_match_block_data): Call gfc_notify_std to warn about
575 an obsolescent feature in Fortran 2018.
576 (gfc_match_equivalence): Ditto.
577 * resolve.c (resolve_common_blocks): Ditto.
578 (gfc_resolve_forall): Ditto.
579 * symbol.c (gfc_define_st_label): Ditto.
581 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
584 * resolve.c (update_current_proc_array_outer_dependency): Avoid NULL
587 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
590 * resolve.c (resolve_fl_procedure): Avoid NULL dereference.
592 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
595 * decl.c (gfc_match_derived_decl): Fix NULL point dereference.
597 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org>
600 * resolve.c (resolve_sync): Resolve expression before checking for
603 2018-05-22 Janus Weil <janus@gcc.gnu.org>
606 * libgfortran.h: Remove the macros GFC_STD_F2008_TS and
608 * error.c (notify_std_msg): Remove GFC_STD_F2008_TS.
609 * options.c (set_default_std_flags): Ditto.
610 (gfc_handle_option): Make -std=f2008ts an alias for -std=f2018.
611 * array.c (gfc_match_array_spec): Replace GFC_STD_F2008_TS by
613 * check.c (gfc_check_atomic, gfc_check_event_query,
614 gfc_check_c_f_pointer, gfc_check_c_f_procpointer, gfc_check_c_funloc,
615 gfc_check_c_loc, gfc_check_num_images, gfc_check_this_image): Ditto.
616 * decl.c (gfc_verify_c_interop_param, gfc_match_decl_type_spec): Ditto.
617 * intrinsic.c (add_functions, add_subroutines,
618 gfc_check_intrinsic_standard): Ditto.
619 * iso-c-binding.def: Ditto.
620 * iso-fortran-env.def: Ditto.
621 * match.c (gfc_match_event_post, gfc_match_event_wait,
622 gfc_match_fail_image, gfc_match_form_team, gfc_match_change_team,
623 gfc_match_end_team, gfc_match_sync_team): Ditto.
624 * gfortran.texi: Remove mention of -std=f2008ts.
625 Move TSs into F2018 section.
626 * invoke.texi: Update documentation of -std=f2008ts.
628 2018-05-21 Janus Weil <janus@gcc.gnu.org>
631 * libgfortran.h: New macros GFC_STD_OPT_*.
632 * error.c (notify_std_msg): New function.
633 (gfc_notify_std): Adjust such that it can handle combinations of
634 GFC_STD_* flags in the 'std' argument, not just a single one.
635 * match.c (match_arithmetic_if, gfc_match_if): Reject arithmetic if
637 (gfc_match_stopcode): Use GFC_STD_OPT_* macros.
638 * options.c (set_default_std_flags): Warn for F2018 deleted features
640 (gfc_handle_option): F2018 deleted features are allowed in earlier
642 * symbol.c (gfc_define_st_label, gfc_reference_st_label): Reject
643 nonblock do constructs in Fortran 2018.
645 2018-05-20 Paul Thomas <pault@gcc.gnu.org>
648 * resolve.c (flag_fn_result_spec): Use the 'sym' argument to
649 test for self refs to the function result in the character len
650 expression. If a self reference is found, emit an error and
652 (resolve_fntype): Use the function symbol in the calls to the
655 2018-05-20 Paul Thomas <pault@gcc.gnu.org>
658 * trans-array.c (gfc_get_array_span): Renamed from
660 (gfc_conv_expr_descriptor): Change references to above.
661 * trans-array.h : Add prototype for 'gfc_get_array_span'.
662 * trans-intrinsic.c (gfc_conv_associated): Add pre and post
664 * trans-stmt.c (trans_associate_var): If the associate name is
665 a subref array pointer, use gfc_get_array_span for the span.
667 2018-05-20 Paul Thomas <pault@gcc.gnu.org>
670 * match.c (gfc_match_type_spec): Go through the array ref and
671 decrement 'rank' for every dimension that is an element.
673 2018-05-19 Paul Thomas <pault@gcc.gnu.org>
678 * trans-array.c (gfc_alloc_allocatable_for_assignment): Set the
679 charlen backend_decl of the rhs expr to ss->info->string_length
680 so that the value in the current scope is used.
682 2018-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
685 * gfortran.texi: Clarify documentation for Cray pointer and
688 2018-05-13 Paul Thomas <pault@gcc.gnu.org>
691 * trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation
692 of 'size'. If the element type is a pointer use the size of the
693 TREE_TYPE of the type, unless it is VOID_TYPE. In this latter
694 case, set the size to zero.
696 2018-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
698 * gfortran.h: Remove prototype.
699 * symbol.c (gfc_new_undo_checkpoint): Remove unused function.
701 2018-05-11 Steven G. Kargl <kargl@gcc.gnu.org>
704 * expr.c (check_inquiry): Avoid NULL pointer dereference.
706 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org>
709 * check.c (gfc_check_rank): Check that the argument is a data object.
711 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org>
714 * array.c (gfc_resolve_character_array_constructor): Substrings
715 with upper bound smaller than lower bound are zero length strings.
717 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org>
720 * data.c (gfc_assign_data_value): Check that a data object does
721 not also have default initialization.
723 2018-05-10 Marek Polacek <polacek@redhat.com>
726 * options.c (gfc_post_options): Set main_input_filename.
728 2018-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
731 * intrinsic.texi: Document BACK for MINLOC and MAXLOC.
733 2018-05-10 Paul Thomas <pault@gcc.gnu.org>
737 * resolve.c (get_temp_from_expr): The temporary must not have
738 dummy or intent attributes.
740 2018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
743 * check.c (gfc_check_minmaxloc): Remove error for BACK not being
744 implemented. Use gfc_logical_4_kind for BACK.
745 * simplify.c (min_max_choose): Add optional argument back_val.
747 (simplify_minmaxloc_to_scalar): Add argument back_val. Pass
748 back_val to min_max_choose.
749 (simplify_minmaxloc_to_nodim): Likewise.
750 (simplify_minmaxloc_to_array): Likewise.
751 (gfc_simplify_minmaxloc): Add argument back, handle it.
752 Pass back_val to specific simplification functions.
753 (gfc_simplify_minloc): Remove ATTRIBUTE_UNUSED from argument back,
754 pass it on to gfc_simplify_minmaxloc.
755 (gfc_simplify_maxloc): Likewise.
756 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Adjust
757 comment. If BACK is true, use greater or equal (or lesser or
758 equal) insteal of greater (or lesser). Mark the condition of
759 having found a value which exceeds the limit as unlikely.
761 2018-05-07 Jeff Law <law@redhat.comg>
763 * scanner.c (preprocessor_line): Call linemap_add after a line
764 directive that changes the current filename.
766 2018-05-06 Andre Vehreschild <vehre@gcc.gnu.org>
769 * dependency.c (gfc_dep_resolver): Revert looking at coarray dimension
770 introduced by r259385.
771 * trans-intrinsic.c (conv_caf_send): Always report a dependency for
772 same variables in coarray assignments.
774 2018-05-02 Tom de Vries <tom@codesourcery.com>
777 * f95-lang.c (DEF_GOACC_BUILTIN_ONLY): Define.
779 2018-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
782 * decl.c (gfc_match_char_spec): Check for negative length and set to 0.
784 2018-04-14 Andre Vehreschild <vehre@gcc.gnu.org>
788 * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored
789 during dependency computation. They define no data dependency.
790 * trans-array.c (conv_array_index_offset): The stride can not be set
792 * trans-intrinsic.c (conv_caf_send): Add creation of temporary array
793 for caf_get's result and copying to the array with vectorial
796 2018-04-14 Thomas Koenig <tkoenig@gcc.gnu.org>
799 * frontend-passes.c (traverse_io_block): Check for start, end or
800 stride being defined by an outer implied DO loop.
802 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
806 * trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind
807 for annotation and remove dependence on -ftree-parallelize-loops.
809 2018-04-10 Jakub Jelinek <jakub@redhat.com>
812 * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;.
813 (resolve_oacc_nested_loops): Likewise. Formatting fix.
815 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
818 * trans-stmt.c (gfc_trans_forall_loop): Remove annotation for
819 parallell processing of DO CONCURRENT -ftree-parallelize-loops
822 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
825 * resolve.c (resolve_variable): Simplify cases where access to a
826 parameter array results in a single constant.
828 2018-04-02 Thomas Koenig <tkoenig@gcc.gnu.org>
831 * decl.c (variable_decl): If upper or lower bounds simplify
832 to a constant, use that.
834 2018-03-30 Paul Thomas <pault@gcc.gnu.org>
837 * simplify.c (gfc_convert_constant): Handle case of array
838 constructors within an array that has no iterator and improve
839 the conciseness of this section of code.
841 2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
844 * array.c (gfc_resolve_character_array_constructor): Early
845 exit for zero-size arrays.
846 * simplify.c (simplify_transformation_to_array): Exit early
847 if the result size is zero.
848 (simplify_minmaxloc_to_array): Likewise.
850 2018-03-28 Mikael Morin <mikael@gcc.gnu.org>
853 * symbol.c (gfc_symbol_done_2): Start freeing namespaces
855 (gfc_free_namespace): Restore assert (revert r258839).
857 2018-03-28 Jakub Jelinek <jakub@redhat.com>
859 * gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
860 * ioparm.def (IOPARM_dt_default_exp): Rename to ...
861 (IOPARM_dt_dec_ext): ... this.
862 * trans-io.c (build_dt): Adjust for default_exp renaming to
863 dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
864 * io.c (match_io): Likewise.
866 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
869 * frontend-passes.c (gfc_run_passes): Do not run front-end
870 optimizations if a previous error occurred.
872 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
873 Harald Anlauf <anlauf@gmx.de>
876 * primary.c (gfc_convert_to_structure_constructor): Check
877 conformance of argument types in structure constructor.
879 2018-03-26 Thomas Koenig <tkoenig@gcc.gnu.org>
882 * io.c: Include constructor.h.
883 (resolve_tag_format): For a constant character array, concatenate
884 into a single character expression.
886 2018-03-25 Seth Johnson <johnsonsr@ornl.gov>
887 Dominique d'Humieres <dominiq@gcc.gnu.org>
890 * check.c (gfc_check_c_f_pointer): Allow scalar noninteroperable
891 scalar derived type with -std=f2003 and -std=f2008.
893 2018-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
894 Dominique d'Humieres <dominiq@gcc.gnu.org>
897 * symbol.c (gfc_free_namespace): Delete the assert and only if
898 refs count is equals zero, free the namespace. Otherwise,
899 something is halfway and other errors will resound.
901 2018-03-24 Thomas Koenig <tkoenig@gcc.gnu.org>
904 * expr.c (find_substring_ref): Change types of start, end
905 and length variables to gfc_charlen_t. Set length to zero
908 2018-03-24 Steven G. Kargl <kargl@gcc.gnu.org>
911 * decl.c (check_function_name): Improved error message
912 (gfc_match_volatile, gfc_match_asynchronous) Use check_function_name.
914 2018-03-22 Steven G. Kargl <kargl@gcc.gnu.org>
917 * decl.c (get_proc_name): If the MODULE prefix appears in interface
918 body, then it must appear on the contained subroutine or function.
919 While here, fix nearby mis-indented code.
921 2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
922 Harald Anlauf <anlauf@gmx.de>
925 * trans-types.c (gfc_sym_type): Do not dereference NULL pointer.
927 2018-03-21 Janne Blomqvist <jb@gcc.gnu.org>
930 * trans-expr.c (gfc_conv_procedure_call): Convert charlen to
931 gfc_charlen_type_node when calling procedure.
933 2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org>
936 * interface.c (symbol_rank): Remove bogus null pointer check that
937 crept in when translating a ternary operator into an if-else
940 2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
943 * simplify.c (gfc_convert_constant): Correctly handle iterators
946 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
949 * decl.c (get_proc_name): Check for a subroutine re-defined in
950 the contain portion of a subroutine. Change language of existing
951 error message to better describe the issue. While here fix whitespace
954 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
957 * decl.c (get_proc_name): Catch clash between a procedure statement
958 and a contained subprogram
960 2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org>
963 * decl.c (merge_array_spec): Correct the error condition.
965 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
968 * decl.c (get_proc_name): Check for clash of entry name with
971 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
974 * decl.c (merge_array_spec): Limit the merging to maximum allowed
975 dimensions, and issue error message if limit is exceeded.
977 2018-03-13 Steven G. Kargl <kargl@gcc.gnu.org>
979 * check.c (gfc_check_kill_sub): Remove check for INTEGER(4) or (8).
980 * intrinsic.c (add_functions): Remove reference to gfc_resolve_kill.
981 (add_subroutines): Remove reference to gfc_resolve_kill_sub.
982 * intrinsic.texi: Update documentation.
983 * iresolve.c (gfc_resolve_kill, gfc_resolve_kill_sub): Remove.
984 * trans-decl.c (gfc_build_intrinsic_function_decls): Add
985 gfor_fndecl_kill and gfor_fndecl_kill_sub
986 * trans-intrinsic.c (conv_intrinsic_kill, conv_intrinsic_kill_sub): new
988 (gfc_conv_intrinsic_function): Use conv_intrinsic_kill.
989 (gfc_conv_intrinsic_subroutine): Use conv_intrinsic_kill_sub.
990 * trans.h: Declare gfor_fndecl_kill and gfor_fndecl_kill_sub.
992 2018-03-11 Paul Thomas <pault@gcc.gnu.org>
995 * trans-array.c (structure_alloc_comps): Make sure that the
996 vptr is copied and that the unlimited polymorphic _len is used
997 to compute the size to be allocated.
998 * trans-expr.c (gfc_get_class_array_ref): If unlimited, use the
999 unlimited polymorphic _len for the offset to the element.
1000 (gfc_copy_class_to_class): Set the new 'unlimited' argument.
1001 * trans.h : Add the boolean 'unlimited' to the prototype.
1003 2018-03-11 Steven G. Kargl <kargl@gcc.gnu.org>
1006 * resolve.c (resolve_fl_procedure): Enforce F2018:C15100.
1008 2018-03-11 Steven G. Kargl <kargls@gcc.gnu.org>
1010 * check.c (gfc_check_kill): Check pid and sig are scalar.
1011 (gfc_check_kill_sub): Restrict kind to 4 and 8.
1012 * intrinsic.c (add_function): Sort keyword list. Add pid and sig
1013 keywords for KILL. Remove redundant *back="back" in favor of the
1014 original *bck="back".
1015 (add_subroutines): Sort keyword list. Add pid and sig keywords
1017 * intrinsic.texi: Fix documentation to consistently use pid and sig.
1018 * iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8. Choose the
1020 (gfc_resolve_rename_sub): Add comment.
1022 2018-03-11 Thomas Koenig <tkoenig@gcc.gnu.org>
1025 * simplify.c (simplify_transformation): Return default result for
1026 empty array argument.
1027 (gfc_simplify_all): Remove special-case handling for zerosize.
1028 (gfc_simplify_any): Likewise.
1029 (gfc_simplify_count): Likewise.
1030 (gfc_simplify_iall): Likewise.
1031 (gfc_simplify_iany): Likewise.
1032 (gfc_simplify_iparity): Likewise.
1033 (gfc_simplify_minval): Likewise.
1034 (gfc_simplify_maxval): Likewise.
1035 (gfc_simplify_norm2): Likewise.
1036 (gfc_simplify_product): Likewise.
1037 (gfc_simplify_sum): Likewise.
1039 2018-03-10 Steven G. Kargl <kargl@gcc.gnu.org>
1042 * arith.c (check_result, eval_intrinsic): If result overflows, pass
1043 the expression up the chain instead of a NULL pointer.
1045 2018-03-07 Steven G. Kargl <kargl@gcc.gnu.org>
1049 * decl.c (gfc_match_char_spec): Try to reduce a charlen to a constant.
1051 2017-03-06 Thomas Koenig <tkoenig@gcc.gnu.org>
1055 * expr.c (simplify_parameter_variable): If p is a size zero array
1056 and not an ARRAY_EXPR insert an empty array constructor and
1058 * gfortran.h: Add prototype for gfc_is_size_zero_array.
1059 * simplify.c (is_size_zero_array): Make non-static and rename into
1060 (gfc_is_size_zero_array): Check for parameter arrays of zero
1061 size by comparing shape and absence of constructor.
1062 (gfc_simplify_all): Use gfc_is_size_zero_array instead of
1064 (gfc_simplify_count): Likewise.
1065 (gfc_simplify_iall): Likewise.
1066 (gfc_simplify_iany): Likewise.
1067 (gfc_simplify_iparity): Likewise.
1068 (gfc_simplify_minval): Likewise.
1069 (gfc_simplify_maxval): Likewise.
1070 (gfc_simplify_product): Likewise.
1071 (gfc_simplify_sum): Likewise.
1073 2018-03-06 Steven G. Kargl <kargl@gcc.gnu.org>
1076 * primary.c (match_sym_complex_part): Give the matcher for an implied
1077 do-loop a chance to run.
1079 2018-03-03 Harald Anlauf <anlauf@gmx.de>
1082 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not
1083 dereference NULL pointer.
1085 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
1088 * simplify.c (is_size_zero_array): New function to check for size
1090 (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
1091 gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity,
1092 gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2,
1093 gfc_simplify_product, gfc_simplify_sum): Use it, and implement
1094 requirements from F2018.
1096 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
1099 * simplify.c (gfc_simplify_transfer): Resolve mold.
1101 2018-03-03 Paul Thomas <pault@gcc.gnu.org>
1104 * resolve.c (build_loc_call): Change symtree name from 'loc' to
1107 2018-03-01 Paul Thomas <pault@gcc.gnu.org>
1110 * target-memory.c (gfc_interpret_derived): Assert that BT_VOID
1111 components are caf tokens.
1112 (gfc_target_interpret_expr): Treat BT_VOID expressions as
1115 2018-03-01 Paul Thomas <pault@gcc.gnu.org>
1118 * class.c (class_array_ref_detected): Remove the condition that
1119 there be no reference after the array reference.
1120 (find_intrinsic_vtab): Remove excess whitespace.
1121 * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp'
1122 as 'base and call build_class_array_ref earlier.
1124 2018-02-28 Paul Thomas <pault@gcc.gnu.org>
1127 * trans-stmt.c (trans_associate_var): Make sure that the se
1128 expression is a pointer type before converting it to the symbol
1131 2018-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
1134 * decl.c (variable_decl): Check that an explicit-shape-array with
1135 nonconstant bounds is allowed.
1137 2018-02-25 Paul Thomas <pault@gcc.gnu.org>
1140 * trans-intrinsic.c (gfc_conv_allocated): If the argument se
1141 has a pre block, add it to the expression pre block.
1143 2018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1146 * gfortran.h (gfc_integer_4_kind): Define.
1147 * resolve.c (resolve_select_type): Make sure that the
1148 kind of c->high is gfc_integer_4_kind.
1150 2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
1153 * decl.c (gfc_match_data): Check for invalid substring in
1156 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
1158 * intrinsic.texi: Arguments to MATMUL cannot both be rank one.
1160 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
1163 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement.
1165 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
1168 * interface.c (compare_actual_formal): Issue error if keyword is
1169 used in a statement function.
1171 2018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1174 * trans-io.c (set_parameter_value_inquire): Adjust range check of
1175 negative unit values for kind=8 units to the kind=4 negative limit.
1177 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
1180 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before
1181 accessing its components.
1183 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
1186 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name
1187 before accessing its components.
1189 2018-02-23 Paul Thomas <pault@gcc.gnu.org>
1192 * trans-const.c : Clean up some whitespace issues.
1193 * trans-expr.c (gfc_conv_initializer): If an iso_c_binding
1194 derived type has a kind value of zero, set it to the default
1197 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org>
1200 * trans-decl.c (gfc_build_builtin_function_decls): Add bool
1201 argument to stop and error stop decls.
1202 * trans-stmt.c (gfc_trans_stop): Add false value to argument
1205 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
1209 * trans-decl.c (gfc_build_builtin_function_decls): Pass
1210 gfc_int8_type node to pause_numeric, size_type_node to
1212 * trans-stmt.c (gfc_trans_pause): Likewise.
1214 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
1216 * gfortran.texi: Update Coarray API description.
1217 * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for
1218 character lengths, int for exit codes.
1219 (generate_coarray_sym_init): Use size_t for character length.
1220 * trans-intrinsic.c (conv_co_collective): Likewise.
1221 * trans-stmt.c (gfc_trans_lock_unlock): Likewise.
1222 (gfc_trans_event_post_wait): Likewise.
1223 (gfc_trans_sync): Likewise.
1224 (gfc_trans_stop): Use size_t for character lengths, int for exit
1227 2018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org>
1231 * primary.c (gfc_convert_to_structure_constructor):
1232 For a constant string constructor, make sure the length
1235 2018-02-19 Paul Thomas <pault@gcc.gnu.org>
1239 * resolve.c (resolve_assoc_var): Rearrange the logic for the
1240 determination of the character length of associate names. If
1241 the associate name is missing a length expression or the length
1242 expression is not a constant and the target is not a variable,
1243 make the associate name allocatable and deferred length.
1244 * trans-decl.c (gfc_get_symbol_decl): Null the character length
1245 backend_decl for deferred length associate names that are not
1246 variables. Set 'length' to gfc_index_zero_node for character
1247 associate names, whose character length is a PARM_DECL.
1249 2018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org>
1252 * frontend-passes.c (traverse_io_block): Remove workaround for
1255 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
1257 * gfortran.texi: Document additional src/dst_type. Fix some typos.
1258 * trans-decl.c (gfc_build_builtin_function_decls): Declare the new
1259 argument of _caf_*_by_ref () with * e { get, send, sendget }.
1260 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the
1261 data referenced when generating a call to caf_get_by_ref ().
1262 (conv_caf_send): Same but for caf_send_by_ref () and
1263 caf_sendget_by_ref ().
1265 2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1268 * io.c (check_format): Allow FMT_COLON.
1270 2018-02-18 Paul Thomas <pault@gcc.gnu.org>
1273 * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from
1274 the typenode in the case of deferred length characters.
1276 2018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1279 * frontend-passes (scalarized_expr): If the expression
1280 is an assumed size array, leave in the last reference
1281 and pass AR_SECTION instead of AR_FULL to gfc_resolve
1282 in order to avoid an error.
1284 2018-02-17 Paul Thomas <pault@gcc.gnu.org>
1287 * resolve.c (resolve_assoc_var): If a non-constant target expr.
1288 has no string length expression, make the associate variable
1289 into a deferred length, allocatable symbol.
1290 * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to
1292 * trans-stmt.c (trans_associate_var): Null and free scalar
1293 associate names that are allocatable. After assignment, remove
1294 the allocatable attribute to prevent reallocation.
1296 2018-02-16 Jakub Jelinek <jakub@redhat.com>
1299 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF
1300 kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step.
1302 2018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org>
1305 * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs.
1307 2018-02-15 Janus Weil <janus@gcc.gnu.org>
1310 * interface.c (check_dtio_arg_TKR_intent): Add a check for character
1313 2018-02-14 Janus Weil <janus@gcc.gnu.org>
1316 * match.c (gfc_match_select_type): Fix check for selector in
1317 SELECT TYPE statement.
1319 2018-02-13 Janus Weil <janus@gcc.gnu.org>
1322 * symbol.c (check_conflict): Reject procedure pointers in common blocks.
1324 2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie>
1325 Janne Blomqvist <jb@gcc.gnu.org>
1327 * module.c (dump_module): Use lbasename to ensure that module
1328 files are reproducible.
1330 2018-02-12 Janus Weil <janus@gcc.gnu.org>
1333 * resolve.c (resolve_component): Fix checks of passed argument in
1334 procedure-pointer components.
1336 2018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1339 * resolve.c (resolve_formal_arglist): Update error message.
1341 2018-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
1343 * gfortran.texi: Fix typos in documentation of caf_register ().
1344 * trans-array.c (structure_alloc_comps): Only register a component of
1345 a derived typed corray, not of an ultimate component coarray.
1347 2018-02-11 Steven G. Kargl <kargl@gcc.gnu.org>
1351 * interface.c (compare_actual_formal): Add in_statement_function
1352 bool parameter. Skip check of INTENT attribute for statement
1353 functions. Arguments to a statement function cannot be optional,
1354 issue error for missing argument.
1355 (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use
1356 in_statement_function.
1358 2018-02-11 Paul Thomas <pault@gcc.gnu.org>
1361 * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset
1362 flag. If the is a vector subscript or the expression is not a
1363 variable, make the descriptor one-based.
1365 2018-02-10 Paul Thomas <pault@gcc.gnu.org>
1369 * trans-array.c (gfc_array_init_size): Revert the change made
1370 in revision 257356 setting the dtype.
1371 * trans-types.c (gfc_get_dtype): Do not use the cached dtype.
1372 Call gfc_get_dtype_rank_type every time.
1375 * trans-array.c (gfc_conv_expr_descriptor): If the source array
1376 is a descriptor type, use its offset, removing the condition
1377 that is be a class expression.
1379 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
1382 * match.c (gfc_match_deallocate): Check for NULL pointer.
1384 2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org>
1387 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function.
1388 (gfc_conv_intrinsic_function): Call it.
1390 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
1393 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then
1394 try to resolve it. While here return early if possible.
1396 2018-02-04 Paul Thomas <pault@gcc.gnu.org>
1399 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of
1400 'length' if the symbol charlen backend_decl is an indirect ref.
1402 2018-02-03 Paul Thomas <pault@gcc.gnu.org>
1406 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype
1407 use gfc_get_dtype_rank_type.
1409 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
1413 * resolve.c (resolve_assoc_var): Generate an error if
1414 target length unknown.
1416 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
1419 * simplify.c (gfc_simplify_repeat): Increase limit for deferring
1420 to runtime, print a warning message.
1422 2018-01-31 Jakub Jelinek <jakub@redhat.com>
1425 * openmp.c (gfc_match_omp_clauses): If all the linear
1426 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist
1427 nor set *head = NULL. Formatting fixes.
1429 2018-01-31 Paul Thomas <pault@gcc.gnu.org>
1432 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is
1433 an address expression passed to an assumed rank dummy, convert
1434 to an indirect reference.
1436 2018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
1438 * dump-parse-tree.c (write_proc): Use sym_name (which may
1439 be sym->binding_label) instead of sym->name.
1441 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
1443 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead
1446 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
1449 * trans-expr.c (fill_with_spaces): Use memset instead of
1451 (gfc_trans_string_copy): Improve opportunity to use builtins with
1454 2018-01-30 Jakub Jelinek <jakub@redhat.com>
1457 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off
1458 to DATA_FIELD's offset rather than OFFSET_FIELD's offset.
1460 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1463 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is
1466 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1469 * frontend-passes (matmul_to_var_expr): Return early if
1470 in association list.
1471 (inline_matmul_assign): Likewise.
1473 2017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
1476 * resolve.c (resolve_component): Ensure BIND(C) character
1477 components have length one.
1478 (resolve_symbol): Likewise for variables.
1480 2018-01-27 Jakub Jelinek <jakub@redhat.com>
1483 * decl.c (add_init_expr_to_sym): Ignore initializers for too large
1486 2018-01-26 Damian Rouson <damian@sourceryinstitute.org>
1487 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
1488 Soren Rasmussen <s.c.rasmussen@gmail.com>
1490 Partial support for Fortran 2018 teams features.
1492 * array.c (gfc_match_array_ref): add team attribute in coarray
1494 * check.c (gfc_check_get_team, gfc_check_team_number): add new
1495 functions for get_team and team_number.
1496 * dump-parse-tree.c (show_code_node): add new statements: form team,
1497 change team, end team, and sync team.
1498 * expr.c (gfc_find_team_co): add new function.
1499 * gfortran.h: add new statements.
1500 * intrinsic.c (add_functions): add get_team and team_number functions.
1501 * intrinsic.h: add get_team and team_number prototypes for check,
1502 simplify, and resolve.
1503 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new
1505 * iso-fortran-env.def: add the team_type derived type.
1506 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number)
1507 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team):
1508 add change team, end team, form team, sync team match and functions.
1509 * match.h: add new prototypes for change team, end team, form team,
1511 * parse.c (decode_statement): add cases for change team, end team,
1512 form team, and sync team.
1513 * resolve.c: add cases for exec form team, change team, end team, and
1515 * simplify.c (gfc_simplify_get_team): add new function for get team.
1516 * st.c (gfc_free_statement): add cases exec for change team, end team,
1517 form team, sync team.
1518 * trans-decl.c (gfor_fndecl_caf_form_team)
1519 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team)
1520 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team)
1521 (gfor_fndecl_caf_team_number): add functions and definitions.
1522 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add
1523 new function and team_type argument support.
1524 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team)
1525 (gfc_trans_end_team, gfc_trans_sync_team): add new functions.
1526 * trans-stmt.h: add new prototypes.
1527 * trans-types.c (gfc_get_derived_type): check condition for team_type.
1528 * trans.c (trans_code): new exec cases for form team, change team, end
1529 team, and sync team.
1530 * trans.h: add new prototypes.
1532 2018-01-26 Steven G. Kargl <kargl@gcc.gnu.org>
1535 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0
1536 or .false. The summation does the correct type conversion.
1537 (gfc_simplify_dot_product): Special case zero-sized arrays.
1539 2018-25-01 Paul Thomas <pault@gcc.gnu.org>
1542 * array.c (gfc_match_array_ref): If standard earlier than F2008
1543 it is an error if the reference dimension is greater than 7.
1544 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the
1545 dtype masks and shifts accordingly.
1546 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype
1547 type node to check the field.
1548 (gfc_conv_descriptor_dtype): Access the rank field of dtype.
1549 (duplicate_allocatable_coarray): Access the rank field of the
1550 dtype descriptor rather than the dtype itself.
1551 * trans-expr.c (get_scalar_to_descriptor_type): Store the type
1552 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE
1554 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to
1555 get_scalar_to_descriptor_type if the actual expression is a
1557 (gfc_trans_structure_assign): Assign the rank directly to the
1559 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result
1560 to default integer kind.
1561 (gfc_conv_intrinsic_sizeof): Obtain the element size from the
1562 'elem_len' field of the dtype.
1563 * trans-io.c (gfc_build_io_library_fndecls): Replace
1564 gfc_int4_type_node with dtype_type_node where necessary.
1565 (transfer_namelist_element): Use gfc_get_dtype_rank_type for
1567 * trans-types.c : Provide 'get_dtype_type_node' to acces the
1568 dtype_type_node and, if necessary, build it.
1569 The maximum size of an array element is now determined by the
1570 maximum value of size_t.
1571 Update the description of the array descriptor, including the
1572 type def for the dtype_type.
1573 (gfc_get_dtype_rank_type): Build a constructor for the dtype.
1574 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS.
1575 (gfc_get_array_descriptor_base): Change the type of the dtype
1576 field to dtype_type_node.
1577 (gfc_get_array_descr_info): Get the offset to the rank field of
1579 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'.
1580 * trans.h : Define the indices of the dtype fields.
1582 2018-23-01 Paul Thomas <pault@gcc.gnu.org>
1585 * decl.c (gfc_match_derived_decl): If eos not matched, recover
1586 and emit error about garbage after declaration.
1588 2018-23-01 Paul Thomas <pault@gcc.gnu.org>
1591 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor
1594 2018-01-22 Janne Blomqvist <jb@gcc.gnu.org>
1598 * arith.c (gfc_arith_concat): Use size_t for string length.
1599 (gfc_compare_string): Likewise.
1600 (gfc_compare_with_Cstring): Likewise.
1601 * array.c (gfc_resolve_character_array_constructor): Use
1602 HOST_WIDE_INT, gfc_mpz_get_hwi.
1603 * check.c (gfc_check_fe_runtime_error): Use size_t.
1604 * data.c (create_character_initializer): Use HOST_WIDE_INT,
1606 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t.
1607 (add_init_expr_to_sym): Use HOST_WIDE_INT.
1608 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT,
1610 (gfc_apply_init): Likewise.
1611 * match.h (gfc_set_constant_character_len): Update prototype.
1612 * primary.c (match_string_constant): Use size_t.
1613 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT,
1615 * simplify.c (init_result_expr): Likewise.
1616 (gfc_simplify_len_trim): Use size_t.
1617 * target-memory.c (gfc_encode_character): Use size_t.
1618 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi.
1619 (interpret_array): Use size_t.
1620 (gfc_interpret_character): Likewise.
1621 * target-memory.h (gfc_encode_character): Update prototype.
1622 (gfc_interpret_character): Likewise.
1623 (gfc_target_interpret_expr): Likewise.
1624 * trans-const.c (gfc_build_string_const): Use size_t for length
1626 (gfc_build_wide_string_const): Likewise.
1627 * trans-const.h (gfc_build_string_const): Likewise.
1628 (gfc_build_wide_string_const): Likewise.
1630 2018-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
1633 * simplify.c (gfc_simplify_matmul): Set return type correctly.
1635 2018-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
1638 * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
1640 2018-01-17 Harald Anlauf <anlauf@gmx.de>
1643 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
1645 2018-01-17 Harald Anlauf <anlauf@gmx.de>
1648 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
1650 2018-01-15 Louis Krupp <louis.krupp@zoho.com>
1653 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA
1654 from symbol marked unlimited polymorphic.
1655 * resolve.c (resolve_structure_cons): Likewise.
1656 * misc.c (gfc_typename): Don't dereference derived->components
1659 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
1662 * gfortran.h (gfc_check_f): Rename f4ml to f5ml.
1663 (gfc_logical_4_kind): New macro
1664 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument.
1665 (gfc_simplify_maxloc): Likewise.
1666 (gfc_resolve_maxloc): Likewise.
1667 (gfc_resolve_minloc): Likewise.
1668 * check.c (gfc_check_minloc_maxloc): Add checking for "back"
1669 argument; also raise error if it is used (for now). Add it
1670 if it isn't present.
1671 * intrinsic.c (add_sym_4ml): Rename to
1672 (add_sym_5ml), adjust for extra argument.
1673 (add_functions): Add "back" constant. Adjust maxloc and minloc
1675 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is
1676 not of gfc_logical_4_kind, convert.
1677 (gfc_resolve_minloc): Likewise.
1678 * simplify.c (gfc_simplify_minloc): Add back argument.
1679 (gfc_simplify_maxloc): Likewise.
1680 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last
1681 argument to %VAL to ensure passing by value.
1682 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc
1683 also for library calls.
1685 2018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1688 * resolve.c (resolve_transfer): Delete code looking for 'DT'
1689 format specifiers in format strings. Set formatted to true if a
1690 format string or format label is present.
1691 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix
1694 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1697 * dump-parse-tree.c (get_c_type_name): Remove extra line.
1698 Change for loop to use declaration in for loop. Handle BT_LOGICAL
1700 (write_decl): Add where argument. Fix indentation. Replace
1701 assert with error message. Add typename to warning
1703 (write_type): Adjust locus to call of write_decl.
1704 (write_variable): Likewise.
1705 (write_proc): Likewise. Replace assert with error message.
1707 2018-01-13 Paul Thomas <pault@gcc.gnu.org>
1710 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if
1711 the rhs expression is neither an elemental nor a conversion
1715 * trans-array.c (is_pointer_array): Remove unconditional return
1716 of false for -fopenmp.
1718 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1722 * dump-parse-tree.c (write_proc): Always emit closing parenthesis
1725 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
1728 * resolve.c (resolve_allocate_expr): Check for NULL pointer.
1730 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
1733 * resolve.c (resolve_charlen): Check the type of cl->length
1736 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
1739 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting.
1741 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
1744 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the
1745 LHS type when assigning.
1747 2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
1750 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer.
1752 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
1754 * match.c (gfc_match_allocate): Check for NULL pointer.
1756 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
1758 * expr.c (gfc_check_pointer_assign): Fix typo in comment.
1760 2018-01-08 Paul Thomas <pault@gcc.gnu.org>
1763 * decl.c (gfc_get_pdt_instance): If parameterized arrays have
1764 an initializer, convert the kind parameters and add to the
1765 component if the instance.
1766 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and
1767 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable'
1768 for parameterized arrays. Clean up typos in comments. Convert
1769 parameterized array initializers and copy into the array.
1770 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for
1771 parameterized types.
1772 *trans-stmt.c (trans_associate_var): Deallocate associate vars
1773 as necessary, when they are PDT function results for example.
1776 * trans-array.c (structure_alloc_comps): Only compare len parms
1777 when they are declared explicitly.
1779 2018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
1782 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to
1785 2018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
1789 * array.c (got_charlen): Use gfc_charlen_int_kind.
1790 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
1792 (find_intrinsic_vtab): Likewise.
1793 * decl.c (match_char_length): Use gfc_charlen_int_kind.
1794 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind.
1795 (gfc_match_implicit): Use gfc_charlen_int_kind.
1796 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t.
1797 (show_expr): Use HOST_WIDE_INT_PRINT_DEC.
1798 * expr.c (gfc_get_character_expr): Length parameter of type
1800 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
1801 (gfc_extract_hwi): New function.
1802 (simplify_const_ref): Make string_len of type gfc_charlen_t.
1803 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
1804 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind.
1805 * gfortran.h (gfc_mpz_get_hwi): New prototype.
1806 (gfc_mpz_set_hwi): Likewise.
1807 (gfc_charlen_t): New typedef.
1808 (gfc_expr): Use gfc_charlen_t for character lengths.
1809 (gfc_size_kind): New extern variable.
1810 (gfc_extract_hwi): New prototype.
1811 (gfc_get_character_expr): Use gfc_charlen_t for character length.
1812 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
1813 * gfortran.texi: Update description of hidden string length argument.
1814 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind.
1815 (gfc_resolve_char_achar): Likewise.
1816 (gfc_resolve_repeat): Pass string length directly without
1817 temporary, use gfc_charlen_int_kind.
1818 (gfc_resolve_transfer): Use gfc_charlen_int_kind.
1819 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
1820 * misc.c (gfc_mpz_get_hwi): New function.
1821 (gfc_mpz_set_hwi): New function.
1822 * module.c (atom_int): Change type from int to HOST_WIDE_INT.
1823 (parse_integer): Don't complain about large integers.
1824 (write_atom): Use HOST_WIDE_INT for integers.
1825 (mio_integer): Handle integer type mismatch.
1826 (mio_hwi): New function.
1827 (mio_intrinsic_op): Use HOST_WIDE_INT.
1828 (mio_array_ref): Likewise.
1829 (mio_expr): Likewise.
1830 * primary.c (match_substring): Use gfc_charlen_int_kind.
1831 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind.
1832 (resolve_character_operator): Likewise.
1833 (resolve_assoc_var): Likewise.
1834 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf.
1835 (resolve_charlen): Use mpz_sgn to determine sign.
1836 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
1838 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind.
1839 * target-memory.c (size_character): Length argument of type
1841 (gfc_encode_character): Likewise.
1842 (gfc_interpret_character): Use gfc_charlen_t.
1843 * target-memory.h (gfc_encode_character): Modify prototype.
1844 * trans-array.c (gfc_trans_array_ctor_element): Use existing type.
1845 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type.
1846 (trans_array_constructor): Use existing type.
1847 (get_array_charlen): Likewise.
1848 * trans-const.c (gfc_conv_mpz_to_tree_type): New function.
1849 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
1850 * trans-decl.c (gfc_trans_deferred_vars): Use existing type.
1851 (add_argument_checking): Likewise.
1852 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type
1853 gfc_charlen_type_node.
1854 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
1855 4, fold_convert to correct type.
1856 (gfc_conv_class_to_class): Build const of type size_type_node for
1858 (gfc_copy_class_to_class): Likewise.
1859 (gfc_conv_string_length): Use same type in expression.
1860 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
1861 (gfc_conv_string_tmp): Make sure len is of the right type.
1862 (gfc_conv_concat_op): Use same type in expression.
1863 (gfc_conv_procedure_call): Likewise.
1864 (fill_with_spaces): Comment out memset() block due to spurious
1865 -Wstringop-overflow warnings.
1866 (gfc_trans_string_copy): Use gfc_charlen_type_node.
1867 (alloc_scalar_allocatable_for_subcomponent_assignment):
1868 fold_convert to right type.
1869 (gfc_trans_subcomponent_assign): Likewise.
1870 (trans_class_vptr_len_assignment): Build const of correct type.
1871 (gfc_trans_pointer_assignment): Likewise.
1872 (alloc_scalar_allocatable_for_assignment): fold_convert to right
1874 (trans_class_assignment): Build const of correct type.
1875 * trans-intrinsic.c (gfc_conv_associated): Likewise.
1876 (gfc_conv_intrinsic_repeat): Do calculation in sizetype.
1877 * trans-io.c (gfc_build_io_library_fndecls): Use
1878 gfc_charlen_type_node for character lengths.
1879 (set_string): Convert to right type in assignment.
1880 * trans-stmt.c (gfc_trans_label_assign): Build const of
1881 gfc_charlen_type_node.
1882 (trans_associate_var): Likewise.
1883 (gfc_trans_character_select): Likewise.
1884 (gfc_trans_allocate): Likewise, don't typecast strlen result.
1885 (gfc_trans_deallocate): Don't typecast strlen result.
1886 * trans-types.c (gfc_size_kind): New variable.
1887 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
1888 from size_type_node.
1889 * trans-types.h: Fix comment.
1891 2018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
1895 * check.c (gfc_check_eoshift): Check for string length and
1896 for conformance of boundary.
1897 * intrinsic.c (add_functions): Add gfc_simplify_eoshift.
1898 * intrinsic.h: Add prototype for gfc_simplify_eoshift.
1899 * simplify.c (gfc_simplify_eoshift): New function.
1901 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1902 Alan Hayward <alan.hayward@arm.com>
1903 David Sherwood <david.sherwood@arm.com>
1905 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL.
1907 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1908 Alan Hayward <alan.hayward@arm.com>
1909 David Sherwood <david.sherwood@arm.com>
1911 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p.
1913 2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
1916 * check.c (gfc_check_eoshift): Error for missing boundary if array
1917 is not one of the standard types.
1919 2018-01-03 Jakub Jelinek <jakub@redhat.com>
1921 Update copyright years.
1923 * gfortranspec.c (lang_specific_driver): Update copyright notice
1925 * gfc-internals.texi: Bump @copying's copyright year.
1926 * gfortran.texi: Ditto.
1927 * intrinsic.texi: Ditto.
1928 * invoke.texi: Ditto.
1930 2017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1933 * intrinsic.c (add_function): Add gfc_simplify_maxloc and
1934 gfc_simplify_minloc to maxloc and minloc, respectively.
1935 * intrinsic.h: Add prototypes for gfc_simplify_minloc
1936 and gfc_simplify_maxloc.
1937 * simplify.c (min_max_chose): Adjust prototype. Modify function
1938 to have a return value which indicates if the extremum was found.
1939 (is_constant_array_expr): Fix typo in comment.
1940 (simplify_minmaxloc_to_scalar): New function.
1941 (simplify_minmaxloc_nodim): New function.
1942 (new_array): New function.
1943 (simplify_minmaxloc_to_array): New function.
1944 (gfc_simplify_minmaxloc): New function.
1945 (simplify_minloc): New function.
1946 (simplify_maxloc): New function.
1948 2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1952 * simplify.c (gfc_simplify_cshift): Re-implement to allow full
1955 2018-01-01 Paul Thomas <pault@gcc.gnu.org>
1958 * resolve.c (resolve_fl_derived0): Add caf_token fields for
1959 allocatable and pointer scalars, when -fcoarray selected.
1960 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token
1961 field as well as the backend_decl.
1962 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module
1963 derived types that are not vtypes. Components with caf_token
1964 attribute are pvoid types. For a component requiring it, find
1965 the caf_token field and have the component token field point to
1969 *trans-types.c (gfc_get_array_descriptor_base): Add the token
1970 field to the descriptor even when codimen not set.
1972 Copyright (C) 2018 Free Software Foundation, Inc.
1974 Copying and distribution of this file, with or without modification,
1975 are permitted in any medium without royalty provided the copyright
1976 notice and this notice are preserved.