annotate gcc/fortran/ChangeLog @ 120:f93fa5091070

fix conv1.c
author mir3636
date Thu, 08 Mar 2018 14:53:42 +0900
parents 04ced10e8804
children 84e7813d76e9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 2017-10-25 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 * match.c (gfc_match_type_is): Fix typo in error message.
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 2017-10-21 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 PR fortran/82586
kono
parents:
diff changeset
8 * decl.c (gfc_get_pdt_instance): Remove the error message that
kono
parents:
diff changeset
9 the parameter does not have a corresponding component since
kono
parents:
diff changeset
10 this is now taken care of when the derived type is resolved. Go
kono
parents:
diff changeset
11 straight to error return instead.
kono
parents:
diff changeset
12 (gfc_match_formal_arglist): Make the PDT relevant errors
kono
parents:
diff changeset
13 immediate so that parsing of the derived type can continue.
kono
parents:
diff changeset
14 (gfc_match_derived_decl): Do not check the match status on
kono
parents:
diff changeset
15 return from gfc_match_formal_arglist for the same reason.
kono
parents:
diff changeset
16 * resolve.c (resolve_fl_derived0): Check that each type
kono
parents:
diff changeset
17 parameter has a corresponding component.
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 PR fortran/82587
kono
parents:
diff changeset
20 * resolve.c (resolve_generic_f): Check that the derived type
kono
parents:
diff changeset
21 can be used before resolving the struture constructor.
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 PR fortran/82589
kono
parents:
diff changeset
24 * symbol.c (check_conflict): Add the conflicts involving PDT
kono
parents:
diff changeset
25 KIND and LEN attributes.
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 2017-10-19 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 * interface.c (check_sym_interfaces, check_uop_interfaces,
kono
parents:
diff changeset
30 gfc_check_interfaces): Base interface_name buffer off
kono
parents:
diff changeset
31 GFC_MAX_SYMBOL_LEN.
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 2017-10-19 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 PR fortran/82568
kono
parents:
diff changeset
36 * gfortran.h (gfc_resolve_do_iterator): Add a bool arg.
kono
parents:
diff changeset
37 (gfc_resolve_omp_local_vars): New declaration.
kono
parents:
diff changeset
38 * openmp.c (omp_current_ctx): Make static.
kono
parents:
diff changeset
39 (gfc_resolve_omp_parallel_blocks): Handle EXEC_OMP_TASKLOOP
kono
parents:
diff changeset
40 and EXEC_OMP_TASKLOOP_SIMD.
kono
parents:
diff changeset
41 (gfc_resolve_do_iterator): Add ADD_CLAUSE argument, if false,
kono
parents:
diff changeset
42 don't actually add any clause. Move omp_current_ctx test
kono
parents:
diff changeset
43 earlier.
kono
parents:
diff changeset
44 (handle_local_var, gfc_resolve_omp_local_vars): New functions.
kono
parents:
diff changeset
45 * resolve.c (gfc_resolve_code): Call gfc_resolve_omp_parallel_blocks
kono
parents:
diff changeset
46 instead of just gfc_resolve_omp_do_blocks for EXEC_OMP_TASKLOOP
kono
parents:
diff changeset
47 and EXEC_OMP_TASKLOOP_SIMD.
kono
parents:
diff changeset
48 (gfc_resolve_code): Adjust gfc_resolve_do_iterator caller.
kono
parents:
diff changeset
49 (resolve_codes): Call gfc_resolve_omp_local_vars.
kono
parents:
diff changeset
50
kono
parents:
diff changeset
51 2017-10-19 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
kono
parents:
diff changeset
52
kono
parents:
diff changeset
53 * gfortran.h (gfc_lookup_function_fuzzy): New declaration.
kono
parents:
diff changeset
54 (gfc_closest_fuzzy_match): New declaration.
kono
parents:
diff changeset
55 (vec_push): New definition.
kono
parents:
diff changeset
56 * misc.c (gfc_closest_fuzzy_match): New definition.
kono
parents:
diff changeset
57 * resolve.c: Include spellcheck.h.
kono
parents:
diff changeset
58 (lookup_function_fuzzy_find_candidates): New static function.
kono
parents:
diff changeset
59 (lookup_uop_fuzzy_find_candidates): Likewise.
kono
parents:
diff changeset
60 (lookup_uop_fuzzy): Likewise.
kono
parents:
diff changeset
61 (resolve_operator) <INTRINSIC_USER>: Call lookup_uop_fuzzy.
kono
parents:
diff changeset
62 (gfc_lookup_function_fuzzy): New definition.
kono
parents:
diff changeset
63 (resolve_unknown_f): Call gfc_lookup_function_fuzzy.
kono
parents:
diff changeset
64 * interface.c (check_interface0): Likewise.
kono
parents:
diff changeset
65 (lookup_arg_fuzzy_find_candidates): New static function.
kono
parents:
diff changeset
66 (lookup_arg_fuzzy ): Likewise.
kono
parents:
diff changeset
67 (compare_actual_formal): Call lookup_arg_fuzzy.
kono
parents:
diff changeset
68 * symbol.c: Include spellcheck.h.
kono
parents:
diff changeset
69 (lookup_symbol_fuzzy_find_candidates): New static function.
kono
parents:
diff changeset
70 (lookup_symbol_fuzzy): Likewise.
kono
parents:
diff changeset
71 (gfc_set_default_type): Call lookup_symbol_fuzzy.
kono
parents:
diff changeset
72 (lookup_component_fuzzy_find_candidates): New static function.
kono
parents:
diff changeset
73 (lookup_component_fuzzy): Likewise.
kono
parents:
diff changeset
74 (gfc_find_component): Call lookup_component_fuzzy.
kono
parents:
diff changeset
75
kono
parents:
diff changeset
76 2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
77
kono
parents:
diff changeset
78 PR fortran/82567
kono
parents:
diff changeset
79 * frontend-passes.c (combine_array_constructor): If an array
kono
parents:
diff changeset
80 constructor is all constants and has more elements than a small
kono
parents:
diff changeset
81 constant, don't convert a*[b,c] to [a*b,a*c] to reduce compilation
kono
parents:
diff changeset
82 times.
kono
parents:
diff changeset
83
kono
parents:
diff changeset
84 2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
85
kono
parents:
diff changeset
86 PR fortran/79795
kono
parents:
diff changeset
87 * resolve.c (resovle_symbol): Change gcc_assert to
kono
parents:
diff changeset
88 sensible error message.
kono
parents:
diff changeset
89
kono
parents:
diff changeset
90 2017-10-18 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
91
kono
parents:
diff changeset
92 PR fortran/82550
kono
parents:
diff changeset
93 * trans_decl.c (gfc_get_symbol_decl): Procedure symbols that
kono
parents:
diff changeset
94 have the 'used_in_submodule' attribute should be processed by
kono
parents:
diff changeset
95 'gfc_get_extern_function_decl'.
kono
parents:
diff changeset
96
kono
parents:
diff changeset
97 2017-10-16 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
98
kono
parents:
diff changeset
99 PR fortran/82511
kono
parents:
diff changeset
100 * trans-io.c (transfer_expr): Treat BT_UNION as BT_DERIVED.
kono
parents:
diff changeset
101
kono
parents:
diff changeset
102 2017-10-15 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
103
kono
parents:
diff changeset
104 PR fortran/82372
kono
parents:
diff changeset
105 * fortran/scanner.c (last_error_char): New global variable.
kono
parents:
diff changeset
106 (gfc_scanner_init_1): Set last_error_char to NULL.
kono
parents:
diff changeset
107 (gfc_gobble_whitespace): If a character not printable or
kono
parents:
diff changeset
108 not newline, issue an error.
kono
parents:
diff changeset
109
kono
parents:
diff changeset
110 2017-10-13 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
111
kono
parents:
diff changeset
112 PR fortran/81048
kono
parents:
diff changeset
113 * resolve.c (resolve_symbol): Ensure that derived type array
kono
parents:
diff changeset
114 results get default initialization.
kono
parents:
diff changeset
115
kono
parents:
diff changeset
116 2017-10-11 Nathan Sidwell <nathan@acm.org>
kono
parents:
diff changeset
117
kono
parents:
diff changeset
118 * cpp.c (gfc_cpp_add_include_path): Update incpath_e names.
kono
parents:
diff changeset
119 (gfc_cpp_add_include_path_after): Likewise.
kono
parents:
diff changeset
120
kono
parents:
diff changeset
121 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
122
kono
parents:
diff changeset
123 * target-memory.c (gfc_interpret_logical): Use wi::to_wide when
kono
parents:
diff changeset
124 operating on trees as wide_ints.
kono
parents:
diff changeset
125 * trans-const.c (gfc_conv_tree_to_mpz): Likewise.
kono
parents:
diff changeset
126 * trans-expr.c (gfc_conv_cst_int_power): Likewise.
kono
parents:
diff changeset
127 * trans-intrinsic.c (trans_this_image): Likewise.
kono
parents:
diff changeset
128 (gfc_conv_intrinsic_bound): Likewise.
kono
parents:
diff changeset
129 (conv_intrinsic_cobound): Likewise.
kono
parents:
diff changeset
130
kono
parents:
diff changeset
131 2017-10-08 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
132
kono
parents:
diff changeset
133 * check.c (gfc_check_x): Remove function.
kono
parents:
diff changeset
134 * intrinsic.c (add_functions): Use gfc_check_fn_r.
kono
parents:
diff changeset
135
kono
parents:
diff changeset
136 2017-10-08 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
137
kono
parents:
diff changeset
138 PR fortran/82375
kono
parents:
diff changeset
139 * module.c : Bump up MOD_VERSION to 15.
kono
parents:
diff changeset
140 (mio_component): Edit comment about PDT specification list.
kono
parents:
diff changeset
141 (mio_expr, mio_symbol): Include the expression and symbol PDT
kono
parents:
diff changeset
142 specification lists in the same way as in mio_component.
kono
parents:
diff changeset
143
kono
parents:
diff changeset
144 2017-10-08 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
145
kono
parents:
diff changeset
146 * dump_prase_tree (show_symbol): Output list of variables in
kono
parents:
diff changeset
147 NAMELIST.
kono
parents:
diff changeset
148 (show_code_node): Add new line for ELSE and END DO for DO
kono
parents:
diff changeset
149 CONCURRENT.
kono
parents:
diff changeset
150 * invoke.texi: Document that the output of
kono
parents:
diff changeset
151 -fdump-fortran-original, -fdump-fortran-optimized and
kono
parents:
diff changeset
152 -fdump-parse-tree is unsable and may lead to ICEs.
kono
parents:
diff changeset
153
kono
parents:
diff changeset
154 2017-10-07 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
155
kono
parents:
diff changeset
156 PR fortran/82375
kono
parents:
diff changeset
157 * class.c (gfc_find_derived_vtab): Return NULL for a passed
kono
parents:
diff changeset
158 pdt template to prevent bad procedures from being written.
kono
parents:
diff changeset
159 * decl.c (gfc_get_pdt_instance): Do not use the default
kono
parents:
diff changeset
160 initializer for pointer and allocatable pdt type components. If
kono
parents:
diff changeset
161 the component is allocatbale, set the 'alloc_comp' attribute of
kono
parents:
diff changeset
162 'instance'.
kono
parents:
diff changeset
163 * module.c : Add a prototype for 'mio_actual_arglist'. Add a
kono
parents:
diff changeset
164 boolean argument 'pdt'.
kono
parents:
diff changeset
165 (mio_component): Call it for the parameter list of pdt type
kono
parents:
diff changeset
166 components with 'pdt' set to true.
kono
parents:
diff changeset
167 (mio_actual_arg): Add the boolean 'pdt' and, if it is set, call
kono
parents:
diff changeset
168 mio_integer for the 'spec_type'.
kono
parents:
diff changeset
169 (mio_actual_arglist): Add the boolean 'pdt' and use it in the
kono
parents:
diff changeset
170 call to mio_actual_arg.
kono
parents:
diff changeset
171 (mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with
kono
parents:
diff changeset
172 'pdt' set false.
kono
parents:
diff changeset
173 * resolve.c (get_pdt_spec_expr): Add the parameter name to the
kono
parents:
diff changeset
174 KIND parameter error.
kono
parents:
diff changeset
175 (get_pdt_constructor): Check that cons->expr is non-null.
kono
parents:
diff changeset
176 * trans-array.c (structure_alloc_comps): For deallocation of
kono
parents:
diff changeset
177 allocatable components, ensure that parameterized components
kono
parents:
diff changeset
178 are deallocated first. Likewise, when parameterized components
kono
parents:
diff changeset
179 are allocated, nullify allocatable components first. Do not
kono
parents:
diff changeset
180 recurse into pointer or allocatable pdt components while
kono
parents:
diff changeset
181 allocating or deallocating parameterized components. Test that
kono
parents:
diff changeset
182 parameterized arrays or strings are allocated before freeing
kono
parents:
diff changeset
183 them.
kono
parents:
diff changeset
184 (gfc_trans_pointer_assignment): Call the new function. Tidy up
kono
parents:
diff changeset
185 a minor whitespace issue.
kono
parents:
diff changeset
186 trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE
kono
parents:
diff changeset
187 to prevent the expression from being used a second time.
kono
parents:
diff changeset
188
kono
parents:
diff changeset
189 2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
190
kono
parents:
diff changeset
191 PR fortran/49232
kono
parents:
diff changeset
192 * expr.c (gfc_check_pointer_assign): Error
kono
parents:
diff changeset
193 for non-contiguous rhs.
kono
parents:
diff changeset
194
kono
parents:
diff changeset
195 2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
196
kono
parents:
diff changeset
197 * gfortran.h (async_io_dt): Add external reference.
kono
parents:
diff changeset
198 * io.c (async_io_dt): Add variable.
kono
parents:
diff changeset
199 (compare_to_allowed_values): Add prototyte. Add optional argument
kono
parents:
diff changeset
200 num. If present, set it to the number of the entry that was
kono
parents:
diff changeset
201 matched.
kono
parents:
diff changeset
202 (check_io_constraints): If this is for an asynchronous I/O
kono
parents:
diff changeset
203 statement, set async_io_dt and set the asynchronous flag for
kono
parents:
diff changeset
204 a SIZE tag.
kono
parents:
diff changeset
205 * resolve.c (resolve_transfer): If async_io_dt is set, set
kono
parents:
diff changeset
206 the asynchronous flag on the variable.
kono
parents:
diff changeset
207 (resolve_fl_namelist): If async_io_dt is set, set the asynchronous
kono
parents:
diff changeset
208 flag on all elements of the namelist.
kono
parents:
diff changeset
209
kono
parents:
diff changeset
210 2017-10-04 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
211
kono
parents:
diff changeset
212 PR fortran/60458
kono
parents:
diff changeset
213 PR fortran/77296
kono
parents:
diff changeset
214 * resolve.c (resolve_assoc_var): Deferred character type
kono
parents:
diff changeset
215 associate names must not receive an integer conatant length.
kono
parents:
diff changeset
216 * symbol.c (gfc_is_associate_pointer): Deferred character
kono
parents:
diff changeset
217 length functions also require an associate pointer.
kono
parents:
diff changeset
218 * trans-decl.c (gfc_get_symbol_decl): Deferred character
kono
parents:
diff changeset
219 length functions or derived type components require the assoc
kono
parents:
diff changeset
220 name to have variable string length.
kono
parents:
diff changeset
221 * trans-stmt.c (trans_associate_var): Set the string length of
kono
parents:
diff changeset
222 deferred string length associate names. The address expression
kono
parents:
diff changeset
223 is not needed for allocatable, pointer or dummy targets. Change
kono
parents:
diff changeset
224 the comment about defered string length targets.
kono
parents:
diff changeset
225
kono
parents:
diff changeset
226 2017-10-03 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
227
kono
parents:
diff changeset
228 * io.c (match_wait_element): Correctly match END and EOR tags.
kono
parents:
diff changeset
229 * dump-parse-tree.c (show_code_node): Handle EXEC_WAIT.
kono
parents:
diff changeset
230
kono
parents:
diff changeset
231 2017-10-02 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
232
kono
parents:
diff changeset
233 PR fortran/82312
kono
parents:
diff changeset
234 * resolve.c (gfc_resolve_code): Simplify condition for class
kono
parents:
diff changeset
235 pointer assignments becoming regular assignments by asserting
kono
parents:
diff changeset
236 that only class valued targets are permitted.
kono
parents:
diff changeset
237 * trans-expr.c (trans_class_pointer_fcn): New function using a
kono
parents:
diff changeset
238 block of code from gfc_trans_pointer_assignment.
kono
parents:
diff changeset
239 (gfc_trans_pointer_assignment): Call the new function. Tidy up
kono
parents:
diff changeset
240 a minor whitespace issue.
kono
parents:
diff changeset
241
kono
parents:
diff changeset
242 2017-10-01 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
243
kono
parents:
diff changeset
244 PR fortran/61450
kono
parents:
diff changeset
245 * parse.c (gfc_global_used): Replace the gfc_internal_error
kono
parents:
diff changeset
246 with an error.
kono
parents:
diff changeset
247
kono
parents:
diff changeset
248 2017-09-29 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
249
kono
parents:
diff changeset
250 PR fortran/25071
kono
parents:
diff changeset
251 * interface.c (compare_actual_formal): Change warnings to errors
kono
parents:
diff changeset
252 when "Actual argument contains too few elements for dummy
kono
parents:
diff changeset
253 argument", unless -std=legacy is used.
kono
parents:
diff changeset
254
kono
parents:
diff changeset
255 2017-09-27 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
256
kono
parents:
diff changeset
257 * lang.opt <Wdo-subscript>: End help text with a period.
kono
parents:
diff changeset
258
kono
parents:
diff changeset
259 2017-09-26 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
260
kono
parents:
diff changeset
261 * frontend-passes.c (do_subscript): Don't do anything
kono
parents:
diff changeset
262 if inside an associate list.
kono
parents:
diff changeset
263
kono
parents:
diff changeset
264 2017-09-25 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
265
kono
parents:
diff changeset
266 * lang.opt: Add -Wdo-subscript.
kono
parents:
diff changeset
267 * frontend-passes.c (do_t): New type.
kono
parents:
diff changeset
268 (doloop_list): Use variable of do_type.
kono
parents:
diff changeset
269 (if_level): Variable to track if levels.
kono
parents:
diff changeset
270 (select_level): Variable to track select levels.
kono
parents:
diff changeset
271 (gfc_run_passes): Initialize i_level and select_level.
kono
parents:
diff changeset
272 (doloop_code): Record current level of if + select
kono
parents:
diff changeset
273 level in doloop_list. Add seen_goto if there could
kono
parents:
diff changeset
274 be a branch outside the loop. Use different type for
kono
parents:
diff changeset
275 doloop_list.
kono
parents:
diff changeset
276 (doloop_function): Call do_intent and do_subscript; move
kono
parents:
diff changeset
277 functionality of checking INTENT to do_intent.
kono
parents:
diff changeset
278 (insert_index_t): New type, for callback_insert_index.
kono
parents:
diff changeset
279 (callback_insert_index): New function.
kono
parents:
diff changeset
280 (insert_index): New function.
kono
parents:
diff changeset
281 (do_subscript): New function.
kono
parents:
diff changeset
282 (do_intent): New function.
kono
parents:
diff changeset
283 (gfc_code_walker): Keep track of if_level and select_level.
kono
parents:
diff changeset
284 * invoke.texi: Document -Wdo-subscript.
kono
parents:
diff changeset
285
kono
parents:
diff changeset
286 2017-09-25 Janne Blomqvist <jb@gcc.gnu.org>
kono
parents:
diff changeset
287
kono
parents:
diff changeset
288 * trans.c (gfc_unlikely): Remove unnecessary fold_convert.
kono
parents:
diff changeset
289 (gfc_likely): Likewise.
kono
parents:
diff changeset
290
kono
parents:
diff changeset
291 2017-09-24 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
292 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
293
kono
parents:
diff changeset
294 PR fortran/80118
kono
parents:
diff changeset
295 * expr.c (gfc_get_full_arrayspec_from_expr): If there is
kono
parents:
diff changeset
296 no symtree, set array spec to NULL.
kono
parents:
diff changeset
297
kono
parents:
diff changeset
298 2017-09-23 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
299
kono
parents:
diff changeset
300 PR fortran/82143
kono
parents:
diff changeset
301 * lang.opt: Add the options -fdefault-real-10 and -fdefault-real-16.
kono
parents:
diff changeset
302 Rename flag_default_real to flag_default_real_8.
kono
parents:
diff changeset
303 * invoke.texi: Add documentation.
kono
parents:
diff changeset
304 * module.c (use_iso_fortran_env_module): flag_default_real is renamed.
kono
parents:
diff changeset
305 * trans-types.c (gfc_init_kinds): Implement the flags
kono
parents:
diff changeset
306 -fdefault-real-10 and -fdefault-real-16. Make -fdefault-double-8 work
kono
parents:
diff changeset
307 without -fdefault-real-8.
kono
parents:
diff changeset
308
kono
parents:
diff changeset
309 2017-09-21 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
310
kono
parents:
diff changeset
311 PR fortran/52832
kono
parents:
diff changeset
312 * match.c (gfc_match_associate): Before failing the association
kono
parents:
diff changeset
313 try again, allowing a proc pointer selector.
kono
parents:
diff changeset
314
kono
parents:
diff changeset
315 PR fortran/80120
kono
parents:
diff changeset
316 PR fortran/81903
kono
parents:
diff changeset
317 PR fortran/82121
kono
parents:
diff changeset
318 * primary.c (gfc_match_varspec): Introduce 'tgt_expr', which
kono
parents:
diff changeset
319 points to the associate selector, if any. Go through selector
kono
parents:
diff changeset
320 references, after resolution for variables, to catch any full
kono
parents:
diff changeset
321 or section array references. If a class associate name does
kono
parents:
diff changeset
322 not have the same declared type as the selector, resolve the
kono
parents:
diff changeset
323 selector and copy the declared type to the associate name.
kono
parents:
diff changeset
324 Before throwing a no implicit type error, resolve all allowed
kono
parents:
diff changeset
325 selector expressions, and copy the resulting typespec.
kono
parents:
diff changeset
326
kono
parents:
diff changeset
327 PR fortran/67543
kono
parents:
diff changeset
328 * resolve.c (resolve_assoc_var): Selector must cannot be the
kono
parents:
diff changeset
329 NULL expression and it must have a type.
kono
parents:
diff changeset
330
kono
parents:
diff changeset
331 PR fortran/78152
kono
parents:
diff changeset
332 * resolve.c (resolve_symbol): Allow associate names to be
kono
parents:
diff changeset
333 coarrays.
kono
parents:
diff changeset
334
kono
parents:
diff changeset
335 2017-09-21 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
336
kono
parents:
diff changeset
337 * openmp.c (gfc_match_oacc_wait): Don't restrict wait directive
kono
parents:
diff changeset
338 arguments to constant integers.
kono
parents:
diff changeset
339
kono
parents:
diff changeset
340 2017-09-17 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
341
kono
parents:
diff changeset
342 PR fortran/82173
kono
parents:
diff changeset
343 * decl.c (gfc_get_pdt_instance): Use the component initializer
kono
parents:
diff changeset
344 expression for the default, rather than the parameter value.
kono
parents:
diff changeset
345 * resolve.c (resolve_pdt): New function.
kono
parents:
diff changeset
346 (resolve_symbol): Call it. Remove false error, prohibiting
kono
parents:
diff changeset
347 deferred type parameters for dummy arguments.
kono
parents:
diff changeset
348
kono
parents:
diff changeset
349 PR fortran/60483
kono
parents:
diff changeset
350 * primary.c (gfc_match_varspec): If the type of an associate
kono
parents:
diff changeset
351 name is unknown and yet there is a match, try resolving the
kono
parents:
diff changeset
352 target expression and using its type.
kono
parents:
diff changeset
353
kono
parents:
diff changeset
354 2017-09-15 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
355
kono
parents:
diff changeset
356 PR fortran/82184
kono
parents:
diff changeset
357 trans-decl.c (gfc_trans_deferred_vars): Do not null the 'span'
kono
parents:
diff changeset
358 field if the symbol is either implicitly or explicitly saved.
kono
parents:
diff changeset
359
kono
parents:
diff changeset
360 2017-09-13 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
361
kono
parents:
diff changeset
362 PR fortran/82173
kono
parents:
diff changeset
363 * decl.c (match_char_kind): If the kind expression is
kono
parents:
diff changeset
364 parameterized, save it in saved_kind_expr and set kind = 0.
kono
parents:
diff changeset
365 (gfc_get_pdt_instance): Resolve and simplify before emitting
kono
parents:
diff changeset
366 error on expression kind. Insert a missing simplification after
kono
parents:
diff changeset
367 insertion of kind expressions.
kono
parents:
diff changeset
368
kono
parents:
diff changeset
369 2017-09-12 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
370
kono
parents:
diff changeset
371 PR fortran/82173
kono
parents:
diff changeset
372 PR fortran/82168
kono
parents:
diff changeset
373 * decl.c (variable_decl): Check pdt template components for
kono
parents:
diff changeset
374 appearance of KIND/LEN components in the type parameter name
kono
parents:
diff changeset
375 list, that components corresponding to type parameters have
kono
parents:
diff changeset
376 either KIND or LEN attributes and that KIND or LEN components
kono
parents:
diff changeset
377 are scalar. Copy the initializer to the parameter value.
kono
parents:
diff changeset
378 (gfc_get_pdt_instance): Add a label 'error_return' and follow
kono
parents:
diff changeset
379 it with repeated code, while replacing this code with a jump.
kono
parents:
diff changeset
380 Check if a parameter appears as a component in the template.
kono
parents:
diff changeset
381 Make sure that the parameter expressions are integer. Validate
kono
parents:
diff changeset
382 KIND expressions.
kono
parents:
diff changeset
383 (gfc_match_decl_type_spec): Search for pdt_types in the parent
kono
parents:
diff changeset
384 namespace since they are instantiated in the template ns.
kono
parents:
diff changeset
385 * expr.c (gfc_extract_int): Use a KIND parameter if it
kono
parents:
diff changeset
386 appears as a component expression.
kono
parents:
diff changeset
387 (gfc_check_init_expr): Allow expressions with the pdt_kind
kono
parents:
diff changeset
388 attribute.
kono
parents:
diff changeset
389 *primary.c (gfc_match_actual_arglist): Make sure that the first
kono
parents:
diff changeset
390 keyword argument is recognised when 'pdt' is set.
kono
parents:
diff changeset
391
kono
parents:
diff changeset
392 2017-09-10 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
393
kono
parents:
diff changeset
394 PR fortran/34640
kono
parents:
diff changeset
395 PR fortran/40737
kono
parents:
diff changeset
396 PR fortran/55763
kono
parents:
diff changeset
397 PR fortran/57019
kono
parents:
diff changeset
398 PR fortran/57116
kono
parents:
diff changeset
399
kono
parents:
diff changeset
400 * expr.c (is_subref_array): Add class pointer array dummies
kono
parents:
diff changeset
401 to the list of expressions that return true.
kono
parents:
diff changeset
402 * trans-array.c: Add SPAN_FIELD and update indices for
kono
parents:
diff changeset
403 subsequent fields.
kono
parents:
diff changeset
404 (gfc_conv_descriptor_span, gfc_conv_descriptor_span_get,
kono
parents:
diff changeset
405 gfc_conv_descriptor_span_set, is_pointer_array,
kono
parents:
diff changeset
406 get_array_span): New functions.
kono
parents:
diff changeset
407 (gfc_get_descriptor_offsets_for_info): New function to preserve
kono
parents:
diff changeset
408 API for access to descriptor fields for trans-types.c.
kono
parents:
diff changeset
409 (gfc_conv_scalarized_array_ref): If the expression is a subref
kono
parents:
diff changeset
410 array, make sure that info->descriptor is a descriptor type.
kono
parents:
diff changeset
411 Otherwise, if info->descriptor is a pointer array, set 'decl'
kono
parents:
diff changeset
412 and fix it if it is a component reference.
kono
parents:
diff changeset
413 (build_array_ref): Simplify handling of class array refs by
kono
parents:
diff changeset
414 passing the vptr to gfc_build_array_ref rather than generating
kono
parents:
diff changeset
415 the pointer arithmetic in this function.
kono
parents:
diff changeset
416 (gfc_conv_array_ref): As in gfc_conv_scalarized_array_ref, set
kono
parents:
diff changeset
417 'decl'.
kono
parents:
diff changeset
418 (gfc_array_allocate): Set the span field if this is a pointer
kono
parents:
diff changeset
419 array. Use the expr3 element size if it is available, so that
kono
parents:
diff changeset
420 the dynamic type element size is used.
kono
parents:
diff changeset
421 (gfc_conv_expr_descriptor): Set the span field for pointer
kono
parents:
diff changeset
422 assignments.
kono
parents:
diff changeset
423 * trans-array.h: Prototypes for gfc_conv_descriptor_span_get
kono
parents:
diff changeset
424 gfc_conv_descriptor_span_set and
kono
parents:
diff changeset
425 gfc_get_descriptor_offsets_for_info added.
kono
parents:
diff changeset
426 trans-decl.c (gfc_get_symbol_decl): If a non-class pointer
kono
parents:
diff changeset
427 array, mark the declaration as a GFC_DECL_PTR_ARRAY_P. Remove
kono
parents:
diff changeset
428 the setting of GFC_DECL_SPAN.
kono
parents:
diff changeset
429 (gfc_trans_deferred_vars): Set the span field to zero in thge
kono
parents:
diff changeset
430 originating scope.
kono
parents:
diff changeset
431 * trans-expr.c (gfc_conv_procedure_call): Do not use copy-in/
kono
parents:
diff changeset
432 copy-out to pass subref expressions to a pointer dummy.
kono
parents:
diff changeset
433 (gfc_trans_pointer_assignment): Remove code for setting of
kono
parents:
diff changeset
434 GFC_DECL_SPAN. Set the 'span' field for non-class pointers to
kono
parents:
diff changeset
435 class function results. Likewise for rank remap. In the case
kono
parents:
diff changeset
436 that the target is not a whole array, use the target array ref
kono
parents:
diff changeset
437 for remap and, since the 'start' indices are missing, set the
kono
parents:
diff changeset
438 lbounds to one, as required by the standard.
kono
parents:
diff changeset
439 * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Pick up the
kono
parents:
diff changeset
440 'token' offset from the field decl in the descriptor.
kono
parents:
diff changeset
441 (conv_isocbinding_subroutine): Set the 'span' field.
kono
parents:
diff changeset
442 * trans-io.c (gfc_trans_transfer): Always scalarize pointer
kono
parents:
diff changeset
443 array io.
kono
parents:
diff changeset
444 * trans-stmt.c (trans_associate_var): Set the 'span' field.
kono
parents:
diff changeset
445 * trans-types.c (gfc_get_array_descriptor_base): Add the 'span'
kono
parents:
diff changeset
446 field to the array descriptor.
kono
parents:
diff changeset
447 (gfc_get_derived_type): Pointer array components are marked as
kono
parents:
diff changeset
448 GFC_DECL_PTR_ARRAY_P.
kono
parents:
diff changeset
449 (gfc_get_array_descr_info): Replaced API breaking code for
kono
parents:
diff changeset
450 descriptor offset calling gfc_get_descriptor_offsets_for_info.
kono
parents:
diff changeset
451 * trans.c (get_array_span): New function.
kono
parents:
diff changeset
452 (gfc_build_array_ref): Simplify by calling get_array_span and
kono
parents:
diff changeset
453 obtain 'span' if 'decl' or 'vptr' present.
kono
parents:
diff changeset
454 * trans.h : Rename DECL_LANG_FLAG_6, GFC_DECL_SUBREF_ARRAY_P,
kono
parents:
diff changeset
455 as GFC_DECL_PTR_ARRAY_P.
kono
parents:
diff changeset
456
kono
parents:
diff changeset
457 2017-09-09 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
458
kono
parents:
diff changeset
459 * decl.c : Add decl_type_param_list, type_param_spec_list as
kono
parents:
diff changeset
460 static variables to hold PDT spec lists.
kono
parents:
diff changeset
461 (build_sym): Copy 'type_param_spec_list' to symbol spec_list.
kono
parents:
diff changeset
462 (build_struct): Copy the 'saved_kind_expr' to the component
kono
parents:
diff changeset
463 'kind_expr'. Check that KIND or LEN components appear in the
kono
parents:
diff changeset
464 decl_type_param_list. These should appear as symbols in the
kono
parents:
diff changeset
465 f2k_derived namespace. If the component is itself a PDT type,
kono
parents:
diff changeset
466 copy the decl_type_param_list to the component param_list.
kono
parents:
diff changeset
467 (gfc_match_kind_spec): If the KIND expression is parameterized
kono
parents:
diff changeset
468 set KIND to zero and store the expression in 'saved_kind_expr'.
kono
parents:
diff changeset
469 (insert_parameter_exprs): New function.
kono
parents:
diff changeset
470 (gfc_insert_kind_parameter_exprs): New function.
kono
parents:
diff changeset
471 (gfc_insert_parameter_exprs): New function.
kono
parents:
diff changeset
472 (gfc_get_pdt_instance): New function.
kono
parents:
diff changeset
473 (gfc_match_decl_type_spec): Match the decl_type_spec_list if it
kono
parents:
diff changeset
474 is present. If it is, call 'gfc_get_pdt_instance' to obtain the
kono
parents:
diff changeset
475 specific instance of the PDT.
kono
parents:
diff changeset
476 (match_attr_spec): Match KIND and LEN attributes. Check for the
kono
parents:
diff changeset
477 standard and for type/kind of the parameter. They are also not
kono
parents:
diff changeset
478 allowed outside a derived type definition.
kono
parents:
diff changeset
479 (gfc_match_data_decl): Null the decl_type_param_list and the
kono
parents:
diff changeset
480 type_param_spec_list on entry and free them on exit.
kono
parents:
diff changeset
481 (gfc_match_formal_arglist): If 'typeparam' is true, add the
kono
parents:
diff changeset
482 formal symbol to the f2k_derived namespace.
kono
parents:
diff changeset
483 (gfc_match_derived_decl): Register the decl_type_param_list
kono
parents:
diff changeset
484 if this is a PDT. If this is a type extension, gather up all
kono
parents:
diff changeset
485 the type parameters and put them in the right order.
kono
parents:
diff changeset
486 *dump-parse-tree.c (show_attr): Signal PDT templates and the
kono
parents:
diff changeset
487 parameter attributes.
kono
parents:
diff changeset
488 (show_components): Output parameter atrributes and component
kono
parents:
diff changeset
489 parameter list.
kono
parents:
diff changeset
490 (show_symbol): Show variable parameter lists.
kono
parents:
diff changeset
491 * expr.c (expr.c): Copy the expression parameter list.
kono
parents:
diff changeset
492 (gfc_is_constant_expr): Pass on symbols representing PDT
kono
parents:
diff changeset
493 parameters.
kono
parents:
diff changeset
494 (gfc_check_init_expr): Break on PDT KIND parameters and
kono
parents:
diff changeset
495 PDT parameter expressions.
kono
parents:
diff changeset
496 (gfc_check_assign): Assigning to KIND or LEN components is an
kono
parents:
diff changeset
497 error.
kono
parents:
diff changeset
498 (derived_parameter_expr): New function.
kono
parents:
diff changeset
499 (gfc_derived_parameter_expr): New function.
kono
parents:
diff changeset
500 (gfc_spec_list_type): New function.
kono
parents:
diff changeset
501 * gfortran.h : Add enum gfc_param_spec_type. Add the PDT attrs
kono
parents:
diff changeset
502 to the structure symbol_attr. Add the 'kind_expr' and
kono
parents:
diff changeset
503 'param_list' field to the gfc_component structure. Comment on
kono
parents:
diff changeset
504 the reuse of the gfc_actual_arglist structure as storage for
kono
parents:
diff changeset
505 type parameter spec lists. Add the new field 'spec_type' to
kono
parents:
diff changeset
506 this structure. Add 'param_list' fields to gfc_symbol and
kono
parents:
diff changeset
507 gfc_expr. Add prototypes for gfc_insert_kind_parameter_exprs,
kono
parents:
diff changeset
508 gfc_insert_parameter_exprs, gfc_add_kind, gfc_add_len,
kono
parents:
diff changeset
509 gfc_derived_parameter_expr and gfc_spec_list_type.
kono
parents:
diff changeset
510 * interface.c (gfc_compare_derived_types): Treat PDTs in the
kono
parents:
diff changeset
511 same way as sequence types.
kono
parents:
diff changeset
512 * match.c : Add variable 'type_param_spec_list'.
kono
parents:
diff changeset
513 (gfc_op2string, gfc_match_member_sep, gfc_match_label): Remove
kono
parents:
diff changeset
514 trailing whitespace.
kono
parents:
diff changeset
515 (match_derived_type_spec): Match PDTs and find specific
kono
parents:
diff changeset
516 instance.
kono
parents:
diff changeset
517 (gfc_match_type_spec): Remove more trailing whitespace.
kono
parents:
diff changeset
518 (gfc_match_allocate): Assumed or deferred parameters cannot
kono
parents:
diff changeset
519 appear here. Copy the type parameter spec list to the expr for
kono
parents:
diff changeset
520 the allocatable entity. Free 'type_param_spec_list'.
kono
parents:
diff changeset
521 (gfc_match_common, gfc_match_namelist, gfc_match_module): Still
kono
parents:
diff changeset
522 more trailing whitespace to remove.
kono
parents:
diff changeset
523 (gfc_match_type_is): Allow PDT typespecs.
kono
parents:
diff changeset
524 * match.h : Modify prototypes for gfc_match_formal_arglist and
kono
parents:
diff changeset
525 gfc_match_actual_arglist.
kono
parents:
diff changeset
526 * module.c (ab_attribute, mstring attr_bits): PDT attributes
kono
parents:
diff changeset
527 added.
kono
parents:
diff changeset
528 (mio_symbol_attribute): PDT attributes handled.
kono
parents:
diff changeset
529 (mio_component): Deal with 'kind_expr' field.
kono
parents:
diff changeset
530 (mio_full_f2k_derived): For PDT templates, transfer the formal
kono
parents:
diff changeset
531 namespace symroot to the f2k_derived namespace.
kono
parents:
diff changeset
532 *primary.c (match_keyword_arg, gfc_match_actual_arglist): Add
kono
parents:
diff changeset
533 modifications to handle PDT spec lists. These are flagged in
kono
parents:
diff changeset
534 both cases by new boolean arguments, whose prototype defaults
kono
parents:
diff changeset
535 are false.
kono
parents:
diff changeset
536 (gfc_match_structure_constructor, match_variable): Remove yet
kono
parents:
diff changeset
537 more trailing whitespace.
kono
parents:
diff changeset
538 * resolve.c (get_pdt_spec_expr, get_pdt_constructor): New
kono
parents:
diff changeset
539 functions.
kono
parents:
diff changeset
540 (resolve_structure_cons): If the constructor is a PDT template,
kono
parents:
diff changeset
541 call get_pdt_constructor to build it using the parameter lists
kono
parents:
diff changeset
542 and then get the specific instance of the PDT.
kono
parents:
diff changeset
543 (resolve_component): PDT strings need a hidden string length
kono
parents:
diff changeset
544 component like deferred characters.
kono
parents:
diff changeset
545 (resolve_symbol): Dummy PDTs cannot have deferred parameters.
kono
parents:
diff changeset
546 * symbol.c (gfc_add_kind, gfc_add_len): New functions.
kono
parents:
diff changeset
547 (free_components): Free 'kind_expr' and 'param_list' fields.
kono
parents:
diff changeset
548 (gfc_free_symbol): Free the 'param_list' field.
kono
parents:
diff changeset
549 (gfc_find_sym_tree): If the current state is a PDT template,
kono
parents:
diff changeset
550 look for the symtree in the f2k_derived namspaces.
kono
parents:
diff changeset
551 trans-array.c (structure_alloc_comps): Allocate and deallocate
kono
parents:
diff changeset
552 PDTs. Check dummy arguments for compliance of LEN parameters.
kono
parents:
diff changeset
553 Add the new functions to the preceeding enum.
kono
parents:
diff changeset
554 (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp and
kono
parents:
diff changeset
555 gfc_check_pdt_dummy): New functions calling above.
kono
parents:
diff changeset
556 * trans-array.h : Add prototypes for these functions.
kono
parents:
diff changeset
557 trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init
kono
parents:
diff changeset
558 as appropriate for PDT symbols.
kono
parents:
diff changeset
559 (gfc_trans_deferred_vars): Allocate/deallocate PDT entities as
kono
parents:
diff changeset
560 they come into and out of scope. Exclude pdt_types from being
kono
parents:
diff changeset
561 'gcc_unreachable'.
kono
parents:
diff changeset
562 (gfc_trans_subcomponent_assign): PDT array components must be
kono
parents:
diff changeset
563 handles as if they are allocatable.
kono
parents:
diff changeset
564 * trans-stmt.c (gfc_trans_allocate): Handle initialization of
kono
parents:
diff changeset
565 PDT entities.
kono
parents:
diff changeset
566 (gfc_trans_deallocate): Likewise.
kono
parents:
diff changeset
567 * trans-types.c (gfc_get_derived_type): PDT templates must not
kono
parents:
diff changeset
568 arrive here. PDT string components are handles as if deferred.
kono
parents:
diff changeset
569 Similarly, PDT arrays are treated as if allocatable. PDT
kono
parents:
diff changeset
570 strings are pointer types.
kono
parents:
diff changeset
571 * trans.c (gfc_deferred_strlen): Handle PDT strings in the same
kono
parents:
diff changeset
572 way as deferred characters.
kono
parents:
diff changeset
573
kono
parents:
diff changeset
574 2017-09-01 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
575
kono
parents:
diff changeset
576 PR c/81887
kono
parents:
diff changeset
577 * parse.c (decode_omp_directive): Use matchs instead of matcho for
kono
parents:
diff changeset
578 end ordered and ordered directives, except for ordered depend. For
kono
parents:
diff changeset
579 -fopenmp-simd and ordered depend, reject the stmt.
kono
parents:
diff changeset
580 * trans-openmp.c (gfc_trans_omp_ordered): For -fopenmp-simd ignore
kono
parents:
diff changeset
581 threads clause and if simd clause isn't present, just translate the
kono
parents:
diff changeset
582 body.
kono
parents:
diff changeset
583
kono
parents:
diff changeset
584 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
585 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
586 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
587
kono
parents:
diff changeset
588 * trans-types.c (gfc_init_kinds): Use opt_scalar_int_mode for
kono
parents:
diff changeset
589 the mode iterator.
kono
parents:
diff changeset
590
kono
parents:
diff changeset
591 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
592 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
593 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
594
kono
parents:
diff changeset
595 * target-memory.c (size_integer): Use SCALAR_INT_TYPE_MODE.
kono
parents:
diff changeset
596 (size_logical): Likewise.
kono
parents:
diff changeset
597
kono
parents:
diff changeset
598 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
599 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
600 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
601
kono
parents:
diff changeset
602 * trans-types.c (gfc_type_for_mode): Use is_a <scalar_int_mode>.
kono
parents:
diff changeset
603
kono
parents:
diff changeset
604 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
605 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
606 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
607
kono
parents:
diff changeset
608 * trans-types.c (gfc_init_kinds): Use opt_scalar_float_mode
kono
parents:
diff changeset
609 and FOR_EACH_MODE_IN_CLASS.
kono
parents:
diff changeset
610
kono
parents:
diff changeset
611 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
612 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
613 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
614
kono
parents:
diff changeset
615 * target-memory.c (size_float): Use SCALAR_FLOAT_TYPE_MODE
kono
parents:
diff changeset
616 instead of TYPE_MODE.
kono
parents:
diff changeset
617
kono
parents:
diff changeset
618 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
619 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
620 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
621
kono
parents:
diff changeset
622 * trans-types.c (gfc_init_kinds): Use machine_mode instead of int
kono
parents:
diff changeset
623 for "mode".
kono
parents:
diff changeset
624
kono
parents:
diff changeset
625 2017-08-28 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
626
kono
parents:
diff changeset
627 PR fortran/81770
kono
parents:
diff changeset
628 * expr.c (gfc_check_pointer_assign): Improve the check whether pointer
kono
parents:
diff changeset
629 may outlive pointer target.
kono
parents:
diff changeset
630
kono
parents:
diff changeset
631 2017-08-27 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
632
kono
parents:
diff changeset
633 PR fortran/81974
kono
parents:
diff changeset
634 * frontend-passes (inline_matumul_assign): Explicity
kono
parents:
diff changeset
635 set typespec for call to CONJG.
kono
parents:
diff changeset
636
kono
parents:
diff changeset
637 2017-08-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
638
kono
parents:
diff changeset
639 PR fortran/81296
kono
parents:
diff changeset
640 * trans-io.c (get_dtio_proc): Add check for format label and set
kono
parents:
diff changeset
641 formatted flag accordingly. Reorganize the code a little.
kono
parents:
diff changeset
642
kono
parents:
diff changeset
643 2017-08-16 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
644
kono
parents:
diff changeset
645 PR fortran/81116
kono
parents:
diff changeset
646 * frontend-passes.c (realloc_string_callback): If expression is a
kono
parents:
diff changeset
647 concatenation, also check for dependency.
kono
parents:
diff changeset
648 (constant_string_length): Check for presence of symtree.
kono
parents:
diff changeset
649
kono
parents:
diff changeset
650 2017-08-13 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
651
kono
parents:
diff changeset
652 * gfortran.texi: Document format of unformatted sequential files.
kono
parents:
diff changeset
653
kono
parents:
diff changeset
654 2017-08-11 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
655
kono
parents:
diff changeset
656 * invoke.texi: Actually commit change about -Ofast.
kono
parents:
diff changeset
657
kono
parents:
diff changeset
658 2017-08-11 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
659
kono
parents:
diff changeset
660 PR fortran/60355
kono
parents:
diff changeset
661 * resolve.c (resolve_symbol): Adjust (and reformat)
kono
parents:
diff changeset
662 comment. Perform check if a BIND(C) is declared
kono
parents:
diff changeset
663 at module level regardless of whether it is typed
kono
parents:
diff changeset
664 implicitly or not.
kono
parents:
diff changeset
665
kono
parents:
diff changeset
666 2017-08-10 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
667
kono
parents:
diff changeset
668 * options.c (set_dec_flags): Only set legacy standards when value
kono
parents:
diff changeset
669 is not zero.
kono
parents:
diff changeset
670
kono
parents:
diff changeset
671 2017-08-10 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
672
kono
parents:
diff changeset
673 * options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines
kono
parents:
diff changeset
674 with -fdec when not set by user.
kono
parents:
diff changeset
675
kono
parents:
diff changeset
676 2017-08-10 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
677
kono
parents:
diff changeset
678 * decl.c (attr_seen): New static variable.
kono
parents:
diff changeset
679 * decl.c (variable_decl): Match %FILL in STRUCTURE body.
kono
parents:
diff changeset
680 * gfortran.texi: Update documentation.
kono
parents:
diff changeset
681
kono
parents:
diff changeset
682 2017-08-08 Martin Liska <mliska@suse.cz>
kono
parents:
diff changeset
683
kono
parents:
diff changeset
684 * trans-types.c: Include header files.
kono
parents:
diff changeset
685
kono
parents:
diff changeset
686 2017-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
687
kono
parents:
diff changeset
688 PR fortran/68829
kono
parents:
diff changeset
689 PR fortran/81701
kono
parents:
diff changeset
690 * options.c: Make -Ofast honor -fmax-stack-var-size.
kono
parents:
diff changeset
691 * invoke.texi: Document change.
kono
parents:
diff changeset
692
kono
parents:
diff changeset
693 2017-08-01 Thomas König <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
694
kono
parents:
diff changeset
695 PR fortran/79312
kono
parents:
diff changeset
696 * intrisic.c (gfc_convert_type_warn): Only set typespec for
kono
parents:
diff changeset
697 empty array constructors which don't have it already.
kono
parents:
diff changeset
698
kono
parents:
diff changeset
699 2017-08-01 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
700
kono
parents:
diff changeset
701 PR fortran/45435
kono
parents:
diff changeset
702 * lang.opt (fc-prototypes): Add option.
kono
parents:
diff changeset
703 * gfortran.h (gfc_typespec): Add interop_kind to struct.
kono
parents:
diff changeset
704 (gfc_dump_c_prototypes): Add prototype.
kono
parents:
diff changeset
705 * decl.c (gfc_match_kind_spec): Copy symbol used for kind to typespec.
kono
parents:
diff changeset
706 * parse.c (gfc_parse_file): Call gfc_dump_prototypes.
kono
parents:
diff changeset
707 * dump-parse-tree.c (gfc_dump_c_prototypes): New function.
kono
parents:
diff changeset
708 (type_return): New enum.
kono
parents:
diff changeset
709 (get_c_type_name): New function.
kono
parents:
diff changeset
710 (write_decl): New function.
kono
parents:
diff changeset
711 (write_type): New function.
kono
parents:
diff changeset
712 (write_variable): New function.
kono
parents:
diff changeset
713 (write_proc): New function.
kono
parents:
diff changeset
714 (write_interop_decl): New function.
kono
parents:
diff changeset
715 * invoke.texi: Document -fc-prototypes.
kono
parents:
diff changeset
716
kono
parents:
diff changeset
717 2017-08-01 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
718
kono
parents:
diff changeset
719 PR fortran/53542
kono
parents:
diff changeset
720 * expr.c (gfc_check_init_expr): Use the renamed name.
kono
parents:
diff changeset
721
kono
parents:
diff changeset
722 2017-07-31 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
723
kono
parents:
diff changeset
724 * check.c (gfc_check_num_images): Fix a pasto.
kono
parents:
diff changeset
725
kono
parents:
diff changeset
726 2017-07-29 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
727
kono
parents:
diff changeset
728 * trans-decl.c (gfc_trans_use_stmts): Pass false as new argument to
kono
parents:
diff changeset
729 the imported_module_or_decl debug hook.
kono
parents:
diff changeset
730
kono
parents:
diff changeset
731 2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
kono
parents:
diff changeset
732
kono
parents:
diff changeset
733 * resolve.c (find_reachable_labels): Adjust.
kono
parents:
diff changeset
734
kono
parents:
diff changeset
735 2017-07-25 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
736
kono
parents:
diff changeset
737 * ioparm.def: Use 1U << 31 instead of 1 << 31 as flags2 mask.
kono
parents:
diff changeset
738
kono
parents:
diff changeset
739 2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
740
kono
parents:
diff changeset
741 * dump-parse-tree.c (show_symbol): Show binding label if present.
kono
parents:
diff changeset
742
kono
parents:
diff changeset
743 2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
744 Mikael Morin <mikael@gcc.gnu.org>
kono
parents:
diff changeset
745
kono
parents:
diff changeset
746 PR fortran/66102
kono
parents:
diff changeset
747 * fortran/trans-array.c (gfc_conv_resolve_dependencies):
kono
parents:
diff changeset
748 Break if dependency has been found.
kono
parents:
diff changeset
749
kono
parents:
diff changeset
750 2017-07-23 Alexander Monakov <amonakov@ispras.ru>
kono
parents:
diff changeset
751
kono
parents:
diff changeset
752 * interface.c (pair_cmp): Fix gfc_symbol comparison. Adjust comment.
kono
parents:
diff changeset
753
kono
parents:
diff changeset
754 2017-07-18 Nathan Sidwell <nathan@acm.org>
kono
parents:
diff changeset
755
kono
parents:
diff changeset
756 * trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE.
kono
parents:
diff changeset
757
kono
parents:
diff changeset
758 2017-07-09 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
759
kono
parents:
diff changeset
760 PR fortran/81341
kono
parents:
diff changeset
761 * class.c (class_array_ref_detected): Remove a redundant
kono
parents:
diff changeset
762 condition.
kono
parents:
diff changeset
763
kono
parents:
diff changeset
764 2017-07-06 Harald Anlauf <anlauf@gmx.de>
kono
parents:
diff changeset
765
kono
parents:
diff changeset
766 PR fortran/70071
kono
parents:
diff changeset
767 * array.c (gfc_ref_dimen_size): Handle bad subscript triplets.
kono
parents:
diff changeset
768
kono
parents:
diff changeset
769 2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
770
kono
parents:
diff changeset
771 PR fortran/79866
kono
parents:
diff changeset
772 * resolve.c (resolve_symbol): Fix typo.
kono
parents:
diff changeset
773
kono
parents:
diff changeset
774 2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
775
kono
parents:
diff changeset
776 PR fortran/79843
kono
parents:
diff changeset
777 * symbol.c (check_conflict): Add missing "conflicts".
kono
parents:
diff changeset
778
kono
parents:
diff changeset
779 2017-06-29 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
780
kono
parents:
diff changeset
781 PR fortran/77765
kono
parents:
diff changeset
782 * openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
kono
parents:
diff changeset
783 comparing the routine name against it.
kono
parents:
diff changeset
784
kono
parents:
diff changeset
785 2017-06-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
786
kono
parents:
diff changeset
787 PR fortran/80164
kono
parents:
diff changeset
788 * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
kono
parents:
diff changeset
789 as warning/error locus.
kono
parents:
diff changeset
790
kono
parents:
diff changeset
791 2017-06-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
792
kono
parents:
diff changeset
793 PR fortran/81160
kono
parents:
diff changeset
794 * arith.c (wprecision_int_real): Set return value before
kono
parents:
diff changeset
795 mpz_clear and then return after it.
kono
parents:
diff changeset
796
kono
parents:
diff changeset
797 2017-06-15 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
798
kono
parents:
diff changeset
799 PR fortran/80983
kono
parents:
diff changeset
800 * trans-expr.c (gfc_conv_procedure_call): Deallocate the result of
kono
parents:
diff changeset
801 scalar allocatable procedure-pointer components.
kono
parents:
diff changeset
802
kono
parents:
diff changeset
803 2017-06-10 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
804
kono
parents:
diff changeset
805 PR fortran/80988
kono
parents:
diff changeset
806 * frontend-passes.c (traverse_io_block): Also
kono
parents:
diff changeset
807 check for variables occurring as indices multiple
kono
parents:
diff changeset
808 time in a single implied DO loop.
kono
parents:
diff changeset
809
kono
parents:
diff changeset
810 2017-06-05 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
811
kono
parents:
diff changeset
812 PR fortran/70601
kono
parents:
diff changeset
813 * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
kono
parents:
diff changeset
814 function results.
kono
parents:
diff changeset
815
kono
parents:
diff changeset
816 2017-06-05 Nicolas Koenig <koenigni@student.ethz.ch>
kono
parents:
diff changeset
817
kono
parents:
diff changeset
818 PR fortran/35339
kono
parents:
diff changeset
819 * frontend-passes.c (traverse_io_block): New function.
kono
parents:
diff changeset
820 (simplify_io_impl_do): New function.
kono
parents:
diff changeset
821 (optimize_namespace): Invoke gfc_code_walker with
kono
parents:
diff changeset
822 simplify_io_impl_do.
kono
parents:
diff changeset
823
kono
parents:
diff changeset
824 2017-06-02 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
825
kono
parents:
diff changeset
826 PR fortran/80918
kono
parents:
diff changeset
827 * openmp.c (resolve_omp_clauses): Fix a typo.
kono
parents:
diff changeset
828
kono
parents:
diff changeset
829 2017-05-30 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
830
kono
parents:
diff changeset
831 * error.c (gfc_format_decoder): Update for new bool and
kono
parents:
diff changeset
832 const char ** params.
kono
parents:
diff changeset
833
kono
parents:
diff changeset
834 2017-05-29 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
835
kono
parents:
diff changeset
836 PR fortran/37131
kono
parents:
diff changeset
837 * frontend-passes.c (check_conjg_transpose_variable):
kono
parents:
diff changeset
838 Add prototype.
kono
parents:
diff changeset
839 (has_dimen_vector_ref): Likewise
kono
parents:
diff changeset
840 (matmul_temp_args): New function. Add prototype.
kono
parents:
diff changeset
841 (optimize_namespace): Call matmul_temp_args.
kono
parents:
diff changeset
842
kono
parents:
diff changeset
843 2017-05-28 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
844
kono
parents:
diff changeset
845 * frontend-passes.c (matmul_lhs_realloc): Correct
kono
parents:
diff changeset
846 allocation size for case A1B2.
kono
parents:
diff changeset
847
kono
parents:
diff changeset
848 2017-05-25 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
849
kono
parents:
diff changeset
850 * dump-parse-tree.c (show_expr): Also replace
kono
parents:
diff changeset
851 with dumpfile for showing values for forgotten
kono
parents:
diff changeset
852 case.
kono
parents:
diff changeset
853
kono
parents:
diff changeset
854 2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
855
kono
parents:
diff changeset
856 * dump-parse-tree.c (show_expr): Replace stdout
kono
parents:
diff changeset
857 with dumpfile for showing values.
kono
parents:
diff changeset
858
kono
parents:
diff changeset
859 2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
860
kono
parents:
diff changeset
861 PR fortran/66094
kono
parents:
diff changeset
862 * frontend-passes.c (matrix_case): Add A2TB2.
kono
parents:
diff changeset
863 (inline_limit_check): Handle MATMUL(TRANSPOSE(A),B)
kono
parents:
diff changeset
864 (inline_matmul_assign): Likewise.
kono
parents:
diff changeset
865
kono
parents:
diff changeset
866 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
867
kono
parents:
diff changeset
868 * openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS",
kono
parents:
diff changeset
869 "OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH".
kono
parents:
diff changeset
870
kono
parents:
diff changeset
871 2017-05-22 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
872
kono
parents:
diff changeset
873 PR fortran/80766
kono
parents:
diff changeset
874 * resolve.c (resolve_fl_derived): Make sure that vtype symbols are
kono
parents:
diff changeset
875 properly resolved.
kono
parents:
diff changeset
876
kono
parents:
diff changeset
877 2017-05-19 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
878
kono
parents:
diff changeset
879 PR fortran/80333
kono
parents:
diff changeset
880 * trans-io.c (nml_get_addr_expr): If we are dealing with class
kono
parents:
diff changeset
881 type data set tmp tree to get that address.
kono
parents:
diff changeset
882 (transfer_namelist_element): Set the array spec to point to the
kono
parents:
diff changeset
883 the class data.
kono
parents:
diff changeset
884
kono
parents:
diff changeset
885 2017-05-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
886
kono
parents:
diff changeset
887 PR fortran/79852
kono
parents:
diff changeset
888 * bbt.c (insert): Remove trailing exclamation mark from message.
kono
parents:
diff changeset
889 * decl.c (gfc_match_final_decl): Likewise.
kono
parents:
diff changeset
890 * dump-parse-tree.c (show_expr): Likewise.
kono
parents:
diff changeset
891 * module.c (gfc_use_module): Likewise.
kono
parents:
diff changeset
892 * primary.c (build_actual_constructor): Likewise.
kono
parents:
diff changeset
893 (gfc_convert_to_structure_constructor): Likewise.
kono
parents:
diff changeset
894
kono
parents:
diff changeset
895 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
896
kono
parents:
diff changeset
897 * gfortran.h (enum gfc_omp_default_sharing): Add
kono
parents:
diff changeset
898 "OMP_DEFAULT_PRESENT".
kono
parents:
diff changeset
899 * dump-parse-tree.c (show_omp_clauses): Handle it.
kono
parents:
diff changeset
900 * openmp.c (gfc_match_omp_clauses): Likewise.
kono
parents:
diff changeset
901 * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
kono
parents:
diff changeset
902
kono
parents:
diff changeset
903 2017-05-18 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
904
kono
parents:
diff changeset
905 PR fortran/79968
kono
parents:
diff changeset
906 * decl.c (match_attr_spec, gfc_match_automatic,
kono
parents:
diff changeset
907 gfc_match_static, gfc_match_structure_decl): Unify diagnostic
kono
parents:
diff changeset
908 errors regarding -fdec options.
kono
parents:
diff changeset
909 * io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.
kono
parents:
diff changeset
910
kono
parents:
diff changeset
911 2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
912
kono
parents:
diff changeset
913 PR fortran/80741
kono
parents:
diff changeset
914 * trans-io.c (transfer_namelist_element): Change check from
kono
parents:
diff changeset
915 NULL_TREE to null_pointer_node.
kono
parents:
diff changeset
916
kono
parents:
diff changeset
917 2017-05-17 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
918
kono
parents:
diff changeset
919 PR fortran/80668
kono
parents:
diff changeset
920 * expr.c (component_initializer): Don't generate initializers for
kono
parents:
diff changeset
921 pointer components.
kono
parents:
diff changeset
922 * invoke.texi (-finit-derived): Document.
kono
parents:
diff changeset
923
kono
parents:
diff changeset
924 2017-05-16 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
925
kono
parents:
diff changeset
926 PR fortran/80554
kono
parents:
diff changeset
927 * decl.c (build_sym): In a submodule allow overriding of host
kono
parents:
diff changeset
928 associated symbols from the ancestor module with a new
kono
parents:
diff changeset
929 declaration.
kono
parents:
diff changeset
930
kono
parents:
diff changeset
931 2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
932
kono
parents:
diff changeset
933 PR fortran/80674
kono
parents:
diff changeset
934 * trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.
kono
parents:
diff changeset
935
kono
parents:
diff changeset
936 2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
937
kono
parents:
diff changeset
938 PR fortran/80752
kono
parents:
diff changeset
939 * expr.c (gfc_generate_initializer): If type conversion fails,
kono
parents:
diff changeset
940 check for error and return NULL.
kono
parents:
diff changeset
941
kono
parents:
diff changeset
942 2017-05-14 Nicolas Koenig <koenigni@student.ethz.ch>
kono
parents:
diff changeset
943
kono
parents:
diff changeset
944 PR fortran/80442
kono
parents:
diff changeset
945 * array.c (gfc_ref_dimen_size): Simplify stride
kono
parents:
diff changeset
946 expression
kono
parents:
diff changeset
947 * data.c (gfc_advance_section): Simplify start,
kono
parents:
diff changeset
948 end and stride expressions
kono
parents:
diff changeset
949 (gfc_advance_section): Simplify start and end
kono
parents:
diff changeset
950 expressions
kono
parents:
diff changeset
951 (gfc_get_section_index): Simplify start expression
kono
parents:
diff changeset
952
kono
parents:
diff changeset
953 2017-05-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
954
kono
parents:
diff changeset
955 * io.c (gfc_resolve_dt): Fix returns to bool type.
kono
parents:
diff changeset
956
kono
parents:
diff changeset
957 2017-05-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
958
kono
parents:
diff changeset
959 PR fortran/78659
kono
parents:
diff changeset
960 * io.c (dtio_procs_present): Add new function to check for DTIO
kono
parents:
diff changeset
961 procedures relative to I/O statement READ or WRITE.
kono
parents:
diff changeset
962 (gfc_resolve_dt): Add namelist checks using the new function.
kono
parents:
diff changeset
963 * resolve.c (dtio_procs_present): Remove function and related
kono
parents:
diff changeset
964 namelist checks. (resolve_fl_namelist): Add check specific to
kono
parents:
diff changeset
965 Fortran 95 restriction on namelist objects.
kono
parents:
diff changeset
966
kono
parents:
diff changeset
967 2017-05-11 Nathan Sidwell <nathan@acm.org>
kono
parents:
diff changeset
968
kono
parents:
diff changeset
969 * trans-decl.c: Include dumpfile.h not tree-dump.h,
kono
parents:
diff changeset
970
kono
parents:
diff changeset
971 2017-05-09 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
972
kono
parents:
diff changeset
973 PR fortran/79311
kono
parents:
diff changeset
974 * resolve.c (gfc_resolve_finalizers): Ensure that derived-type
kono
parents:
diff changeset
975 components have a their finalizers resolved, also if the superordinate
kono
parents:
diff changeset
976 type itself has a finalizer.
kono
parents:
diff changeset
977
kono
parents:
diff changeset
978 2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
979
kono
parents:
diff changeset
980 PR fortran/79930
kono
parents:
diff changeset
981 * frontend-passes.c (matmul_to_var_expr): New function,
kono
parents:
diff changeset
982 add prototype.
kono
parents:
diff changeset
983 (matmul_to_var_code): Likewise.
kono
parents:
diff changeset
984 (optimize_namespace): Use them from gfc_code_walker.
kono
parents:
diff changeset
985
kono
parents:
diff changeset
986 2017-05-05 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
987
kono
parents:
diff changeset
988 * cpp.c (cb_cpp_error): Replace report_diagnostic
kono
parents:
diff changeset
989 with diagnostic_report_diagnostic.
kono
parents:
diff changeset
990 * error.c (gfc_warning): Likewise.
kono
parents:
diff changeset
991 (gfc_warning_now_at): Likewise.
kono
parents:
diff changeset
992 (gfc_warning_now): Likewise.
kono
parents:
diff changeset
993 (gfc_warning_internal): Likewise.
kono
parents:
diff changeset
994 (gfc_error_now): Likewise.
kono
parents:
diff changeset
995 (gfc_fatal_error): Likewise.
kono
parents:
diff changeset
996 (gfc_error_opt): Likewise.
kono
parents:
diff changeset
997 (gfc_internal_error): Likewise.
kono
parents:
diff changeset
998
kono
parents:
diff changeset
999 2017-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1000
kono
parents:
diff changeset
1001 PR fortran/37131
kono
parents:
diff changeset
1002 * frontend-passes.c (inline_matmul_assign): Also check bounds
kono
parents:
diff changeset
1003 for allocatable lhs and matrix-vector-multiplication.
kono
parents:
diff changeset
1004
kono
parents:
diff changeset
1005 2017-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1006
kono
parents:
diff changeset
1007 PR fortran/80484
kono
parents:
diff changeset
1008 * io.c (format_lex): Check for '/' and set token to FMT_SLASH.
kono
parents:
diff changeset
1009 (check_format): Move FMT_DT checking code to data_desc section.
kono
parents:
diff changeset
1010 * module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
kono
parents:
diff changeset
1011
kono
parents:
diff changeset
1012 2017-04-22 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
1013
kono
parents:
diff changeset
1014 PR fortran/80121
kono
parents:
diff changeset
1015 * trans-types.c (gfc_conv_procedure_call): Deallocate the components
kono
parents:
diff changeset
1016 of allocatable intent(out) arguments.
kono
parents:
diff changeset
1017
kono
parents:
diff changeset
1018 2017-04-21 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
1019
kono
parents:
diff changeset
1020 PR fortran/80392
kono
parents:
diff changeset
1021 * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
kono
parents:
diff changeset
1022 building a derived type that includes a procedure pointer component
kono
parents:
diff changeset
1023 with a polymorphic result.
kono
parents:
diff changeset
1024
kono
parents:
diff changeset
1025 2017-04-17 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1026
kono
parents:
diff changeset
1027 PR fortran/80440
kono
parents:
diff changeset
1028 * module.c (find_symtree_for_symbol): Delete.
kono
parents:
diff changeset
1029 (read_module): Remove the call to the above.
kono
parents:
diff changeset
1030
kono
parents:
diff changeset
1031 2017-04-14 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
1032
kono
parents:
diff changeset
1033 PR fortran/80361
kono
parents:
diff changeset
1034 * class.c (generate_finalization_wrapper): Give the finalization wrapper
kono
parents:
diff changeset
1035 the recursive attribute.
kono
parents:
diff changeset
1036
kono
parents:
diff changeset
1037 2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
kono
parents:
diff changeset
1038 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1039
kono
parents:
diff changeset
1040 PR fortran/69498
kono
parents:
diff changeset
1041 * module.c (gfc_match_submodule): Add error
kono
parents:
diff changeset
1042 if function is called in the wrong state.
kono
parents:
diff changeset
1043
kono
parents:
diff changeset
1044 2017-04-10 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
1045
kono
parents:
diff changeset
1046 PR fortran/80046
kono
parents:
diff changeset
1047 * expr.c (gfc_check_pointer_assign): Check if procedure pointer
kono
parents:
diff changeset
1048 components in a pointer assignment need an explicit interface.
kono
parents:
diff changeset
1049
kono
parents:
diff changeset
1050 2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
kono
parents:
diff changeset
1051
kono
parents:
diff changeset
1052 PR fortran/69498
kono
parents:
diff changeset
1053 * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
kono
parents:
diff changeset
1054 everything before it.
kono
parents:
diff changeset
1055
kono
parents:
diff changeset
1056 2017-03-28 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
1057
kono
parents:
diff changeset
1058 PR fortran/78661
kono
parents:
diff changeset
1059 * trans-io.c (transfer_namelist_element): Perform a polymorphic call
kono
parents:
diff changeset
1060 to a DTIO procedure if necessary.
kono
parents:
diff changeset
1061
kono
parents:
diff changeset
1062 2017-03-25 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1063
kono
parents:
diff changeset
1064 PR fortran/80156
kono
parents:
diff changeset
1065 PR fortran/79382
kono
parents:
diff changeset
1066 * decl.c (access_attr_decl): Remove the error for an absent
kono
parents:
diff changeset
1067 generic DTIO interface and ensure that symbol has the flavor
kono
parents:
diff changeset
1068 FL_PROCEDURE.
kono
parents:
diff changeset
1069
kono
parents:
diff changeset
1070 2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
1071
kono
parents:
diff changeset
1072 PR fortran/79838
kono
parents:
diff changeset
1073 * module.c: Remove trailing period.
kono
parents:
diff changeset
1074
kono
parents:
diff changeset
1075 2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
1076
kono
parents:
diff changeset
1077 PR fortran/79602
kono
parents:
diff changeset
1078 * decl.c: Replace '%s' with %qs.
kono
parents:
diff changeset
1079 * expr.c: Likewise.
kono
parents:
diff changeset
1080 * interface.c: Likewise.
kono
parents:
diff changeset
1081 * match.c: Likewise.
kono
parents:
diff changeset
1082 * primary.c: Likewise.
kono
parents:
diff changeset
1083 * resolve.c: Likewise.
kono
parents:
diff changeset
1084
kono
parents:
diff changeset
1085 PR fortran/79844
kono
parents:
diff changeset
1086 PR fortran/80011
kono
parents:
diff changeset
1087 * io.c: Remove trailing spaces.
kono
parents:
diff changeset
1088 * match.c: Likewise.
kono
parents:
diff changeset
1089 * openmp.c: Likewise.
kono
parents:
diff changeset
1090 * resolve.c: Likewise.
kono
parents:
diff changeset
1091 * trans-intrinsic.c: Likewise.
kono
parents:
diff changeset
1092
kono
parents:
diff changeset
1093 PR fortran/79853
kono
parents:
diff changeset
1094 * expr.c: Remove a double spaces.
kono
parents:
diff changeset
1095
kono
parents:
diff changeset
1096 PR fortran/79859
kono
parents:
diff changeset
1097 * primary.c: Remove spurious quotes around %qs.
kono
parents:
diff changeset
1098
kono
parents:
diff changeset
1099 2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1100
kono
parents:
diff changeset
1101 PR fortran/80142
kono
parents:
diff changeset
1102 * frontend-passes.c (combine_array_constructor): Take
kono
parents:
diff changeset
1103 location of new expression from constructor expression instead
kono
parents:
diff changeset
1104 of constructor.
kono
parents:
diff changeset
1105
kono
parents:
diff changeset
1106 2017-03-20 Nicolas Koenig <koenigni@student.ethz.ch>
kono
parents:
diff changeset
1107
kono
parents:
diff changeset
1108 PR fortran/39239
kono
parents:
diff changeset
1109 * symbol.c (check_conflict): Report an error if an EQUIVALENCE
kono
parents:
diff changeset
1110 object is BIND(C)
kono
parents:
diff changeset
1111
kono
parents:
diff changeset
1112 2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
kono
parents:
diff changeset
1113
kono
parents:
diff changeset
1114 PR fortran/69498
kono
parents:
diff changeset
1115 * decl.c (add_hidden_procptr_result): Fixed Refs count of the
kono
parents:
diff changeset
1116 created "ppr@" symbol.
kono
parents:
diff changeset
1117
kono
parents:
diff changeset
1118 2017-03-18 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1119
kono
parents:
diff changeset
1120 PR fortran/79676
kono
parents:
diff changeset
1121 * module.c (mio_symbol_attribute): Remove reset of the flag
kono
parents:
diff changeset
1122 'no_module_procedures'.
kono
parents:
diff changeset
1123 (check_for_module_procedures): New function. Move declaration
kono
parents:
diff changeset
1124 of 'no_module_procedures' to above it.
kono
parents:
diff changeset
1125 (gfc_dump_module): Traverse namespace calling new function.
kono
parents:
diff changeset
1126
kono
parents:
diff changeset
1127 2017-03-18 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1128
kono
parents:
diff changeset
1129 PR fortran/71838
kono
parents:
diff changeset
1130 * symbol.c (check_conflict): A dummy procedure in a submodule,
kono
parents:
diff changeset
1131 module procedure is not an error.
kono
parents:
diff changeset
1132 (gfc_add_flavor): Ditto.
kono
parents:
diff changeset
1133
kono
parents:
diff changeset
1134 2017-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1135
kono
parents:
diff changeset
1136 PR fortran/79841
kono
parents:
diff changeset
1137 * openmp.c (check_symbol_not_pointer): Adjust diagnostics.
kono
parents:
diff changeset
1138
kono
parents:
diff changeset
1139 2017-03-16 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1140
kono
parents:
diff changeset
1141 PR fortran/80010
kono
parents:
diff changeset
1142 * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
kono
parents:
diff changeset
1143 and ST_OACC_END_ATOMIC, instead of !ACC.
kono
parents:
diff changeset
1144 * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
kono
parents:
diff changeset
1145 * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
kono
parents:
diff changeset
1146 gfc_resolve_oacc_declare): Likewise.
kono
parents:
diff changeset
1147
kono
parents:
diff changeset
1148 PR fortran/79886
kono
parents:
diff changeset
1149 * error.c (gfc_format_decoder): Rename plus argument to set_locus,
kono
parents:
diff changeset
1150 remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
kono
parents:
diff changeset
1151 if not a Fortran specific spec.
kono
parents:
diff changeset
1152 * trans-io.c: Include options.h.
kono
parents:
diff changeset
1153 (gfc_build_st_parameter): Temporarily disable -Wpadded around layout
kono
parents:
diff changeset
1154 of artificial IO data structures.
kono
parents:
diff changeset
1155
kono
parents:
diff changeset
1156 2017-03-15 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1157
kono
parents:
diff changeset
1158 PR fortran/79860
kono
parents:
diff changeset
1159 * resolve.c (resolve_contained_fntype): Make error messages more
kono
parents:
diff changeset
1160 amenable to translation.
kono
parents:
diff changeset
1161
kono
parents:
diff changeset
1162 2017-03-06 Richard Biener <rguenther@suse.de>
kono
parents:
diff changeset
1163
kono
parents:
diff changeset
1164 PR fortran/79894
kono
parents:
diff changeset
1165 * trans.c (gfc_add_modify_loc): Weaken assert.
kono
parents:
diff changeset
1166
kono
parents:
diff changeset
1167 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>,
kono
parents:
diff changeset
1168 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
kono
parents:
diff changeset
1169
kono
parents:
diff changeset
1170 * check.c (positive_check): Add new function checking constant for
kono
parents:
diff changeset
1171 being greater then zero.
kono
parents:
diff changeset
1172 (gfc_check_image_status): Add checking of image_status arguments.
kono
parents:
diff changeset
1173 (gfc_check_failed_or_stopped_images): Same but for failed_- and
kono
parents:
diff changeset
1174 stopped_images function.
kono
parents:
diff changeset
1175 * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
kono
parents:
diff changeset
1176 * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
kono
parents:
diff changeset
1177 (enum gfc_isym_id): Added new intrinsic symbols.
kono
parents:
diff changeset
1178 (enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
kono
parents:
diff changeset
1179 * gfortran.texi: Added description for the new API functions. Updated
kono
parents:
diff changeset
1180 coverage of gfortran of TS18508.
kono
parents:
diff changeset
1181 * intrinsic.c (add_functions): Added symbols to resolve new intrinsic
kono
parents:
diff changeset
1182 functions.
kono
parents:
diff changeset
1183 * intrinsic.h: Added prototypes.
kono
parents:
diff changeset
1184 * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
kono
parents:
diff changeset
1185 intrinsic.
kono
parents:
diff changeset
1186 (gfc_resolve_image_status): Same for image_status.
kono
parents:
diff changeset
1187 (gfc_resolve_stopped_images): Same for stopped_images.
kono
parents:
diff changeset
1188 * libgfortran.h: Added prototypes.
kono
parents:
diff changeset
1189 * match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
kono
parents:
diff changeset
1190 (gfc_match_fail_image): Match a FAIL IMAGE statement.
kono
parents:
diff changeset
1191 * match.h: Added prototype.
kono
parents:
diff changeset
1192 * parse.c (decode_statement): Added matching for FAIL IMAGE.
kono
parents:
diff changeset
1193 (next_statement): Same.
kono
parents:
diff changeset
1194 (gfc_ascii_statement): Same.
kono
parents:
diff changeset
1195 * resolve.c: Same.
kono
parents:
diff changeset
1196 * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
kono
parents:
diff changeset
1197 single a constant result can be returne.d
kono
parents:
diff changeset
1198 (gfc_simplify_image_status): For COARRAY=single the result is constant.
kono
parents:
diff changeset
1199 * st.c (gfc_free_statement): Added FAIL_IMAGE handling.
kono
parents:
diff changeset
1200 * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
kono
parents:
diff changeset
1201 new intrinsics.
kono
parents:
diff changeset
1202 * trans-expr.c (gfc_conv_procedure_call): This is first time all
kono
parents:
diff changeset
1203 arguments of a function are optional, which is now handled here
kono
parents:
diff changeset
1204 correctly.
kono
parents:
diff changeset
1205 * trans-intrinsic.c (conv_intrinsic_image_status): Translate
kono
parents:
diff changeset
1206 image_status.
kono
parents:
diff changeset
1207 (gfc_conv_intrinsic_function): Add support for image_status.
kono
parents:
diff changeset
1208 (gfc_is_intrinsic_libcall): Add support for the remaining new
kono
parents:
diff changeset
1209 intrinsics.
kono
parents:
diff changeset
1210 * trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
kono
parents:
diff changeset
1211 * trans-stmt.h: Add the prototype for the above.
kono
parents:
diff changeset
1212 * trans.c (trans_code): Dispatch for fail_image.
kono
parents:
diff changeset
1213 * trans.h: Add the trees for the new intrinsics.
kono
parents:
diff changeset
1214
kono
parents:
diff changeset
1215 2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1216
kono
parents:
diff changeset
1217 PR fortran/79841
kono
parents:
diff changeset
1218 * openmp.c (check_symbol_not_pointer): Adjust diagnostic.
kono
parents:
diff changeset
1219
kono
parents:
diff changeset
1220 2017-02-28 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1221
kono
parents:
diff changeset
1222 PR fortran/79739
kono
parents:
diff changeset
1223 * resolve.c (resolve_fl_procedure): Deal with the case where
kono
parents:
diff changeset
1224 'submodule_name' is NULL so that gfc_error does not ICE.
kono
parents:
diff changeset
1225 Reformat the error message to make it more consistent.
kono
parents:
diff changeset
1226
kono
parents:
diff changeset
1227 2017-02-28 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1228
kono
parents:
diff changeset
1229 * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
kono
parents:
diff changeset
1230 instead of just cond ? "..." : "...".
kono
parents:
diff changeset
1231 * scanner.c (gfc_next_char_literal): Likewise.
kono
parents:
diff changeset
1232 * match.c (match_exit_cycle): Likewise.
kono
parents:
diff changeset
1233
kono
parents:
diff changeset
1234 2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1235
kono
parents:
diff changeset
1236 PR fortran/51119
kono
parents:
diff changeset
1237 * options.c (gfc_post_options): Set default limit for matmul
kono
parents:
diff changeset
1238 inlining to 30.
kono
parents:
diff changeset
1239 * invoke.texi: Document change.
kono
parents:
diff changeset
1240
kono
parents:
diff changeset
1241 2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
1242
kono
parents:
diff changeset
1243 PR fortran/79601
kono
parents:
diff changeset
1244 * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
kono
parents:
diff changeset
1245 to 'INTENT'.
kono
parents:
diff changeset
1246
kono
parents:
diff changeset
1247 2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
1248
kono
parents:
diff changeset
1249 PR fortran/79597
kono
parents:
diff changeset
1250 * interface.c (gfc_match_end_interface): Remove spurious comma
kono
parents:
diff changeset
1251 and space, replace 'got %s' with 'got %qs'.
kono
parents:
diff changeset
1252
kono
parents:
diff changeset
1253 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1254
kono
parents:
diff changeset
1255 PR fortran/79599
kono
parents:
diff changeset
1256 * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
kono
parents:
diff changeset
1257 missing from error message.
kono
parents:
diff changeset
1258
kono
parents:
diff changeset
1259 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1260
kono
parents:
diff changeset
1261 PR fortran/79523
kono
parents:
diff changeset
1262 * interface.c (gfc_find_typebound_dtio_proc): Guard test for
kono
parents:
diff changeset
1263 flavor attribute by checking that symbol is resolved.
kono
parents:
diff changeset
1264
kono
parents:
diff changeset
1265 2017-02-16 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1266
kono
parents:
diff changeset
1267 PR fortran/79382
kono
parents:
diff changeset
1268 * decl.c (access_attr_decl): Test for presence of generic DTIO
kono
parents:
diff changeset
1269 interface and emit error if not present.
kono
parents:
diff changeset
1270
kono
parents:
diff changeset
1271 2017-02-20 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1272
kono
parents:
diff changeset
1273 PR fortran/79434
kono
parents:
diff changeset
1274 * parse.c (check_component, parse_union): Whitespace.
kono
parents:
diff changeset
1275 (set_syms_host_assoc): For a derived type, check if the module
kono
parents:
diff changeset
1276 in which it was declared is one of the submodule ancestors. If
kono
parents:
diff changeset
1277 it is, make the components public. Otherwise, reset attribute
kono
parents:
diff changeset
1278 'host_assoc' and set 'use-assoc' so that encapsulation is
kono
parents:
diff changeset
1279 preserved.
kono
parents:
diff changeset
1280
kono
parents:
diff changeset
1281 2017-02-19 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1282
kono
parents:
diff changeset
1283 PR fortran/79447
kono
parents:
diff changeset
1284 * decl.c (gfc_set_constant_character_len): Whitespace.
kono
parents:
diff changeset
1285 (gfc_match_end): Catch case where a procedure is contained in
kono
parents:
diff changeset
1286 a module procedure and ensure that 'end procedure' is the
kono
parents:
diff changeset
1287 correct termination.
kono
parents:
diff changeset
1288
kono
parents:
diff changeset
1289 2017-02-19 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1290
kono
parents:
diff changeset
1291 PR fortran/79402
kono
parents:
diff changeset
1292 * resolve.c (fixup_unique_dummy): New function.
kono
parents:
diff changeset
1293 (gfc_resolve_expr): Call it for dummy variables with a unique
kono
parents:
diff changeset
1294 symtree name.
kono
parents:
diff changeset
1295
kono
parents:
diff changeset
1296 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1297
kono
parents:
diff changeset
1298 PR fortran/79229
kono
parents:
diff changeset
1299 * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
kono
parents:
diff changeset
1300 compiling with -fcheck=mem to check the pointer and not the data.
kono
parents:
diff changeset
1301
kono
parents:
diff changeset
1302 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1303
kono
parents:
diff changeset
1304 PR fortran/79335
kono
parents:
diff changeset
1305 * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
kono
parents:
diff changeset
1306 passed are properly initialized.
kono
parents:
diff changeset
1307 (structure_alloc_comps): Same.
kono
parents:
diff changeset
1308 * trans-expr.c (gfc_trans_structure_assign): Same.
kono
parents:
diff changeset
1309
kono
parents:
diff changeset
1310 2017-02-13 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1311
kono
parents:
diff changeset
1312 * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
kono
parents:
diff changeset
1313
kono
parents:
diff changeset
1314 2017-02-12 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1315
kono
parents:
diff changeset
1316 PR fortran/65542
kono
parents:
diff changeset
1317 * intrinsic.c (gfc_intrinsic_func_interface): Return an error
kono
parents:
diff changeset
1318 for -std=f95 for disallowed transformational functions in
kono
parents:
diff changeset
1319 initialization expressions.
kono
parents:
diff changeset
1320
kono
parents:
diff changeset
1321 2017-02-09 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
1322 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
1323
kono
parents:
diff changeset
1324 * openmp.c (resolve_omp_clauses): Error on directives
kono
parents:
diff changeset
1325 containing both tile and collapse clauses.
kono
parents:
diff changeset
1326 (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
kono
parents:
diff changeset
1327 * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
kono
parents:
diff changeset
1328 collapsed loops.
kono
parents:
diff changeset
1329
kono
parents:
diff changeset
1330 2017-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1331
kono
parents:
diff changeset
1332 * trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
kono
parents:
diff changeset
1333 REAL type with the widest precision if two (or more) have the same
kono
parents:
diff changeset
1334 storage size.
kono
parents:
diff changeset
1335
kono
parents:
diff changeset
1336 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1337
kono
parents:
diff changeset
1338 PR fortran/79344
kono
parents:
diff changeset
1339 * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
kono
parents:
diff changeset
1340 the temporary, when a new object was created for the temporary. Not
kono
parents:
diff changeset
1341 when it is just an alias to an existing object.
kono
parents:
diff changeset
1342
kono
parents:
diff changeset
1343 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1344
kono
parents:
diff changeset
1345 PR fortran/79335
kono
parents:
diff changeset
1346 * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
kono
parents:
diff changeset
1347 attributes before using them.
kono
parents:
diff changeset
1348
kono
parents:
diff changeset
1349 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1350
kono
parents:
diff changeset
1351 PR fortran/78958
kono
parents:
diff changeset
1352 * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
kono
parents:
diff changeset
1353 component of unlimited polymorphic objects when source-allocating.
kono
parents:
diff changeset
1354
kono
parents:
diff changeset
1355 2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1356
kono
parents:
diff changeset
1357 PR fortran/79230
kono
parents:
diff changeset
1358 * trans-array.c (structure_alloc_comps): Ignore pointer components when
kono
parents:
diff changeset
1359 freeing structures.
kono
parents:
diff changeset
1360
kono
parents:
diff changeset
1361 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
kono
parents:
diff changeset
1362
kono
parents:
diff changeset
1363 PR lto/79061
kono
parents:
diff changeset
1364 * f95-lang.c (gfc_create_decls): Include stringpool.h.
kono
parents:
diff changeset
1365 Pass main_input_filename to build_translation_unit_decl.
kono
parents:
diff changeset
1366
kono
parents:
diff changeset
1367 2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
kono
parents:
diff changeset
1368
kono
parents:
diff changeset
1369 * arith.c (arith_power): If simplifying integer power expression
kono
parents:
diff changeset
1370 to zero, warn if -Winteger-division is given.
kono
parents:
diff changeset
1371
kono
parents:
diff changeset
1372 2017-01-22 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1373
kono
parents:
diff changeset
1374 PR fortran/79154
kono
parents:
diff changeset
1375 * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
kono
parents:
diff changeset
1376 with { ret = st; goto finish; }.
kono
parents:
diff changeset
1377 (decode_omp_directive): Allow declare simd, declare target and
kono
parents:
diff changeset
1378 simd directives in PURE/ELEMENTAL procedures. Only call
kono
parents:
diff changeset
1379 gfc_unset_implicit_pure on successful match of other procedures.
kono
parents:
diff changeset
1380
kono
parents:
diff changeset
1381 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
kono
parents:
diff changeset
1382
kono
parents:
diff changeset
1383 * gfc-internals.texi (Symbol Versioning): Change references
kono
parents:
diff changeset
1384 to www.akkadia.org to https.
kono
parents:
diff changeset
1385
kono
parents:
diff changeset
1386 2017-01-21 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1387
kono
parents:
diff changeset
1388 * gfortran.h (gfc_extract_int): Change return type to bool. Add
kono
parents:
diff changeset
1389 int argument with = 0.
kono
parents:
diff changeset
1390 * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
kono
parents:
diff changeset
1391 1 as new last argument to it, don't emit gfc_error.
kono
parents:
diff changeset
1392 (match_char_kind): Likewise.
kono
parents:
diff changeset
1393 (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
kono
parents:
diff changeset
1394 gfc_get_string (x).
kono
parents:
diff changeset
1395 (gfc_match_derived_decl, match_binding_attributes): Likewise.
kono
parents:
diff changeset
1396 (gfc_match_structure_decl): Don't sprintf back to name, call
kono
parents:
diff changeset
1397 get_struct_decl directly with gfc_dt_upper_string (name) result.
kono
parents:
diff changeset
1398 * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
kono
parents:
diff changeset
1399 instead of gfc_get_string (x).
kono
parents:
diff changeset
1400 * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
kono
parents:
diff changeset
1401 gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
kono
parents:
diff changeset
1402 mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
kono
parents:
diff changeset
1403 load_omp_udrs, load_needed, read_module, dump_module,
kono
parents:
diff changeset
1404 create_intrinsic_function, import_iso_c_binding_module,
kono
parents:
diff changeset
1405 create_int_parameter, create_int_parameter_array, create_derived_type,
kono
parents:
diff changeset
1406 use_iso_fortran_env_module): Likewise.
kono
parents:
diff changeset
1407 * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
kono
parents:
diff changeset
1408 pp_verbatim (context->printer, "%s", x) instead of
kono
parents:
diff changeset
1409 pp_verbatim (context->printer, x).
kono
parents:
diff changeset
1410 * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
kono
parents:
diff changeset
1411 1 as new last argument to it, don't emit gfc_error.
kono
parents:
diff changeset
1412 (gfc_match_small_int_expr): Likewise.
kono
parents:
diff changeset
1413 * iresolve.c (gfc_get_string): Optimize format "%s" case.
kono
parents:
diff changeset
1414 (resolve_bound): Use gfc_get_string ("%s", x) instead of
kono
parents:
diff changeset
1415 gfc_get_string (x).
kono
parents:
diff changeset
1416 (resolve_transformational): Formatting fix.
kono
parents:
diff changeset
1417 (gfc_resolve_char_achar): Change name argument to bool is_achar,
kono
parents:
diff changeset
1418 use a single format string and if is_achar add "a" before "char".
kono
parents:
diff changeset
1419 (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
kono
parents:
diff changeset
1420 * expr.c (gfc_extract_int): Change return type to bool, return true
kono
parents:
diff changeset
1421 if some error occurred. Add REPORT_ERROR argument, if non-zero
kono
parents:
diff changeset
1422 call either gfc_error or gfc_error_now depending on its sign.
kono
parents:
diff changeset
1423 * arith.c (arith_power): Adjust gfc_extract_int caller.
kono
parents:
diff changeset
1424 * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
kono
parents:
diff changeset
1425 of gfc_get_string (x).
kono
parents:
diff changeset
1426 (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
kono
parents:
diff changeset
1427 gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
kono
parents:
diff changeset
1428 * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
kono
parents:
diff changeset
1429 -1 as new last argument to it, don't emit gfc_error_now.
kono
parents:
diff changeset
1430 (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
kono
parents:
diff changeset
1431 instead of gfc_get_string (x).
kono
parents:
diff changeset
1432 * check.c (kind_check): Adjust gfc_extract_int caller.
kono
parents:
diff changeset
1433 * intrinsic.c (add_sym, find_sym, make_alias): Use
kono
parents:
diff changeset
1434 gfc_get_string ("%s", x) instead of gfc_get_string (x).
kono
parents:
diff changeset
1435 * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
kono
parents:
diff changeset
1436 gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
kono
parents:
diff changeset
1437 gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
kono
parents:
diff changeset
1438 Adjust gfc_extract_int callers.
kono
parents:
diff changeset
1439 * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
kono
parents:
diff changeset
1440 instead of gfc_get_string (x).
kono
parents:
diff changeset
1441 * matchexp.c (expression_syntax): Add const.
kono
parents:
diff changeset
1442 * primary.c (match_kind_param, match_hollerith_constant,
kono
parents:
diff changeset
1443 match_string_constant): Adjust gfc_extract_int callers.
kono
parents:
diff changeset
1444 (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
kono
parents:
diff changeset
1445 gfc_get_string (x).
kono
parents:
diff changeset
1446 * frontend-passes.c (optimize_minmaxloc): Likewise.
kono
parents:
diff changeset
1447
kono
parents:
diff changeset
1448 2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1449
kono
parents:
diff changeset
1450 PR fortran/70696
kono
parents:
diff changeset
1451 * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
kono
parents:
diff changeset
1452 function only, when the decl-context is not the translation unit.
kono
parents:
diff changeset
1453
kono
parents:
diff changeset
1454 2017-01-18 Louis Krupp <louis.krupp@zoho.com>
kono
parents:
diff changeset
1455
kono
parents:
diff changeset
1456 PR fortran/50069
kono
parents:
diff changeset
1457 PR fortran/55086
kono
parents:
diff changeset
1458 * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
kono
parents:
diff changeset
1459 as function arguments.
kono
parents:
diff changeset
1460 * trans-stmt.c (forall_make_variable_temp,
kono
parents:
diff changeset
1461 generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
kono
parents:
diff changeset
1462 gfc_trans_forall_1): Don't adjust offset of forall temporary
kono
parents:
diff changeset
1463 for array sections, make forall temporaries work for substring
kono
parents:
diff changeset
1464 expressions, improve test coverage by adding -ftest-forall-temp
kono
parents:
diff changeset
1465 option to request usage of temporary array in forall code.
kono
parents:
diff changeset
1466 * lang.opt: Add -ftest-forall-temp option.
kono
parents:
diff changeset
1467 * invoke.texi: Add -ftest-forall-temp option.
kono
parents:
diff changeset
1468
kono
parents:
diff changeset
1469 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1470
kono
parents:
diff changeset
1471 * primary.c (caf_variable_attr): Improve figuring whether the current
kono
parents:
diff changeset
1472 component is the last one refed.
kono
parents:
diff changeset
1473 * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
kono
parents:
diff changeset
1474 when allocating pointer or allocatable components.
kono
parents:
diff changeset
1475
kono
parents:
diff changeset
1476 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1477
kono
parents:
diff changeset
1478 * gfortran.texi: Add missing parameters to caf-API functions. Correct
kono
parents:
diff changeset
1479 typos and clarify some descriptions.
kono
parents:
diff changeset
1480
kono
parents:
diff changeset
1481 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1482
kono
parents:
diff changeset
1483 PR fortran/70696
kono
parents:
diff changeset
1484 Missed some cases, here they are:
kono
parents:
diff changeset
1485 * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
kono
parents:
diff changeset
1486 parent function's scope.
kono
parents:
diff changeset
1487 * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove
kono
parents:
diff changeset
1488 unnecessary assert.
kono
parents:
diff changeset
1489
kono
parents:
diff changeset
1490 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1491
kono
parents:
diff changeset
1492 PR fortran/70697
kono
parents:
diff changeset
1493 * resolve.c (resolve_lock_unlock_event): Resolve the expression for
kono
parents:
diff changeset
1494 event's until_count.
kono
parents:
diff changeset
1495
kono
parents:
diff changeset
1496 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1497
kono
parents:
diff changeset
1498 PR fortran/70696
kono
parents:
diff changeset
1499 * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
kono
parents:
diff changeset
1500 is valid before accessing it.
kono
parents:
diff changeset
1501
kono
parents:
diff changeset
1502 2017-01-09 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1503
kono
parents:
diff changeset
1504 PR translation/79019
kono
parents:
diff changeset
1505 PR translation/79020
kono
parents:
diff changeset
1506 * decl.c (attr_decl1): Fix spelling in translatable string.
kono
parents:
diff changeset
1507 * intrinsic.texi: Fix spelling - invokation -> invocation.
kono
parents:
diff changeset
1508 * lang.opt (faggressive-function-elimination, gfc_convert): Fix
kono
parents:
diff changeset
1509 typos in descriptions.
kono
parents:
diff changeset
1510 * openmp.c (resolve_omp_clauses): Add missing whitespace to
kono
parents:
diff changeset
1511 translatable strings.
kono
parents:
diff changeset
1512
kono
parents:
diff changeset
1513 2017-01-08 Martin Sebor <msebor@redhat.com>
kono
parents:
diff changeset
1514
kono
parents:
diff changeset
1515 PR tree-optimization/78913
kono
parents:
diff changeset
1516 PR middle-end/77708
kono
parents:
diff changeset
1517 * trans-common.c (build_equiv_decl): Increase buffer size to avoid
kono
parents:
diff changeset
1518 truncation for any argument.
kono
parents:
diff changeset
1519 * trans-types.c (gfc_build_logical_type): Same.
kono
parents:
diff changeset
1520
kono
parents:
diff changeset
1521 2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1522
kono
parents:
diff changeset
1523 PR fortran/78781
kono
parents:
diff changeset
1524 PR fortran/78935
kono
parents:
diff changeset
1525 * expr.c (gfc_check_pointer_assign): Return the same error message for
kono
parents:
diff changeset
1526 rewritten coarray pointer assignments like for plain ones.
kono
parents:
diff changeset
1527 * gfortran.h: Change prototype.
kono
parents:
diff changeset
1528 * primary.c (caf_variable_attr): Set attributes used ones only only
kono
parents:
diff changeset
1529 ones. Add setting of pointer_comp attribute.
kono
parents:
diff changeset
1530 (gfc_caf_attr): Add setting of pointer_comp attribute.
kono
parents:
diff changeset
1531 * trans-array.c (gfc_array_allocate): Add flag that the component to
kono
parents:
diff changeset
1532 allocate is not an ultimate coarray component. Add allocation of
kono
parents:
diff changeset
1533 pointer arrays.
kono
parents:
diff changeset
1534 (structure_alloc_comps): Extend nullify to treat pointer components in
kono
parents:
diff changeset
1535 coarrays correctly. Restructure nullify to remove redundant code.
kono
parents:
diff changeset
1536 (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
kono
parents:
diff changeset
1537 * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
kono
parents:
diff changeset
1538 * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
kono
parents:
diff changeset
1539 derived type coarrays with pointer components.
kono
parents:
diff changeset
1540 * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
kono
parents:
diff changeset
1541 components.
kono
parents:
diff changeset
1542 (trans_caf_token_assign): Handle assignment of token of scalar pointer
kono
parents:
diff changeset
1543 components.
kono
parents:
diff changeset
1544 (gfc_trans_pointer_assignment): Call above routine.
kono
parents:
diff changeset
1545 * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
kono
parents:
diff changeset
1546 components.
kono
parents:
diff changeset
1547 (gfc_conv_intrinsic_caf_get): Likewise.
kono
parents:
diff changeset
1548 (conv_caf_send): Likewise.
kono
parents:
diff changeset
1549 * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
kono
parents:
diff changeset
1550 a coarray pre-register the tokens.
kono
parents:
diff changeset
1551 (gfc_trans_deallocate): Simply determining the coarray type (scalar or
kono
parents:
diff changeset
1552 array) and deregistering it correctly.
kono
parents:
diff changeset
1553 * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
kono
parents:
diff changeset
1554 actual codim to allow lookup of array types in the cache.
kono
parents:
diff changeset
1555 (gfc_build_array_type): Likewise.
kono
parents:
diff changeset
1556 (gfc_get_array_descriptor_base): Likewise.
kono
parents:
diff changeset
1557 (gfc_get_array_type_bounds): Likewise.
kono
parents:
diff changeset
1558 (gfc_get_derived_type): Likewise.
kono
parents:
diff changeset
1559 * trans-types.h: Likewise.
kono
parents:
diff changeset
1560 * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
kono
parents:
diff changeset
1561 of coarray components.
kono
parents:
diff changeset
1562 (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
kono
parents:
diff changeset
1563 instead of caf_deregister.
kono
parents:
diff changeset
1564
kono
parents:
diff changeset
1565 2017-01-06 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1566
kono
parents:
diff changeset
1567 * simplify.c (simplify_transformation_to_array): Use
kono
parents:
diff changeset
1568 GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
kono
parents:
diff changeset
1569 #pragma GCC diagnostic {push,ignored,pop}.
kono
parents:
diff changeset
1570
kono
parents:
diff changeset
1571 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
kono
parents:
diff changeset
1572
kono
parents:
diff changeset
1573 * simplify.c (simplify_transformation_to_array): Silence
kono
parents:
diff changeset
1574 array bounds warning. Fix whitespace.
kono
parents:
diff changeset
1575
kono
parents:
diff changeset
1576 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
kono
parents:
diff changeset
1577
kono
parents:
diff changeset
1578 * module.c (load_omp_udrs): Initialize name.
kono
parents:
diff changeset
1579
kono
parents:
diff changeset
1580 2017-01-02 Janne Blomqvist <jb@gcc.gnu.org>
kono
parents:
diff changeset
1581
kono
parents:
diff changeset
1582 PR fortran/78534
kono
parents:
diff changeset
1583 * trans-expr.c (gfc_trans_string_copy): Rework string copy
kono
parents:
diff changeset
1584 algorithm to avoid -Wstringop-overflow warning.
kono
parents:
diff changeset
1585
kono
parents:
diff changeset
1586 2017-01-01 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1587
kono
parents:
diff changeset
1588 Update copyright years.
kono
parents:
diff changeset
1589
kono
parents:
diff changeset
1590 * gfortranspec.c (lang_specific_driver): Update copyright notice
kono
parents:
diff changeset
1591 dates.
kono
parents:
diff changeset
1592 * gfc-internals.texi: Bump @copying's copyright year.
kono
parents:
diff changeset
1593 * gfortran.texi: Ditto.
kono
parents:
diff changeset
1594 * intrinsic.texi: Ditto.
kono
parents:
diff changeset
1595 * invoke.texi: Ditto.
kono
parents:
diff changeset
1596
kono
parents:
diff changeset
1597 Copyright (C) 2017 Free Software Foundation, Inc.
kono
parents:
diff changeset
1598
kono
parents:
diff changeset
1599 Copying and distribution of this file, with or without modification,
kono
parents:
diff changeset
1600 are permitted in any medium without royalty provided the copyright
kono
parents:
diff changeset
1601 notice and this notice are preserved.