1 2018-01-25 Release Manager
5 2018-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
8 * simplify.c (gfc_simplify_matmul): Set return type correctly.
10 2018-01019 Steven G. Kargl <kargl@gcc.gnu.org>
13 * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
15 2018-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
17 Backport of r250734 from mainline
19 * check.c (gfc_check_num_images): Fix typo.
21 2018-01-18 Harald Anlauf <anlauf@gmx.de>
23 Backport from mainline
25 * expr.c (gfc_apply_init): Do not dereference NULL pointer.
27 2018-01-17 Harald Anlauf <anlauf@gmx.de>
29 Backport from mainline
31 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
33 2018-01-13 Steven G. Kargl <kargl@gcc.gnu.org>
35 Backport from mainline
37 * interface.c (symbol_rank): Check for NULL pointer.
39 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
43 * resolve.c (resolve_allocate_expr): Check for NULL pointer.
45 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
49 * resolve.c (resolve_charlen): Check the type of cl->length
52 2018-01-10 Steven G. Kargl <kargl@kgcc.gnu.org>
54 Backport r254555 from trunk
56 * simplify.c(gfc_simplify_transfer): Do not dereference a NULL pointer.
59 2018-01-04 Steven G. Kargl <kargl@gcc.gnu.org>
62 * simplify.c (gfc_simplify_cshift): Restore early return for zero-sized
63 array. Update Copyright year while here.
65 2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
68 * simplify.c (gfc_simplify_cshift): Correct contition for
71 2017-12-28 Steven G. Kargl <kargl@gcc.gnu.org>
74 * match.c (gfc_match_type_spec): Check for LOGICAL conflict in
75 type-spec versus LOGICAL intrinsic subprogram.
77 2017-12-15 Jakub Jelinek <jakub@redhat.com>
79 Backported from mainline
80 2017-11-24 Jakub Jelinek <jakub@redhat.com>
83 * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
84 attr.implicit_type in intrinsic_sym to avoid undesirable warning.
86 2017-11-23 Dirk Broemmel <d.broemmel@fz-juelich.de>
87 Jakub Jelinek <jakub@redhat.com>
90 * parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
93 2017-11-28 Paul Thomas <pault@gcc.gnu.org>
96 * resolve.c (resolve_component): Only escape for use assciated
97 vtypes if the current namespace has no proc_name and is most
98 particularly block data.
100 2017-11-23 Paul Thomas <pault@gcc.gnu.org>
102 Backported from trunk
104 * trans-expr.c (trans_class_vptr_len_assignment): Set from_len
105 if the temporary is unlimited polymorphic.
106 * trans-stmt.c (trans_associate_var): Use the fake result decl
107 to obtain the 'len' field from an explicit function result when
108 in that function scope.
110 2017-11-21 Paul Thomas <pault@gcc.gnu.org>
112 Backported from trunk fix for PR82586
114 * resolve.c (resolve_generic_f): Check usage of derived type by
115 calling gfc_use_derived.
117 2017-11-13 Paul Thomas <pault@gcc.gnu.org>
121 * trans-stmt.c (gfc_trans_allocate): Remove the gcc_assert on
122 null string length for assumed length typespec and set
123 expr3_esize to NULL_TREE;
125 2017-11-13 Paul Thomas <pault@gcc.gnu.org>
129 * check.c (same_type_check): Introduce a new argument 'assoc'
130 with default value false. If this is true, use the symbol type
131 spec of BT_PROCEDURE expressions.
132 (gfc_check_associated): Set 'assoc' true in the call to
135 2017-11-13 Janne Blomqvist <jb@gcc.gnu.org>
138 * convert.c (truthvalue_conversion): Use logical_type_node.
139 * trans-array.c (gfc_trans_allocate_array_storage): Likewise.
140 (gfc_trans_create_temp_array): Likewise.
141 (gfc_trans_array_ctor_element): Likewise.
142 (gfc_trans_array_constructor_value): Likewise.
143 (trans_array_constructor): Likewise.
144 (trans_array_bound_check): Likewise.
145 (gfc_conv_array_ref): Likewise.
146 (gfc_trans_scalarized_loop_end): Likewise.
147 (gfc_conv_array_extent_dim): Likewise.
148 (gfc_array_init_size): Likewise.
149 (gfc_array_allocate): Likewise.
150 (gfc_trans_array_bounds): Likewise.
151 (gfc_trans_dummy_array_bias): Likewise.
152 (gfc_conv_array_parameter): Likewise.
153 (duplicate_allocatable): Likewise.
154 (duplicate_allocatable_coarray): Likewise.
155 (structure_alloc_comps): Likewise
156 (get_std_lbound): Likewise
157 (gfc_alloc_allocatable_for_assignment): Likewise
158 * trans-decl.c (add_argument_checking): Likewise
159 (gfc_generate_function_code): Likewise
160 * trans-expr.c (gfc_copy_class_to_class): Likewise
161 (gfc_trans_class_array_init_assign): Likewise
162 (gfc_trans_class_init_assign): Likewise
163 (gfc_conv_expr_present): Likewise
164 (gfc_conv_substring): Likewise
165 (gfc_conv_cst_int_power): Likewise
166 (gfc_conv_expr_op): Likewise
167 (gfc_conv_procedure_call): Likewise
168 (fill_with_spaces): Likewise
169 (gfc_trans_string_copy): Likewise
170 (gfc_trans_alloc_subarray_assign): Likewise
171 (gfc_trans_pointer_assignment): Likewise
172 (gfc_trans_scalar_assign): Likewise
173 (fcncall_realloc_result): Likewise
174 (alloc_scalar_allocatable_for_assignment): Likewise
175 (trans_class_assignment): Likewise
176 (gfc_trans_assignment_1): Likewise
177 * trans-intrinsic.c (build_fixbound_expr): Likewise
178 (gfc_conv_intrinsic_aint): Likewise
179 (gfc_trans_same_strlen_check): Likewise
180 (conv_caf_send): Likewise
181 (trans_this_image): Likewise
182 (conv_intrinsic_image_status): Likewise
183 (trans_image_index): Likewise
184 (gfc_conv_intrinsic_bound): Likewise
185 (conv_intrinsic_cobound): Likewise
186 (gfc_conv_intrinsic_mod): Likewise
187 (gfc_conv_intrinsic_dshift): Likewise
188 (gfc_conv_intrinsic_dim): Likewise
189 (gfc_conv_intrinsic_sign): Likewise
190 (gfc_conv_intrinsic_ctime): Likewise
191 (gfc_conv_intrinsic_fdate): Likewise
192 (gfc_conv_intrinsic_ttynam): Likewise
193 (gfc_conv_intrinsic_minmax): Likewise
194 (gfc_conv_intrinsic_minmax_char): Likewise
195 (gfc_conv_intrinsic_anyall): Likewise
196 (gfc_conv_intrinsic_arith): Likewise
197 (gfc_conv_intrinsic_minmaxloc): Likewise
198 (gfc_conv_intrinsic_minmaxval): Likewise
199 (gfc_conv_intrinsic_btest): Likewise
200 (gfc_conv_intrinsic_bitcomp): Likewise
201 (gfc_conv_intrinsic_shift): Likewise
202 (gfc_conv_intrinsic_ishft): Likewise
203 (gfc_conv_intrinsic_ishftc): Likewise
204 (gfc_conv_intrinsic_leadz): Likewise
205 (gfc_conv_intrinsic_trailz): Likewise
206 (gfc_conv_intrinsic_mask): Likewise
207 (gfc_conv_intrinsic_spacing): Likewise
208 (gfc_conv_intrinsic_rrspacing): Likewise
209 (gfc_conv_intrinsic_size): Likewise
210 (gfc_conv_intrinsic_sizeof): Likewise
211 (gfc_conv_intrinsic_transfer): Likewise
212 (gfc_conv_allocated): Likewise
213 (gfc_conv_associated): Likewise
214 (gfc_conv_same_type_as): Likewise
215 (gfc_conv_intrinsic_trim): Likewise
216 (gfc_conv_intrinsic_repeat): Likewise
217 (conv_isocbinding_function): Likewise
218 (conv_intrinsic_ieee_is_normal): Likewise
219 (conv_intrinsic_ieee_is_negative): Likewise
220 (conv_intrinsic_ieee_copy_sign): Likewise
221 (conv_intrinsic_move_alloc): Likewise
222 * trans-io.c (set_parameter_value_chk): Likewise
223 (set_parameter_value_inquire): Likewise
224 (set_string): Likewise
225 * trans-openmp.c (gfc_walk_alloc_comps): Likewise
226 (gfc_omp_clause_default_ctor): Likewise
227 (gfc_omp_clause_copy_ctor): Likewise
228 (gfc_omp_clause_assign_op): Likewise
229 (gfc_omp_clause_dtor): Likewise
230 (gfc_omp_finish_clause): Likewise
231 (gfc_trans_omp_clauses): Likewise
232 (gfc_trans_omp_do): Likewise
233 * trans-stmt.c (gfc_trans_goto): Likewise
234 (gfc_trans_sync): Likewise
235 (gfc_trans_arithmetic_if): Likewise
236 (gfc_trans_simple_do): Likewise
237 (gfc_trans_do): Likewise
238 (gfc_trans_forall_loop): Likewise
239 (gfc_trans_where_2): Likewise
240 (gfc_trans_allocate): Likewise
241 (gfc_trans_deallocate): Likewise
242 * trans-types.c (gfc_init_types): Initialize logical_type_node and
243 their true/false trees.
244 (gfc_get_array_descr_info): Use logical_type_node.
245 * trans-types.h (logical_type_node): New tree.
246 (logical_true_node): Likewise.
247 (logical_false_node): Likewise.
248 * trans.c (gfc_trans_runtime_check): Use logical_type_node.
249 (gfc_call_malloc): Likewise
250 (gfc_allocate_using_malloc): Likewise
251 (gfc_allocate_allocatable): Likewise
252 (gfc_add_comp_finalizer_call): Likewise
253 (gfc_add_finalizer_call): Likewise
254 (gfc_deallocate_with_status): Likewise
255 (gfc_deallocate_scalar_with_status): Likewise
256 (gfc_call_realloc): Likewise
258 2017-11-06 Paul Thomas <pault@gcc.gnu.org>
260 Backported from trunk
262 * resolve.c (resolve_ordinary_assign): Do not add the _data
263 component for class valued array constructors being assigned
264 to derived type arrays.
265 * trans-array.c (gfc_trans_array_ctor_element): Take the _data
266 of class valued elements for assignment to derived type arrays.
268 2017-11-06 Paul Thomas <pault@gcc.gnu.org>
270 Backported from trunk
272 * trans-expr.c (gfc_map_intrinsic_function): Return false for
273 bounds without the DIM argument instead of ICEing.
275 2017-11-04 Steven G. Kargl <kargl@gcc.gnu.org>
278 * resolve.c (resolve_equivalence): An entity in a common block within
279 a module cannot appear in an equivalence statement if the entity is
280 with a pure procedure.
282 2017-11-04 Andre Vehreschild <vehre@gcc.gnu.org>
284 * trans-expr.c (gfc_trans_assignment_1): Character kind conversion may
285 create a loop variant temporary, too.
286 * trans-intrinsic.c (conv_caf_send): Treat char arrays as arrays and
288 * trans.c (get_array_span): Take the character kind into account when
289 doing pointer arithmetic.
291 2017-11-03 Paul Thomas <pault@gcc.gnu.org>
294 * trans-decl.c (gfc_trans_deferred_vars): Correct case where
295 'tmp' can be used unititialized.
297 2017-11-01 Paul Thomas <pault@gcc.gnu.org>
299 Backported from trunk
301 * decl.c (build_sym): In a submodule allow overriding of host
302 associated symbols from the ancestor module with a new
305 2017-11-01 Paul Thomas <pault@gcc.gnu.org>
309 * trans_expr.c (gfc_conv_procedure_call): When passing a class
310 argument to an unlimited polymorphic dummy, it is wrong to cast
311 the passed expression as unlimited, unless it is unlimited. The
312 correct way is to assign to each of the fields and set the _len
315 2017-10-28 Andre Vehreschild <vehre@gcc.gnu.org>
317 * check.c (gfc_check_co_reduce): Clarify error message.
319 2017-10-28 Paul Thomas <pault@gcc.gnu.org>
321 Backported from trunk
323 * trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr'
324 must only be set if the right hand side expression is of type
327 2017-10-21 Paul Thomas <pault@gcc.gnu.org>
331 * resolve.c (gfc_resolve_code): Simplify condition for class
332 pointer assignments becoming regular assignments by asserting
333 that only class valued targets are permitted.
334 * trans-expr.c (trans_class_pointer_fcn): New function using a
335 block of code from gfc_trans_pointer_assignment.
336 (gfc_trans_pointer_assignment): Call the new function. Tidy up
337 a minor whitespace issue.
339 2017-10-20 Thomas Koenig <tkoenig@gcc.gnu.org>
343 * resolve.c (resovle_symbol): Change gcc_assert to
344 sensible error message.
346 2017-10-16 Paul Thomas <pault@gcc.gnu.org>
349 * match.c (gfc_match_associate): Before failing the association
350 try again, allowing a proc pointer selector.
355 * primary.c (gfc_match_varspec): Introduce 'tgt_expr', which
356 points to the associate selector, if any. Go through selector
357 references, after resolution for variables, to catch any full
358 or section array references. If a class associate name does
359 not have the same declared type as the selector, resolve the
360 selector and copy the declared type to the associate name.
361 Before throwing a no implicit type error, resolve all allowed
362 selector expressions, and copy the resulting typespec.
365 * resolve.c (resolve_assoc_var): Selector must cannot be the
366 NULL expression and it must have a type.
369 * resolve.c (resolve_symbol): Allow associate names to be
372 2017-10-16 Paul Thomas <pault@gcc.gnu.org>
376 * resolve.c (resolve_symbol): Ensure that derived type array
377 results get default initialization.
379 2017-10-03 Thomas Koenig <tkoenig@gcc.gnu.org>
380 Steven G. Kargl <kargl@gcc.gnu.org>
384 * expr.c (gfc_get_full_arrayspec_from_expr): If there is
385 no symtree, set array spec to NULL.
387 2017-09-02 Janus Weil <janus@gcc.gnu.org>
391 * expr.c (gfc_check_pointer_assign): Improve the check whether pointer
392 may outlive pointer target.
394 2017-08-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
398 * trans-io.c (get_dtio_proc): Add check for format label and set
399 formatted flag accordingly. Reorganize the code a little.
401 2017-08-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
405 * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
406 as warning/error locus.
408 2017-08-14 Release Manager
410 * GCC 7.2.0 released.
412 2017-06-09 Janus Weil <janus@gcc.gnu.org>
416 * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
419 2017-06-05 Janus Weil <janus@gcc.gnu.org>
423 * resolve.c (resolve_fl_derived): Make sure that vtype symbols are
426 2017-06-02 Thomas Koenig <tkoenig@gcc.gnu.org>
429 * frontend-passes.c (matmul_lhs_realloc): Correct
430 allocation size for case A1B2.
432 2017-06-02 Jakub Jelinek <jakub@redhat.com>
435 * openmp.c (resolve_omp_clauses): Fix a typo.
437 2017-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
441 * trans-io.c (transfer_namelist_element): Change check from
442 NULL_TREE to null_pointer_node.
444 2017-05-23 Paul Thomas <pault@gcc.gnu.org>
448 * trans-io.c (nml_get_addr_expr): If we are dealing with class
449 type data set tmp tree to get that address.
450 (transfer_namelist_element): Set the array spec to point to the
453 2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
457 * io.c (dtio_procs_present): Add new function to check for DTIO
458 procedures relative to I/O statement READ or WRITE.
459 (gfc_resolve_dt): Add namelist checks using the new function.
460 * resolve.c (dtio_procs_present): Remove function and related
461 namelist checks. (resolve_fl_namelist): Add check specific to
462 Fortran 95 restriction on namelist objects.
464 2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
468 * expr.c (gfc_generate_initializer): If type conversion fails,
469 check for error and return NULL.
471 2017-05-05 Janus Weil <janus@gcc.gnu.org>
475 * trans-expr.c (gfc_conv_procedure_call): Deallocate the components
476 of allocatable intent(out) arguments.
478 2017-05-05 Janus Weil <janus@gcc.gnu.org>
482 * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
483 building a derived type that includes a procedure pointer component
484 with a polymorphic result.
486 2017-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
490 * io.c (format_lex): Check for '/' and set token to FMT_SLASH.
491 (check_format): Move FMT_DT checking code to data_desc section.
492 * module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
494 2017-05-02 Release Manager
496 * GCC 7.1.0 released.
498 2017-04-17 Paul Thomas <pault@gcc.gnu.org>
501 * module.c (find_symtree_for_symbol): Delete.
502 (read_module): Remove the call to the above.
504 2017-04-14 Janus Weil <janus@gcc.gnu.org>
507 * class.c (generate_finalization_wrapper): Give the finalization wrapper
508 the recursive attribute.
510 2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
511 Paul Thomas <pault@gcc.gnu.org>
514 * module.c (gfc_match_submodule): Add error
515 if function is called in the wrong state.
517 2017-04-10 Janus Weil <janus@gcc.gnu.org>
520 * expr.c (gfc_check_pointer_assign): Check if procedure pointer
521 components in a pointer assignment need an explicit interface.
523 2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
526 * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
527 everything before it.
529 2017-03-28 Janus Weil <janus@gcc.gnu.org>
532 * trans-io.c (transfer_namelist_element): Perform a polymorphic call
533 to a DTIO procedure if necessary.
535 2017-03-25 Paul Thomas <pault@gcc.gnu.org>
539 * decl.c (access_attr_decl): Remove the error for an absent
540 generic DTIO interface and ensure that symbol has the flavor
543 2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
546 * module.c: Remove trailing period.
548 2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
551 * decl.c: Replace '%s' with %qs.
553 * interface.c: Likewise.
555 * primary.c: Likewise.
556 * resolve.c: Likewise.
560 * io.c: Remove trailing spaces.
562 * openmp.c: Likewise.
563 * resolve.c: Likewise.
564 * trans-intrinsic.c: Likewise.
567 * expr.c: Remove a double spaces.
570 * primary.c: Remove spurious quotes around %qs.
572 2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org>
575 * frontend-passes.c (combine_array_constructor): Take
576 location of new expression from constructor expression instead
579 2017-03-20 Nicolas Koenig <koenigni@student.ethz.ch>
582 * symbol.c (check_conflict): Report an error if an EQUIVALENCE
585 2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
588 * decl.c (add_hidden_procptr_result): Fixed Refs count of the
589 created "ppr@" symbol.
591 2017-03-18 Paul Thomas <pault@gcc.gnu.org>
594 * module.c (mio_symbol_attribute): Remove reset of the flag
595 'no_module_procedures'.
596 (check_for_module_procedures): New function. Move declaration
597 of 'no_module_procedures' to above it.
598 (gfc_dump_module): Traverse namespace calling new function.
600 2017-03-18 Paul Thomas <pault@gcc.gnu.org>
603 * symbol.c (check_conflict): A dummy procedure in a submodule,
604 module procedure is not an error.
605 (gfc_add_flavor): Ditto.
607 2017-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
610 * openmp.c (check_symbol_not_pointer): Adjust diagnostics.
612 2017-03-16 Jakub Jelinek <jakub@redhat.com>
615 * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
616 and ST_OACC_END_ATOMIC, instead of !ACC.
617 * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
618 * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
619 gfc_resolve_oacc_declare): Likewise.
622 * error.c (gfc_format_decoder): Rename plus argument to set_locus,
623 remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
624 if not a Fortran specific spec.
625 * trans-io.c: Include options.h.
626 (gfc_build_st_parameter): Temporarily disable -Wpadded around layout
627 of artificial IO data structures.
629 2017-03-15 David Malcolm <dmalcolm@redhat.com>
632 * resolve.c (resolve_contained_fntype): Make error messages more
633 amenable to translation.
635 2017-03-06 Richard Biener <rguenther@suse.de>
638 * trans.c (gfc_add_modify_loc): Weaken assert.
640 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>,
641 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
643 * check.c (positive_check): Add new function checking constant for
644 being greater then zero.
645 (gfc_check_image_status): Add checking of image_status arguments.
646 (gfc_check_failed_or_stopped_images): Same but for failed_- and
647 stopped_images function.
648 * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
649 * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
650 (enum gfc_isym_id): Added new intrinsic symbols.
651 (enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
652 * gfortran.texi: Added description for the new API functions. Updated
653 coverage of gfortran of TS18508.
654 * intrinsic.c (add_functions): Added symbols to resolve new intrinsic
656 * intrinsic.h: Added prototypes.
657 * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
659 (gfc_resolve_image_status): Same for image_status.
660 (gfc_resolve_stopped_images): Same for stopped_images.
661 * libgfortran.h: Added prototypes.
662 * match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
663 (gfc_match_fail_image): Match a FAIL IMAGE statement.
664 * match.h: Added prototype.
665 * parse.c (decode_statement): Added matching for FAIL IMAGE.
666 (next_statement): Same.
667 (gfc_ascii_statement): Same.
669 * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
670 single a constant result can be returne.d
671 (gfc_simplify_image_status): For COARRAY=single the result is constant.
672 * st.c (gfc_free_statement): Added FAIL_IMAGE handling.
673 * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
675 * trans-expr.c (gfc_conv_procedure_call): This is first time all
676 arguments of a function are optional, which is now handled here
678 * trans-intrinsic.c (conv_intrinsic_image_status): Translate
680 (gfc_conv_intrinsic_function): Add support for image_status.
681 (gfc_is_intrinsic_libcall): Add support for the remaining new
683 * trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
684 * trans-stmt.h: Add the prototype for the above.
685 * trans.c (trans_code): Dispatch for fail_image.
686 * trans.h: Add the trees for the new intrinsics.
688 2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
691 * openmp.c (check_symbol_not_pointer): Adjust diagnostic.
693 2017-02-28 Paul Thomas <pault@gcc.gnu.org>
696 * resolve.c (resolve_fl_procedure): Deal with the case where
697 'submodule_name' is NULL so that gfc_error does not ICE.
698 Reformat the error message to make it more consistent.
700 2017-02-28 Jakub Jelinek <jakub@redhat.com>
702 * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
703 instead of just cond ? "..." : "...".
704 * scanner.c (gfc_next_char_literal): Likewise.
705 * match.c (match_exit_cycle): Likewise.
707 2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
710 * options.c (gfc_post_options): Set default limit for matmul
712 * invoke.texi: Document change.
714 2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
717 * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
720 2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
723 * interface.c (gfc_match_end_interface): Remove spurious comma
724 and space, replace 'got %s' with 'got %qs'.
726 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
729 * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
730 missing from error message.
732 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
735 * interface.c (gfc_find_typebound_dtio_proc): Guard test for
736 flavor attribute by checking that symbol is resolved.
738 2017-02-16 Paul Thomas <pault@gcc.gnu.org>
741 * decl.c (access_attr_decl): Test for presence of generic DTIO
742 interface and emit error if not present.
744 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
747 * parse.c (check_component, parse_union): Whitespace.
748 (set_syms_host_assoc): For a derived type, check if the module
749 in which it was declared is one of the submodule ancestors. If
750 it is, make the components public. Otherwise, reset attribute
751 'host_assoc' and set 'use-assoc' so that encapsulation is
754 2017-02-19 Paul Thomas <pault@gcc.gnu.org>
757 * decl.c (gfc_set_constant_character_len): Whitespace.
758 (gfc_match_end): Catch case where a procedure is contained in
759 a module procedure and ensure that 'end procedure' is the
762 2017-02-19 Paul Thomas <pault@gcc.gnu.org>
765 * resolve.c (fixup_unique_dummy): New function.
766 (gfc_resolve_expr): Call it for dummy variables with a unique
769 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
772 * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
773 compiling with -fcheck=mem to check the pointer and not the data.
775 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
778 * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
779 passed are properly initialized.
780 (structure_alloc_comps): Same.
781 * trans-expr.c (gfc_trans_structure_assign): Same.
783 2017-02-13 Jakub Jelinek <jakub@redhat.com>
785 * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
787 2017-02-12 Thomas Koenig <tkoenig@gcc.gnu.org>
790 * intrinsic.c (gfc_intrinsic_func_interface): Return an error
791 for -std=f95 for disallowed transformational functions in
792 initialization expressions.
794 2017-02-09 Cesar Philippidis <cesar@codesourcery.com>
795 Joseph Myers <joseph@codesourcery.com>
797 * openmp.c (resolve_omp_clauses): Error on directives
798 containing both tile and collapse clauses.
799 (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
800 * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
803 2017-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
805 * trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
806 REAL type with the widest precision if two (or more) have the same
809 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
812 * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
813 the temporary, when a new object was created for the temporary. Not
814 when it is just an alias to an existing object.
816 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
819 * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
820 attributes before using them.
822 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
825 * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
826 component of unlimited polymorphic objects when source-allocating.
828 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
831 * trans-array.c (structure_alloc_comps): Ignore pointer components when
834 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
837 * f95-lang.c (gfc_create_decls): Include stringpool.h.
838 Pass main_input_filename to build_translation_unit_decl.
840 2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
842 * arith.c (arith_power): If simplifying integer power expression
843 to zero, warn if -Winteger-division is given.
845 2017-01-22 Jakub Jelinek <jakub@redhat.com>
848 * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
849 with { ret = st; goto finish; }.
850 (decode_omp_directive): Allow declare simd, declare target and
851 simd directives in PURE/ELEMENTAL procedures. Only call
852 gfc_unset_implicit_pure on successful match of other procedures.
854 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
856 * gfc-internals.texi (Symbol Versioning): Change references
857 to www.akkadia.org to https.
859 2017-01-21 Jakub Jelinek <jakub@redhat.com>
861 * gfortran.h (gfc_extract_int): Change return type to bool. Add
862 int argument with = 0.
863 * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
864 1 as new last argument to it, don't emit gfc_error.
865 (match_char_kind): Likewise.
866 (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
868 (gfc_match_derived_decl, match_binding_attributes): Likewise.
869 (gfc_match_structure_decl): Don't sprintf back to name, call
870 get_struct_decl directly with gfc_dt_upper_string (name) result.
871 * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
872 instead of gfc_get_string (x).
873 * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
874 gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
875 mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
876 load_omp_udrs, load_needed, read_module, dump_module,
877 create_intrinsic_function, import_iso_c_binding_module,
878 create_int_parameter, create_int_parameter_array, create_derived_type,
879 use_iso_fortran_env_module): Likewise.
880 * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
881 pp_verbatim (context->printer, "%s", x) instead of
882 pp_verbatim (context->printer, x).
883 * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
884 1 as new last argument to it, don't emit gfc_error.
885 (gfc_match_small_int_expr): Likewise.
886 * iresolve.c (gfc_get_string): Optimize format "%s" case.
887 (resolve_bound): Use gfc_get_string ("%s", x) instead of
889 (resolve_transformational): Formatting fix.
890 (gfc_resolve_char_achar): Change name argument to bool is_achar,
891 use a single format string and if is_achar add "a" before "char".
892 (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
893 * expr.c (gfc_extract_int): Change return type to bool, return true
894 if some error occurred. Add REPORT_ERROR argument, if non-zero
895 call either gfc_error or gfc_error_now depending on its sign.
896 * arith.c (arith_power): Adjust gfc_extract_int caller.
897 * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
898 of gfc_get_string (x).
899 (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
900 gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
901 * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
902 -1 as new last argument to it, don't emit gfc_error_now.
903 (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
904 instead of gfc_get_string (x).
905 * check.c (kind_check): Adjust gfc_extract_int caller.
906 * intrinsic.c (add_sym, find_sym, make_alias): Use
907 gfc_get_string ("%s", x) instead of gfc_get_string (x).
908 * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
909 gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
910 gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
911 Adjust gfc_extract_int callers.
912 * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
913 instead of gfc_get_string (x).
914 * matchexp.c (expression_syntax): Add const.
915 * primary.c (match_kind_param, match_hollerith_constant,
916 match_string_constant): Adjust gfc_extract_int callers.
917 (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
919 * frontend-passes.c (optimize_minmaxloc): Likewise.
921 2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org>
924 * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
925 function only, when the decl-context is not the translation unit.
927 2017-01-18 Louis Krupp <louis.krupp@zoho.com>
931 * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
932 as function arguments.
933 * trans-stmt.c (forall_make_variable_temp,
934 generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
935 gfc_trans_forall_1): Don't adjust offset of forall temporary
936 for array sections, make forall temporaries work for substring
937 expressions, improve test coverage by adding -ftest-forall-temp
938 option to request usage of temporary array in forall code.
939 * lang.opt: Add -ftest-forall-temp option.
940 * invoke.texi: Add -ftest-forall-temp option.
942 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
944 * primary.c (caf_variable_attr): Improve figuring whether the current
945 component is the last one refed.
946 * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
947 when allocating pointer or allocatable components.
949 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
951 * gfortran.texi: Add missing parameters to caf-API functions. Correct
952 typos and clarify some descriptions.
954 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
957 Missed some cases, here they are:
958 * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
959 parent function's scope.
960 * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove
963 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
966 * resolve.c (resolve_lock_unlock_event): Resolve the expression for
969 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
972 * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
973 is valid before accessing it.
975 2017-01-09 Jakub Jelinek <jakub@redhat.com>
979 * decl.c (attr_decl1): Fix spelling in translatable string.
980 * intrinsic.texi: Fix spelling - invokation -> invocation.
981 * lang.opt (faggressive-function-elimination, gfc_convert): Fix
982 typos in descriptions.
983 * openmp.c (resolve_omp_clauses): Add missing whitespace to
984 translatable strings.
986 2017-01-08 Martin Sebor <msebor@redhat.com>
988 PR tree-optimization/78913
990 * trans-common.c (build_equiv_decl): Increase buffer size to avoid
991 truncation for any argument.
992 * trans-types.c (gfc_build_logical_type): Same.
994 2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
998 * expr.c (gfc_check_pointer_assign): Return the same error message for
999 rewritten coarray pointer assignments like for plain ones.
1000 * gfortran.h: Change prototype.
1001 * primary.c (caf_variable_attr): Set attributes used ones only only
1002 ones. Add setting of pointer_comp attribute.
1003 (gfc_caf_attr): Add setting of pointer_comp attribute.
1004 * trans-array.c (gfc_array_allocate): Add flag that the component to
1005 allocate is not an ultimate coarray component. Add allocation of
1007 (structure_alloc_comps): Extend nullify to treat pointer components in
1008 coarrays correctly. Restructure nullify to remove redundant code.
1009 (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
1010 * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
1011 * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
1012 derived type coarrays with pointer components.
1013 * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
1015 (trans_caf_token_assign): Handle assignment of token of scalar pointer
1017 (gfc_trans_pointer_assignment): Call above routine.
1018 * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
1020 (gfc_conv_intrinsic_caf_get): Likewise.
1021 (conv_caf_send): Likewise.
1022 * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
1023 a coarray pre-register the tokens.
1024 (gfc_trans_deallocate): Simply determining the coarray type (scalar or
1025 array) and deregistering it correctly.
1026 * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
1027 actual codim to allow lookup of array types in the cache.
1028 (gfc_build_array_type): Likewise.
1029 (gfc_get_array_descriptor_base): Likewise.
1030 (gfc_get_array_type_bounds): Likewise.
1031 (gfc_get_derived_type): Likewise.
1032 * trans-types.h: Likewise.
1033 * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
1034 of coarray components.
1035 (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
1036 instead of caf_deregister.
1038 2017-01-06 Jakub Jelinek <jakub@redhat.com>
1040 * simplify.c (simplify_transformation_to_array): Use
1041 GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
1042 #pragma GCC diagnostic {push,ignored,pop}.
1044 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
1046 * simplify.c (simplify_transformation_to_array): Silence
1047 array bounds warning. Fix whitespace.
1049 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
1051 * module.c (load_omp_udrs): Initialize name.
1053 2017-01-02 Janne Blomqvist <jb@gcc.gnu.org>
1056 * trans-expr.c (gfc_trans_string_copy): Rework string copy
1057 algorithm to avoid -Wstringop-overflow warning.
1059 2017-01-01 Jakub Jelinek <jakub@redhat.com>
1061 Update copyright years.
1063 * gfortranspec.c (lang_specific_driver): Update copyright notice
1065 * gfc-internals.texi: Bump @copying's copyright year.
1066 * gfortran.texi: Ditto.
1067 * intrinsic.texi: Ditto.
1068 * invoke.texi: Ditto.
1070 Copyright (C) 2017 Free Software Foundation, Inc.
1072 Copying and distribution of this file, with or without modification,
1073 are permitted in any medium without royalty provided the copyright
1074 notice and this notice are preserved.