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