572 lines
20 KiB
Plaintext
572 lines
20 KiB
Plaintext
2017-04-14 Janus Weil <janus@gcc.gnu.org>
|
||
|
||
PR fortran/80361
|
||
* class.c (generate_finalization_wrapper): Give the finalization wrapper
|
||
the recursive attribute.
|
||
|
||
2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
|
||
Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/69498
|
||
* module.c (gfc_match_submodule): Add error
|
||
if function is called in the wrong state.
|
||
|
||
2017-04-10 Janus Weil <janus@gcc.gnu.org>
|
||
|
||
PR fortran/80046
|
||
* expr.c (gfc_check_pointer_assign): Check if procedure pointer
|
||
components in a pointer assignment need an explicit interface.
|
||
|
||
2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
|
||
|
||
PR fortran/69498
|
||
* symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
|
||
everything before it.
|
||
|
||
2017-03-28 Janus Weil <janus@gcc.gnu.org>
|
||
|
||
PR fortran/78661
|
||
* trans-io.c (transfer_namelist_element): Perform a polymorphic call
|
||
to a DTIO procedure if necessary.
|
||
|
||
2017-03-25 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/80156
|
||
PR fortran/79382
|
||
* decl.c (access_attr_decl): Remove the error for an absent
|
||
generic DTIO interface and ensure that symbol has the flavor
|
||
FL_PROCEDURE.
|
||
|
||
2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
|
||
|
||
PR fortran/79838
|
||
* module.c: Remove trailing period.
|
||
|
||
2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
|
||
|
||
PR fortran/79602
|
||
* decl.c: Replace '%s' with %qs.
|
||
* expr.c: Likewise.
|
||
* interface.c: Likewise.
|
||
* match.c: Likewise.
|
||
* primary.c: Likewise.
|
||
* resolve.c: Likewise.
|
||
|
||
PR fortran/79844
|
||
PR fortran/80011
|
||
* io.c: Remove trailing spaces.
|
||
* match.c: Likewise.
|
||
* openmp.c: Likewise.
|
||
* resolve.c: Likewise.
|
||
* trans-intrinsic.c: Likewise.
|
||
|
||
PR fortran/79853
|
||
* expr.c: Remove a double spaces.
|
||
|
||
PR fortran/79859
|
||
* primary.c: Remove spurious quotes around %qs.
|
||
|
||
2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/80142
|
||
* frontend-passes.c (combine_array_constructor): Take
|
||
location of new expression from constructor expression instead
|
||
of constructor.
|
||
|
||
2017-03-20 Nicolas Koenig <koenigni@student.ethz.ch>
|
||
|
||
PR fortran/39239
|
||
* symbol.c (check_conflict): Report an error if an EQUIVALENCE
|
||
object is BIND(C)
|
||
|
||
2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
|
||
|
||
PR fortran/69498
|
||
* decl.c (add_hidden_procptr_result): Fixed Refs count of the
|
||
created "ppr@" symbol.
|
||
|
||
2017-03-18 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/79676
|
||
* module.c (mio_symbol_attribute): Remove reset of the flag
|
||
'no_module_procedures'.
|
||
(check_for_module_procedures): New function. Move declaration
|
||
of 'no_module_procedures' to above it.
|
||
(gfc_dump_module): Traverse namespace calling new function.
|
||
|
||
2017-03-18 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/71838
|
||
* symbol.c (check_conflict): A dummy procedure in a submodule,
|
||
module procedure is not an error.
|
||
(gfc_add_flavor): Ditto.
|
||
|
||
2017-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR fortran/79841
|
||
* openmp.c (check_symbol_not_pointer): Adjust diagnostics.
|
||
|
||
2017-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/80010
|
||
* parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
|
||
and ST_OACC_END_ATOMIC, instead of !ACC.
|
||
* trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
|
||
* openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
|
||
gfc_resolve_oacc_declare): Likewise.
|
||
|
||
PR fortran/79886
|
||
* error.c (gfc_format_decoder): Rename plus argument to set_locus,
|
||
remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
|
||
if not a Fortran specific spec.
|
||
* trans-io.c: Include options.h.
|
||
(gfc_build_st_parameter): Temporarily disable -Wpadded around layout
|
||
of artificial IO data structures.
|
||
|
||
2017-03-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR fortran/79860
|
||
* resolve.c (resolve_contained_fntype): Make error messages more
|
||
amenable to translation.
|
||
|
||
2017-03-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR fortran/79894
|
||
* trans.c (gfc_add_modify_loc): Weaken assert.
|
||
|
||
2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>,
|
||
Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
|
||
|
||
* check.c (positive_check): Add new function checking constant for
|
||
being greater then zero.
|
||
(gfc_check_image_status): Add checking of image_status arguments.
|
||
(gfc_check_failed_or_stopped_images): Same but for failed_- and
|
||
stopped_images function.
|
||
* dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
|
||
* gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
|
||
(enum gfc_isym_id): Added new intrinsic symbols.
|
||
(enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
|
||
* gfortran.texi: Added description for the new API functions. Updated
|
||
coverage of gfortran of TS18508.
|
||
* intrinsic.c (add_functions): Added symbols to resolve new intrinsic
|
||
functions.
|
||
* intrinsic.h: Added prototypes.
|
||
* iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
|
||
intrinsic.
|
||
(gfc_resolve_image_status): Same for image_status.
|
||
(gfc_resolve_stopped_images): Same for stopped_images.
|
||
* libgfortran.h: Added prototypes.
|
||
* match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
|
||
(gfc_match_fail_image): Match a FAIL IMAGE statement.
|
||
* match.h: Added prototype.
|
||
* parse.c (decode_statement): Added matching for FAIL IMAGE.
|
||
(next_statement): Same.
|
||
(gfc_ascii_statement): Same.
|
||
* resolve.c: Same.
|
||
* simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
|
||
single a constant result can be returne.d
|
||
(gfc_simplify_image_status): For COARRAY=single the result is constant.
|
||
* st.c (gfc_free_statement): Added FAIL_IMAGE handling.
|
||
* trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
|
||
new intrinsics.
|
||
* trans-expr.c (gfc_conv_procedure_call): This is first time all
|
||
arguments of a function are optional, which is now handled here
|
||
correctly.
|
||
* trans-intrinsic.c (conv_intrinsic_image_status): Translate
|
||
image_status.
|
||
(gfc_conv_intrinsic_function): Add support for image_status.
|
||
(gfc_is_intrinsic_libcall): Add support for the remaining new
|
||
intrinsics.
|
||
* trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
|
||
* trans-stmt.h: Add the prototype for the above.
|
||
* trans.c (trans_code): Dispatch for fail_image.
|
||
* trans.h: Add the trees for the new intrinsics.
|
||
|
||
2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR fortran/79841
|
||
* openmp.c (check_symbol_not_pointer): Adjust diagnostic.
|
||
|
||
2017-02-28 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/79739
|
||
* resolve.c (resolve_fl_procedure): Deal with the case where
|
||
'submodule_name' is NULL so that gfc_error does not ICE.
|
||
Reformat the error message to make it more consistent.
|
||
|
||
2017-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
|
||
instead of just cond ? "..." : "...".
|
||
* scanner.c (gfc_next_char_literal): Likewise.
|
||
* match.c (match_exit_cycle): Likewise.
|
||
|
||
2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/51119
|
||
* options.c (gfc_post_options): Set default limit for matmul
|
||
inlining to 30.
|
||
* invoke.texi: Document change.
|
||
|
||
2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
|
||
|
||
PR fortran/79601
|
||
* interface.c (check_dtio_arg_TKR_intent): Change 'intent'
|
||
to 'INTENT'.
|
||
|
||
2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
|
||
|
||
PR fortran/79597
|
||
* interface.c (gfc_match_end_interface): Remove spurious comma
|
||
and space, replace 'got %s' with 'got %qs'.
|
||
|
||
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/79599
|
||
* interface.c (check_dtio_arg_TKR_intent): Supply 'must'
|
||
missing from error message.
|
||
|
||
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/79523
|
||
* interface.c (gfc_find_typebound_dtio_proc): Guard test for
|
||
flavor attribute by checking that symbol is resolved.
|
||
|
||
2017-02-16 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/79382
|
||
* decl.c (access_attr_decl): Test for presence of generic DTIO
|
||
interface and emit error if not present.
|
||
|
||
2017-02-20 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/79434
|
||
* parse.c (check_component, parse_union): Whitespace.
|
||
(set_syms_host_assoc): For a derived type, check if the module
|
||
in which it was declared is one of the submodule ancestors. If
|
||
it is, make the components public. Otherwise, reset attribute
|
||
'host_assoc' and set 'use-assoc' so that encapsulation is
|
||
preserved.
|
||
|
||
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/79447
|
||
* decl.c (gfc_set_constant_character_len): Whitespace.
|
||
(gfc_match_end): Catch case where a procedure is contained in
|
||
a module procedure and ensure that 'end procedure' is the
|
||
correct termination.
|
||
|
||
2017-02-19 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/79402
|
||
* resolve.c (fixup_unique_dummy): New function.
|
||
(gfc_resolve_expr): Call it for dummy variables with a unique
|
||
symtree name.
|
||
|
||
2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/79229
|
||
* trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
|
||
compiling with -fcheck=mem to check the pointer and not the data.
|
||
|
||
2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/79335
|
||
* trans-array.c (duplicate_allocatable_coarray): Ensure attributes
|
||
passed are properly initialized.
|
||
(structure_alloc_comps): Same.
|
||
* trans-expr.c (gfc_trans_structure_assign): Same.
|
||
|
||
2017-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
|
||
|
||
2017-02-12 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/65542
|
||
* intrinsic.c (gfc_intrinsic_func_interface): Return an error
|
||
for -std=f95 for disallowed transformational functions in
|
||
initialization expressions.
|
||
|
||
2017-02-09 Cesar Philippidis <cesar@codesourcery.com>
|
||
Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* openmp.c (resolve_omp_clauses): Error on directives
|
||
containing both tile and collapse clauses.
|
||
(resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
|
||
* trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
|
||
collapsed loops.
|
||
|
||
2017-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
|
||
REAL type with the widest precision if two (or more) have the same
|
||
storage size.
|
||
|
||
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/79344
|
||
* trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
|
||
the temporary, when a new object was created for the temporary. Not
|
||
when it is just an alias to an existing object.
|
||
|
||
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/79335
|
||
* trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
|
||
attributes before using them.
|
||
|
||
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/78958
|
||
* trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
|
||
component of unlimited polymorphic objects when source-allocating.
|
||
|
||
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/79230
|
||
* trans-array.c (structure_alloc_comps): Ignore pointer components when
|
||
freeing structures.
|
||
|
||
2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
|
||
|
||
PR lto/79061
|
||
* f95-lang.c (gfc_create_decls): Include stringpool.h.
|
||
Pass main_input_filename to build_translation_unit_decl.
|
||
|
||
2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
|
||
|
||
* arith.c (arith_power): If simplifying integer power expression
|
||
to zero, warn if -Winteger-division is given.
|
||
|
||
2017-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/79154
|
||
* parse.c (matchs, matcho, matchds, matchdo): Replace return st;
|
||
with { ret = st; goto finish; }.
|
||
(decode_omp_directive): Allow declare simd, declare target and
|
||
simd directives in PURE/ELEMENTAL procedures. Only call
|
||
gfc_unset_implicit_pure on successful match of other procedures.
|
||
|
||
2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* gfc-internals.texi (Symbol Versioning): Change references
|
||
to www.akkadia.org to https.
|
||
|
||
2017-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gfortran.h (gfc_extract_int): Change return type to bool. Add
|
||
int argument with = 0.
|
||
* decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
|
||
1 as new last argument to it, don't emit gfc_error.
|
||
(match_char_kind): Likewise.
|
||
(gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
|
||
gfc_get_string (x).
|
||
(gfc_match_derived_decl, match_binding_attributes): Likewise.
|
||
(gfc_match_structure_decl): Don't sprintf back to name, call
|
||
get_struct_decl directly with gfc_dt_upper_string (name) result.
|
||
* trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
|
||
instead of gfc_get_string (x).
|
||
* module.c (gfc_dt_lower_string, gfc_dt_upper_string,
|
||
gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
|
||
mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
|
||
load_omp_udrs, load_needed, read_module, dump_module,
|
||
create_intrinsic_function, import_iso_c_binding_module,
|
||
create_int_parameter, create_int_parameter_array, create_derived_type,
|
||
use_iso_fortran_env_module): Likewise.
|
||
* error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
|
||
pp_verbatim (context->printer, "%s", x) instead of
|
||
pp_verbatim (context->printer, x).
|
||
* match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
|
||
1 as new last argument to it, don't emit gfc_error.
|
||
(gfc_match_small_int_expr): Likewise.
|
||
* iresolve.c (gfc_get_string): Optimize format "%s" case.
|
||
(resolve_bound): Use gfc_get_string ("%s", x) instead of
|
||
gfc_get_string (x).
|
||
(resolve_transformational): Formatting fix.
|
||
(gfc_resolve_char_achar): Change name argument to bool is_achar,
|
||
use a single format string and if is_achar add "a" before "char".
|
||
(gfc_resolve_achar, gfc_resolve_char): Adjust callers.
|
||
* expr.c (gfc_extract_int): Change return type to bool, return true
|
||
if some error occurred. Add REPORT_ERROR argument, if non-zero
|
||
call either gfc_error or gfc_error_now depending on its sign.
|
||
* arith.c (arith_power): Adjust gfc_extract_int caller.
|
||
* symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
|
||
of gfc_get_string (x).
|
||
(gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
|
||
gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
|
||
* openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
|
||
-1 as new last argument to it, don't emit gfc_error_now.
|
||
(gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
|
||
instead of gfc_get_string (x).
|
||
* check.c (kind_check): Adjust gfc_extract_int caller.
|
||
* intrinsic.c (add_sym, find_sym, make_alias): Use
|
||
gfc_get_string ("%s", x) instead of gfc_get_string (x).
|
||
* simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
|
||
gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
|
||
gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
|
||
Adjust gfc_extract_int callers.
|
||
* trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
|
||
instead of gfc_get_string (x).
|
||
* matchexp.c (expression_syntax): Add const.
|
||
* primary.c (match_kind_param, match_hollerith_constant,
|
||
match_string_constant): Adjust gfc_extract_int callers.
|
||
(match_keyword_arg): Use gfc_get_string ("%s", x) instead of
|
||
gfc_get_string (x).
|
||
* frontend-passes.c (optimize_minmaxloc): Likewise.
|
||
|
||
2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/70696
|
||
* trans-decl.c (gfc_build_qualified_array): Add static decl to parent
|
||
function only, when the decl-context is not the translation unit.
|
||
|
||
2017-01-18 Louis Krupp <louis.krupp@zoho.com>
|
||
|
||
PR fortran/50069
|
||
PR fortran/55086
|
||
* trans-expr.c (gfc_conv_variable): Don't treat temporary variables
|
||
as function arguments.
|
||
* trans-stmt.c (forall_make_variable_temp,
|
||
generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
|
||
gfc_trans_forall_1): Don't adjust offset of forall temporary
|
||
for array sections, make forall temporaries work for substring
|
||
expressions, improve test coverage by adding -ftest-forall-temp
|
||
option to request usage of temporary array in forall code.
|
||
* lang.opt: Add -ftest-forall-temp option.
|
||
* invoke.texi: Add -ftest-forall-temp option.
|
||
|
||
2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
* primary.c (caf_variable_attr): Improve figuring whether the current
|
||
component is the last one refed.
|
||
* trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
|
||
when allocating pointer or allocatable components.
|
||
|
||
2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
* gfortran.texi: Add missing parameters to caf-API functions. Correct
|
||
typos and clarify some descriptions.
|
||
|
||
2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/70696
|
||
Missed some cases, here they are:
|
||
* trans-decl.c (gfc_build_qualified_array): Add static tokens to the
|
||
parent function's scope.
|
||
* trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove
|
||
unnecessary assert.
|
||
|
||
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/70697
|
||
* resolve.c (resolve_lock_unlock_event): Resolve the expression for
|
||
event's until_count.
|
||
|
||
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/70696
|
||
* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
|
||
is valid before accessing it.
|
||
|
||
2017-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR translation/79019
|
||
PR translation/79020
|
||
* decl.c (attr_decl1): Fix spelling in translatable string.
|
||
* intrinsic.texi: Fix spelling - invokation -> invocation.
|
||
* lang.opt (faggressive-function-elimination, gfc_convert): Fix
|
||
typos in descriptions.
|
||
* openmp.c (resolve_omp_clauses): Add missing whitespace to
|
||
translatable strings.
|
||
|
||
2017-01-08 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/78913
|
||
PR middle-end/77708
|
||
* trans-common.c (build_equiv_decl): Increase buffer size to avoid
|
||
truncation for any argument.
|
||
* trans-types.c (gfc_build_logical_type): Same.
|
||
|
||
2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/78781
|
||
PR fortran/78935
|
||
* expr.c (gfc_check_pointer_assign): Return the same error message for
|
||
rewritten coarray pointer assignments like for plain ones.
|
||
* gfortran.h: Change prototype.
|
||
* primary.c (caf_variable_attr): Set attributes used ones only only
|
||
ones. Add setting of pointer_comp attribute.
|
||
(gfc_caf_attr): Add setting of pointer_comp attribute.
|
||
* trans-array.c (gfc_array_allocate): Add flag that the component to
|
||
allocate is not an ultimate coarray component. Add allocation of
|
||
pointer arrays.
|
||
(structure_alloc_comps): Extend nullify to treat pointer components in
|
||
coarrays correctly. Restructure nullify to remove redundant code.
|
||
(gfc_nullify_alloc_comp): Allow setting caf_mode flags.
|
||
* trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
|
||
* trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
|
||
derived type coarrays with pointer components.
|
||
* trans-expr.c (gfc_trans_structure_assign): Also treat pointer
|
||
components.
|
||
(trans_caf_token_assign): Handle assignment of token of scalar pointer
|
||
components.
|
||
(gfc_trans_pointer_assignment): Call above routine.
|
||
* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
|
||
components.
|
||
(gfc_conv_intrinsic_caf_get): Likewise.
|
||
(conv_caf_send): Likewise.
|
||
* trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
|
||
a coarray pre-register the tokens.
|
||
(gfc_trans_deallocate): Simply determining the coarray type (scalar or
|
||
array) and deregistering it correctly.
|
||
* trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
|
||
actual codim to allow lookup of array types in the cache.
|
||
(gfc_build_array_type): Likewise.
|
||
(gfc_get_array_descriptor_base): Likewise.
|
||
(gfc_get_array_type_bounds): Likewise.
|
||
(gfc_get_derived_type): Likewise.
|
||
* trans-types.h: Likewise.
|
||
* trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
|
||
of coarray components.
|
||
(gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
|
||
instead of caf_deregister.
|
||
|
||
2017-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* simplify.c (simplify_transformation_to_array): Use
|
||
GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
|
||
#pragma GCC diagnostic {push,ignored,pop}.
|
||
|
||
2017-01-06 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* simplify.c (simplify_transformation_to_array): Silence
|
||
array bounds warning. Fix whitespace.
|
||
|
||
2017-01-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* module.c (load_omp_udrs): Initialize name.
|
||
|
||
2017-01-02 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR fortran/78534
|
||
* trans-expr.c (gfc_trans_string_copy): Rework string copy
|
||
algorithm to avoid -Wstringop-overflow warning.
|
||
|
||
2017-01-01 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.
|
||
|
||
Copyright (C) 2017 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.
|