| 2016-12-21 Release Manager |
| |
| * GCC 6.3.0 released. |
| |
| 2016-12-09 Janus Weil <janus@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/78593 |
| * primary.c (gfc_match_varspec): Check if sym is non-null to avoid ICE. |
| |
| 2016-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-09-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/77666 |
| * trans-openmp.c (gfc_omp_private_outer_ref): Return true even for |
| references to allocatable arrays. |
| |
| 2016-12-04 Janus Weil <janus@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/78443 |
| * class.c (add_proc_comp): Add a vtype component for non-overridable |
| procedures that are overriding. |
| |
| 2016-12-01 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/78279 |
| * dependency.c (identical_array_ref): Convert gcc_assert to conditional |
| and gfc_internal_error. |
| |
| 2016-11-24 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/78500 |
| * expr.c (gfc_check_vardef_contextm): Fix NULL pointer dereference. |
| * interface.c (matching_typebound_op): Ditto. |
| |
| 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/78297 |
| * trans-common.c (finish_equivalences): Do not dereference a NULL pointer. |
| |
| 2016-11-23 Janus Weil <janus@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/66227 |
| * simplify.c (gfc_simplify_extends_type_of): Fix missed optimization. |
| Prevent over-simplification. Fix a comment. Add a comment. |
| |
| 2016-11-22 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/58001 |
| * io.c (next_char_not_space): Update handling of a 'tab' in a FORMAT. |
| (format_lex): Adjust invocations of next_char_not_space(). |
| |
| 2016-11-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/69741 |
| * resolve.c (gfc_resolve_forall): Check for nonscalar index variables. |
| |
| 2016-11-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/78221 |
| * arith.c (gfc_complex2real): Change gfc_warning_now to |
| gfc_warning. |
| |
| 2016-11-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/69544 |
| PR fortran/78178 |
| * match.c (match_simple_where): Fill in locus for assigment |
| in simple WHERE statement. |
| (gfc_match_where): Likewise. |
| |
| 2016-10-31 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/71902 |
| * frontend-passes.c (realloc_string_callback): Also check for the |
| lhs being deferred. Name temporary variable "realloc_string". |
| |
| 2016-10-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/67219 |
| * arith.c (gfc_int2real): Change gfc_warning_now |
| to gfc_warning. |
| * primary.c (match_complex_constant): If there |
| is no comma, throw away any warning which might have |
| been issued by gfc_int2real. |
| |
| 2016-10-28 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/71891 |
| * symbol.c (gfc_type_compatible): Fix typo. |
| |
| 2016-10-26 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/78092 |
| * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Fix reference to an |
| array element of type CLASS. |
| |
| 2016-10-26 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/78108 |
| * resolve.c (resolve_typebound_intrinsic_op): For submodules |
| suppress the error and return if the same procedure symbol |
| is added more than once to the interface. |
| |
| 2016-10-24 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/71895 |
| * interface.c (gfc_compare_derived_types): Convert gcc_assert() |
| to a gfc_internal_error() to prevent an ICE. |
| |
| 2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/77763 |
| * parse.c (parse_spec): Allow STRUCTURE in BLOCK DATA. Sort |
| case labels. |
| |
| 2016-10-23 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/61420 |
| PR fortran/78013 |
| * resolve.c (resolve_variable): Obtain the typespec for a |
| variable expression, when the variable is a function result |
| that is a procedure pointer. |
| |
| 2016-10-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/78021 |
| * gfc_compare_functions: Strings with different lengths in |
| argument lists compare unequal. |
| |
| 2016-10-23 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| Backported from trunk |
| PR fortran/72832 |
| * trans-expr.c (gfc_copy_class_to_class): Add generation of |
| runtime array bounds check. |
| * trans-intrinsic.c (gfc_conv_intrinsic_size): Add a crutch to |
| get the descriptor of a function returning a class object. |
| * trans-stmt.c (gfc_trans_allocate): Use the array spec on the |
| array to allocate instead of the array spec from source=. |
| |
| 2016-10-17 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/77978 |
| * match.c (gfc_match_stopcode): Fix error reporting for several |
| deficiencies in matching stop-codes. |
| |
| 2016-10-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/77915 |
| * frontend-passes.c (inline_matmul_assign): Return early if |
| inside a FORALL statement. |
| |
| 2016-10-11 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/77942 |
| * simplify.c (gfc_simplify_cshift): Check for zero. |
| |
| 2016-10-07 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/77406 |
| * interface.c (gfc_compare_interfaces): Fix detection of ambiguous |
| interface involving alternate return. |
| (check_interface1): Improve error message and loci. |
| |
| 2016-10-05 Steven G. Kargl <kargls@gcc.gnu.org> |
| |
| PR fortran/58991 |
| PR fortran/58992 |
| * resolve.c (resolve_assoc_var): Fix CHARACTER type-spec for a |
| selector in ASSOCIATE. |
| (resolve_fl_variable): Skip checks for an ASSOCIATE variable. |
| |
| 2016-09-28 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/41922 |
| * target-memory.c (expr_to_char): Pass in locus and use it in error |
| messages. |
| (gfc_merge_initializers): Ditto. |
| * target-memory.h: Update prototype for gfc_merge_initializers (). |
| * trans-common.c (get_init_field): Use the correct locus. |
| |
| PR fortran/60774 |
| * parse.c (next_free,next_fixed): Issue error for statement label |
| without a statement. |
| |
| PR fortran/61318 |
| * interface.c (compare_parameter): Use better locus for error message. |
| |
| PR fortran/68566 |
| * check.c (gfc_check_reshape): Check for constant expression. |
| |
| PR fortran/69514 |
| * array.c (gfc_match_array_constructor): If type-spec is present, |
| walk the array constructor performing possible conversions for |
| numeric types. |
| |
| PR fortran/69867 |
| * decl.c (build_struct): Ensure that pointers point to something. |
| |
| PR fortran/69962 |
| * decl.c (gfc_set_constant_character_len): if expr is not |
| constant issue an error instead of an ICE. |
| |
| PR fortran/70006 |
| * io.c (gfc_resolve_dt): Use correct locus. |
| * resolve.c (resolve_branch): Ditto. |
| |
| PR fortran/71067 |
| * decl.c (match_data_constant): On error, set 'result' to NULL. |
| |
| PR fortran/71730 |
| * decl.c (char_len_param_value): Check return value of |
| gfc_reduce_init_expr(). |
| |
| PR fortran/71799 |
| * resolve.c(gfc_resolve_iterator): Failure of type conversion need |
| not ICE. |
| |
| PR fortran/71859 |
| * check.c(numeric_check): Prevent ICE. Issue error for invalid |
| subroutine as an actual argument when numeric argument is expected. |
| |
| PR fortran/71862 |
| * class.c: Remove assert. Iterate over component only if non-null. |
| |
| PR fortran/77260 |
| * gcc/fortran/trans-decl.c (generate_local_decl): Suppress warning |
| for unused variable if symbol is entry point. |
| |
| PR fortran/77351 |
| * frontend-passes.c (remove_trim,combine_array_constructor): Check for |
| NULL pointer. |
| |
| PR fortran/77372 |
| simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers. |
| |
| PR fortran/77380 |
| * dependency.c (gfc_check_dependency): Do not assert with |
| -fcoarray=lib. |
| |
| PR fortran/77391 |
| * resolve.c (deferred_requirements): New function to check F2008:C402. |
| (resolve_fl_variable,resolve_fl_parameter): Use it. |
| |
| PR fortran/77420 |
| * trans-common.c: Handle array elements in equivalence when |
| the lower and upper bounds of array spec are NULL. |
| |
| PR fortran/77429 |
| * dependency.c (gfc_check_dependency): Convert gcc_assert() to |
| a conditional and possible call to gfc_internal_error(). |
| |
| PR fortran/77460 |
| * simplify.c (simplify_transformation_to_scalar): On error, result |
| may be NULL, simply return. |
| |
| PR fortran/77506 |
| * array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot |
| appear in an array constructor. |
| |
| PR fortran/77507 |
| * intrinsic.c (add_functions): Use correct keyword. |
| |
| PR fortran/77612 |
| * decl.c (char_len_param_value): Check parent namespace for |
| seen_implicit_none. |
| |
| PR fortran/77694 |
| * frontend-passes.c (optimize_binop_array_assignment): Check pointer |
| for NULL. |
| |
| 2016-09-16 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-09-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/77500 |
| * trans-openmp.c (gfc_trans_omp_atomic): For atomic write or |
| swap, don't try to look through GFC_ISYM_CONVERSION. In other cases, |
| check that value.function.isym is non-NULL before dereferencing it. |
| |
| 2016-09-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-08-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/77352 |
| * trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a |
| BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns. |
| |
| PR fortran/77374 |
| * parse.c (parse_omp_oacc_atomic): Copy over cp->ext.omp_atomic |
| to cp->block->ext.omp_atomic. |
| * resolve.c (gfc_resolve_blocks): Assert block with one or two |
| EXEC_ASSIGNs for EXEC_*_ATOMIC. |
| * openmp.c (resolve_omp_atomic): Don't assert one or two |
| EXEC_ASSIGNs, instead return quietly for EXEC_NOPs and otherwise |
| error unexpected statements. |
| |
| 2016-08-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/71014 |
| * resolve.c (gfc_resolve): For ns->construct_entities don't save, clear |
| and restore omp state around the resolving. |
| |
| PR fortran/69281 |
| * trans-openmp.c (gfc_trans_omp_parallel, gfc_trans_omp_task, |
| gfc_trans_omp_target): Wrap gfc_trans_omp_code result in an extra |
| BIND_EXPR with its own forced BLOCK. |
| |
| 2016-08-24 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/77358 |
| * resolve.c (resolve_fl_procedure): Use the correct gfc_charlen |
| for deferred character length module procedures. |
| |
| 2016-08-22 Release Manager |
| |
| * GCC 6.2.0 released. |
| |
| 2016-08-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backport from trunk |
| * frontend-passes.c (create_var): Set ts.deferred for |
| deferred-length character variables. |
| * dump-parse-tree.c (show_typespec): Also dump |
| is_c_interop, is_iso_c and deferred flags. |
| |
| 2016-08-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/71906 |
| * trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl |
| for decl's character length before gfc_finish_var_decl on the |
| decl itself. |
| |
| 2016-08-11 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| Backport from trunk: |
| PR fortran/71936 |
| * trans-array.c (gfc_array_allocate): When SOURCE= is a function |
| stick with the ref of the object to allocate. |
| |
| 2016-08-11 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| Backport from trunk |
| PR fortran/72698 |
| * trans-stmt.c (gfc_trans_allocate): Prevent generating code for |
| copy of zero sized string and with it an ICE. |
| |
| 2016-08-08 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| Backport from trunk: |
| PR fortran/70524 |
| * trans-array.c (gfc_trans_dummy_array_bias): Ensure that the |
| location information is correctly set. |
| * trans-decl.c (gfc_trans_deferred_vars): Set the locus of the |
| current construct early. |
| |
| 2016-08-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/71795 |
| Backport from trunk |
| * frontend-passes.c (combine_array_constructor): Don't |
| do anything if the expression is inside an array iterator. |
| |
| 2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org> |
| Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backported from trunk: |
| PR fortran/71883 |
| * frontend-passes.c (gfc_run_passes): Bail out if there are any |
| errors. |
| * error.c (gfc_internal_error): If there are any errors in the |
| buffer, exit with EXIT_FAILURE. |
| |
| 2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| Backported from trunk: |
| PR fortran/71807 |
| * trans-expr.c (gfc_trans_subcomponent_assign): Special casing |
| when allocatable component is set to null() in initializer. |
| |
| 2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| Backport from trunk: |
| PR fortran/70842 |
| * simplify.c (gfc_simplify_len): Only for unlimited polymorphic |
| types replace the expression's _data ref with a _len ref. |
| |
| 2016-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| Backport from trunk: |
| PR fortran/71764 |
| * trans-expr.c (gfc_trans_structure_assign): Remove assert. |
| |
| 2016-07-13 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| Backport from trunk: |
| PR fortran/71623 |
| * trans-stmt.c (gfc_trans_allocate): Add code of pre block of typespec |
| in allocate to parent block. |
| |
| 2016-07-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backport from trunk: |
| PR fortran/71783 |
| * frontend-passes.c (create_var): Always allocate a charlen |
| for character variables. |
| |
| 2016-07-08 Cesar Philippidis <cesar@codesourcery.com> |
| |
| Backport from trunk: |
| 2016-07-08 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * parse.c (matcha): Define. |
| (decode_oacc_directive): Add spec_only local var and set it. Use |
| matcha to parse acc directives except for routine and declare. Return |
| ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be |
| matched. |
| |
| 2016-07-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-07-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/71687 |
| * f95-lang.c (struct binding_level): Add reversed field. |
| (clear_binding_level): Adjust initializer. |
| (getdecls): If reversed is clear, set it and nreverse the names |
| chain before returning it. |
| (poplevel): Use getdecls. |
| * trans-decl.c (gfc_generate_function_code, gfc_process_block_locals): |
| Use nreverse to pushdecl decls in the declaration order. |
| |
| PR fortran/71717 |
| * trans-openmp.c (gfc_omp_privatize_by_reference): Return false |
| for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE. |
| |
| 2016-06-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/71704 |
| * parse.c (matchs, matcho): Move right before decode_omp_directive. |
| If spec_only, only gfc_match the keyword and if successful, goto |
| do_spec_only. |
| (matchds, matchdo): Define. |
| (decode_omp_directive): Add spec_only local var and set it. |
| Use matchds or matchdo macros instead of matchs or matcho |
| for declare target, declare simd, declare reduction and threadprivate |
| directives. Return ST_GET_FCN_CHARACTERISTICS if a non-declarative |
| directive could be matched. |
| (next_statement): For ST_GET_FCN_CHARACTERISTICS restore |
| gfc_current_locus from old_locus even if there is no label. |
| |
| PR fortran/71705 |
| * trans-openmp.c (gfc_trans_omp_clauses): Set TREE_ADDRESSABLE on |
| decls in to/from clauses. |
| |
| 2016-06-29 Cesar Philippidis <cesar@codesourcery.com> |
| |
| Back port from trunk |
| 2016-06-29 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * openmp.c (match_oacc_clause_gang): Rename to ... |
| (match_oacc_clause_gwv): this. Add support for OpenACC worker and |
| vector clauses. |
| (gfc_match_omp_clauses): Use match_oacc_clause_gwv for |
| OMP_CLAUSE_{GANG,WORKER,VECTOR}. Propagate any MATCH_ERRORs for |
| invalid OMP_CLAUSE_{ASYNC,WAIT,GANG,WORKER,VECTOR} clauses. |
| (gfc_match_oacc_wait): Propagate MATCH_ERROR for invalid |
| oacc_expr_lists. Adjust the first and needs_space arguments to |
| gfc_match_omp_clauses. |
| |
| 2016-06-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/70673 |
| * frontend-passes.c (realloc_string_callback): Add a call to |
| gfc_dep_compare_expr. |
| |
| 2016-06-12 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR fortran/60751 |
| * io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY. |
| |
| 2016-06-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR c/71381 |
| Backport from trunk r237290: |
| * openmp.c (gfc_match_oacc_cache): Add comment. |
| |
| 2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/69659 |
| * trans-array.c (gfc_trans_dummy_array_bias): For class arrays use |
| the address of the _data component to reference the arrays data |
| component. |
| |
| 2016-06-01 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/71156 |
| * decl.c (copy_prefix): Add checks that the module procedure |
| declaration prefixes are compliant with the interface. Invert |
| order of existing elemental and pure checks. |
| * resolve.c (resolve_fl_procedure): Invert order of elemental |
| and pure errors. |
| |
| 2016-06-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * parse.c (case_decl): Move ST_OMP_* to ... |
| (case_omp_decl): ... here, new macro. |
| (verify_st_order): For case_omp_decl, complain about |
| p->state >= ORDER_EXEC, but don't change p->state otherwise. |
| |
| 2016-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| Backport from trunk. |
| PR fortran/66461 |
| * scanner.c (gfc_next_char_literal): Clear end_flag when adjusting |
| current locus back to old_locus. |
| |
| 2016-05-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/71204 |
| * frontend-passes.c (realloc_string_callback): Clear inserted_block |
| and changed_statement before calling create_var. |
| |
| 2016-05-15 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/69603 |
| * interface.c (compare_parameter): Check for non-NULL pointer. |
| |
| 2016-05-14 Fritz Reese <fritzoreese@gmail.com> |
| |
| Backport from trunk: r236242 |
| * gfortran.texi: Update example of DEC UNION extension. |
| |
| Backport from trunk: r236241 |
| PR fortran/71047 |
| * expr.c (gfc_default_initializer): Avoid extra component refs in |
| constructors for derived types and classes. |
| |
| Backport from trunk: r235999 |
| PR fortran/56226 |
| * module.c (dt_upper_string): Rename to gfc_dt_upper_string |
| (dt_lower_string): Likewise. |
| * gfortran.h: Make new gfc_dt_upper/lower_string global. |
| * class.c: Use gfc_dt_upper_string. |
| * decl.c: Likewise. |
| * symbol.c: Likewise. |
| * resolve.c (resolve_component): New function. |
| (resolve_fl_derived0): Move component loop code to resolve_component. |
| * parse.c (check_component): New function. |
| (parse_derived): Move loop code to check_component. |
| * lang.opt, invoke.texi, options.c : New option -fdec-structure. |
| * libgfortran.h (bt): New basic type BT_UNION. |
| * gfortran.h (gfc_option): New option -fdec-structure. |
| (gfc_get_union_type, gfc_compare_union_types): New prototypes. |
| (gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New |
| macros. |
| (gfc_find_component): Change prototype. |
| * match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union, |
| gfc_match_structure_decl): New prototypes. |
| * parse.h (gfc_comp_struct): New macro. |
| * symbol.c (gfc_find_component): Search for components in nested unions |
| * class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp, |
| copy_vtab_proc_comps): Update calls to gfc_find_component. |
| * primary.c (gfc_convert_to_structure_constructor): Likewise. |
| * symbol.c (gfc_add_component): Likewise. |
| * resolve.c (resolve_typebound_function, resolve_typebound_subroutine, |
| resolve_typebound_procedure, resolve_component, resolve_fl_derived): |
| Likewise. |
| * expr.c (get_union_init, component_init): New functions. |
| * decl.c (match_clist_expr, match_record_decl, get_struct_decl, |
| gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise. |
| * interface.c (compare_components, gfc_compare_union_types): Likewise. |
| * match.c (gfc_match_member_sep): Likewise. |
| * parse.c (check_component, parse_union, parse_struct_map): Likewise. |
| * resolve.c (resolve_fl_struct): Likewise. |
| * symbol.c (find_union_component): Likewise. |
| * trans-types.c (gfc_get_union_type): Likewise. |
| * parse.c (parse_derived): Use new functions. |
| * interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise. |
| * expr.c (gfc_default_initializer): Likewise. |
| * gfortran.texi: Support for DEC structures, unions, and maps. |
| * gfortran.h (gfc_statement, sym_flavor): Likewise. |
| * check.c (gfc_check_kill_sub): Likewise. |
| * expr.c (gfc_copy_expr, simplify_const_ref, |
| gfc_has_default_initializer): Likewise. |
| * decl.c (build_sym, match_data_constant, add_init_expr_to_sym, |
| match_pointer_init, build_struct, variable_decl, |
| gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry, |
| gfc_match_end, gfc_match_derived_decl): Likewise. |
| * interface.c (check_interface0, check_interface1, |
| gfc_search_interface): Likewise. |
| * misc.c (gfc_basic_typename, gfc_typename): Likewise. |
| * module.c (add_true_name, build_tnt, bt_types, mio_typespec, |
| fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol, |
| gfc_get_module_backend_decl): Likewise. |
| * parse.h (gfc_compile_state): Likewise. |
| * parse.c (decode_specification_statement, decode_statement, |
| gfc_ascii_statement, verify_st_order, parse_spec): Likewise. |
| * primary.c (gfc_match_varspec, gfc_match_structure_constructor, |
| gfc_match_rvalue, match_variable): Likewise. |
| * resolve.c (find_arglists, resolve_structure_cons, |
| is_illegal_recursion, resolve_generic_f, get_declared_from_expr, |
| resolve_typebound_subroutine, resolve_allocate_expr, |
| nonscalar_typebound_assign, generate_component_assignments, |
| resolve_fl_variable_derived, check_defined_assignments, |
| resolve_component, resolve_symbol, resolve_equivalence_derived): |
| Likewise. |
| * symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived, |
| gfc_restore_last_undo_checkpoint, gfc_type_compatible, |
| gfc_find_dt_in_generic): Likewise. |
| * trans-decl.c (gfc_get_module_backend_decl, create_function_arglist, |
| gfc_create_module_variable, check_constant_initializer): Likewise. |
| * trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer, |
| gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign, |
| gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p): |
| Likewise. |
| * trans-io.c (transfer_namelist_element, transfer_expr, |
| gfc_trans_transfer): Likewise. |
| * trans-stmt.c (gfc_trans_deallocate): Likewise. |
| * trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal, |
| gfc_get_derived_type): Likewise. |
| |
| 2016-05-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/70855 |
| * frontend-passes.c (inline_matmul_assign): Disable in !$omp workshare. |
| |
| 2016-04-29 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR middle-end/70626 |
| * trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate |
| the reduction clause in both parallel and loop directives. |
| |
| 2016-04-27 Release Manager |
| |
| * GCC 6.1.0 released. |
| |
| 2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR fortran/67039 |
| * intrinsic.texi: Correct the documentation of pseudorandom |
| number intrinsics. |
| |
| 2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR fortran/58000 |
| * gfortran.texi: Document OPEN( ... NAME=) as not implemented |
| in GNU Fortran |
| |
| 2016-04-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/68566 |
| * array.c (match_array_element_spec): Add check for non-integer. |
| * simplify.c (gfc_simplify_reshape): If source shape is NULL return. |
| |
| 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR c/70436 |
| * openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a |
| future -Wparentheses warning. |
| |
| 2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/67538 |
| * resolve.c (resolve_allocate_expr): Emit error message when no |
| array spec and no array valued source= expression is given in an |
| F2008 allocate() for an array to allocate. |
| |
| 2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/65795 |
| * trans-array.c (gfc_array_allocate): When the array is a coarray, |
| do not nullyfing its allocatable components in array_allocate, because |
| the nullify missed the array ref and nullifies the wrong component. |
| Cosmetics. |
| |
| 2016-03-29 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/70397 |
| * trans-expr.c (gfc_class_len_or_zero_get): Add function to return a |
| constant zero tree, when the class to get the _len component from is |
| not unlimited polymorphic. |
| (gfc_copy_class_to_class): Use the new function. |
| * trans.h: Added interface of new function gfc_class_len_or_zero_get. |
| |
| 2016-03-28 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> |
| |
| * trans-decl.c (gfc_build_builtin_function_decls): |
| caf_stop_numeric and caf_stop_str definition. |
| * trans-stmt.c (gfc_trans_stop): invoke external functions |
| for stop and stop_str when coarrays are used. |
| * trans.h: extern for new functions. |
| |
| 2016-03-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/69043 |
| * scanner.c (load_file): Update to use S_ISREG macro. |
| |
| 2016-03-17 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC |
| to OMP_MAP_DELETE. Adjust all users. |
| |
| 2016-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| Jim MacArthur <jim.macarthur@codethink.co.uk> |
| |
| PR fortran/69043 |
| * scanner.c (load_file): Check that included file is regular. |
| |
| 2016-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| Harold Anlauf <anlauf@gmx.de> |
| |
| PR fortran/69520 |
| * invoke.texi: Explain use of the 'no-' construct within the |
| -fcheck= option. |
| * options.c (gfc_handle_runtime_check_option): Enable use of |
| 'no-' prefix for the various options with -fcheck= to allow |
| negating previously enabled check options. |
| |
| 2016-03-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/70031 |
| * decl.c (gfc_match_prefix): Treat the 'module' prefix in the |
| same way as the others, rather than fixing it to come last. |
| (gfc_match_function_decl, gfc_match_subroutine): After errors |
| in 'copy_prefix', emit them immediately in the case of module |
| procedures to prevent a later ICE. |
| |
| PR fortran/69524 |
| * decl.c (gfc_match_submod_proc): Permit 'module procedure' |
| declarations within the contains section of modules as well as |
| submodules. |
| * resolve.c (resolve_fl_procedure): Likewise. |
| *trans-decl.c (build_function_decl): Change the gcc_assert to |
| allow all forms of module procedure declarations within module |
| contains sections. |
| |
| 2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/68147 |
| PR fortran/47674 |
| * frontend-passes.c (realloc_string_callback): Don't set |
| walk_subtrees. |
| |
| 2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * dump-parse-tree.c (show_code_node): Print association |
| list of a block if present. Handle EXEC_END_BLOCK. |
| |
| 2016-02-28 Harald Anlauf <anlauf@gmx.de> |
| Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/56007 |
| * match.c (gfc_match_iterator): Add diagnostic for array variable |
| as do loop index. |
| |
| 2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/69910 |
| * io.c (gfc_match_open): Check that open status is an expression |
| constant before comparing string to 'scratch' with NEWUNIT. |
| |
| 2016-02-27 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> |
| |
| * trans.c (gfc_allocate_allocatable): size conversion |
| from byte to number of elements for event variables. |
| * trans-types.c (gfc_get_derived_type): event variables |
| represented as a pointer (like lock variable). |
| |
| 2016-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/61156 |
| * scanner.c (add_path_to_list): If include path is not a directory, |
| issue a fatal error. |
| |
| 2016-02-23 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/67451 |
| * trans-array.c (gfc_array_allocate): Take the attributes from the |
| expression to allocate and not from the source=-expression. |
| |
| 2016-02-20 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/69423 |
| * trans-decl.c (create_function_arglist): Deferred character |
| length functions, with and without declared results, address |
| the passed reference type as '.result' and the local string |
| length as '..result'. |
| (gfc_null_and_pass_deferred_len): Helper function to null and |
| return deferred string lengths, as needed. |
| (gfc_trans_deferred_vars): Call it, thereby reducing repeated |
| code, add call for deferred arrays and reroute pointer function |
| results. Avoid using 'tmp' for anything other that a temporary |
| tree by introducing 'type_of_array' for the arrayspec type. |
| |
| 2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/69742 |
| * frontend-passes.c (cfe-expr_0): Don't register functions |
| from within an ASSOCIATE statement. |
| |
| 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/60526 |
| * decl.c (build_sym): If the name has already been defined as a |
| type, it has a symtree with an upper case letter at the beginning. |
| If such a symtree exists, issue an error and exit. Don't do |
| this if there is no corresponding upper case letter. |
| |
| 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/60526 |
| PR bootstrap/69816 |
| * decl.c (build_sym): Reverted previous patch. |
| |
| 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/60526 |
| * decl.c (build_sym): If the name has already been defined as a |
| type, issue error and return false. |
| |
| 2016-02-12 David Malcolm <dmalcolm@redhat.com> |
| |
| PR other/69554 |
| * error.c (gfc_diagnostic_start_span): New function. |
| (gfc_diagnostics_init): Initialize global_dc's start_span. |
| |
| 2016-02-11 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/69296 |
| * gfortran.h: Added flag to gfc_association_list indicating that |
| the rank of an associate variable has been guessed only. |
| * parse.c (parse_associate): Set the guess flag mentioned above |
| when guessing the rank of an expression. |
| * resolve.c (resolve_assoc_var): When the rank has been guessed, |
| make sure, that the guess was correct else overwrite with the actual |
| rank. |
| * trans-stmt.c (trans_associate_var): For subref_array_pointers in |
| class objects, take the span from the _data component. |
| |
| 2016-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/50555 |
| * primary.c (match_actual_arg): If symbol has attribute flavor of |
| namelist, generate an error. (gfc_match_rvalue): Likewise return |
| MATCH_ERROR. |
| * resolve.c (resolve_symbol): Scan arument list of procedures and |
| generate an error if a namelist is found. |
| |
| 2016-02-05 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/66089 |
| * trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename |
| the former to the latter and make it non-static. Update callers. |
| * gfortran.h (gfc_expr_is_variable): New declaration. |
| (struct gfc_ss_info): Add field needs_temporary. |
| * trans-array.c (gfc_scalar_elemental_arg_saved_as_argument): |
| Tighten the condition on aggregate expressions with a check |
| that the expression is a variable and doesn't need a temporary. |
| (gfc_conv_resolve_dependency): Add intermediary reference variable. |
| Set the needs_temporary field. |
| |
| 2016-02-03 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/67451 |
| PR fortran/69418 |
| * trans-expr.c (gfc_copy_class_to_class): For coarrays just the |
| pointer is passed. Take it as is without trying to deref the |
| _data component. |
| * trans-stmt.c (gfc_trans_allocate): Take care of coarrays as |
| argument to source=-expression. |
| |
| 2016-02-02 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * lang.opt (fopenacc-dim=): New option. |
| |
| 2016-01-31 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/67564 |
| * trans-expr.c (gfc_conv_procedure_call): For the vtable copy |
| subroutines, add a string length argument, when the actual |
| argument is an unlimited polymorphic class object. |
| |
| 2016-01-30 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/69566 |
| * trans-expr.c (gfc_conv_procedure_call): Correct expression |
| for 'ulim_copy', which was missing a test for 'comp'. |
| |
| 2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/62536 |
| * decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces |
| when the END encountered does not match a BLOCK's end. |
| |
| 2016-01-27 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/69484 |
| * invoke.texi: Fix documentation of -Wall with respect to -Wtabs. |
| |
| 2016-01-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/69422 |
| * trans-expr.c (is_scalar_reallocatable_lhs): Remove the check |
| for allocatable components, whilst checking if the symbol is a |
| derived or class entity.. |
| |
| 2016-01-26 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/69385 |
| * trans-expr.c (gfc_trans_assignment_1): Exclude initialization |
| assignments from check on assignment of scalars to unassigned |
| arrays and correct wrong code within the corresponding block. |
| |
| 2016-01-26 David Malcolm <dmalcolm@redhat.com> |
| |
| PR other/69006 |
| * error.c (gfc_diagnostic_starter): Delete use of pp_newline. |
| |
| 2016-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/69397 |
| PR fortran/68442 |
| * interface.c (gfc_arglist_matches_symbol): Replace assert with |
| a return false if not a procedure. |
| * resolve.c (resolve_generic_f): Test if we are resolving an |
| initialization expression and adjust error message accordingly. |
| |
| 2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/66094 |
| * frontend-passes.c (matmul_lhs_realloc): Add |
| forgotten break statement. |
| |
| 2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR fortran/68283 |
| * primary.c (gfc_variable_attr): revert revision r221955, |
| call gfc_internal_error only if there is no error. |
| |
| 2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/66094 |
| * frontend-passes.c (enum matrix_case): Add case A2B2T for |
| MATMUL(A,TRANSPoSE(B)) where A and B are rank 2. |
| (inline_limit_check): Also add A2B2T. |
| (matmul_lhs_realloc): Handle A2B2T. |
| (check_conjg_variable): Rename to |
| (check_conjg_transpose_variable): and also count TRANSPOSE. |
| (inline_matmul_assign): Handle A2B2T. |
| |
| 2016-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/65996 |
| * error.c (gfc_error): Save the state of abort_on_error and set |
| it to false for buffered errors to allow normal processing. |
| Restore the state before leaving. |
| |
| 2016-01-19 Martin Jambor <mjambor@suse.cz> |
| |
| * types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New. |
| (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed. |
| (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New. |
| |
| 2016-01-15 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/64324 |
| * resolve.c (check_uop_procedure): Prevent deferred length |
| characters from being trapped by assumed length error. |
| |
| PR fortran/49630 |
| PR fortran/54070 |
| PR fortran/60593 |
| PR fortran/60795 |
| PR fortran/61147 |
| PR fortran/64324 |
| * trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for |
| function as well as variable expressions. |
| (gfc_array_init_size): Add 'expr' as an argument. Use this to |
| correctly set the descriptor dtype for deferred characters. |
| (gfc_array_allocate): Add 'expr' to the call to |
| 'gfc_array_init_size'. |
| * trans.c (gfc_build_array_ref): Expand logic for setting span |
| to include indirect references to character lengths. |
| * trans-decl.c (gfc_get_symbol_decl): Ensure that deferred |
| result char lengths that are PARM_DECLs are indirectly |
| referenced both for directly passed and by reference. |
| (create_function_arglist): If the length type is a pointer type |
| then store the length as the 'passed_length' and make the char |
| length an indirect reference to it. |
| (gfc_trans_deferred_vars): If a character length has escaped |
| being set as an indirect reference, return it via the 'passed |
| length'. |
| * trans-expr.c (gfc_conv_procedure_call): The length of |
| deferred character length results is set TREE_STATIC and set to |
| zero. |
| (gfc_trans_assignment_1): Do not fix the rse string_length if |
| it is a variable, a parameter or an indirect reference. Add the |
| code to trap assignment of scalars to unallocated arrays. |
| * trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and |
| all references to it. Instead, replicate the code to obtain a |
| explicitly defined string length and provide a value before |
| array allocation so that the dtype is correctly set. |
| trans-types.c (gfc_get_character_type): If the character length |
| is a pointer, use the indirect reference. |
| |
| 2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/69154 |
| * frontend-passes.c (in_where): New variable. |
| (inline_matmul_assign): Don't try this if we are within |
| a WHERE statement. |
| (gfc_code_walker): Keep track of in_where. |
| |
| 2016-01-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/67779 |
| * trans_array.c (gfc_conv_scalarized_array_ref): Add missing |
| se->use_offset from condition for calculation of 'base'. |
| |
| 2016-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/69128 |
| * trans.h (OMPWS_SCALARIZER_BODY): Define. |
| (OMPWS_NOWAIT): Renumber. |
| * trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS |
| if OMPWS_SCALARIZER_BODY is not set already, and set also |
| OMPWS_SCALARIZER_BODY until the final loop creation. |
| * trans-expr.c (gfc_trans_assignment_1): Likewise. |
| * trans-openmp.c (gfc_trans_omp_workshare): Also clear |
| OMPWS_SCALARIZER_BODY. |
| * trans-array.c (gfc_trans_scalarized_loop_end): Don't create |
| OMP_FOR if OMPWS_SCALARIZER_BODY is set. |
| |
| 2016-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Update copyright years. |
| |
| * gfortranspec.c (lang_specific_driver): Update copyright notice |
| dates. |
| * gfc-internals.texi: Bump @copying's copyright year. |
| * gfortran.texi: Ditto. |
| * intrinsic.texi: Ditto. |
| * invoke.texi: Ditto. |
| |
| 2016-01-01 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/68864 |
| * trans-array.c (evaluate_bound): If deferred, test that 'desc' |
| is an array descriptor before using gfc_conv_descriptor_xxx. |
| |
| Copyright (C) 2016 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |