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