1 2017-02-28 Paul Thomas <pault@gcc.gnu.org>
4 * resolve.c (resolve_fl_procedure): Deal with the case where
5 'submodule_name' is NULL so that gfc_error does not ICE.
6 Reformat the error message to make it more consistent.
8 2017-02-28 Jakub Jelinek <jakub@redhat.com>
10 * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
11 instead of just cond ? "..." : "...".
12 * scanner.c (gfc_next_char_literal): Likewise.
13 * match.c (match_exit_cycle): Likewise.
15 2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
18 * options.c (gfc_post_options): Set default limit for matmul
20 * invoke.texi: Document change.
22 2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
25 * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
28 2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
31 * interface.c (gfc_match_end_interface): Remove spurious comma
32 and space, replace 'got %s' with 'got %qs'.
34 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
37 * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
38 missing from error message.
40 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
43 * interface.c (gfc_find_typebound_dtio_proc): Guard test for
44 flavor attribute by checking that symbol is resolved.
46 2017-02-16 Paul Thomas <pault@gcc.gnu.org>
49 * decl.c (access_attr_decl): Test for presence of generic DTIO
50 interface and emit error if not present.
52 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
55 * parse.c (check_component, parse_union): Whitespace.
56 (set_syms_host_assoc): For a derived type, check if the module
57 in which it was declared is one of the submodule ancestors. If
58 it is, make the components public. Otherwise, reset attribute
59 'host_assoc' and set 'use-assoc' so that encapsulation is
62 2017-02-19 Paul Thomas <pault@gcc.gnu.org>
65 * decl.c (gfc_set_constant_character_len): Whitespace.
66 (gfc_match_end): Catch case where a procedure is contained in
67 a module procedure and ensure that 'end procedure' is the
70 2017-02-19 Paul Thomas <pault@gcc.gnu.org>
73 * resolve.c (fixup_unique_dummy): New function.
74 (gfc_resolve_expr): Call it for dummy variables with a unique
77 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
80 * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
81 compiling with -fcheck=mem to check the pointer and not the data.
83 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
86 * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
87 passed are properly initialized.
88 (structure_alloc_comps): Same.
89 * trans-expr.c (gfc_trans_structure_assign): Same.
91 2017-02-13 Jakub Jelinek <jakub@redhat.com>
93 * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
95 2017-02-12 Thomas Koenig <tkoenig@gcc.gnu.org>
98 * intrinsic.c (gfc_intrinsic_func_interface): Return an error
99 for -std=f95 for disallowed transformational functions in
100 initialization expressions.
102 2017-02-09 Cesar Philippidis <cesar@codesourcery.com>
103 Joseph Myers <joseph@codesourcery.com>
105 * openmp.c (resolve_omp_clauses): Error on directives
106 containing both tile and collapse clauses.
107 (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
108 * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
111 2017-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
113 * trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
114 REAL type with the widest precision if two (or more) have the same
117 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
120 * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
121 the temporary, when a new object was created for the temporary. Not
122 when it is just an alias to an existing object.
124 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
127 * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
128 attributes before using them.
130 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
133 * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
134 component of unlimited polymorphic objects when source-allocating.
136 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
139 * trans-array.c (structure_alloc_comps): Ignore pointer components when
142 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
145 * f95-lang.c (gfc_create_decls): Include stringpool.h.
146 Pass main_input_filename to build_translation_unit_decl.
148 2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
150 * arith.c (arith_power): If simplifying integer power expression
151 to zero, warn if -Winteger-division is given.
153 2017-01-22 Jakub Jelinek <jakub@redhat.com>
156 * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
157 with { ret = st; goto finish; }.
158 (decode_omp_directive): Allow declare simd, declare target and
159 simd directives in PURE/ELEMENTAL procedures. Only call
160 gfc_unset_implicit_pure on successful match of other procedures.
162 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
164 * gfc-internals.texi (Symbol Versioning): Change references
165 to www.akkadia.org to https.
167 2017-01-21 Jakub Jelinek <jakub@redhat.com>
169 * gfortran.h (gfc_extract_int): Change return type to bool. Add
170 int argument with = 0.
171 * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
172 1 as new last argument to it, don't emit gfc_error.
173 (match_char_kind): Likewise.
174 (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
176 (gfc_match_derived_decl, match_binding_attributes): Likewise.
177 (gfc_match_structure_decl): Don't sprintf back to name, call
178 get_struct_decl directly with gfc_dt_upper_string (name) result.
179 * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
180 instead of gfc_get_string (x).
181 * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
182 gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
183 mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
184 load_omp_udrs, load_needed, read_module, dump_module,
185 create_intrinsic_function, import_iso_c_binding_module,
186 create_int_parameter, create_int_parameter_array, create_derived_type,
187 use_iso_fortran_env_module): Likewise.
188 * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
189 pp_verbatim (context->printer, "%s", x) instead of
190 pp_verbatim (context->printer, x).
191 * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
192 1 as new last argument to it, don't emit gfc_error.
193 (gfc_match_small_int_expr): Likewise.
194 * iresolve.c (gfc_get_string): Optimize format "%s" case.
195 (resolve_bound): Use gfc_get_string ("%s", x) instead of
197 (resolve_transformational): Formatting fix.
198 (gfc_resolve_char_achar): Change name argument to bool is_achar,
199 use a single format string and if is_achar add "a" before "char".
200 (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
201 * expr.c (gfc_extract_int): Change return type to bool, return true
202 if some error occurred. Add REPORT_ERROR argument, if non-zero
203 call either gfc_error or gfc_error_now depending on its sign.
204 * arith.c (arith_power): Adjust gfc_extract_int caller.
205 * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
206 of gfc_get_string (x).
207 (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
208 gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
209 * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
210 -1 as new last argument to it, don't emit gfc_error_now.
211 (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
212 instead of gfc_get_string (x).
213 * check.c (kind_check): Adjust gfc_extract_int caller.
214 * intrinsic.c (add_sym, find_sym, make_alias): Use
215 gfc_get_string ("%s", x) instead of gfc_get_string (x).
216 * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
217 gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
218 gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
219 Adjust gfc_extract_int callers.
220 * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
221 instead of gfc_get_string (x).
222 * matchexp.c (expression_syntax): Add const.
223 * primary.c (match_kind_param, match_hollerith_constant,
224 match_string_constant): Adjust gfc_extract_int callers.
225 (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
227 * frontend-passes.c (optimize_minmaxloc): Likewise.
229 2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org>
232 * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
233 function only, when the decl-context is not the translation unit.
235 2017-01-18 Louis Krupp <louis.krupp@zoho.com>
239 * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
240 as function arguments.
241 * trans-stmt.c (forall_make_variable_temp,
242 generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
243 gfc_trans_forall_1): Don't adjust offset of forall temporary
244 for array sections, make forall temporaries work for substring
245 expressions, improve test coverage by adding -ftest-forall-temp
246 option to request usage of temporary array in forall code.
247 * lang.opt: Add -ftest-forall-temp option.
248 * invoke.texi: Add -ftest-forall-temp option.
250 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
252 * primary.c (caf_variable_attr): Improve figuring whether the current
253 component is the last one refed.
254 * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
255 when allocating pointer or allocatable components.
257 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
259 * gfortran.texi: Add missing parameters to caf-API functions. Correct
260 typos and clarify some descriptions.
262 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
265 Missed some cases, here they are:
266 * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
267 parent function's scope.
268 * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove
271 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
274 * resolve.c (resolve_lock_unlock_event): Resolve the expression for
277 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
280 * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
281 is valid before accessing it.
283 2017-01-09 Jakub Jelinek <jakub@redhat.com>
287 * decl.c (attr_decl1): Fix spelling in translatable string.
288 * intrinsic.texi: Fix spelling - invokation -> invocation.
289 * lang.opt (faggressive-function-elimination, gfc_convert): Fix
290 typos in descriptions.
291 * openmp.c (resolve_omp_clauses): Add missing whitespace to
292 translatable strings.
294 2017-01-08 Martin Sebor <msebor@redhat.com>
296 PR tree-optimization/78913
298 * trans-common.c (build_equiv_decl): Increase buffer size to avoid
299 truncation for any argument.
300 * trans-types.c (gfc_build_logical_type): Same.
302 2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
306 * expr.c (gfc_check_pointer_assign): Return the same error message for
307 rewritten coarray pointer assignments like for plain ones.
308 * gfortran.h: Change prototype.
309 * primary.c (caf_variable_attr): Set attributes used ones only only
310 ones. Add setting of pointer_comp attribute.
311 (gfc_caf_attr): Add setting of pointer_comp attribute.
312 * trans-array.c (gfc_array_allocate): Add flag that the component to
313 allocate is not an ultimate coarray component. Add allocation of
315 (structure_alloc_comps): Extend nullify to treat pointer components in
316 coarrays correctly. Restructure nullify to remove redundant code.
317 (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
318 * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
319 * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
320 derived type coarrays with pointer components.
321 * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
323 (trans_caf_token_assign): Handle assignment of token of scalar pointer
325 (gfc_trans_pointer_assignment): Call above routine.
326 * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
328 (gfc_conv_intrinsic_caf_get): Likewise.
329 (conv_caf_send): Likewise.
330 * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
331 a coarray pre-register the tokens.
332 (gfc_trans_deallocate): Simply determining the coarray type (scalar or
333 array) and deregistering it correctly.
334 * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
335 actual codim to allow lookup of array types in the cache.
336 (gfc_build_array_type): Likewise.
337 (gfc_get_array_descriptor_base): Likewise.
338 (gfc_get_array_type_bounds): Likewise.
339 (gfc_get_derived_type): Likewise.
340 * trans-types.h: Likewise.
341 * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
342 of coarray components.
343 (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
344 instead of caf_deregister.
346 2017-01-06 Jakub Jelinek <jakub@redhat.com>
348 * simplify.c (simplify_transformation_to_array): Use
349 GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
350 #pragma GCC diagnostic {push,ignored,pop}.
352 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
354 * simplify.c (simplify_transformation_to_array): Silence
355 array bounds warning. Fix whitespace.
357 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
359 * module.c (load_omp_udrs): Initialize name.
361 2017-01-02 Janne Blomqvist <jb@gcc.gnu.org>
364 * trans-expr.c (gfc_trans_string_copy): Rework string copy
365 algorithm to avoid -Wstringop-overflow warning.
367 2017-01-01 Jakub Jelinek <jakub@redhat.com>
369 Update copyright years.
371 * gfortranspec.c (lang_specific_driver): Update copyright notice
373 * gfc-internals.texi: Bump @copying's copyright year.
374 * gfortran.texi: Ditto.
375 * intrinsic.texi: Ditto.
376 * invoke.texi: Ditto.
378 Copyright (C) 2017 Free Software Foundation, Inc.
380 Copying and distribution of this file, with or without modification,
381 are permitted in any medium without royalty provided the copyright
382 notice and this notice are preserved.