1 2017-07-04 Release Manager
5 2017-06-22 Jakub Jelinek <jakub@redhat.com>
7 Backported from mainline
8 2017-06-02 Jakub Jelinek <jakub@redhat.com>
11 * openmp.c (resolve_omp_clauses): Fix a typo.
13 2017-06-09 Janus Weil <janus@gcc.gnu.org>
17 * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
20 2017-05-03 Thomas Koenig <tkoenig@gcc.gnu.org>
24 * intrinsic.c (gfc_intrinsic_func_interface): Return an error
25 for -std=f95 for disallowed transformational functions in
26 initialization expressions.
28 2017-06-02 Thomas Koenig <tkoenig@gcc.gnu.org>
32 * frontend-passes.c (matmul_lhs_realloc): Correct
33 allocation size for case A1B2.
35 2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
38 * expr.c (gfc_generate_initializer): If type conversion fails,
39 check for error and return NULL.
41 2017-05-01 Janus Weil <janus@gcc.gnu.org>
45 * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
46 building a derived type that includes a procedure pointer component
47 with a polymorphic result.
49 2017-04-21 Janus Weil <janus@gcc.gnu.org>
53 * class.c (generate_finalization_wrapper): Give the finalization wrapper
54 the recursive attribute.
56 2017-04-01 Paul Thomas <pault@gcc.gnu.org>
60 * symbol.c (check_conflict): A dummy procedure in a submodule,
61 module procedure is not an error.
62 (gfc_add_flavor): Ditto.
64 2017-04-01 Paul Thomas <pault@gcc.gnu.org>
68 * module.c (mio_symbol_attribute): Remove reset of the flag
69 'no_module_procedures'.
70 (check_for_module_procedures): New function. Move declaration
71 of 'no_module_procedures' to above it.
72 (gfc_dump_module): Traverse namespace calling new function.
74 2017-03-26 Paul Thomas <pault@gcc.gnu.org>
78 * parse.c (check_component, parse_union): Whitespace.
79 (set_syms_host_assoc): For a derived type, check if the module
80 in which it was declared is one of the submodule ancestors. If
81 it is, make the components public. Otherwise, reset attribute
82 'host_assoc' and set 'use-assoc' so that encapsulation is
85 2017-03-14 Richard Biener <rguenther@suse.de>
87 Backport from mainline
88 2017-03-06 Richard Biener <rguenther@suse.de>
91 * trans.c (gfc_add_modify_loc): Weaken assert.
93 2017-02-25 Paul Thomas <pault@gcc.gnu.org>
96 * module.c (gfc_match_submodule): If there is more than one
97 colon, it is a syntax error.
100 * module.c (gfc_use_module): If an smod file does not exist it
101 is either because the module does not have a module procedure
102 interface or there is an error in the module.
104 2017-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
106 * trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
107 REAL type with the widest precision if two (or more) have the same
110 2017-01-29 Andre Vehreschild <vehre@gcc.gnu.org>
112 Backported from trunk
113 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
116 * resolve.c (resolve_lock_unlock_event): Resolve the expression for
119 2017-01-29 Andre Vehreschild <vehre@gcc.gnu.org>
123 * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
124 is valid before accessing it. Remove unnecessary assert.
125 * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
126 parent function's scope only, when the decl-context is not the
129 2017-01-17 Jakub Jelinek <jakub@redhat.com>
131 Backported from mainline
132 2016-12-21 Jakub Jelinek <jakub@redhat.com>
135 * openmp.c (resolve_omp_clauses): Diagnose assumed size arrays in
136 OpenMP map, to and from clauses.
137 * trans-openmp.c: Include diagnostic-core.h, temporarily redefining
138 GCC_DIAG_STYLE to __gcc_tdiag__.
139 (gfc_omp_finish_clause): Diagnose implicitly mapped assumed size
142 2016-12-22 Thomas Koenig <tkoenig@gcc.gnu.org>
146 * decl.c (char_len_param_value): Also check for -fimplicit-none
147 when determining if implicit none is in force.
149 2016-12-21 Release Manager
151 * GCC 6.3.0 released.
153 2016-12-09 Janus Weil <janus@gcc.gnu.org>
157 * primary.c (gfc_match_varspec): Check if sym is non-null to avoid ICE.
159 2016-12-07 Jakub Jelinek <jakub@redhat.com>
161 Backported from mainline
162 2016-09-27 Jakub Jelinek <jakub@redhat.com>
165 * trans-openmp.c (gfc_omp_private_outer_ref): Return true even for
166 references to allocatable arrays.
168 2016-12-04 Janus Weil <janus@gcc.gnu.org>
172 * class.c (add_proc_comp): Add a vtype component for non-overridable
173 procedures that are overriding.
175 2016-12-01 Steven G. Kargl <kargl@gcc.gnu.org>
178 * dependency.c (identical_array_ref): Convert gcc_assert to conditional
179 and gfc_internal_error.
181 2016-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
184 * expr.c (gfc_check_vardef_contextm): Fix NULL pointer dereference.
185 * interface.c (matching_typebound_op): Ditto.
187 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org>
190 * trans-common.c (finish_equivalences): Do not dereference a NULL pointer.
192 2016-11-23 Janus Weil <janus@gcc.gnu.org>
196 * simplify.c (gfc_simplify_extends_type_of): Fix missed optimization.
197 Prevent over-simplification. Fix a comment. Add a comment.
199 2016-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
202 * io.c (next_char_not_space): Update handling of a 'tab' in a FORMAT.
203 (format_lex): Adjust invocations of next_char_not_space().
205 2016-11-20 Harald Anlauf <anlauf@gmx.de>
208 * resolve.c (gfc_resolve_forall): Check for nonscalar index variables.
210 2016-11-07 Thomas Koenig <tkoenig@gcc.gnu.org>
214 * arith.c (gfc_complex2real): Change gfc_warning_now to
217 2016-11-02 Thomas Koenig <tkoenig@gcc.gnu.org>
222 * match.c (match_simple_where): Fill in locus for assigment
223 in simple WHERE statement.
224 (gfc_match_where): Likewise.
226 2016-10-31 Thomas Koenig <tkoenig@gcc.gnu.org>
230 * frontend-passes.c (realloc_string_callback): Also check for the
231 lhs being deferred. Name temporary variable "realloc_string".
233 2016-10-30 Thomas Koenig <tkoenig@gcc.gnu.org>
237 * arith.c (gfc_int2real): Change gfc_warning_now
239 * primary.c (match_complex_constant): If there
240 is no comma, throw away any warning which might have
241 been issued by gfc_int2real.
243 2016-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
246 * symbol.c (gfc_type_compatible): Fix typo.
248 2016-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
251 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Fix reference to an
252 array element of type CLASS.
254 2016-10-26 Paul Thomas <pault@gcc.gnu.org>
258 * resolve.c (resolve_typebound_intrinsic_op): For submodules
259 suppress the error and return if the same procedure symbol
260 is added more than once to the interface.
262 2016-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
265 * interface.c (gfc_compare_derived_types): Convert gcc_assert()
266 to a gfc_internal_error() to prevent an ICE.
268 2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
271 * parse.c (parse_spec): Allow STRUCTURE in BLOCK DATA. Sort
274 2016-10-23 Paul Thomas <pault@gcc.gnu.org>
279 * resolve.c (resolve_variable): Obtain the typespec for a
280 variable expression, when the variable is a function result
281 that is a procedure pointer.
283 2016-10-23 Thomas Koenig <tkoenig@gcc.gnu.org>
287 * gfc_compare_functions: Strings with different lengths in
288 argument lists compare unequal.
290 2016-10-23 Andre Vehreschild <vehre@gcc.gnu.org>
292 Backported from trunk
294 * trans-expr.c (gfc_copy_class_to_class): Add generation of
295 runtime array bounds check.
296 * trans-intrinsic.c (gfc_conv_intrinsic_size): Add a crutch to
297 get the descriptor of a function returning a class object.
298 * trans-stmt.c (gfc_trans_allocate): Use the array spec on the
299 array to allocate instead of the array spec from source=.
301 2016-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
305 * match.c (gfc_match_stopcode): Fix error reporting for several
306 deficiencies in matching stop-codes.
308 2016-10-16 Thomas Koenig <tkoenig@gcc.gnu.org>
312 * frontend-passes.c (inline_matmul_assign): Return early if
313 inside a FORALL statement.
315 2016-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
318 * simplify.c (gfc_simplify_cshift): Check for zero.
320 2016-10-07 Steven G. Kargl <kargl@gcc.gnu.org>
323 * interface.c (gfc_compare_interfaces): Fix detection of ambiguous
324 interface involving alternate return.
325 (check_interface1): Improve error message and loci.
327 2016-10-05 Steven G. Kargl <kargls@gcc.gnu.org>
331 * resolve.c (resolve_assoc_var): Fix CHARACTER type-spec for a
332 selector in ASSOCIATE.
333 (resolve_fl_variable): Skip checks for an ASSOCIATE variable.
335 2016-09-28 Steven G. Kargl <kargl@gcc.gnu.org>
339 * target-memory.c (expr_to_char): Pass in locus and use it in error
341 (gfc_merge_initializers): Ditto.
342 * target-memory.h: Update prototype for gfc_merge_initializers ().
343 * trans-common.c (get_init_field): Use the correct locus.
346 * parse.c (next_free,next_fixed): Issue error for statement label
350 * interface.c (compare_parameter): Use better locus for error message.
353 * check.c (gfc_check_reshape): Check for constant expression.
356 * array.c (gfc_match_array_constructor): If type-spec is present,
357 walk the array constructor performing possible conversions for
361 * decl.c (build_struct): Ensure that pointers point to something.
364 * decl.c (gfc_set_constant_character_len): if expr is not
365 constant issue an error instead of an ICE.
368 * io.c (gfc_resolve_dt): Use correct locus.
369 * resolve.c (resolve_branch): Ditto.
372 * decl.c (match_data_constant): On error, set 'result' to NULL.
375 * decl.c (char_len_param_value): Check return value of
376 gfc_reduce_init_expr().
379 * resolve.c(gfc_resolve_iterator): Failure of type conversion need
383 * check.c(numeric_check): Prevent ICE. Issue error for invalid
384 subroutine as an actual argument when numeric argument is expected.
387 * class.c: Remove assert. Iterate over component only if non-null.
390 * gcc/fortran/trans-decl.c (generate_local_decl): Suppress warning
391 for unused variable if symbol is entry point.
394 * frontend-passes.c (remove_trim,combine_array_constructor): Check for
398 simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.
401 * dependency.c (gfc_check_dependency): Do not assert with
405 * resolve.c (deferred_requirements): New function to check F2008:C402.
406 (resolve_fl_variable,resolve_fl_parameter): Use it.
409 * trans-common.c: Handle array elements in equivalence when
410 the lower and upper bounds of array spec are NULL.
413 * dependency.c (gfc_check_dependency): Convert gcc_assert() to
414 a conditional and possible call to gfc_internal_error().
417 * simplify.c (simplify_transformation_to_scalar): On error, result
418 may be NULL, simply return.
421 * array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot
422 appear in an array constructor.
425 * intrinsic.c (add_functions): Use correct keyword.
428 * decl.c (char_len_param_value): Check parent namespace for
432 * frontend-passes.c (optimize_binop_array_assignment): Check pointer
435 2016-09-16 Jakub Jelinek <jakub@redhat.com>
437 Backported from mainline
438 2016-09-08 Jakub Jelinek <jakub@redhat.com>
441 * trans-openmp.c (gfc_trans_omp_atomic): For atomic write or
442 swap, don't try to look through GFC_ISYM_CONVERSION. In other cases,
443 check that value.function.isym is non-NULL before dereferencing it.
445 2016-09-01 Jakub Jelinek <jakub@redhat.com>
447 Backported from mainline
448 2016-08-31 Jakub Jelinek <jakub@redhat.com>
451 * trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a
452 BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns.
455 * parse.c (parse_omp_oacc_atomic): Copy over cp->ext.omp_atomic
456 to cp->block->ext.omp_atomic.
457 * resolve.c (gfc_resolve_blocks): Assert block with one or two
458 EXEC_ASSIGNs for EXEC_*_ATOMIC.
459 * openmp.c (resolve_omp_atomic): Don't assert one or two
460 EXEC_ASSIGNs, instead return quietly for EXEC_NOPs and otherwise
461 error unexpected statements.
463 2016-08-19 Jakub Jelinek <jakub@redhat.com>
466 * resolve.c (gfc_resolve): For ns->construct_entities don't save, clear
467 and restore omp state around the resolving.
470 * trans-openmp.c (gfc_trans_omp_parallel, gfc_trans_omp_task,
471 gfc_trans_omp_target): Wrap gfc_trans_omp_code result in an extra
472 BIND_EXPR with its own forced BLOCK.
474 2016-08-24 Paul Thomas <pault@gcc.gnu.org>
478 * resolve.c (resolve_fl_procedure): Use the correct gfc_charlen
479 for deferred character length module procedures.
481 2016-08-22 Release Manager
483 * GCC 6.2.0 released.
485 2016-08-16 Thomas Koenig <tkoenig@gcc.gnu.org>
488 * frontend-passes.c (create_var): Set ts.deferred for
489 deferred-length character variables.
490 * dump-parse-tree.c (show_typespec): Also dump
491 is_c_interop, is_iso_c and deferred flags.
493 2016-08-15 Jakub Jelinek <jakub@redhat.com>
496 * trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
497 for decl's character length before gfc_finish_var_decl on the
500 2016-08-11 Andre Vehreschild <vehre@gcc.gnu.org>
504 * trans-array.c (gfc_array_allocate): When SOURCE= is a function
505 stick with the ref of the object to allocate.
507 2016-08-11 Andre Vehreschild <vehre@gcc.gnu.org>
511 * trans-stmt.c (gfc_trans_allocate): Prevent generating code for
512 copy of zero sized string and with it an ICE.
514 2016-08-08 Andre Vehreschild <vehre@gcc.gnu.org>
518 * trans-array.c (gfc_trans_dummy_array_bias): Ensure that the
519 location information is correctly set.
520 * trans-decl.c (gfc_trans_deferred_vars): Set the locus of the
521 current construct early.
523 2016-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
527 * frontend-passes.c (combine_array_constructor): Don't
528 do anything if the expression is inside an array iterator.
530 2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
531 Thomas Koenig <tkoenig@gcc.gnu.org>
533 Backported from trunk:
535 * frontend-passes.c (gfc_run_passes): Bail out if there are any
537 * error.c (gfc_internal_error): If there are any errors in the
538 buffer, exit with EXIT_FAILURE.
540 2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org>
542 Backported from trunk:
544 * trans-expr.c (gfc_trans_subcomponent_assign): Special casing
545 when allocatable component is set to null() in initializer.
547 2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org>
551 * simplify.c (gfc_simplify_len): Only for unlimited polymorphic
552 types replace the expression's _data ref with a _len ref.
554 2016-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
558 * trans-expr.c (gfc_trans_structure_assign): Remove assert.
560 2016-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
564 * trans-stmt.c (gfc_trans_allocate): Add code of pre block of typespec
565 in allocate to parent block.
567 2016-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
571 * frontend-passes.c (create_var): Always allocate a charlen
572 for character variables.
574 2016-07-08 Cesar Philippidis <cesar@codesourcery.com>
577 2016-07-08 Cesar Philippidis <cesar@codesourcery.com>
579 * parse.c (matcha): Define.
580 (decode_oacc_directive): Add spec_only local var and set it. Use
581 matcha to parse acc directives except for routine and declare. Return
582 ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be
585 2016-07-02 Jakub Jelinek <jakub@redhat.com>
587 Backported from mainline
588 2016-07-01 Jakub Jelinek <jakub@redhat.com>
591 * f95-lang.c (struct binding_level): Add reversed field.
592 (clear_binding_level): Adjust initializer.
593 (getdecls): If reversed is clear, set it and nreverse the names
594 chain before returning it.
595 (poplevel): Use getdecls.
596 * trans-decl.c (gfc_generate_function_code, gfc_process_block_locals):
597 Use nreverse to pushdecl decls in the declaration order.
600 * trans-openmp.c (gfc_omp_privatize_by_reference): Return false
601 for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE.
603 2016-06-30 Jakub Jelinek <jakub@redhat.com>
606 * parse.c (matchs, matcho): Move right before decode_omp_directive.
607 If spec_only, only gfc_match the keyword and if successful, goto
609 (matchds, matchdo): Define.
610 (decode_omp_directive): Add spec_only local var and set it.
611 Use matchds or matchdo macros instead of matchs or matcho
612 for declare target, declare simd, declare reduction and threadprivate
613 directives. Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
614 directive could be matched.
615 (next_statement): For ST_GET_FCN_CHARACTERISTICS restore
616 gfc_current_locus from old_locus even if there is no label.
619 * trans-openmp.c (gfc_trans_omp_clauses): Set TREE_ADDRESSABLE on
620 decls in to/from clauses.
622 2016-06-29 Cesar Philippidis <cesar@codesourcery.com>
625 2016-06-29 Cesar Philippidis <cesar@codesourcery.com>
627 * openmp.c (match_oacc_clause_gang): Rename to ...
628 (match_oacc_clause_gwv): this. Add support for OpenACC worker and
630 (gfc_match_omp_clauses): Use match_oacc_clause_gwv for
631 OMP_CLAUSE_{GANG,WORKER,VECTOR}. Propagate any MATCH_ERRORs for
632 invalid OMP_CLAUSE_{ASYNC,WAIT,GANG,WORKER,VECTOR} clauses.
633 (gfc_match_oacc_wait): Propagate MATCH_ERROR for invalid
634 oacc_expr_lists. Adjust the first and needs_space arguments to
635 gfc_match_omp_clauses.
637 2016-06-27 Paul Thomas <pault@gcc.gnu.org>
640 * frontend-passes.c (realloc_string_callback): Add a call to
641 gfc_dep_compare_expr.
643 2016-06-12 Dominique d'Humieres <dominiq@lps.ens.fr>
646 * io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.
648 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
651 Backport from trunk r237290:
652 * openmp.c (gfc_match_oacc_cache): Add comment.
654 2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org>
657 * trans-array.c (gfc_trans_dummy_array_bias): For class arrays use
658 the address of the _data component to reference the arrays data
661 2016-06-01 Paul Thomas <pault@gcc.gnu.org>
664 * decl.c (copy_prefix): Add checks that the module procedure
665 declaration prefixes are compliant with the interface. Invert
666 order of existing elemental and pure checks.
667 * resolve.c (resolve_fl_procedure): Invert order of elemental
670 2016-06-01 Jakub Jelinek <jakub@redhat.com>
672 * parse.c (case_decl): Move ST_OMP_* to ...
673 (case_omp_decl): ... here, new macro.
674 (verify_st_order): For case_omp_decl, complain about
675 p->state >= ORDER_EXEC, but don't change p->state otherwise.
677 2016-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
681 * scanner.c (gfc_next_char_literal): Clear end_flag when adjusting
682 current locus back to old_locus.
684 2016-05-20 Jakub Jelinek <jakub@redhat.com>
687 * frontend-passes.c (realloc_string_callback): Clear inserted_block
688 and changed_statement before calling create_var.
690 2016-05-15 Harald Anlauf <anlauf@gmx.de>
693 * interface.c (compare_parameter): Check for non-NULL pointer.
695 2016-05-14 Fritz Reese <fritzoreese@gmail.com>
697 Backport from trunk: r236242
698 * gfortran.texi: Update example of DEC UNION extension.
700 Backport from trunk: r236241
702 * expr.c (gfc_default_initializer): Avoid extra component refs in
703 constructors for derived types and classes.
705 Backport from trunk: r235999
707 * module.c (dt_upper_string): Rename to gfc_dt_upper_string
708 (dt_lower_string): Likewise.
709 * gfortran.h: Make new gfc_dt_upper/lower_string global.
710 * class.c: Use gfc_dt_upper_string.
712 * symbol.c: Likewise.
713 * resolve.c (resolve_component): New function.
714 (resolve_fl_derived0): Move component loop code to resolve_component.
715 * parse.c (check_component): New function.
716 (parse_derived): Move loop code to check_component.
717 * lang.opt, invoke.texi, options.c : New option -fdec-structure.
718 * libgfortran.h (bt): New basic type BT_UNION.
719 * gfortran.h (gfc_option): New option -fdec-structure.
720 (gfc_get_union_type, gfc_compare_union_types): New prototypes.
721 (gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New
723 (gfc_find_component): Change prototype.
724 * match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union,
725 gfc_match_structure_decl): New prototypes.
726 * parse.h (gfc_comp_struct): New macro.
727 * symbol.c (gfc_find_component): Search for components in nested unions
728 * class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp,
729 copy_vtab_proc_comps): Update calls to gfc_find_component.
730 * primary.c (gfc_convert_to_structure_constructor): Likewise.
731 * symbol.c (gfc_add_component): Likewise.
732 * resolve.c (resolve_typebound_function, resolve_typebound_subroutine,
733 resolve_typebound_procedure, resolve_component, resolve_fl_derived):
735 * expr.c (get_union_init, component_init): New functions.
736 * decl.c (match_clist_expr, match_record_decl, get_struct_decl,
737 gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise.
738 * interface.c (compare_components, gfc_compare_union_types): Likewise.
739 * match.c (gfc_match_member_sep): Likewise.
740 * parse.c (check_component, parse_union, parse_struct_map): Likewise.
741 * resolve.c (resolve_fl_struct): Likewise.
742 * symbol.c (find_union_component): Likewise.
743 * trans-types.c (gfc_get_union_type): Likewise.
744 * parse.c (parse_derived): Use new functions.
745 * interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise.
746 * expr.c (gfc_default_initializer): Likewise.
747 * gfortran.texi: Support for DEC structures, unions, and maps.
748 * gfortran.h (gfc_statement, sym_flavor): Likewise.
749 * check.c (gfc_check_kill_sub): Likewise.
750 * expr.c (gfc_copy_expr, simplify_const_ref,
751 gfc_has_default_initializer): Likewise.
752 * decl.c (build_sym, match_data_constant, add_init_expr_to_sym,
753 match_pointer_init, build_struct, variable_decl,
754 gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry,
755 gfc_match_end, gfc_match_derived_decl): Likewise.
756 * interface.c (check_interface0, check_interface1,
757 gfc_search_interface): Likewise.
758 * misc.c (gfc_basic_typename, gfc_typename): Likewise.
759 * module.c (add_true_name, build_tnt, bt_types, mio_typespec,
760 fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol,
761 gfc_get_module_backend_decl): Likewise.
762 * parse.h (gfc_compile_state): Likewise.
763 * parse.c (decode_specification_statement, decode_statement,
764 gfc_ascii_statement, verify_st_order, parse_spec): Likewise.
765 * primary.c (gfc_match_varspec, gfc_match_structure_constructor,
766 gfc_match_rvalue, match_variable): Likewise.
767 * resolve.c (find_arglists, resolve_structure_cons,
768 is_illegal_recursion, resolve_generic_f, get_declared_from_expr,
769 resolve_typebound_subroutine, resolve_allocate_expr,
770 nonscalar_typebound_assign, generate_component_assignments,
771 resolve_fl_variable_derived, check_defined_assignments,
772 resolve_component, resolve_symbol, resolve_equivalence_derived):
774 * symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived,
775 gfc_restore_last_undo_checkpoint, gfc_type_compatible,
776 gfc_find_dt_in_generic): Likewise.
777 * trans-decl.c (gfc_get_module_backend_decl, create_function_arglist,
778 gfc_create_module_variable, check_constant_initializer): Likewise.
779 * trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer,
780 gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
781 gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p):
783 * trans-io.c (transfer_namelist_element, transfer_expr,
784 gfc_trans_transfer): Likewise.
785 * trans-stmt.c (gfc_trans_deallocate): Likewise.
786 * trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal,
787 gfc_get_derived_type): Likewise.
789 2016-05-11 Jakub Jelinek <jakub@redhat.com>
792 * frontend-passes.c (inline_matmul_assign): Disable in !$omp workshare.
794 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
797 * trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate
798 the reduction clause in both parallel and loop directives.
800 2016-04-27 Release Manager
802 * GCC 6.1.0 released.
804 2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
807 * intrinsic.texi: Correct the documentation of pseudorandom
810 2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
813 * gfortran.texi: Document OPEN( ... NAME=) as not implemented
816 2016-04-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
819 * array.c (match_array_element_spec): Add check for non-integer.
820 * simplify.c (gfc_simplify_reshape): If source shape is NULL return.
822 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
825 * openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a
826 future -Wparentheses warning.
828 2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
831 * resolve.c (resolve_allocate_expr): Emit error message when no
832 array spec and no array valued source= expression is given in an
833 F2008 allocate() for an array to allocate.
835 2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
838 * trans-array.c (gfc_array_allocate): When the array is a coarray,
839 do not nullyfing its allocatable components in array_allocate, because
840 the nullify missed the array ref and nullifies the wrong component.
843 2016-03-29 Andre Vehreschild <vehre@gcc.gnu.org>
846 * trans-expr.c (gfc_class_len_or_zero_get): Add function to return a
847 constant zero tree, when the class to get the _len component from is
848 not unlimited polymorphic.
849 (gfc_copy_class_to_class): Use the new function.
850 * trans.h: Added interface of new function gfc_class_len_or_zero_get.
852 2016-03-28 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
854 * trans-decl.c (gfc_build_builtin_function_decls):
855 caf_stop_numeric and caf_stop_str definition.
856 * trans-stmt.c (gfc_trans_stop): invoke external functions
857 for stop and stop_str when coarrays are used.
858 * trans.h: extern for new functions.
860 2016-03-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
863 * scanner.c (load_file): Update to use S_ISREG macro.
865 2016-03-17 Thomas Schwinge <thomas@codesourcery.com>
867 * gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
868 to OMP_MAP_DELETE. Adjust all users.
870 2016-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
871 Jim MacArthur <jim.macarthur@codethink.co.uk>
874 * scanner.c (load_file): Check that included file is regular.
876 2016-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
877 Harold Anlauf <anlauf@gmx.de>
880 * invoke.texi: Explain use of the 'no-' construct within the
882 * options.c (gfc_handle_runtime_check_option): Enable use of
883 'no-' prefix for the various options with -fcheck= to allow
884 negating previously enabled check options.
886 2016-03-12 Paul Thomas <pault@gcc.gnu.org>
889 * decl.c (gfc_match_prefix): Treat the 'module' prefix in the
890 same way as the others, rather than fixing it to come last.
891 (gfc_match_function_decl, gfc_match_subroutine): After errors
892 in 'copy_prefix', emit them immediately in the case of module
893 procedures to prevent a later ICE.
896 * decl.c (gfc_match_submod_proc): Permit 'module procedure'
897 declarations within the contains section of modules as well as
899 * resolve.c (resolve_fl_procedure): Likewise.
900 *trans-decl.c (build_function_decl): Change the gcc_assert to
901 allow all forms of module procedure declarations within module
904 2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
908 * frontend-passes.c (realloc_string_callback): Don't set
911 2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
913 * dump-parse-tree.c (show_code_node): Print association
914 list of a block if present. Handle EXEC_END_BLOCK.
916 2016-02-28 Harald Anlauf <anlauf@gmx.de>
917 Jerry DeLisle <jvdelisle@gcc.gnu.org>
920 * match.c (gfc_match_iterator): Add diagnostic for array variable
923 2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
924 Steven G. Kargl <kargl@gcc.gnu.org>
927 * io.c (gfc_match_open): Check that open status is an expression
928 constant before comparing string to 'scratch' with NEWUNIT.
930 2016-02-27 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
932 * trans.c (gfc_allocate_allocatable): size conversion
933 from byte to number of elements for event variables.
934 * trans-types.c (gfc_get_derived_type): event variables
935 represented as a pointer (like lock variable).
937 2016-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
940 * scanner.c (add_path_to_list): If include path is not a directory,
943 2016-02-23 Andre Vehreschild <vehre@gcc.gnu.org>
946 * trans-array.c (gfc_array_allocate): Take the attributes from the
947 expression to allocate and not from the source=-expression.
949 2016-02-20 Paul Thomas <pault@gcc.gnu.org>
952 * trans-decl.c (create_function_arglist): Deferred character
953 length functions, with and without declared results, address
954 the passed reference type as '.result' and the local string
955 length as '..result'.
956 (gfc_null_and_pass_deferred_len): Helper function to null and
957 return deferred string lengths, as needed.
958 (gfc_trans_deferred_vars): Call it, thereby reducing repeated
959 code, add call for deferred arrays and reroute pointer function
960 results. Avoid using 'tmp' for anything other that a temporary
961 tree by introducing 'type_of_array' for the arrayspec type.
963 2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org>
966 * frontend-passes.c (cfe-expr_0): Don't register functions
967 from within an ASSOCIATE statement.
969 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
972 * decl.c (build_sym): If the name has already been defined as a
973 type, it has a symtree with an upper case letter at the beginning.
974 If such a symtree exists, issue an error and exit. Don't do
975 this if there is no corresponding upper case letter.
977 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
981 * decl.c (build_sym): Reverted previous patch.
983 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
986 * decl.c (build_sym): If the name has already been defined as a
987 type, issue error and return false.
989 2016-02-12 David Malcolm <dmalcolm@redhat.com>
992 * error.c (gfc_diagnostic_start_span): New function.
993 (gfc_diagnostics_init): Initialize global_dc's start_span.
995 2016-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
998 * gfortran.h: Added flag to gfc_association_list indicating that
999 the rank of an associate variable has been guessed only.
1000 * parse.c (parse_associate): Set the guess flag mentioned above
1001 when guessing the rank of an expression.
1002 * resolve.c (resolve_assoc_var): When the rank has been guessed,
1003 make sure, that the guess was correct else overwrite with the actual
1005 * trans-stmt.c (trans_associate_var): For subref_array_pointers in
1006 class objects, take the span from the _data component.
1008 2016-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1011 * primary.c (match_actual_arg): If symbol has attribute flavor of
1012 namelist, generate an error. (gfc_match_rvalue): Likewise return
1014 * resolve.c (resolve_symbol): Scan arument list of procedures and
1015 generate an error if a namelist is found.
1017 2016-02-05 Mikael Morin <mikael@gcc.gnu.org>
1020 * trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
1021 the former to the latter and make it non-static. Update callers.
1022 * gfortran.h (gfc_expr_is_variable): New declaration.
1023 (struct gfc_ss_info): Add field needs_temporary.
1024 * trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
1025 Tighten the condition on aggregate expressions with a check
1026 that the expression is a variable and doesn't need a temporary.
1027 (gfc_conv_resolve_dependency): Add intermediary reference variable.
1028 Set the needs_temporary field.
1030 2016-02-03 Andre Vehreschild <vehre@gcc.gnu.org>
1034 * trans-expr.c (gfc_copy_class_to_class): For coarrays just the
1035 pointer is passed. Take it as is without trying to deref the
1037 * trans-stmt.c (gfc_trans_allocate): Take care of coarrays as
1038 argument to source=-expression.
1040 2016-02-02 Nathan Sidwell <nathan@codesourcery.com>
1042 * lang.opt (fopenacc-dim=): New option.
1044 2016-01-31 Paul Thomas <pault@gcc.gnu.org>
1047 * trans-expr.c (gfc_conv_procedure_call): For the vtable copy
1048 subroutines, add a string length argument, when the actual
1049 argument is an unlimited polymorphic class object.
1051 2016-01-30 Paul Thomas <pault@gcc.gnu.org>
1054 * trans-expr.c (gfc_conv_procedure_call): Correct expression
1055 for 'ulim_copy', which was missing a test for 'comp'.
1057 2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
1060 * decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
1061 when the END encountered does not match a BLOCK's end.
1063 2016-01-27 Janus Weil <janus@gcc.gnu.org>
1066 * invoke.texi: Fix documentation of -Wall with respect to -Wtabs.
1068 2016-01-27 Paul Thomas <pault@gcc.gnu.org>
1071 * trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
1072 for allocatable components, whilst checking if the symbol is a
1073 derived or class entity..
1075 2016-01-26 Paul Thomas <pault@gcc.gnu.org>
1078 * trans-expr.c (gfc_trans_assignment_1): Exclude initialization
1079 assignments from check on assignment of scalars to unassigned
1080 arrays and correct wrong code within the corresponding block.
1082 2016-01-26 David Malcolm <dmalcolm@redhat.com>
1085 * error.c (gfc_diagnostic_starter): Delete use of pp_newline.
1087 2016-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1091 * interface.c (gfc_arglist_matches_symbol): Replace assert with
1092 a return false if not a procedure.
1093 * resolve.c (resolve_generic_f): Test if we are resolving an
1094 initialization expression and adjust error message accordingly.
1096 2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
1099 * frontend-passes.c (matmul_lhs_realloc): Add
1100 forgotten break statement.
1102 2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
1105 * primary.c (gfc_variable_attr): revert revision r221955,
1106 call gfc_internal_error only if there is no error.
1108 2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
1111 * frontend-passes.c (enum matrix_case): Add case A2B2T for
1112 MATMUL(A,TRANSPoSE(B)) where A and B are rank 2.
1113 (inline_limit_check): Also add A2B2T.
1114 (matmul_lhs_realloc): Handle A2B2T.
1115 (check_conjg_variable): Rename to
1116 (check_conjg_transpose_variable): and also count TRANSPOSE.
1117 (inline_matmul_assign): Handle A2B2T.
1119 2016-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1122 * error.c (gfc_error): Save the state of abort_on_error and set
1123 it to false for buffered errors to allow normal processing.
1124 Restore the state before leaving.
1126 2016-01-19 Martin Jambor <mjambor@suse.cz>
1128 * types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
1129 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
1130 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
1132 2016-01-15 Paul Thomas <pault@gcc.gnu.org>
1135 * resolve.c (check_uop_procedure): Prevent deferred length
1136 characters from being trapped by assumed length error.
1144 * trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
1145 function as well as variable expressions.
1146 (gfc_array_init_size): Add 'expr' as an argument. Use this to
1147 correctly set the descriptor dtype for deferred characters.
1148 (gfc_array_allocate): Add 'expr' to the call to
1149 'gfc_array_init_size'.
1150 * trans.c (gfc_build_array_ref): Expand logic for setting span
1151 to include indirect references to character lengths.
1152 * trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
1153 result char lengths that are PARM_DECLs are indirectly
1154 referenced both for directly passed and by reference.
1155 (create_function_arglist): If the length type is a pointer type
1156 then store the length as the 'passed_length' and make the char
1157 length an indirect reference to it.
1158 (gfc_trans_deferred_vars): If a character length has escaped
1159 being set as an indirect reference, return it via the 'passed
1161 * trans-expr.c (gfc_conv_procedure_call): The length of
1162 deferred character length results is set TREE_STATIC and set to
1164 (gfc_trans_assignment_1): Do not fix the rse string_length if
1165 it is a variable, a parameter or an indirect reference. Add the
1166 code to trap assignment of scalars to unallocated arrays.
1167 * trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
1168 all references to it. Instead, replicate the code to obtain a
1169 explicitly defined string length and provide a value before
1170 array allocation so that the dtype is correctly set.
1171 trans-types.c (gfc_get_character_type): If the character length
1172 is a pointer, use the indirect reference.
1174 2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org>
1177 * frontend-passes.c (in_where): New variable.
1178 (inline_matmul_assign): Don't try this if we are within
1180 (gfc_code_walker): Keep track of in_where.
1182 2016-01-10 Paul Thomas <pault@gcc.gnu.org>
1185 * trans_array.c (gfc_conv_scalarized_array_ref): Add missing
1186 se->use_offset from condition for calculation of 'base'.
1188 2016-01-08 Jakub Jelinek <jakub@redhat.com>
1191 * trans.h (OMPWS_SCALARIZER_BODY): Define.
1192 (OMPWS_NOWAIT): Renumber.
1193 * trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
1194 if OMPWS_SCALARIZER_BODY is not set already, and set also
1195 OMPWS_SCALARIZER_BODY until the final loop creation.
1196 * trans-expr.c (gfc_trans_assignment_1): Likewise.
1197 * trans-openmp.c (gfc_trans_omp_workshare): Also clear
1198 OMPWS_SCALARIZER_BODY.
1199 * trans-array.c (gfc_trans_scalarized_loop_end): Don't create
1200 OMP_FOR if OMPWS_SCALARIZER_BODY is set.
1202 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1204 Update copyright years.
1206 * gfortranspec.c (lang_specific_driver): Update copyright notice
1208 * gfc-internals.texi: Bump @copying's copyright year.
1209 * gfortran.texi: Ditto.
1210 * intrinsic.texi: Ditto.
1211 * invoke.texi: Ditto.
1213 2016-01-01 Paul Thomas <pault@gcc.gnu.org>
1216 * trans-array.c (evaluate_bound): If deferred, test that 'desc'
1217 is an array descriptor before using gfc_conv_descriptor_xxx.
1219 Copyright (C) 2016 Free Software Foundation, Inc.
1221 Copying and distribution of this file, with or without modification,
1222 are permitted in any medium without royalty provided the copyright
1223 notice and this notice are preserved.