]>
Commit | Line | Data |
---|---|---|
88098bd2 | 1 | 2019-06-14 Harald Anlauf <anlauf@gmx.de> |
2 | ||
3 | PR fortran/90577 | |
4 | PR fortran/90578 | |
5 | * trans-intrinsic.c (gfc_conv_intrinsic_shift): Properly | |
6 | distinguish logical/arithmetic shifts. | |
7 | * intrinsic.texi: Update documentation for SHIFTR/SHIFTL/SHIFTA | |
8 | (Fortran 2008) and LSHIFT/RSHIFT (GNU extensions). | |
9 | ||
1e2ed656 | 10 | 2019-06-14 Steven G. Kargl <kargl@gcc.gnu.org> |
11 | ||
12 | PR fortran/89646 | |
13 | * dependency.c (gfc_check_argument_var_dependency): Suppress spurious | |
14 | warnings by comparing variable names. | |
15 | ||
16 | 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
8cdc2a74 | 17 | |
18 | PR fortran/68544 | |
19 | * resolve.c (is_dt_name): New function to compare symbol name against | |
20 | list of derived types. | |
21 | (resolve_actual_arglist): Use it to find wrong code. | |
22 | ||
dad2a8cf | 23 | 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> |
24 | ||
25 | PR fortran/89344 | |
26 | * expr.c (gfc_check_vardef_context): Check for INTENT(IN) variable | |
27 | in SELECT TYPE construct. | |
28 | ||
0cf6bd7d | 29 | 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> |
30 | ||
31 | PR fortran/88810 | |
32 | * dependency.c (gfc_dep_resolver): Re-arrange code to make the logic | |
33 | a bit more transparent. Fix 2 nearby formatting issues. | |
34 | ||
04a89d67 | 35 | 2019-06-13 Jakub Jelinek <jakub@redhat.com> |
36 | ||
37 | * io.c (check_format): Use G_(...) instead of _(...) for error values, | |
38 | append " in format string at %L" to all strings but unexpected_element, | |
39 | use error as gfc_error formating string instead of | |
40 | "%s in format string at %L". Formatting fixes. | |
41 | ||
3c589026 | 42 | 2019-06-12 Steven G. Kargl <kargl@gcc.gnu.org> |
43 | ||
44 | * gfortran.h (gfc_free_dt_list): Remove prototype. | |
45 | ||
a0ebfde0 | 46 | 2019-06-12 Steven G. Kargl <kargl@gcc.gnu.org> |
47 | ||
48 | PR fortran/90002 | |
49 | * array.c (gfc_free_array_spec): When freeing an array-spec, avoid | |
50 | an ICE for assumed-shape coarrays | |
51 | ||
21347210 | 52 | 2019-06-08 Paul Thomas <pault@gcc.gnu.org> |
53 | ||
54 | PR fortran/90786 | |
55 | * trans-expr.c (pointer_assignment_is_proc_pointer) Remove as | |
56 | it is very simple and only called from one place. | |
57 | (gfc_trans_pointer_assignment): Rename non_proc_pointer_assign | |
58 | as non_proc_ptr_assign. Assign to it directly, rather than call | |
59 | to above, deleted function and use gfc_expr_attr instead of | |
60 | only checking the reference chain. | |
61 | ||
bd553281 | 62 | 2019-06-08 Thomas Koenig <tkoenig@gcc.gnu.org> |
63 | Tomáš Trnka <trnka@scm.com> | |
64 | ||
65 | PR fortran/90744 | |
66 | * trans-types.c (get_formal_from_actual_arglist): Unset typespec | |
67 | flags which make no sense for procedures without explicit | |
68 | interface. | |
69 | ||
73835b3d | 70 | 2019-06-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
71 | ||
72 | PR fortran/90539 | |
73 | * trans-expr.c (gfc_conv_subref_array_arg): If the size of the | |
74 | expression can be determined to be one, treat it as contiguous. | |
75 | Set likelyhood of presence of an actual argument according to | |
76 | PRED_FORTRAN_ABSENT_DUMMY and likelyhood of being contiguous | |
77 | according to PRED_FORTRAN_CONTIGUOUS. | |
78 | ||
215235d7 | 79 | 2019-05-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
80 | ||
73835b3d | 81 | * gfc-internals.texi (Translating to GENERIC): New chapter. |
215235d7 | 82 | |
4ad3c10c | 83 | 2019-05-30 Marek Polacek <polacek@redhat.com> |
84 | ||
85 | * lang.opt (ftail-call-workaround): Fix a typo. | |
86 | ||
8537594f | 87 | 2019-05-30 Jakub Jelinek <jakub@redhat.com> |
88 | ||
89 | * lang.opt (ftail-call-workaround=): Fix a typo - lenghts to lengths. | |
90 | ||
1f1918be | 91 | 2019-05-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
92 | ||
93 | PR fortran/90539 | |
94 | * gfortran.h (gfc_has_dimen_vector_ref): Add prototype. | |
95 | * trans.h (gfc_conv_subref_array_arg): Add argument check_contiguous. | |
96 | (gfc_conv_is_contiguous_expr): Add prototype. | |
97 | * frontend-passes.c (has_dimen_vector_ref): Remove prototype, | |
98 | rename to | |
99 | (gfc_has_dimen_vector_ref): New function name. | |
100 | (matmul_temp_args): Use gfc_has_dimen_vector_ref. | |
101 | (inline_matmul_assign): Likewise. | |
102 | * trans-array.c (gfc_conv_array_parameter): Also check for absence | |
103 | of a vector subscript before calling gfc_conv_subref_array_arg. | |
104 | Pass additional argument to gfc_conv_subref_array_arg. | |
105 | * trans-expr.c (gfc_conv_subref_array_arg): Add argument | |
106 | check_contiguous. If that is true, check if the argument | |
107 | is contiguous and do not repack in that case. | |
108 | * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): Split | |
109 | away most of the work into, and call | |
110 | (gfc_conv_intrinsic_is_coniguous_expr): New function. | |
111 | ||
d7233bac | 112 | 2019-05-29 Jakub Jelinek <jakub@redhat.com> |
113 | ||
114 | PR fortran/90329 | |
115 | * lang.opt (fbroken-callers): Remove. | |
116 | (ftail-call-workaround, ftail-call-workaround=): New options. | |
117 | * gfortran.h (struct gfc_namespace): Add implicit_interface_calls. | |
118 | * interface.c (gfc_procedure_use): Set implicit_interface_calls | |
119 | for calls to implicit interface procedures. | |
120 | * trans-decl.c (create_function_arglist): Use flag_tail_call_workaround | |
121 | instead of flag_broken_callers. If it is not 2, also require | |
122 | sym->ns->implicit_interface_calls. | |
123 | * invoke.texi (fbroken-callers): Remove documentation. | |
124 | (ftail-call-workaround, ftail-call-workaround=): Document. | |
125 | ||
8dc5b8c7 | 126 | 2019-05-26 Thomas Koenig <tkoenig@gcc.gnu.org> |
127 | ||
128 | PR fortran/90539 | |
129 | * trans-types.c (get_formal_from_actual_arglist): Set rank | |
130 | and lower bound for assumed size arguments. | |
131 | ||
637d62c8 | 132 | 2019-05-22 Andrew Stubbs <ams@codesourcery.com> |
133 | ||
134 | * trans-stmt.c (gfc_trans_critical): Use size_type_node for | |
135 | gfor_fndecl_caf_lock and gfor_fndecl_caf_unlock calls. | |
136 | (gfc_trans_allocate): Use size_type_node for gfor_fndecl_caf_sync_all | |
137 | call. | |
138 | ||
647551f1 | 139 | 2019-05-22 Jeff Law <law@redhat.com> |
140 | Mark Eggleston <mark.eggleston@codethink.com> | |
141 | ||
142 | PR fortran/89100 | |
143 | * gfortran.texi: Add Default widths for F, G and I format | |
144 | descriptors to Extensions section. | |
145 | * invoke.texi: Add -fdec-format-defaults | |
146 | * io.c (check_format): Use default widths for i, f and g when | |
147 | flag_dec_format_defaults is enabled. | |
148 | * lang.opt: Add new option. | |
149 | * options.c (set_dec_flags): Add SET_BITFLAG for | |
150 | flag_dec_format_defaults. | |
151 | ||
faabb7a0 | 152 | 2019-05-21 Janne Blomqvist <jb@gcc.gnu.org> |
153 | ||
154 | PR libfortran/90038 | |
155 | * intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new | |
156 | wait=.false. implementation. | |
157 | ||
f9659835 | 158 | 2019-05-20 Mark Eggleston <markeggleston@codethink.com> |
159 | ||
160 | * gfortran.texi: Remove reference to the ASSIGN statement, capitalise | |
161 | complex, state that padding is with spaces and modify the Hollerith | |
162 | constant examples. | |
163 | ||
ad670379 | 164 | 2019-05-19 Paul Thomas <pault@gcc.gnu.org> |
165 | ||
166 | PR fortran/90498 | |
167 | * trans-stmt.c (trans_associate_var) Do not use the saved | |
168 | descriptor if the expression is a COMPONENT_REF. | |
169 | ||
a4ba5c3e | 170 | 2019-05-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
171 | ||
172 | PR fortran/90329 | |
173 | * invoke.texi: Document -fbroken-callers. | |
174 | * lang.opt: Add -fbroken-callers. | |
175 | * trans-decl.c (create_function_arglist): Only set | |
176 | DECL_HIDDEN_STRING_LENGTH if flag_broken_callers is set. | |
177 | ||
9b500985 | 178 | 2019-05-17 Thomas Schwinge <thomas@codesourcery.com> |
179 | ||
180 | PR fortran/89433 | |
181 | * f95-lang.c (gfc_attribute_table): Set min_len to -1 for "omp | |
182 | declare target". | |
183 | * trans-decl.c (add_attributes_to_decl): Refer to OpenACC | |
184 | 'routine' clauses from "omp declare target" attribute. | |
185 | ||
85b9be9b | 186 | 2019-05-16 Martin Sebor <msebor@redhat.com> |
187 | ||
188 | * gfortranspec.c (append_arg): Spell out the word "argument." | |
189 | ||
1fc5e56f | 190 | 2019-05-16 Jakub Jelinek <jakub@redhat.com> |
191 | ||
192 | PR fortran/90329 | |
193 | * trans-decl.c (create_function_arglist): Set | |
194 | DECL_HIDDEN_STRING_LENGTH on hidden string length PARM_DECLs if | |
195 | len is constant. | |
196 | ||
3287af73 | 197 | 2019-05-15 Janne Blomqvist <jb@gcc.gnu.org> |
198 | ||
199 | * parse.c (gfc_parse_file): Remove translation string markers. | |
200 | ||
6fbb1104 | 201 | 2019-05-12 Janne Blomqvist <jb@gcc.gnu.org> |
202 | ||
203 | * dump-parse-tree.c (get_c_type_name): Use macros for complex type | |
204 | names. | |
205 | * parse.c (gfc_parse_file): Define complex macros, add CPP support | |
206 | when printing C prototypes. | |
207 | ||
c373feb1 | 208 | 2019-05-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
209 | ||
210 | PR fortran/61968 | |
211 | * interface.c (compare_actual_formal): Do not create a vtab if | |
212 | the actual argument is assumed type. | |
213 | ||
261e88be | 214 | 2019-05-10 Paul Thomas <pault@gcc.gnu.org> |
215 | ||
216 | PR fortran/90093 | |
217 | * trans-decl.c (convert_CFI_desc): Test that the dummy is | |
218 | present before doing any of the conversions. | |
219 | ||
220 | PR fortran/90352 | |
221 | * decl.c (gfc_verify_c_interop_param): Restore the error for | |
222 | charlen > 1 actual arguments passed to bind(C) procs. | |
223 | Clean up trailing white space. | |
224 | ||
225 | PR fortran/90355 | |
226 | * trans-array.c (gfc_trans_create_temp_array): Set the 'span' | |
227 | field to the element length for all types. | |
228 | (gfc_conv_expr_descriptor): The force_no_tmp flag is used to | |
229 | prevent temporary creation, especially for substrings. | |
230 | * trans-decl.c (gfc_trans_deferred_vars): Rather than assert | |
231 | that the backend decl for the string length is non-null, use it | |
232 | as a condition before calling gfc_trans_vla_type_sizes. | |
233 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): 'force_no_tmp' | |
234 | is set before calling gfc_conv_expr_descriptor. | |
235 | * trans.c (get_array_span): Move the code for extracting 'span' | |
236 | from gfc_build_array_ref to this function. This is specific to | |
237 | descriptors that are component and indirect references. | |
238 | * trans.h : Add the force_no_tmp flag bitfield to gfc_se. | |
239 | ||
6d658980 | 240 | 2019-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> |
241 | ||
242 | PR fortran/90351 | |
243 | PR fortran/90329 | |
c3fd73d2 | 244 | * dump-parse-tree.c: Include version.h. |
6d658980 | 245 | (gfc_dump_external_c_prototypes): New function. |
246 | (get_c_type_name): Select "char" as a name for a simple char. | |
247 | Adjust to handling external functions. Also handle complex. | |
248 | (write_decl): Add argument bind_c. Adjust for dumping of external | |
249 | procedures. | |
250 | (write_proc): Likewise. | |
251 | (write_interop_decl): Add bind_c argument to call of write_proc. | |
252 | * gfortran.h: Add prototype for gfc_dump_external_c_prototypes. | |
253 | * lang.opt: Add -fc-prototypes-external flag. | |
254 | * parse.c (gfc_parse_file): Move dumping of BIND(C) prototypes. | |
255 | Call gfc_dump_external_c_prototypes if option is set. | |
256 | * invoke.texi: Document -fc-prototypes-external. | |
257 | ||
7c4a543c | 258 | 2019-05-06 Steven G. Kargl <kargl@gcc.gnu.org> |
259 | ||
260 | PR fortran/90290 | |
261 | * match.c (gfc_match_stopcode): Check F2008 condition on stop code. | |
262 | ||
61fd42ac | 263 | 2019-05-01 Andrew Benson <abensonca@gmail.com> |
264 | ||
265 | * module.c (write_module): Initialize module_column before writing | |
266 | module to ensure line break occurs at correct column. | |
267 | ||
0bc9082b | 268 | 2019-05-01 Dominique d'Humieres <dominiq@gcc.gnu.org> |
269 | ||
270 | PR fortran/60144 | |
271 | * match.c (gfc_match_parens): Change the location for missing ')'. | |
272 | (gfc_match_if): Detect a missing '('. Remove the spurious named | |
273 | constant error. Change the wording of some errors. | |
274 | (gfc_match_else): Change the wording of an error. | |
275 | (gfc_match_elseif): Detect a missing '('. Improve the matching | |
276 | process to get a better syntax analysis. | |
277 | ||
7042c69b | 278 | 2019-04-19 Steven G. Kargl <kargl@gcc.gnu.org> |
279 | ||
280 | PR fortran/90166 | |
281 | * decl.c (in_module_or_interface): New function to check that the | |
282 | current state is in a module, submodule, or interface. | |
283 | (gfc_match_prefix): Use it. | |
284 | ||
a796a135 | 285 | 2019-04-22 Paul Thomas <pault@gcc.gnu.org> |
286 | ||
287 | PR fortran/57284 | |
288 | * resolve.c (find_array_spec): If this is a class expression | |
289 | and the symbol and component array specs are the same, this is | |
290 | not an error. | |
291 | *trans-intrinsic.c (gfc_conv_intrinsic_size): If a class symbol | |
292 | argument, has no namespace, it has come from the interface | |
293 | mapping and the _data component must be accessed directly. | |
294 | ||
b8d03885 | 295 | 2019-04-17 Thomas Schwinge <thomas@codesourcery.com> |
296 | ||
297 | PR fortran/90048 | |
298 | * openmp.c (gfc_resolve_do_iterator): Handle sharing_clauses for | |
299 | OpenACC, too. | |
300 | (gfc_resolve_oacc_blocks): Populate sharing_clauses with private | |
301 | clauses. | |
302 | ||
37684a4c | 303 | 2019-04-14 Paul Thomas <pault@gcc.gnu.org> |
304 | ||
305 | PR fortran/89843 | |
306 | * trans-decl.c (gfc_get_symbol_decl): Assumed shape and assumed | |
307 | rank dummies of bind C procs require deferred initialization. | |
308 | (convert_CFI_desc): New procedure to convert incoming CFI | |
309 | descriptors to gfc types and back again. | |
310 | (gfc_trans_deferred_vars): Call it. | |
311 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Null the CFI | |
312 | descriptor pointer. Free the descriptor in all cases. | |
313 | ||
314 | PR fortran/89846 | |
315 | * expr.c (is_CFI_desc): New function. | |
316 | (is_subref_array): Tidy up by referencing the symbol directly. | |
317 | * gfortran.h : Prototype for is_CFI_desc. | |
318 | * trans_array.c (get_CFI_desc): New function. | |
319 | (gfc_get_array_span, gfc_conv_scalarized_array_ref, | |
320 | gfc_conv_array_ref): Use it. | |
321 | * trans.c (get_array_span): Extract the span from descriptors | |
322 | that are indirect references. | |
323 | ||
324 | PR fortran/90022 | |
325 | * trans-decl.c (gfc_get_symbol_decl): Make sure that the se | |
326 | expression is a pointer type before converting it to the symbol | |
327 | backend_decl type. | |
328 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Eliminate | |
329 | temporary creation for intent(in). | |
330 | ||
8d0bceca | 331 | 2019-04-13 Dominique d'Humieres <dominiq@gcc.gnu.org> |
332 | ||
333 | PR fortran/79842 | |
334 | * module.c (gfc_use_module): use complete sentences. | |
335 | ||
ff35b5f5 | 336 | 2019-04-11 Thomas Koenig <tkoenig@gcc.gnu.org> |
337 | ||
338 | PR translation/89939 | |
339 | * frontend-passes.c (B_ERROR): Delete macro. | |
340 | (C_ERROR): Delete macro. | |
341 | (B_ERROR_1): New macro. | |
342 | (C_ERROR_1): New macro. | |
343 | (C_ERROR_2): New macro. | |
344 | (inline_matmul_assign): Use new macros. | |
345 | (call_external_blas): Likewise. | |
346 | ||
180a5ec9 | 347 | 2019-04-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
348 | ||
349 | PR fortran/87352 | |
350 | * gfortran.h (gfc_component): Add finalized field. | |
351 | * class.c (finalize_component): If the component is already | |
352 | finalized, return early. Set component->finalized on exit. | |
353 | ||
901be419 | 354 | 2019-04-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
355 | ||
356 | PR fortran/89981 | |
357 | * resolve.c (resolve_global_procedure): If the global symbol is an | |
358 | ENTRY, also look up its name among the entries. | |
359 | ||
c453bf88 | 360 | 2019-04-04 Harald Anlauf <anlauf@gmx.de> |
361 | ||
e62a08c8 | 362 | PR fortran/89904 |
c453bf88 | 363 | * check.c (gfc_check_transfer): Reject procedures as actual |
364 | arguments for SOURCE and MOLD of TRANSFER intrinsic. | |
365 | ||
45b5611b | 366 | 2019-04-03 Steven G. Kargl <kargl@gcc.gnu.org> |
367 | ||
368 | PR fortran/68567 | |
369 | * expr.c (gfc_reduce_init_expr): Add extra check to avoid | |
370 | dereferencing a null pointer. | |
371 | ||
4e401853 | 372 | 2019-04-03 Dominique d'Humieres <dominiq@gcc.gnu.org> |
373 | ||
374 | PR fortran/89375 | |
375 | * expr.c (comp_pointer): Remove redundant condition. | |
376 | ||
24709509 | 377 | 2019-03-31 Harald Anlauf <anlauf@gmx.de> |
378 | ||
379 | PR fortran/83515 | |
380 | PR fortran/85797 | |
381 | * trans-types.c (gfc_typenode_for_spec): Handle conversion for | |
382 | procedure pointers. | |
383 | * target-memory.c (gfc_element_size): Handle size determination | |
384 | for procedure pointers. | |
385 | ||
27c9936e | 386 | 2019-03-31 Thomas Koenig <tkoenig@gcc.gnu.org> |
387 | ||
388 | * dump-parse-tree.c (debug): Add for symbol_attribute *, | |
389 | symbol_attribute and gfc_ref * arguments. | |
390 | ||
f22577c1 | 391 | 2019-03-30 Paul Thomas <pault@gcc.gnu.org> |
392 | ||
393 | PR fortran/89841 | |
394 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Use the formal | |
395 | argument attributes rather than those of the actual argument. | |
396 | ||
397 | PR fortran/89842 | |
398 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Call | |
399 | 'set_dtype_for_unallocated' for any type of arrayspec. | |
400 | ||
c271ea7f | 401 | 2019-03-27 Janus Weil <janus@gcc.gnu.org> |
402 | ||
403 | PR fortran/85537 | |
404 | * expr.c (gfc_check_assign_symbol): Reject internal and dummy procedures | |
405 | in procedure pointer initialization. | |
406 | ||
b0bd2392 | 407 | 2019-03-27 Paul Thomas <pault@gcc.gnu.org> |
408 | ||
409 | PR fortran/88247 | |
410 | * expr.c (is_subref_array): Permit substrings to be detected | |
411 | as subref arrays. | |
412 | * trans-array.c (get_array_ctor_var_strlen): Obtain the length | |
413 | of deferred length strings. Handle substrings with a NULL end | |
414 | expression. | |
415 | (trans_array_constructor): Remove an unnecessary blank line. | |
416 | (gfc_conv_scalarized_array_ref): Skip to label 'done' if 'decl' | |
417 | is a pointer array. | |
418 | (get_array_charlen): If the expression is an array, convert the | |
419 | first element of the constructor and use its string length. Get | |
420 | a new charlen if necessary. | |
421 | (gfc_conv_expr_descriptor): Call 'get_array_charlen' for array | |
422 | constructor expressions. If the ss_info string length is | |
423 | available, use that to set the span of character arrays. | |
424 | * trans-expr.c (gfc_get_expr_charlen): Handle substrings | |
425 | * trans-stmt.c (trans_associate_var): Set the pointer array | |
426 | flag for variable targets and constant array constructors. Take | |
427 | care not to reset the string length or the span in the case of | |
428 | expressions that are not converted as direct by reference. | |
429 | ||
14d9f8c9 | 430 | 2019-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
431 | ||
432 | * intrinsic.texi (MINLOC): Fix typo in BACK argument documentation. | |
433 | (MAXLOC): Likewise. | |
434 | ||
9d74321b | 435 | 2019-03-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
436 | ||
437 | PR fortran/78865 | |
438 | * interface.c (compare_actual_formal): Change errors about | |
439 | missing or extra to gfc_error_now to make sure they are issued. | |
440 | Change "spec" to "specifier" in message. | |
441 | * resolve.c (resolve_global_procedure): Also check for mismatching | |
442 | interface with global symbols if the namespace has already been | |
443 | resolved. | |
444 | ||
44ff4c8d | 445 | 2019-03-21 Thomas Schwinge <thomas@codesourcery.com> |
446 | ||
33718c02 | 447 | PR fortran/72741 |
448 | * openmp.c (gfc_match_oacc_routine): Set the level of parallelism | |
449 | for all variants. | |
450 | (gfc_resolve_oacc_routines): Call gfc_add_omp_declare_target. | |
451 | ||
cbfb10ec | 452 | PR fortran/89773 |
453 | * gfortran.h (gfc_oacc_routine_name): Add loc member. | |
454 | (gfc_resolve_oacc_routines): Declare. | |
455 | * openmp.c (gfc_match_oacc_routine): Move some error checking | |
456 | into... | |
457 | (gfc_resolve_oacc_routines): ... this new function. | |
458 | * resolve.c (resolve_codes): Call it. | |
459 | ||
467b1bdb | 460 | PR fortran/72741 |
461 | * openmp.c (gfc_match_oacc_routine): Clarify. | |
462 | ||
44ff4c8d | 463 | PR fortran/72741 |
464 | * module.c (verify_OACC_ROUTINE_LOP_NONE): New function. | |
465 | (enum ab_attribute): Add AB_OACC_ROUTINE_LOP_GANG, | |
466 | AB_OACC_ROUTINE_LOP_WORKER, AB_OACC_ROUTINE_LOP_VECTOR, | |
467 | AB_OACC_ROUTINE_LOP_SEQ. | |
468 | (attr_bits): Add these. | |
469 | (mio_symbol_attribute): Handle these. | |
470 | ||
327f6a12 | 471 | 2019-03-20 Janus Weil <janus@gcc.gnu.org> |
472 | ||
473 | PR fortran/71861 | |
474 | * symbol.c (check_conflict): ABSTRACT attribute conflicts with | |
475 | INTRINSIC attribute. | |
476 | ||
bd70a6b7 | 477 | 2019-03-18 Thomas Koenig <tkoeng@gcc.gnu.org> |
478 | ||
479 | PR fortran/68009 | |
480 | * iresolve.c: Include trans.h. | |
481 | (gfc_resolve_fe_runtine_error): Set backend_decl on | |
482 | resolved_sym. | |
483 | ||
3f08a29b | 484 | 2019-03-17 Thomas Koenig <tkoenig@gcc.gnu.org> |
485 | ||
486 | PR fortran/88008 | |
487 | * gfortran.h (expr_t): Add EXPR_UNKNOWN. | |
488 | * expr.c (gfc_copy_expr): Add EXPR_UNKNOWN to switch statement. | |
489 | (gfc_simplify_expr): Likewise. | |
490 | * module.c (mio_expr): Likewise. | |
491 | * resovle.c (extract_compcall_passed_object): Issue error on | |
492 | unknown type. | |
493 | (check_typebound_baseobject): Issue error on wrong type. | |
494 | * trans-expr.c (gfc_apply_interface_mapping_to_expr): Add | |
495 | EXPR_UNKNOWN to switch statement. | |
496 | ||
2d44625a | 497 | 2019-03-16 Jakub Jelinek <jakub@redhat.com> |
498 | ||
499 | PR fortran/89724 | |
500 | * scanner.c (load_line): Remove linenum and current_line static | |
501 | variables, add warned_tabs automatic variable. Use current_file->line | |
502 | instead of current_line and warned_tabs boolean to avoid diagnosing | |
503 | tabs multiple times on the same line. | |
504 | ||
ebb62b61 | 505 | 2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
506 | ||
507 | PR fortran/84394 | |
508 | * symbol.c (gfc_add_subroutine): If we are encountering a | |
509 | subrtoutine within a BLOCK DATA and the name starts with an | |
510 | underscore, do not check. | |
511 | ||
6e9e00d1 | 512 | 2019-03-15 Harald Anlauf <anlauf@gmx.de> |
513 | ||
514 | PR fortran/60091 | |
515 | * expr.c (gfc_check_pointer_assign): Correct and improve error | |
516 | messages for invalid pointer assignments. | |
517 | ||
f7afd938 | 518 | 2019-03-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
519 | ||
520 | * gfortran.texi: Document Q edit descriptor under | |
ebb62b61 | 521 | "Extensions not implemented in GNU Fortran". |
f7afd938 | 522 | |
c69047a1 | 523 | 2019-03-13 Harald Anlauf <anlauf@gmx.de> |
524 | ||
525 | PR fortran/87045 | |
526 | * trans-expr.c (gfc_trans_pointer_assignment): Move check for same | |
527 | string length so that we do not get false errors for deferred | |
528 | length. | |
529 | ||
7f9cb1b5 | 530 | 2019-03-13 Janus Weil <janus@gcc.gnu.org> |
531 | ||
532 | PR fortran/89601 | |
533 | * decl.c (gfc_match_formal_arglist): Reject empty type parameter lists. | |
534 | (gfc_match_derived_decl): Mark as PDT only if type parameter list was | |
535 | matched successfully. | |
536 | ||
8e8898b2 | 537 | 2019-03-13 Thomas Koenig <tkoenig@gcc.gnu.org> |
538 | ||
539 | PR fortran/66695 | |
540 | PR fortran/77746 | |
541 | PR fortran/79485 | |
542 | * gfortran.h (gfc_symbol): Add bind_c component. | |
543 | (gfc_get_gsymbol): Add argument bind_c. | |
544 | * decl.c (add_global_entry): Add bind_c argument to | |
545 | gfc_get_symbol. | |
546 | * parse.c (parse_block_data): Likewise. | |
547 | (parse_module): Likewise. | |
548 | (add_global_procedure): Likewise. | |
549 | (add_global_program): Likewise. | |
550 | * resolve.c (resolve_common_blocks): Likewise. | |
551 | (resolve_global_procedure): Likewise. | |
552 | (gfc_verify_binding_labels): Likewise. | |
553 | * symbol.c (gfc_get_gsymbol): Add argument bind_c. Set bind_c | |
554 | in gsym. | |
555 | * trans-decl.c (gfc_get_module_backend_decl): Add bind_c argument | |
556 | to gfc_get_symbol. | |
557 | (gfc_get_extern_function_decl): If the sym has a binding label | |
558 | and it cannot be found in the global symbol tabel, it is the wrong | |
559 | one and vice versa. | |
560 | ||
747e2c6a | 561 | 2019-03-12 Thomas Koenig <tkoenig@gcc.gnu.org> |
562 | ||
563 | PR fortran/87673 | |
564 | * match.c (gfc_match_type_spec): Remove call to | |
565 | gfc_resolve_expr for character length. | |
566 | ||
4520ad45 | 567 | 2019-03-12 Martin Liska <mliska@suse.cz> |
568 | ||
569 | * decl.c (add_init_expr_to_sym): Replace usage of 'can't' | |
570 | with 'cannot'. | |
571 | (variable_decl): Likewise. | |
572 | (cray_pointer_decl): Likewise. | |
573 | (match_binding_attributes): Likewise. | |
574 | * f95-lang.c (gfc_init): Likewise. | |
575 | * interface.c (gfc_check_typebound_override): Likewise. | |
576 | * intrinsic.c (make_generic): Likewise. | |
577 | * module.c (dump_module): Likewise. | |
578 | (gfc_use_module): Likewise. | |
579 | * primary.c (gfc_convert_to_structure_constructor): Likewise. | |
580 | * resolve.c (resolve_entries): Likewise. | |
581 | (check_generic_tbp_ambiguity): Likewise. | |
582 | (get_checked_tb_operator_target): Likewise. | |
583 | * scanner.c (load_file): Likewise. | |
584 | * trans-expr.c (gfc_conv_intrinsic_to_class): Likewise. | |
585 | ||
53fe35ec | 586 | 2019-03-12 Paul Thomas <pault@gcc.gnu.org> |
587 | ||
588 | PR fortran/89363 | |
589 | PR fortran/89364 | |
590 | * trans-expr.c (set_dtype_for_unallocated): New function. | |
591 | (gfc_conv_gfc_desc_to_cfi_desc): Call it for allocatable and | |
592 | pointer arguments. | |
593 | (gfc_conv_procedure_call): Likewise. Also, set the ubound of | |
594 | the final dimension to -1 for assumed rank formal args that are | |
595 | associated with assumed size arrays. | |
596 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Return -1 for | |
597 | the final dimension of assumed rank entities that are argument | |
598 | associated with assumed size arrays. | |
599 | (gfc_conv_intrinsic_shape): Likewise return -1 for the final | |
600 | dimension of the shape intrinsic. | |
601 | ||
064a27df | 602 | 2019-03-11 Jakub Jelinek <jakub@redhat.com> |
603 | ||
604 | PR fortran/89651 | |
605 | * trans-openmp.c (gfc_omp_clause_default_ctor): Set TREE_NO_WARNING | |
606 | on decl if adding COND_EXPR for allocatable. | |
607 | (gfc_omp_clause_copy_ctor): Set TREE_NO_WARNING on dest. | |
608 | ||
2f6d557f | 609 | 2019-03-11 Martin Liska <mliska@suse.cz> |
610 | ||
611 | * decl.c (match_record_decl): Wrap an option name | |
612 | in a string format message and fix GNU coding style. | |
613 | (gfc_match_pointer): Likewise. | |
614 | * expr.c (find_array_section): Likewise. | |
615 | * intrinsic.c (gfc_is_intrinsic): Likewise. | |
616 | * options.c (gfc_post_options): Likewise. | |
617 | * primary.c (match_integer_constant): Likewise. | |
618 | * trans-common.c (translate_common): Likewise. | |
619 | ||
23ffb1a8 | 620 | 2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
621 | ||
622 | PR fortran/66089 | |
623 | * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference): | |
624 | Return false if a scalar tempoary is needed. | |
625 | (gfc_walk_variable_expr): Fix up class refs. | |
626 | ||
861c8c7b | 627 | 2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
628 | ||
629 | PR fortran/87734 | |
630 | * symbol.c (gfc_add_procedure): Only throw an error if the | |
631 | procedure has not been declared either PUBLIC or PRIVATE. | |
632 | ||
d066f3f7 | 633 | 2019-03-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
634 | ||
635 | PR fortran/71544 | |
636 | * trans-types.c (gfc_typenode_for_spec) Set ts->is_c_interop of | |
637 | C_PTR and C_FUNPTR. | |
638 | (create_fn_spec): Mark argument as escaping if ts->is_c_interop is set. | |
639 | ||
688ff820 | 640 | 2019-03-09 Janus Weil <janus@gcc.gnu.org> |
641 | ||
642 | PR fortran/84504 | |
643 | * expr.c (gfc_check_assign_symbol): Deal with procedure pointers to | |
644 | pointer-valued functions. | |
645 | ||
06c6302c | 646 | 2019-03-09 Thomas König <tkoenig@gcc.gnu.org> |
647 | ||
648 | PR fortran/71203 | |
649 | * decl.c (add_init_expr_to_sym): Add shape if init has none. Add | |
650 | asserts that it has to be an EXPR_ARRAY in this case. | |
651 | ||
000969f9 | 652 | 2019-03-08 Jakub Jelinek <jakub@redhat.com> |
653 | ||
654 | PR other/80058 | |
655 | * arith.c (gfc_complex2complex): Avoid two spaces in the middle of | |
656 | diagnostics. | |
657 | * resolve.c (resolve_allocate_expr): Likewise. | |
658 | ||
f8197328 | 659 | 2019-03-06 Harald Anlauf <anlauf@gmx.de> |
660 | ||
661 | PR fortran/71203 | |
662 | * expr.c (simplify_const_ref): Avoid null pointer dereference. | |
663 | ||
9849369a | 664 | 2019-03-03 Harald Anlauf <anlauf@gmx.de> |
665 | Steven G. Kargl <kargl@gcc.gnu.org> | |
666 | ||
667 | PR fortran/77583 | |
668 | * symbol.c (check_conflict): Check for valid procedure name | |
669 | passed to error reporting routine. | |
670 | ||
a6eb46eb | 671 | 2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org> |
672 | ||
673 | PR fortran/72714 | |
674 | * resolve.c (resolve_allocate_expr): Add some tests for coarrays. | |
675 | ||
9cc3b79c | 676 | 2019-03-02 Harald Anlauf <anlauf@gmx.de> |
677 | ||
678 | PR fortran/89516 | |
679 | * check.c (gfc_calculate_transfer_sizes): Correct checks for cases | |
680 | where storage size of elements of MOLD is 0. | |
681 | ||
1d86d0eb | 682 | 2019-02-28 Thomas Schwinge <thomas@codesourcery.com> |
683 | Cesar Philippidis <cesar@codesourcery.com> | |
684 | ||
35e99d5d | 685 | PR fortran/72741 |
686 | PR fortran/89433 | |
687 | * openmp.c (gfc_match_oacc_routine): Handle repeated use of the | |
688 | Fortran OpenACC 'routine' directive. | |
689 | ||
7378dd70 | 690 | PR fortran/72741 |
691 | * gfortran.h (enum oacc_routine_lop): Add OACC_ROUTINE_LOP_ERROR. | |
692 | * openmp.c (gfc_oacc_routine_lop, gfc_match_oacc_routine): Use it. | |
693 | * trans-decl.c (add_attributes_to_decl): Likewise. | |
694 | ||
1d86d0eb | 695 | PR fortran/72741 |
696 | PR fortran/89433 | |
697 | * openmp.c (gfc_match_oacc_routine): Accept intrinsic symbols. | |
698 | ||
23d7d64b | 699 | 2019-02-26 Harald Anlauf <anlauf@gmx.de> |
700 | ||
701 | PR fortran/89492 | |
702 | * check.c (gfc_calculate_transfer_sizes): Handle cases where | |
703 | storage size of elements of MOLD is 0. | |
704 | ||
8fe5d1b1 | 705 | 2019-02-26 Thomas Koenig <tkoenig@gcc.gnu.org> |
706 | ||
707 | PR fortran/89496 | |
708 | * trans-types.c (get_formal_from_actual_arglist): If | |
709 | the actual arglist has no expression, the corresponding | |
710 | formal arglist is an alternate return. | |
711 | ||
f71fabb1 | 712 | 2019-02-26 Jakub Jelinek <jakub@redhat.com> |
713 | ||
714 | PR fortran/43210 | |
715 | * trans-array.c (gfc_conv_array_initializer): Use RANGE_EXPR instead | |
716 | of duplicating the initializer possibly many times. | |
717 | ||
ca180aba | 718 | 2019-02-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
719 | ||
720 | PR fortran/89174 | |
721 | * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Add is_mold | |
8fe5d1b1 | 722 | to arguments. If we are dealing with a MOLD, call |
ca180aba | 723 | gfc_expr_to_initialize(). |
724 | * trans-stmt.c (gfc_trans_allocate): For MOLD, pass is_mold=true | |
725 | to gfc_find_and_cut_at_last_class_ref. | |
726 | * trans.h (gfc_find_and_cut_at_last_class_ref): Add optional | |
727 | argument is_mold with default false. | |
728 | ||
1fa8b8f7 | 729 | 2019-02-24 Harald Anlauf <anlauf@gmx.de> |
730 | ||
731 | PR fortran/89266 | |
732 | PR fortran/88326 | |
733 | * target-memory.c (gfc_element_size): Return false if element size | |
734 | cannot be determined; element size is returned separately. | |
735 | (gfc_target_expr_size): Return false if expression size cannot be | |
736 | determined; expression size is returned separately. | |
737 | * target-memory.h: Adjust prototypes. | |
738 | * check.c (gfc_calculate_transfer_sizes): Adjust references to | |
739 | gfc_target_expr_size, gfc_element_size. | |
740 | * arith.c (hollerith2representation): Likewise. | |
741 | * class.c (find_intrinsic_vtab): Likewise. | |
742 | * simplify.c (gfc_simplify_sizeof): Likewise. | |
743 | ||
0e8f933e | 744 | 2019-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
745 | ||
746 | PR fortran/84387 | |
747 | * trans-io.c (transfer_expr): Do not return if there are no | |
748 | components to the derived type or class. | |
749 | ||
42ae61b1 | 750 | 2019-02-23 Paul Thomas <pault@gcc.gnu.org> |
751 | ||
752 | PR fortran/88117 | |
753 | * resolve.c (deferred_op_assign): Return if the lhs expression | |
754 | has the pointer attribute. | |
755 | * trans-expr.c (gfc_trans_assignment_1): Do not fix the string | |
756 | length if the lhs expression has the pointer attribute. | |
757 | ||
889b0295 | 758 | 2019-02-23 Paul Thomas <pault@gcc.gnu.org> |
759 | ||
760 | PR fortran/89385 | |
761 | PR fortran/89366 | |
762 | * decl.c (gfc_verify_c_interop_param): Restriction on string | |
763 | length being one is lifted for F2018. | |
764 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): For scalar | |
765 | characters with intent in, make a temporary and copy the result | |
766 | of the expression evaluation into it. | |
767 | (gfc_conv_procedure_call): Set a flag for character formal args | |
768 | having a character length that is not unity. If the procedure | |
769 | is bind C, call gfc_conv_gfc_desc_to_cfi_desc in this case. | |
770 | Also, extend bind C calls to unconditionally convert both | |
771 | pointers and allocatable expressions. | |
772 | ||
8bf99999 | 773 | 2019-02-23 David Malcolm <dmalcolm@redhat.com> |
774 | Jakub Jelinek <jakub@redhat.com> | |
775 | ||
776 | PR middle-end/88074 | |
777 | * simplify.c (norm2_do_sqrt, gfc_simplify_norm2): Use | |
778 | mpfr_number_p && !mpfr_zero_p instead of mpfr_regular_p. | |
779 | (norm2_add_squared): Likewise. Use mp_exp_t rather than mpfr_exp_t. | |
780 | ||
93fd04e7 | 781 | 2019-02-22 Harald Anlauf <anlauf@gmx.de> |
782 | ||
783 | PR fortran/83057 | |
784 | * io.c (gfc_match_open): Fix logic in checks of OPEN statement | |
785 | when NEWUNIT= is specified. | |
786 | ||
4bfac94e | 787 | 2019-02-22 Steven G. Kargl <kargl@gcc.gnu.org> |
788 | ||
789 | PR fortran/89431 | |
790 | * gfortran.texi: Fix documentation to match the implementation. | |
791 | ||
1d740b07 | 792 | 2019-02-22 Thomas Schwinge <thomas@codesourcery.com> |
793 | Cesar Philippidis <cesar@codesourcery.com> | |
794 | ||
795 | PR fortran/72741 | |
796 | * gfortran.h (oacc_routine_lop): New enum. | |
797 | (symbol_attribute): Use it. | |
798 | * openmp.c (gfc_oacc_routine_dims): Replace with... | |
799 | (gfc_oacc_routine_lop): ... this new function. | |
800 | (gfc_match_oacc_routine): Adjust. | |
801 | * trans-decl.c (add_attributes_to_decl): Likewise. | |
802 | ||
9b423754 | 803 | 2019-02-22 Thomas Schwinge <thomas@codesourcery.com> |
804 | ||
805 | * openmp.c (gfc_match_oacc_declare): Revert earlier changes. | |
806 | ||
827e219d | 807 | 2019-02-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
808 | ||
809 | * dump-parse-tree.c (debug): Implement for gfc_expr *, | |
810 | gfc_typespec *, gfc_typespec and gfc_symbol *. | |
811 | ||
5132f59f | 812 | 2019-02-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
813 | ||
814 | PR fortran/86119 | |
815 | * class.c (gfc_get_len_component): Add argument k for kind. | |
816 | If the kind of the resulting expression is not equal to k, | |
817 | convert it. | |
818 | * gfortran.h (gfc_len_component): Adjust prototype. | |
819 | * simplify.c (gfc_simplify_len): Pass kind to | |
820 | gfc_get_len_component. | |
821 | ||
437f26ff | 822 | 2019-02-20 Martin Liska <mliska@suse.cz> |
823 | ||
824 | * gfortran.texi: Change singular to plural. | |
825 | ||
f4ed9e9b | 826 | 2019-02-20 Martin Liska <mliska@suse.cz> |
827 | ||
828 | * gfortran.texi: Document Fortran header directive. | |
829 | ||
4946f3a3 | 830 | 2019-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
831 | ||
832 | PR fortran/89384 | |
833 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): If the dummy | |
834 | argument is contiguous and the actual argument may not be, | |
835 | use gfc_conv_subref_array_arg. | |
836 | ||
336ccf28 | 837 | 2019-02-19 Thomas Schwinge <thomas@codesourcery.com> |
d572a4c3 | 838 | |
839 | PR c/87924 | |
840 | * openmp.c (gfc_match_omp_clauses): Add representation of wait clause | |
841 | without argument as 'wait (GOMP_ASYNC_NOVAL)'. | |
842 | ||
d50eaffb | 843 | 2019-02-18 Thomas Koenig <tkoenig@gcc.gnu.org> |
844 | ||
845 | PR fortran/87689 | |
846 | * trans-decl.c (gfc_get_extern_function_decl): Add argument | |
847 | actual_args and pass it through to gfc_get_function_type. | |
848 | * trans-expr.c (conv_function_val): Add argument actual_args | |
849 | and pass it on to gfc_get_extern_function_decl. | |
850 | (conv_procedure_call): Pass actual arguments to conv_function_val. | |
851 | * trans-types.c (get_formal_from_actual_arglist): New function. | |
852 | (gfc_get_function_type): Add argument actual_args. Generate | |
853 | formal args from actual args if necessary. | |
854 | * trans-types.h (gfc_get_function_type): Add optional argument. | |
855 | * trans.h (gfc_get_extern_function_decl): Add optional argument. | |
856 | ||
dd2e9d21 | 857 | 2019-02-18 Martin Liska <mliska@suse.cz> |
858 | ||
859 | * decl.c (gfc_match_gcc_builtin): Add support for filtering | |
860 | of builtin directive based on multilib ABI name. | |
861 | ||
4c6b245a | 862 | 2019-02-17 Harald Anlauf <anlauf@gmx.de> |
863 | ||
864 | PR fortran/88299 | |
865 | * resolve.c (resolve_common_blocks,resolve_common_vars): Move | |
866 | check for obsolent COMMON feature in F2018 to better place. | |
867 | ||
b6c59db3 | 868 | 2019-02-17 Harald Anlauf <anlauf@gmx.de> |
869 | ||
870 | PR fortran/89077 | |
871 | * decl.c (gfc_set_constant_character_len): Clear original string | |
872 | representation after padding has been performed to target length. | |
873 | ||
d43619f4 | 874 | 2019-02-16 Jakub Jelinek <jakub@redhat.com> |
875 | ||
876 | PR middle-end/88074 | |
877 | * simplify.c (simplify_transformation_to_array): Run post_op | |
878 | immediately after processing corresponding row, rather than at the | |
879 | end. | |
880 | (norm2_scale): New variable. | |
881 | (add_squared): Rename to ... | |
882 | (norm2_add_squared): ... this. Scale down operand and/or result | |
883 | if needed. | |
884 | (do_sqrt): Rename to ... | |
885 | (norm2_do_sqrt): ... this. Handle the result == e case. Scale up | |
886 | result and clear norm2_scale. | |
887 | (gfc_simplify_norm2): Clear norm2_scale. Change add_squared to | |
888 | norm2_add_squared and &do_sqrt to norm2_do_sqrt. Scale up result | |
889 | and clear norm2_scale again. | |
890 | ||
9ad48282 | 891 | 2019-02-17 Thomas Koenig <tkoenig@gcc.gnu.org> |
892 | ||
893 | PR fortran/71066 | |
894 | * trans-decl.c (generate_coarray_sym_init): For an array | |
895 | constructor in a DATA statement of a coarray variable, set the | |
896 | rank to 1 to avoid confusion later on. If the constructor | |
897 | contains only one value, use that for initiailizig. | |
898 | ||
9da40462 | 899 | 2019-02-14 Janne Blomqvist <jb@gcc.gnu.org> |
900 | ||
901 | PR fortran/81552 | |
902 | * gfortran.h (gfc_option_t): Make flag_init_integer_value a long. | |
903 | * options.c (gfc_handle_option): Use strtol instead of atoi. | |
904 | * invoke.texi: Document -finit-integer behavior in more detail. | |
905 | ||
4382a5c9 | 906 | 2019-02-14 Harald Anlauf <anlauf@gmx.de> |
907 | ||
908 | PR fortran/88248 | |
909 | * symbol.c: Move check for labeled DO statement from | |
910 | gfc_define_st_label to gfc_reference_st_label. | |
911 | ||
dac1fbf6 | 912 | 2019-02-14 Cesar Philippidis <cesar@codesourcery.com> |
913 | ||
914 | PR fortran/72715 | |
915 | * openmp.c (resolve_oacc_nested_loops): Error on do concurrent | |
916 | loops. | |
917 | ||
933a5ec7 | 918 | 2019-02-13 Martin Liska <mliska@suse.cz> |
919 | ||
920 | PR fortran/88649 | |
921 | * resolve.c (resolve_operator): Initialize 't' right | |
922 | after function entry. Skip switch (e->value.op.op) | |
923 | for -fdec operands that become function calls. | |
924 | ||
dd686aa9 | 925 | 2019-02-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
926 | ||
3c0f9ba3 | 927 | PR fortran/71723 |
dd686aa9 | 928 | * expr.c (gfc_check_assign): Add argument is_init_expr. If we are |
929 | looking at an init expression, issue error if the target is not a | |
930 | TARGET and we are not looking at a procedure pointer. | |
931 | * gfortran.h (gfc_check_assign): Add optional argument | |
932 | is_init_expr. | |
933 | ||
517c0439 | 934 | 2019-02-09 Harald Anlauf <anlauf@gmx.de> |
935 | ||
936 | PR fortran/89077 | |
937 | * resolve.c (gfc_resolve_substring_charlen): Check substring | |
938 | length for constantness prior to general calculation of length. | |
939 | ||
7d41610c | 940 | 2019-02-09 Paul Thomas <pault@gcc.gnu.org> |
941 | ||
942 | PR fortran/89200 | |
943 | * trans-array.c (gfc_trans_create_temp_array): Set the 'span' | |
944 | field for derived types. | |
945 | ||
df378257 | 946 | 2019-02-04 Harald Anlauf <anlauf@gmx.de> |
947 | ||
948 | PR fortran/89077 | |
949 | * decl.c (add_init_expr_to_sym): Copy length of string initializer | |
950 | to declared symbol. | |
951 | ||
6c23b2c4 | 952 | 2019-02-04 Martin Liska <mliska@suse.cz> |
953 | ||
954 | PR fortran/89185 | |
955 | * resolve.c (resolve_ref): Remove breakout variable as | |
956 | we need to prevent prev = &(*prev)->next to happen | |
957 | with *prev == NULL. | |
958 | ||
d7b02225 | 959 | 2019-02-04 Martin Liska <mliska@suse.cz> |
960 | ||
961 | PR fortran/88912 | |
962 | * scanner.c (load_file): Report error for -fpre-include | |
963 | file and do not ICE. | |
964 | ||
8151f617 | 965 | 2019-02-02 Dominique d'Humieres <dominiq@gcc.gnu.org> |
966 | ||
967 | PR fortran/81344 | |
968 | * invoke.texi: Document the behavior of repeated -ffpe-trap | |
969 | and -ffpe-summary. | |
970 | ||
b399769c | 971 | 2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
972 | ||
973 | PR fortran/88298 | |
974 | * arith.c (gfc_int2int): Do not warn if src->do_not_warn is set. | |
975 | * gfortran.h (gfc_expr): Add flag do_not_warn. | |
976 | * intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if | |
977 | no warning is desired. | |
978 | ||
1834f7a3 | 979 | 2019-02-02 Paul Thomas <pault@gcc.gnu.org> |
980 | ||
981 | PR fortran/88393 | |
982 | * trans-expr.c (gfc_conv_procedure_call): For derived entities, | |
983 | passed in parentheses to class formals, invert the order of | |
984 | copying allocatable components to taking the _data of the | |
985 | class expression. | |
986 | ||
ba3862bc | 987 | 2019-02-02 Paul Thomas <pault@gcc.gnu.org> |
988 | ||
989 | PR fortran/88980 | |
990 | * trans-array.c (gfc_array_init_size): Add element_size to the | |
991 | arguments. | |
992 | (gfc_array_allocate): Remove the recalculation of the size of | |
993 | the element and use element_size from the call to the above. | |
994 | Unconditionally set the span field of the descriptor. | |
995 | ||
285eb84d | 996 | 2019-02-02 Paul Thomas <pault@gcc.gnu.org> |
997 | ||
998 | PR fortran/88685 | |
999 | * expr.c (is_subref_array): Move the check for class pointer | |
1000 | dummy arrays to after the reference check. If we haven't seen | |
1001 | an array reference other than an element and a component is not | |
1002 | class or derived, return false. | |
1003 | ||
49b830df | 1004 | 2019-02-01 Jakub Jelinek <jakub@redhat.com> |
1005 | ||
1006 | PR fortran/83246 | |
1007 | PR fortran/89084 | |
1008 | * trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs | |
1009 | if sym->ns->construct_entities rather than if | |
1010 | sym->ns->parent->code->op == EXEC_BLOCK. | |
1011 | ||
a82041dd | 1012 | 2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org> |
1013 | ||
1014 | PR fortran/88669 | |
1015 | * resolve.c (resolve_component): If the reference is a BT_CLASS, | |
1016 | copy the contiguous attribute from the reference and use the | |
1017 | correct attributes. | |
1018 | ||
a11ed94b | 1019 | 2019-01-30 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1020 | ||
1021 | PR fortran/52564 | |
1022 | * io.c (match_io): Add check for comma after '*' without subsequent | |
1023 | IO list. | |
1024 | ||
5851d123 | 1025 | 2019-01-30 Dominique d'Humieres <dominiq@gcc.gnu.org> |
1026 | ||
1027 | PR fortran/52884 | |
1028 | * invoke.texi: Document the promotion of double precision | |
1029 | constants. | |
1030 | ||
659d7fd3 | 1031 | 2019-01-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
1032 | ||
1033 | PR fortran/57048 | |
1034 | * interface.c (gfc_compare_types): If a derived type and an | |
1035 | integer both have a derived type, and they are identical, | |
1036 | this is a C binding type and compares equal. | |
1037 | ||
bc3eb257 | 1038 | 2019-01-26 Harald Anlauf <anlauf@gmx.de> |
1039 | ||
1040 | PR fortran/57553 | |
1041 | * expr.c (check_inquiry): Add list of inquiry functions allowed in | |
1042 | constant expressions for F2008+. | |
1043 | ||
2ae44fa6 | 1044 | 2019-01-25 Steven G. Kargl <kargl@gcc.gnu.org> |
1045 | ||
1046 | PR fortran/85780 | |
1047 | * decl.c (gfc_match_subroutine): Check for conflict between BIND(C) | |
1048 | and alternative return. | |
1049 | ||
297fd295 | 1050 | 2019-01-24 Paul Thomas <pault@gcc.gnu.org> |
1051 | ||
1052 | PR fortran/88929 | |
1053 | * trans-array.c (gfc_conv_descriptor_elem_len): New function. | |
1054 | * trans-array.h : Add prototype for above. | |
1055 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Take account of | |
1056 | assumed rank arrays being flagged by rank = -1 in expressions. | |
1057 | Intent in arrays need a pointer to a copy of the data to be | |
1058 | assigned to the descriptor passed for conversion. This should | |
1059 | then be freed, together with the CFI descriptor on return from | |
1060 | the C call. | |
1061 | ||
4348a41f | 1062 | 2019-01-22 Harald Anlauf <anlauf@gmx.de> |
1063 | ||
1064 | PR fortran/88579 | |
1065 | * trans-expr.c (gfc_conv_power_op): Handle cases of (2**e) ** integer | |
1066 | and (- 2**e) ** integer. | |
1067 | ||
c81c2702 | 1068 | 2019-01-19 Dominique d'Humieres <dominiq@gcc.gnu.org> |
1069 | ||
1070 | PR fortran/37835 | |
1071 | * resolve.c (resolve_types): Add !flag_automatic. | |
1072 | * symbol.c (gfc_add_save): Silence warnings. | |
1073 | ||
19081b87 | 1074 | 2019-01-19 Steven G. Kargl <kargl@gcc.gnu.org> |
1075 | ||
1076 | PR fortran/77960 | |
1077 | * io.c (match_io_element): input-item cannot be an external function. | |
4348a41f | 1078 | |
b7e6520a | 1079 | 2018-01-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
1080 | Paul Thomas <pault@gcc.gnu.org> | |
1081 | ||
1082 | PR fortran/56789 | |
1083 | * trans-expr.c (gfc_conv_procedure_call): Call | |
1084 | gfc_conv_subref_array_arg if the formal arg is contiguous | |
1085 | and the actual arg may not be. | |
1086 | ||
66f2cfae | 1087 | 2019-01-17 Thomas Koenig <tkoenig@gcc.gnu.org> |
1088 | ||
1089 | PR fortran/88871 | |
1090 | * resolve.c (resolve_ref): Fix logic for removal of | |
1091 | reference. | |
1092 | ||
7b60c131 | 1093 | 2019-01-19 Jakub Jelinek <jakub@redhat.com> |
1094 | ||
1095 | PR fortran/88902 | |
1096 | * trans-decl.c (gfc_get_symbol_decl): Don't add length to function | |
1097 | or parent function if it has been added there already. | |
1098 | ||
0b953692 | 1099 | 2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> |
1100 | ||
a96be852 | 1101 | PR fortran/43136 |
0b953692 | 1102 | * resolve.c (resolve_array_ref): Add equal_length argument; set it |
1103 | if the length of the substring equals that of the orignal | |
1104 | variable. | |
1105 | (resolve_ref): Remove the substring if it is equal in length to | |
1106 | the original variable, unless it is an EXPR_SUBSTRING). | |
1107 | ||
ef1b2a98 | 1108 | 2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org> |
1109 | ||
1110 | PR fortran/81849 | |
1111 | * resolve.c (resolve_symbol): Host associated varaibles can appear | |
1112 | in the specification statement of a RESULT array. | |
1113 | ||
8f563733 | 1114 | 2019-01-15 Paul Thomas <pault@gcc.gnu.org> |
1115 | ||
1116 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs | |
1117 | that are indirect references; ie. dummy arguments. | |
1118 | ||
0cc7cbe4 | 1119 | 2019-01-13 Dominique d'Humieres <dominiq@gcc.gnu.org> |
1120 | ||
1121 | PR fortran/88803 | |
1122 | * gfortran.texi: Replace @xref with @ref and adjust the sentence. | |
1123 | ||
70409dee | 1124 | 2019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> |
1125 | ||
1126 | PR fortran/57992 | |
7b60c131 | 1127 | * trans-array.c (gfc_conv_array_parameter): Do not pack/unpack |
70409dee | 1128 | functions with contiguous results. |
1129 | ||
ae57d8c7 | 1130 | 2019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> |
1131 | ||
1132 | PR fortran/59345 | |
1133 | * trans-array.c (gfc_conv_array_parameter): Remove TODO. Do not | |
1134 | pack/unpack results of functions which return an explicit-shaped | |
1135 | or allocatable array. | |
1136 | ||
c8f3fe68 | 1137 | 2019-01-12 Steven G. Kargl <kargl@gcc.gnu.org> |
1138 | ||
1139 | PR fortran/61765 | |
1140 | * resolve.c (gfc_verify_binding_labels): Break if-elseif-elseif | |
1141 | structure into independent if's with a return to simplify logic. | |
1142 | Avoid a check for ENTRY name with bind(c). | |
1143 | ||
77ddff12 | 1144 | 2019-01-12 Paul Thomas <pault@gcc.gnu.org> |
1145 | ||
7b60c131 | 1146 | * gfortran.texi: Add description in sections on TS 29113 and |
77ddff12 | 1147 | further interoperability with C. |
1148 | * trans-array.c (gfc_conv_descriptor_attribute): New function. | |
1149 | (gfc_get_dataptr_offset): Remove static function attribute. | |
7b60c131 | 1150 | * trans-array.h: Add prototypes for above functions. |
1151 | * trans-decl.c: Add declarations for the library functions | |
77ddff12 | 1152 | cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc. |
1153 | * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function. | |
1154 | (gfc_conv_procedure_call): Call it for scalar and array actual | |
1155 | arguments, when the formal arguments are bind_c with assumed | |
1156 | shape or assumed rank. | |
7b60c131 | 1157 | * trans.h: External declarations for gfor_fndecl_cfi_to_gfc |
77ddff12 | 1158 | and gfor_fndecl_gfc_to_cfi. |
1159 | ||
0e8475b7 | 1160 | 2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org> |
1161 | ||
1162 | PR fortran/35031 | |
1163 | * decl.c (gfc_match_entry): Check for F2018:C1546. Fix nearby | |
1164 | mis-indentation. | |
1165 | ||
45b37eaa | 1166 | 2019-01-11 Jakub Jelinek <jakub@redhat.com> |
1167 | ||
1168 | PR middle-end/85956 | |
1169 | PR lto/88733 | |
1170 | * trans-openmp.c: Include attribs.h. | |
1171 | (gfc_walk_alloc_comps, gfc_omp_clause_linear_ctor): Handle | |
1172 | VAR_DECL max bound with "omp dummy var" attribute like NULL or | |
1173 | error_mark_node - recompute number of elts independently. | |
1174 | ||
04afaf6a | 1175 | 2019-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> |
1176 | ||
1177 | PR fortran/59345 | |
45b37eaa | 1178 | * trans-array.c (gfc_conv_parameter_array): Temporary |
04afaf6a | 1179 | arrays generated for expressions do not need to be repacked. |
1180 | ||
15cbe83d | 1181 | 2019-01-10 Steven G. Kargl <kargl@gcc.gnu.org> |
1182 | ||
1183 | PR fortran/86322 | |
1184 | * decl.c (top_var_list): Set locus of expr. | |
1185 | (gfc_match_data): Detect pointer on non-rightmost part-refs. | |
1186 | ||
e66b219e | 1187 | 2019-01-09 Steven G. Kargl <kargl@gcc.gnu.org> |
1188 | ||
1189 | PR fortran/88376 | |
1190 | * resolve.c (is_illegal_recursion): Remove an assert(). | |
1191 | ||
07c11f2b | 1192 | 2019-01-09 Sandra Loosemore <sandra@codesourcery.com> |
1193 | ||
1194 | PR other/16615 | |
07c11f2b | 1195 | * expr.c: Change "can not" to "cannot". |
1196 | ||
f4d3c071 | 1197 | 2019-01-09 Sandra Loosemore <sandra@codesourcery.com> |
1198 | ||
1199 | PR other/16615 | |
f4d3c071 | 1200 | * class.c: Mechanically replace "can not" with "cannot". |
1201 | * decl.c: Likewise. | |
1202 | * expr.c: Likewise. | |
1203 | * gfc-internals.texi: Likewise. | |
1204 | * intrinsic.texi: Likewise. | |
1205 | * invoke.texi: Likewise. | |
1206 | * io.c: Likewise. | |
1207 | * match.c: Likewise. | |
1208 | * parse.c: Likewise. | |
1209 | * primary.c: Likewise. | |
1210 | * resolve.c: Likewise. | |
1211 | * symbol.c: Likewise. | |
1212 | * trans-array.c: Likewise. | |
1213 | * trans-decl.c: Likewise. | |
1214 | * trans-intrinsic.c: Likewise. | |
1215 | * trans-stmt.c: Likewise. | |
1216 | ||
9f096803 | 1217 | 2019-01-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
1218 | ||
1219 | PR fortran/68426 | |
1220 | * simplify.c (gfc_simplify_spread): Also simplify if the | |
1221 | type of source is an EXPR_STRUCTURE. | |
1222 | ||
d56370db | 1223 | 2019-01-08 Janus Weil <janus@gcc.gnu.org> |
1224 | ||
1225 | PR fortran/88047 | |
1226 | * class.c (gfc_find_vtab): For polymorphic typespecs, the components of | |
1227 | the class container may not be available (in case of invalid code). | |
1228 | ||
ac64cdbe | 1229 | 2019-01-08 Richard Biener <rguenther@suse.de> |
1230 | ||
1231 | PR fortran/88611 | |
1232 | * trans-expr.c (gfc_conv_initializer): For ISOCBINDING_NULL_* | |
1233 | directly build the expected GENERIC tree. | |
1234 | ||
5f34f219 | 1235 | 2019-01-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
1236 | Harald Anlauf <anlauf@gmx.de> | |
1237 | Tobias Burnus <burnus@gcc.gnu.org> | |
1238 | ||
1239 | PR fortran/45424 | |
1240 | * check.c (gfc_check_is_contiguous): New function. | |
1241 | * expr.c (gfc_is_not_contiguous): New function. | |
1242 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_CONTIGUOUS. | |
1243 | Add prototype for gfc_is_not_contiguous. | |
1244 | * intrinsic.c (do_ts29113_check): Add GFC_ISYM_IS_CONTIGUOUS. | |
1245 | (add_function): Add is_contiguous. | |
1246 | * intrinsic.h: Add prototypes for gfc_check_is_contiguous, | |
1247 | gfc_simplify_is_contiguous and gfc_resolve_is_contiguous. | |
1248 | * intrinsic.texi: Add IS_CONTIGUOUS. | |
1249 | * iresolve.c (gfc_resolve_is_contiguous): New function. | |
1250 | * simplify.c (gfc_simplify_is_contiguous): New function. | |
1251 | * trans-decl.c (gfor_fncecl_is_contiguous0): New variable. | |
1252 | (gfc_build_intrinsic_function_decl): Add it. | |
1253 | * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): New | |
1254 | function. | |
1255 | (gfc_conv_intrinsic_function): Handle GFC_ISYM_IS_CONTIGUOUS. | |
1256 | ||
2abeea3d | 1257 | 2019-01-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
1258 | ||
1259 | PR fortran/88658 | |
1260 | * gfortran.h: Add macro gfc_real_4_kind | |
1261 | * simplify.c (simplify_min_max): Special case for the types of | |
1262 | AMAX0, AMIN0, MAX1 and MIN1, which actually change the types of | |
1263 | their arguments. | |
1264 | ||
f2aba4ef | 1265 | 2019-01-05 Janus Weil <janus@gcc.gnu.org> |
1266 | ||
1267 | PR fortran/88009 | |
1268 | * class.c (gfc_find_derived_vtab): Mark the _final component as | |
1269 | artificial. | |
1270 | (find_intrinsic_vtab): Ditto. Also add an extra check to avoid | |
1271 | dereferencing a null pointer and adjust indentation. | |
1272 | * resolve.c (resolve_fl_variable): Add extra check to avoid | |
1273 | dereferencing a null pointer. Move variable declarations to local scope. | |
1274 | (resolve_fl_procedure): Add extra check to avoid dereferencing a null | |
1275 | pointer. | |
1276 | * symbol.c (check_conflict): Suppress errors for artificial symbols. | |
1277 | ||
5055fc33 | 1278 | 2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org> |
1279 | ||
45b37eaa | 1280 | * parse.c (decode_statement): Suppress "Unclassifiable statement" |
5055fc33 | 1281 | error if previous error messages were emittes. |
1282 | ||
66aeaf4b | 1283 | 2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org> |
1284 | ||
1285 | PR fortran/82743 | |
1286 | * primary.c (gfc_convert_to_structure_constructor): If a character | |
1287 | in a constructor is too long, add a warning with | |
1288 | -Wcharacter-truncation. | |
1289 | ||
3d8932fd | 1290 | 2019-01-01 Jakub Jelinek <jakub@redhat.com> |
8e8f6434 | 1291 | |
fbd26352 | 1292 | Update copyright years. |
1293 | ||
277184bc | 1294 | * gfortranspec.c (lang_specific_driver): Update copyright notice |
1295 | dates. | |
1296 | * gfc-internals.texi: Bump @copying's copyright year. | |
1297 | * gfortran.texi: Ditto. | |
1298 | * intrinsic.texi: Ditto. | |
1299 | * invoke.texi: Ditto. | |
2355cca7 | 1300 | \f |
3d8932fd | 1301 | Copyright (C) 2019 Free Software Foundation, Inc. |
7dfbd804 | 1302 | |
1303 | Copying and distribution of this file, with or without modification, | |
1304 | are permitted in any medium without royalty provided the copyright | |
1305 | notice and this notice are preserved. |