2017-02-17 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / fortran / ChangeLog
blobd9c269da6cfc32619beb1a6e330f831809d9b923
1 2017-02-13  Jakub Jelinek  <jakub@redhat.com>
3         * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
5 2017-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
7         PR fortran/65542
8         * intrinsic.c (gfc_intrinsic_func_interface):  Return an error
9         for -std=f95 for disallowed transformational functions in
10         initialization expressions.
12 2017-02-09  Cesar Philippidis  <cesar@codesourcery.com>
13             Joseph Myers  <joseph@codesourcery.com>
15         * openmp.c (resolve_omp_clauses): Error on directives
16         containing both tile and collapse clauses.
17         (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
18         * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
19         collapsed loops.
21 2017-02-07  Steven G. Kargl  <kargl@gcc.gnu.org>
23         * trans-types.c (gfc_get_int_kind_from_width_isofortranen):  Choose
24         REAL type with the widest precision if two (or more) have the same
25         storage size.
27 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
29         PR fortran/79344
30         * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
31         the temporary, when a new object was created for the temporary.  Not
32         when it is just an alias to an existing object.
34 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
36         PR fortran/79335
37         * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
38         attributes before using them.
40 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
42         PR fortran/78958
43         * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
44         component of unlimited polymorphic objects when source-allocating.
46 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
48         PR fortran/79230
49         * trans-array.c (structure_alloc_comps): Ignore pointer components when
50         freeing structures.
52 2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
54         PR lto/79061
55         * f95-lang.c (gfc_create_decls): Include stringpool.h.
56         Pass main_input_filename to build_translation_unit_decl.
58 2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
60         * arith.c (arith_power):  If simplifying integer power expression
61         to zero, warn if -Winteger-division is given.
63 2017-01-22  Jakub Jelinek  <jakub@redhat.com>
65         PR fortran/79154
66         * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
67         with { ret = st; goto finish; }.
68         (decode_omp_directive): Allow declare simd, declare target and
69         simd directives in PURE/ELEMENTAL procedures.  Only call
70         gfc_unset_implicit_pure on successful match of other procedures.
72 2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
74         * gfc-internals.texi (Symbol Versioning): Change references
75         to www.akkadia.org to https.
77 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
79         * gfortran.h (gfc_extract_int): Change return type to bool.  Add
80         int argument with = 0.
81         * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
82         1 as new last argument to it, don't emit gfc_error.
83         (match_char_kind): Likewise.
84         (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
85         gfc_get_string (x).
86         (gfc_match_derived_decl, match_binding_attributes): Likewise.
87         (gfc_match_structure_decl): Don't sprintf back to name, call
88         get_struct_decl directly with gfc_dt_upper_string (name) result.
89         * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
90         instead of gfc_get_string (x).
91         * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
92         gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
93         mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
94         load_omp_udrs, load_needed, read_module, dump_module,
95         create_intrinsic_function, import_iso_c_binding_module,
96         create_int_parameter, create_int_parameter_array, create_derived_type,
97         use_iso_fortran_env_module): Likewise.
98         * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
99         pp_verbatim (context->printer, "%s", x) instead of
100         pp_verbatim (context->printer, x).
101         * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
102         1 as new last argument to it, don't emit gfc_error.
103         (gfc_match_small_int_expr): Likewise.
104         * iresolve.c (gfc_get_string): Optimize format "%s" case.
105         (resolve_bound): Use gfc_get_string ("%s", x) instead of
106         gfc_get_string (x).
107         (resolve_transformational): Formatting fix.
108         (gfc_resolve_char_achar): Change name argument to bool is_achar,
109         use a single format string and if is_achar add "a" before "char".
110         (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
111         * expr.c (gfc_extract_int): Change return type to bool, return true
112         if some error occurred.  Add REPORT_ERROR argument, if non-zero
113         call either gfc_error or gfc_error_now depending on its sign.
114         * arith.c (arith_power): Adjust gfc_extract_int caller.
115         * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
116         of gfc_get_string (x).
117         (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
118         gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
119         * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
120         -1 as new last argument to it, don't emit gfc_error_now.
121         (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
122         instead of gfc_get_string (x).
123         * check.c (kind_check): Adjust gfc_extract_int caller.
124         * intrinsic.c (add_sym, find_sym, make_alias): Use
125         gfc_get_string ("%s", x) instead of gfc_get_string (x).
126         * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
127         gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
128         gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
129         Adjust gfc_extract_int callers.
130         * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
131         instead of gfc_get_string (x).
132         * matchexp.c (expression_syntax): Add const.
133         * primary.c (match_kind_param, match_hollerith_constant,
134         match_string_constant): Adjust gfc_extract_int callers.
135         (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
136         gfc_get_string (x).
137         * frontend-passes.c (optimize_minmaxloc): Likewise.
139 2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>
141         PR fortran/70696
142         * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
143         function only, when the decl-context is not the translation unit.
145 2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
147         PR fortran/50069
148         PR fortran/55086
149         * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
150         as function arguments.
151         * trans-stmt.c (forall_make_variable_temp,
152         generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
153         gfc_trans_forall_1): Don't adjust offset of forall temporary
154         for array sections, make forall temporaries work for substring
155         expressions, improve test coverage by adding -ftest-forall-temp
156         option to request usage of temporary array in forall code.
157         * lang.opt: Add -ftest-forall-temp option.
158         * invoke.texi: Add -ftest-forall-temp option.
160 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
162         * primary.c (caf_variable_attr): Improve figuring whether the current
163         component is the last one refed.
164         * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
165         when allocating pointer or allocatable components.
167 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
169         * gfortran.texi: Add missing parameters to caf-API functions.  Correct
170         typos and clarify some descriptions.
172 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
174         PR fortran/70696
175         Missed some cases, here they are:
176         * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
177         parent function's scope.
178         * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
179         unnecessary assert.
181 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
183         PR fortran/70697
184         * resolve.c (resolve_lock_unlock_event): Resolve the expression for
185         event's until_count.
187 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
189         PR fortran/70696
190         * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
191         is valid before accessing it.
193 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
195         PR translation/79019
196         PR translation/79020
197         * decl.c (attr_decl1): Fix spelling in translatable string.
198         * intrinsic.texi: Fix spelling - invokation -> invocation.
199         * lang.opt (faggressive-function-elimination, gfc_convert): Fix
200         typos in descriptions.
201         * openmp.c (resolve_omp_clauses): Add missing whitespace to
202         translatable strings.
204 2017-01-08  Martin Sebor  <msebor@redhat.com>
206         PR tree-optimization/78913
207         PR middle-end/77708
208         * trans-common.c (build_equiv_decl): Increase buffer size to avoid
209         truncation for any argument.
210         * trans-types.c (gfc_build_logical_type): Same.
212 2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
214         PR fortran/78781
215         PR fortran/78935
216         * expr.c (gfc_check_pointer_assign): Return the same error message for
217         rewritten coarray pointer assignments like for plain ones.
218         * gfortran.h: Change prototype.
219         * primary.c (caf_variable_attr): Set attributes used ones only only
220         ones.  Add setting of pointer_comp attribute.
221         (gfc_caf_attr): Add setting of pointer_comp attribute.
222         * trans-array.c (gfc_array_allocate): Add flag that the component to
223         allocate is not an ultimate coarray component.  Add allocation of
224         pointer arrays.
225         (structure_alloc_comps): Extend nullify to treat pointer components in
226         coarrays correctly.  Restructure nullify to remove redundant code.
227         (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
228         * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
229         * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
230         derived type coarrays with pointer components.
231         * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
232         components.
233         (trans_caf_token_assign): Handle assignment of token of scalar pointer
234         components.
235         (gfc_trans_pointer_assignment): Call above routine.
236         * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
237         components.
238         (gfc_conv_intrinsic_caf_get): Likewise.
239         (conv_caf_send): Likewise.
240         * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
241         a coarray pre-register the tokens.
242         (gfc_trans_deallocate): Simply determining the coarray type (scalar or
243         array) and deregistering it correctly.
244         * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
245         actual codim to allow lookup of array types in the cache.
246         (gfc_build_array_type): Likewise.
247         (gfc_get_array_descriptor_base): Likewise.
248         (gfc_get_array_type_bounds): Likewise.
249         (gfc_get_derived_type): Likewise.
250         * trans-types.h: Likewise.
251         * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
252         of coarray components.
253         (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
254         instead of caf_deregister.
256 2017-01-06  Jakub Jelinek  <jakub@redhat.com>
258         * simplify.c (simplify_transformation_to_array): Use
259         GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
260         #pragma GCC diagnostic {push,ignored,pop}.
262 2017-01-06  Alexandre Oliva <aoliva@redhat.com>
264         * simplify.c (simplify_transformation_to_array): Silence
265         array bounds warning.  Fix whitespace.
267 2017-01-04  Alexandre Oliva <aoliva@redhat.com>
269         * module.c (load_omp_udrs): Initialize name.
271 2017-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
273         PR fortran/78534
274         * trans-expr.c (gfc_trans_string_copy): Rework string copy
275         algorithm to avoid -Wstringop-overflow warning.
277 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
279         Update copyright years.
281         * gfortranspec.c (lang_specific_driver): Update copyright notice
282         dates.
283         * gfc-internals.texi: Bump @copying's copyright year.
284         * gfortran.texi: Ditto.
285         * intrinsic.texi: Ditto.
286         * invoke.texi: Ditto.
288 Copyright (C) 2017 Free Software Foundation, Inc.
290 Copying and distribution of this file, with or without modification,
291 are permitted in any medium without royalty provided the copyright
292 notice and this notice are preserved.