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