Mercurial > hg > CbC > CbC_gcc
comparison gcc/fortran/ChangeLog-2018 @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 2018-12-31 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2 | |
3 PR fortran/82995 | |
4 * trans-expr.c (gfc_conv_procedure_call): Pass NULL pointer | |
5 for missing optional dummy arguments for library routines. | |
6 * trans-intinsic.c (conv_mask_condition): New function. | |
7 (gfc_conv_intrinsic_arith): Detect and handle optional mask. | |
8 (gfc_conv_intrinsic_minmaxloc): Likewise. | |
9 (gfc_conv_intrinsic_findloc): Likewise. | |
10 (gfc_conv_intrinsic_minmaxval): Likewise. | |
11 (gfc_inline_intrinsic_function_p): Do not inline for rank > 1 if | |
12 an optional mask is present. | |
13 | |
14 2018-12-29 Steven G. Kargl <kargl@gcc.gnu.org> | |
15 | |
16 * expr.c (external_spec_function): Add ieee_support_subnormal to list | |
17 of IEEE inquiry functions. | |
18 | |
19 2018-12-29 Steven G. Kargl <kargl@gcc.gnu.org> | |
20 | |
21 * cpp.c (gfc_cpp_init): Add pre-defined macros for INTEGER(1) | |
22 INTEGER(2), INTEGER(8) and INTEGER(16) if supported. Add pre-defined | |
23 macros for REAL(10) and REAL(16) if available. | |
24 * gfortran.texi: Document new macros. | |
25 | |
26 2018-12-27 Steven G. Kargl <kargl@gcc.gnu.org> | |
27 | |
28 PR fortran/81027 | |
29 * expr.c (gfc_check_init_expr): Distinguish assumed-shape versus | |
30 deferred-shape dummy arguments in an error message. | |
31 | |
32 2018-12-26 Harald Anlauf <anlauf@gmx.de> | |
33 | |
34 PR fortran/85407 | |
35 * module.c (read_module): Convert assert to fatal error to give a | |
36 sensible error message. | |
37 | |
38 2018-12-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
39 | |
40 PR fortran/45513 | |
41 PR fortran/81509 | |
42 * check.c: Rename function gfc_check_iand to gfc_check_iand_ieor_ior. | |
43 * check.c (boz_args_check): New function. Check I and J not both BOZ. | |
44 (gfc_check_dshift,gfc_check_iand_ieor_ior, gfc_check_ishft, | |
45 gfc_check_and, gfc_check_merge_bits): Use it. | |
46 * check.c (gfc_check_iand_ieor_ior): Force conversion of BOZ to kind | |
47 type of other agrument. Remove silly GNU extension. | |
48 (gfc_check_ieor, gfc_check_ior): Delete now unused functions. | |
49 * intrinsic.c (add_functions): Use gfc_check_iand_ieor_ior. Wrap long | |
50 line. | |
51 * intrinsic.h: Rename gfc_check_iand to gfc_check_iand_ieor_ior. | |
52 Delete prototype for bool gfc_check_ieor and gfc_check_ior | |
53 * intrinsic.texi: Update documentation for boz-literal-constant. | |
54 | |
55 2018-12-23 Paul Thomas <pault@gcc.gnu.org> | |
56 | |
57 PR fortran/77703 | |
58 * resolve.c (get_temp_from_expr): Use the string length of | |
59 constant character expressions. | |
60 | |
61 2018-12-22 Steven G. Kargl <kargl@gcc.gnu.org> | |
62 | |
63 PR fortran/88328 | |
64 * io.c (resolve_tag_format): Add error for zero-sized array. | |
65 (gfc_resolve_dt): Manipulate gfc_current_locus to get sensible error | |
66 message locus. | |
67 | |
68 2018-12-22 Steven G . Kargl <kargl@gcc.gnu.org> | |
69 | |
70 PR fortran/85798 | |
71 * decl.c (gfc_match_data): If a component of a derived type entity | |
72 appears in data statement, check that does not have the allocatable | |
73 attribute. | |
74 | |
75 2018-12-22 Steven G. Kargl <kargl@gcc.gnu.org> | |
76 | |
77 PR fortran/88169 | |
78 * module.c (mio_namelist): Remove an error condition/message that | |
79 is contrary to the Fortran standard. | |
80 | |
81 2018-12-22 Thomas Koenig <tkoenig@gcc.gnu.org> | |
82 | |
83 PR fortran/85544 | |
84 * frontend-passes.c (optimize_power): Remove. | |
85 (optimize_op): Remove call to optimize_power. | |
86 * trans-expr.c (gfc_conv_power_op): Handle cases of 1**integer, | |
87 (2|4|8|16) ** integer and (-1) ** integer. | |
88 | |
89 2018-12-21 Paul Thomas <pault@gcc.gnu.org> | |
90 | |
91 PR fortran/87881 | |
92 * expr.c (find_inquiry_ref): Loop through the inquiry refs in | |
93 case there are two of them. | |
94 (simplify_ref_chain): Return true after a successful call to | |
95 find_inquiry_ref. | |
96 | |
97 2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org> | |
98 | |
99 PR fortran/87992 | |
100 * resolve.c (resolve_fl_variable): Avoid a NULL pointer. | |
101 | |
102 2018-12-16 Steven G. Kargl <kargl@gcc.gnu.org> | |
103 | |
104 * resolve.c (resolve_transfer): Remove dead code. | |
105 | |
106 2018-12-16 Steven G. Kargl <kargl@gcc.gnu.org> | |
107 | |
108 PR fortran/88116 | |
109 PR fortran/88467 | |
110 * array.c (gfc_match_array_constructor): Check return value of | |
111 gfc_convert_type(). Skip constructor elements with BT_UNKNOWN, | |
112 which need to go through resolution. | |
113 * intrinsic.c (gfc_convert_type_warn): Return early if the types | |
114 match (i.e., no conversion is required). | |
115 * simplify.c (gfc_convert_constant): Remove a gfc_internal_error, | |
116 and return gfc_bad_expr. | |
117 | |
118 2018-12-16 Steven G. Kargl <kargl@gcc.gnu.org> | |
119 | |
120 * decl.c (variable_decl): Typo fixes in comment and error messsage. | |
121 | |
122 2018-12-16 Thomas Koenig <tkoenig@gcc.gnu.org> | |
123 | |
124 PF fortran/88364 | |
125 * trans-expr.c (gfc_conv_expr_reference): Do not add clobber if | |
126 the expression contains a reference. | |
127 | |
128 2018-12-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
129 | |
130 PR fortran/87944 | |
131 * decl.c (match_data_constant): Allow inquiry parameter as data | |
132 constant in data statement. | |
133 | |
134 2018-12-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
135 | |
136 PR fortran/88138 | |
137 * decl.c (variable_decl): Check that a derived isn't being assigned | |
138 an incompatible entity in an initialization. | |
139 | |
140 2018-12-12 Jakub Jelinek <jakub@redhat.com> | |
141 | |
142 PR fortran/88463 | |
143 * trans-openmp.c (gfc_omp_predetermined_sharing): Handle TREE_READONLY | |
144 VAR_DECLs with DECL_EXTERNAL like those with TREE_STATIC. | |
145 | |
146 2018-12-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
147 | |
148 PR fortran/88155 | |
149 * primary.c (gfc_match_structure_constructor): Set the locus of | |
150 an expression to avoid a NULL pointer dereference. | |
151 | |
152 2018-12-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
153 | |
154 PR fortran/88249 | |
155 * gfortran.h: Update prototype for gfc_resolve_filepos(). | |
156 * io.c (gfc_resolve_filepos): Check for UNIT number if ERR= is present. | |
157 Use passed in locus for error message. | |
158 * resolve.c (gfc_resolve_code): Pass locus in gfc_resolve_filepos() | |
159 call. | |
160 | |
161 2018-12-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
162 | |
163 PR fortran/97922 | |
164 * io.c (gfc_match_open): Additional checks on ASYNCHRONOUS. | |
165 | |
166 2018-12-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
167 | |
168 PR fortran/88269 | |
169 * io.c (io_constraint): Update macro. If locus line buffer is NULL, | |
170 use gfc_current_locus in error messages. | |
171 (check_io_constraints): Catch missing IO UNIT in write and read | |
172 statements. io_constraint macro is incompatible here. | |
173 | |
174 2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
175 | |
176 PR fortran/88205 | |
177 * io.c (gfc_match_open): Move NEWUNIT checks to after STATUS checks. | |
178 | |
179 2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
180 | |
181 PR fortran/88206 | |
182 * match.c (gfc_match_type_spec): REAL can be an intrinsic function. | |
183 | |
184 2018-12-09 Fritz Reese <fritzoreese@gmail.com> | |
185 | |
186 PR fortran/88228 | |
187 * resolve.c (resolve_operator): Do not call resolve_function. | |
188 Break like other cases. | |
189 | |
190 2018-12-09 Cesar Philippidis <cesar@codesourcery.com> | |
191 | |
192 * trans-openmp.c (gfc_trans_oacc_combined_directive): Set the | |
193 location of combined acc loops. | |
194 | |
195 2018-12-09 Thomas Schwinge <thomas@codesourcery.com> | |
196 | |
197 * openmp.c (resolve_oacc_loop_blocks): Remove checking of OpenACC | |
198 loop clauses. | |
199 | |
200 PR fortran/88420 | |
201 * openmp.c (resolve_oacc_loop_blocks): Remove "Clause SEQ | |
202 conflicts with INDEPENDENT" diagnostic. | |
203 | |
204 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
205 | |
206 PR fortran/88048 | |
207 * resolve.c (check_data_variable): Named constant cannot be a | |
208 data object. | |
209 | |
210 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
211 | |
212 PR fortran/87945 | |
213 * decl.c (var_element): Inquiry parameters cannit be data objects. | |
214 | |
215 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
216 | |
217 PR fortran/88025 | |
218 * expr.c (gfc_apply_init): Remove asserts that cannot trigger. | |
219 Check for a NULL pointer. | |
220 | |
221 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
222 | |
223 PR fortran/88357 | |
224 * class.c (insert_component_ref): Check for NULL pointer and | |
225 previous error message issued. | |
226 * parse.c (parse_associate): Check for NULL pointer. | |
227 * resolve.c (resolve_assoc_var): Check for NULL pointer. | |
228 | |
229 2018-12-07 Jakub Jelinek <jakub@redhat.com> | |
230 | |
231 PR fortran/88377 | |
232 * trans-openmp.c (gfc_omp_clause_default_ctor, | |
233 gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
234 gfc_omp_clause_linear_ctor, gfc_omp_clause_dtor): Only consider | |
235 GFC_DECL_GET_SCALAR_ALLOCATABLE vars as scalar allocatables if they | |
236 have pointer type. | |
237 | |
238 2018-12-03 Fritz Reese <fritzoreese@gmail.com> | |
239 Mark Eggleston <mark.eggleston@codethink.co.uk> | |
240 | |
241 PR fortran/87919 | |
242 * options.c (SET_FLAG, SET_BITFLAG, SET_BITFLAG2): New macros. | |
243 (set_dec_flags): Set/unset DEC and std flags according to value. | |
244 (post_dec_flags, set_init_local_zero): New functions. | |
245 (gfc_init_options): Use set_init_local_zero and post_dec_flags. | |
246 (gfc_handle_options) <case OPT_fcheck_array_temporaries>: Use | |
247 SET_BITFLAG. | |
248 <case OPT_finit_local_zero>: Use set_init_local_zero. | |
249 <case OPT_fdec>: Pass value to set_dec_flags. | |
250 <case OPT_fdec_structure>: Remove. | |
251 | |
252 2018-11-30 Thomas Schwinge <thomas@codesourcery.com> | |
253 | |
254 * gfortran.h (struct gfc_omp_clauses): Remove "wait". Adjust all | |
255 users. | |
256 | |
257 * openmp.c (gfc_match_omp_clauses): Support multiple OpenACC wait | |
258 clauses. | |
259 | |
260 2018-11-27 Martin Liska <mliska@suse.cz> | |
261 | |
262 * decl.c (gfc_match_gcc_builtin): New function. | |
263 * gfortran.h (struct vect_builtin_tuple): New. | |
264 (gfc_adjust_builtins): Likewise. | |
265 * lang-specs.h (TARGET_F951_OPTIONS): New. | |
266 (F951_OPTIONS): Use it. | |
267 * lang.opt: Add new option -fpre-include. | |
268 * match.h (gfc_match_gcc_builtin): Declare new function. | |
269 * parse.c (decode_gcc_attribute): Handle builtin. | |
270 (parse_progunit): Call gfc_adjust_builtins. | |
271 * scanner.c (gfc_new_file): Load pre-included header file | |
272 when provided. | |
273 * trans-intrinsic.c (add_simd_flag_for_built_in): New. | |
274 (gfc_adjust_builtins): Likewise. | |
275 | |
276 2018-11-24 Paul Thomas <pault@gcc.gnu.org> | |
277 | |
278 PR fortran/88143 | |
279 * resolve.c (resolve_variable): Check for associate names with | |
280 NULL target. | |
281 | |
282 2018-11-23 Jakub Jelinek <jakub@redhat.com> | |
283 | |
284 * lang.opt (fpad-source): New option. | |
285 * scanner.c (load_line): Don't pad fixed form lines if | |
286 !flag_pad_source. | |
287 * invoke.texi (-fno-pad-source): Document. | |
288 | |
289 2018-11-21 Jakub Jelinek <jakub@redhat.com> | |
290 | |
291 * invoke.texi (-fdec-include): Document. | |
292 | |
293 2018-11-21 Jakub Jelinek <jakub@redhat.com> | |
294 Mark Eggleston <mark.eggleston@codethink.com> | |
295 | |
296 * lang.opt (fdec-include): New option. | |
297 * options.c (set_dec_flags): Set also flag_dec_include. | |
298 * scanner.c (include_line): Change return type from bool to int. | |
299 In fixed form allow spaces in between include keyword letters. | |
300 For -fdec-include, allow in fixed form 0 in column 6. With | |
301 -fdec-include return -1 if the parsed line is not full include | |
302 statement and it could be successfully completed on continuation | |
303 lines. | |
304 (include_stmt): New function. | |
305 (load_file): Adjust include_line caller. If it returns -1, keep | |
306 trying include_stmt until it stops returning -1 whenever adding | |
307 further line of input. | |
308 | |
309 2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> | |
310 | |
311 PR fortran/88073 | |
312 * frontend-passes.c (combine_array_constructor): Do not do | |
313 anything if in a WHERE statement. | |
314 | |
315 2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> | |
316 | |
317 PR fortran/70260 | |
318 * expr.c (gfc_check_assign): Reject assigning to an external | |
319 symbol. | |
320 (gfc_check_pointer_assign): Add suppress_type_test | |
321 argument. Insert line after if. A non-proc pointer can not point | |
322 to a constant. Only check types if suppress_type_test is false. | |
323 * gfortran.h (gfc_check_pointer_assign): Add optional | |
324 suppress_type_test argument. | |
325 * resolve.c (gfc_resolve_code): Move up gfc_check_pointer_assign | |
326 and give it the extra argument. | |
327 (resolve_fl_procedure): Set error on value for a function with | |
328 an inizializer. | |
329 | |
330 2018-11-15 David Malcolm <dmalcolm@redhat.com> | |
331 | |
332 PR other/19165 | |
333 * error.c (gfc_diagnostic_finalizer): Add diagnostic_t param. | |
334 | |
335 2018-11-13 David Malcolm <dmalcolm@redhat.com> | |
336 | |
337 * cpp.c: Replace "source_location" with "location_t". | |
338 * gfortran.h: Likewise. | |
339 | |
340 2018-11-08 Jakub Jelinek <jakub@redhat.com> | |
341 | |
342 * trans-openmp.c (gfc_trans_omp_clauses): Use | |
343 OMP_CLAUSE_DEFAULTMAP_SET_KIND. | |
344 (gfc_trans_omp_atomic): Set OMP_ATOMIC_MEMORY_ORDER | |
345 rather than OMP_ATOMIC_SEQ_CST. | |
346 (gfc_trans_omp_taskgroup): Build OMP_TASKGROUP using | |
347 make_node instead of build1_loc. | |
348 * types.def (BT_FN_VOID_BOOL, BT_FN_VOID_SIZE_SIZE_PTR, | |
349 BT_FN_UINT_UINT_PTR_PTR, BT_FN_UINT_OMPFN_PTR_UINT_UINT, | |
350 BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, | |
351 BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR, | |
352 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, | |
353 BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR): New. | |
354 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): Formatting fix. | |
355 | |
356 2018-11-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
357 | |
358 PR fortran/46020 | |
359 * decl.c (verify_bind_c_sym): Remove unnecessary space | |
360 in error message. | |
361 | |
362 2018-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> | |
363 | |
364 PR fortran/87782 | |
365 * frontend-passes.c (constant_string_length): If there is a | |
366 substring with a length which cannot be reduced to a constant, | |
367 return NULL. | |
368 | |
369 2018-11-01 Paul Thomas <pault@gcc.gnu.org> | |
370 | |
371 PR fortran/40196 | |
372 * dependency.c (are_identical_variables): Return false if the | |
373 inquiry refs are not the same. | |
374 (gfc_ref_needs_temporary_p): Break on an inquiry ref. | |
375 * dump_parse_tree.c (show_ref): Show the inquiry ref type. | |
376 * expr.c (gfc_free_ref_list): Break on an inquiry ref. | |
377 (gfc_copy_ref): Copy the inquiry ref types. | |
378 (find_inquiry_ref): New function. | |
379 (simplify_const_ref, simplify_ref_chain): Call it. Add new arg | |
380 to simplify_ref_chain. | |
381 (gfc_simplify_expr): Use the new arg in call to | |
382 simplify_ref_chain. | |
383 (gfc_get_full_arrayspec_from_expr, gfc_is_coarray): Break on | |
384 inquiry ref. | |
385 (gfc_traverse_expr): Return true for inquiry ref. | |
386 * frontend-passes.c (gfc_expr_walker): Break on inquiry ref. | |
387 * gfortran.h : Add enums and union member in gfc_ref to | |
388 implement inquiry refs. | |
389 * intrinsic.c : Fix white nois. | |
390 * match.c (gfc_match_assignment): A constant lavlue is an | |
391 error. | |
392 * module.c : Add DECL_MIO_NAME for inquiry_type and the mstring | |
393 for inquiry_types. | |
394 (mio_ref): Handle inquiry refs. | |
395 * primary.c (is_inquiry_ref): New function. | |
396 (gfc_match_varspec): Handle inquiry refs calling new function. | |
397 (gfc_variable_attr): Detect inquiry ref for disambiguation | |
398 with components. | |
399 (caf_variable_attr): Treat inquiry and substring refs in the | |
400 same way. | |
401 * resolve.c (find_array_spec): ditto. | |
402 (gfc_resolve_substring_charlen): If there is neither a charlen | |
403 ref not an inquiry ref, return. | |
404 (resolve_ref): Handle inqiry refs as appropriate. | |
405 (resolve_allocate_expr): Entities with an inquiry ref cannot be | |
406 allocated. | |
407 * simplify.c (simplify_bound, simplify_cobound): Punt on | |
408 inquiry refs. | |
409 * trans-array.c (get_array_ctor_var_strlen): Break on inquiry | |
410 ref. | |
411 *trans-expr.c (conv_inquiry): New function. | |
412 (gfc_conv_variable): Retain the last typespec to pass to | |
413 conv_inquiry on detecting an inquiry ref. | |
414 | |
415 2018-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> | |
416 | |
417 PR fortran/46020 | |
418 * decl.c (verify_bind_c_sym): Improve error message. | |
419 | |
420 2018-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> | |
421 | |
422 PR fortran/54613 | |
423 * gfortran.texi (File format of unformatted sequential files): | |
424 Replace random comma with period. | |
425 * intrinsic.texi (Intrinsic Procedures): Add FINDLOC to menu. | |
426 (FINDLOC): Document. | |
427 (MAXLOC): Add refrence to FINDLOC. | |
428 (MINLOC): Likewise. | |
429 | |
430 2018-10-31 Nathan Sidwell <nathan@acm.org> | |
431 | |
432 * cpp.c (gfc_cpp_init): Adjust cpp_force_token_locations call. | |
433 | |
434 2018-10-31 Martin Liska <mliska@suse.cz> | |
435 | |
436 * trans-decl.c (struct module_hasher): Call htab_hash_string | |
437 for s->name and not for s. | |
438 | |
439 2018-10-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
440 | |
441 PR fortran/85896 | |
442 * simplify.c (simplify_min_max): Do not convert the type of the | |
443 return expression. | |
444 | |
445 2017-10-28 Thomas Koenig <tkoenig@gcc.gnu.org> | |
446 | |
447 PR fortran/54613 | |
448 * gfortran.h (gfc_isym_id): Add GFC_ISYM_FINDLOC. | |
449 (gfc_check_f): Add f6fl field. | |
450 (gfc_simplify_f): Add f6 field. | |
451 (gfc_resolve_f): Likewise. | |
452 (gfc_type_letter): Add optional logical_equas_int flag. | |
453 * check.c (intrinsic_type_check): New function. | |
454 (gfc_check_findloc): New function. | |
455 * intrinsics.c (gfc_type_letter): If logical_equals_int is | |
456 set, act accordingly. | |
457 (add_sym_5ml): Reformat comment. | |
458 (add_sym_6fl): New function. | |
459 (add_functions): Add findloc. | |
460 (check_arglist): Add sixth argument, handle it. | |
461 (resolve_intrinsic): Likewise. | |
462 (check_specific): Handle findloc. | |
463 * intrinsic.h (gfc_check_findloc): Add prototype. | |
464 (gfc_simplify_findloc): Likewise. | |
465 (gfc_resolve_findloc): Likewise. | |
466 (MAX_INTRINSIC_ARGS): Adjust. | |
467 * iresolve.c (gfc_resolve_findloc): New function. | |
468 * simplify.c (gfc_simplify_minmaxloc): Make static. | |
469 (simplify_findloc_to_scalar): New function. | |
470 (simplify_findloc_nodim): New function. | |
471 (simplify_findloc_to_array): New function. | |
472 (gfc_simplify_findloc): New function. | |
473 (gfc_conv_intrinsic_findloc): New function. | |
474 (gfc_conv_intrinsic_function): Handle GFC_ISYM_FINDLOC. | |
475 (gfc_is_intrinsic_libcall): Likewise. | |
476 | |
477 2018-10-27 Thomas Koenig <tkoenig@gcc.gnu.org> | |
478 | |
479 PR fortran/86907 | |
480 * frontend-passes.c (check_locus_code): Add information that | |
481 warning about missing location information points to an | |
482 inconsisten internal state. | |
483 (check_locus_expr): Likewise. | |
484 | |
485 2018-10-25 Jakub Jelinek <jakub@redhat.com> | |
486 | |
487 PR fortran/87725 | |
488 * openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and | |
489 nonmonotonic modifiers regardless of if they have been parsed | |
490 already or if the opposite one has. Fix up check whether | |
491 comma after modifier should be parsed. | |
492 (resolve_omp_clauses): Diagnose schedule modifier restrictions. | |
493 | |
494 2018-10-23 Paul Thomas <pault@gcc.gnu.org> | |
495 | |
496 PR fortran/85603 | |
497 * frontend-passes.c (get_len_call): New function to generate a | |
498 call to intrinsic LEN. | |
499 (create_var): Use this to make length expressions for variable | |
500 rhs string lengths. | |
501 Clean up some white space issues. | |
502 | |
503 2018-10-21 Paul Thomas <pault@gcc.gnu.org> | |
504 | |
505 PR fortran/71880 | |
506 * trans-expr.c (gfc_trans_pointer_assignment): Set the string | |
507 length for array valued deferred length lhs. | |
508 | |
509 2018-10-18 Tobias Burnus <burnus@net-b.de> | |
510 | |
511 PR fortran/87625 | |
512 * trans-array.c (gfc_is_reallocatable_lhs): Detect allocatable | |
513 polymorphic arrays. | |
514 | |
515 2018-10-18 Paul Thomas <pault@gcc.gnu.org> | |
516 | |
517 PR fortran/58618 | |
518 * trans-stmt.c (trans_associate_var): All strings that return | |
519 as pointer types can be assigned directly to the associate | |
520 name so remove 'attr' and the condition that uses it. | |
521 | |
522 2018-10-18 Paul Thomas <pault@gcc.gnu.org> | |
523 | |
524 PR fortran/58618 | |
525 * trans-decl.c (gfc_get_symbol_decl): Deal correctly with the | |
526 initialization with NULL() of a deferred length pointer. | |
527 | |
528 2018-10-17 Tobias Burnus <burnus@net-b.de> | |
529 | |
530 PR fortran/87632 | |
531 * resolve.c (resolve_select_type): Use correct variable. | |
532 | |
533 2018-10-17 David Malcolm <dmalcolm@redhat.com> | |
534 | |
535 * Make-lang.in (selftest-fortran): New. | |
536 | |
537 2018-10-17 Paul Thomas <pault@gcc.gnu.org> | |
538 | |
539 PR fortran/56386 | |
540 PR fortran/58906 | |
541 PR fortran/77385 | |
542 PR fortran/80260 | |
543 PR fortran/82077 | |
544 * resolve.c (resolve_variable): Fix up expressions with array | |
545 associate names, where the parser did not detect that this is | |
546 array and there was no array part_ref in the expression. | |
547 | |
548 2018-10-16 Tobias Burnus <burnus@net-b.de> | |
549 | |
550 PR fortran/67125 | |
551 * trans-array.c (gfc_array_init_size, gfc_array_allocate): | |
552 Rename argument e3_is_array_constr to e3_has_nodescriptor | |
553 and update comments. | |
554 * trans-stmt.c (gfc_trans_allocate): Also fix lower bound | |
555 to 1 for nonalloc/nonpointer func results/vars besides | |
556 array constructors. | |
557 | |
558 2018-10-16 Tobias Burnus <burnus@net-b.de> | |
559 | |
560 PR fortran/87556 | |
561 * trans-stmt.c (form_team, change_team, sync_team): | |
562 Don't ignore argse.pre/argse.post. | |
563 | |
564 2018-10-15 Paul Thomas <pault@gcc.gnu.org> | |
565 Tobias Burnus <burnus@gcc.gnu.org> | |
566 | |
567 PR fortran/87566 | |
568 * resolve.c (resolve_assoc_var): Add missing array spec for | |
569 class associate names. | |
570 (resolve_select_type): Handle case where last typed component | |
571 of the selector has a different type to the expression. | |
572 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Replace | |
573 call to gfc_expr_to_initialize with call to gfc_copy_expr. | |
574 (gfc_conv_class_to_class): Guard assignment to 'len' field | |
575 against case where zero constant is supplied. | |
576 | |
577 2018-10-12 Tobias Burnus <burnus@net-b.de> | |
578 | |
579 PR fortran/87597 | |
580 * expr.c (gfc_simplify_expr): Avoid simplifying | |
581 the 'array' argument to lbound/ubound/lcobound/ | |
582 ucobound. | |
583 | |
584 2018-10-12 Tobias Burnus <burnus@net-b.de> | |
585 | |
586 PR fortran/58787 | |
587 * decl.c (get_proc_name): Return with error before | |
588 creating sym_tree. | |
589 | |
590 2018-10-11 Tobias Burnus <burnus@net-b.de> | |
591 | |
592 Revert: | |
593 2018-10-09 Tobias Burnus <burnus@net-b.de> | |
594 | |
595 PR fortran/83522 | |
596 * resolve.c (resolve_ref): Reject nonscalar | |
597 substring references. | |
598 | |
599 2018-10-09 David Malcolm <dmalcolm@redhat.com> | |
600 | |
601 * cpp.c (gfc_cpp_init_0): Update for renamings. | |
602 (cb_cpp_error): Rename to... | |
603 (cb_cpp_diagnostic): ...this, converting level and reason to | |
604 enums. | |
605 | |
606 2018-10-09 Tobias Burnus <burnus@net-b.de> | |
607 | |
608 PR fortran/83522 | |
609 * resolve.c (resolve_ref): Reject nonscalar | |
610 substring references. | |
611 | |
612 2018-10-09 Paul Thomas <pault@gcc.gnu.org> | |
613 | |
614 PR fortran/87151 | |
615 * trans-array.c (gfc_get_array_span): Deal with deferred char | |
616 array components having a TYPE_MAX_VALUE of zero. | |
617 (gfc_array_init_size): Use the hidden string length component | |
618 to build the descriptor dtype. | |
619 (gfc_array_allocate): Remove the erroneous replacement of the | |
620 charlen backend decl with a temporary. | |
621 (gfc_conv_expr_descriptor): Use the ss_info string length in | |
622 the case of deferred character components. | |
623 (gfc_alloc_allocatable_for_assignment): Actually compare the | |
624 string lengths for deferred characters. Make sure that kind > 1 | |
625 is handled correctly. Set the span field of the descriptor. | |
626 * trans-intrinsic.c (gfc_conv_intrinsic_len): Remove the stupid | |
627 comment. | |
628 | |
629 PR fortran/80931 | |
630 * trans-array.c (gfc_array_allocate): Set the span field for | |
631 variable length character arrays. | |
632 | |
633 2018-10-08 Cesar Philippidis <cesar@codesourcery.com> | |
634 | |
635 * expr.c (gfc_check_pointer_assign): Demote "Assignment to | |
636 contiguous pointer from non-contiguous target" to a warning. | |
637 | |
638 2018-10-08 Paul Thomas <pault@gcc.gnu.org> | |
639 | |
640 PR fortran/86372 | |
641 * trans-stmt.c (trans_associate_var): Character associate names | |
642 with variable string length do not have to be deferred length | |
643 for the string length to be set, if variable. | |
644 | |
645 2018-10-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
646 | |
647 PR fortran/86111 | |
648 * gfortran.h (enum arith): Add ARITH_WRONGCONCAT. | |
649 * arith.h (gfc_arith_error): Issue error for ARITH_WRONGCONCAT. | |
650 (gfc_arith_concat): If the types of op1 and op2 are not | |
651 character of if their kinds do not match, issue ARITH_WRONGCONCAT. | |
652 | |
653 2018-10-06 Paul Thomas <pault@gcc.gnu.org> | |
654 | |
655 PR fortran/83999 | |
656 * resolve.c (resolve_fl_procedure): Include class functions in | |
657 the test that elemental function results be scalar. | |
658 | |
659 2018-10-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
660 | |
661 PR fortran/84640 | |
662 * simplify.c (gfc_simplify_cshift): Extend size of hs_ex and ss_ex | |
663 by one. Set extents one past the array boundaries to zero to avoid | |
664 warning with instrumented compiler. | |
665 (gfc_simplify_eoshift): Likewise, only for ss_ex. | |
666 | |
667 2018-10-05 Paul Thomas <pault@gcc.gnu.org> | |
668 | |
669 PR fortran/87487 | |
670 * trans-decl.c (gfc_get_symbol_decl): Make sure that deferred | |
671 character length pointer initializer has the right type to fix | |
672 problem with deferred_character_24.f90 on big endian. | |
673 | |
674 2018-10-03 Jeff Law <law@redhat.comg> | |
675 | |
676 * trans-types.c (get_typenode_from_name): Moved into gcc/tree.c. | |
677 | |
678 2018-10-01 Paul Thomas <pault@gcc.gnu.org> | |
679 | |
680 PR fortran/65677 | |
681 * trans-expr.c (gfc_trans_assignment_1): Set the 'identical' | |
682 flag in the call to gfc_check_dependency. | |
683 | |
684 2018-09-30 Paul Thomas <pault@gcc.gnu.org> | |
685 | |
686 PR fortran/87359 | |
687 * trans-array.c (gfc_is_reallocatable_lhs): Correct the problem | |
688 introduced by r264358, which prevented components of associate | |
689 names from being reallocated on assignment. | |
690 | |
691 2018-09-30 Paul Thomas <pault@gcc.gnu.org> | |
692 | |
693 PR fortran/70752 | |
694 PR fortran/72709 | |
695 * trans-array.c (gfc_conv_scalarized_array_ref): If this is a | |
696 deferred type and the info->descriptor is present, use the | |
697 info->descriptor | |
698 (gfc_conv_array_ref): Is the se expr is a descriptor type, pass | |
699 it as 'decl' rather than the symbol backend_decl. | |
700 (gfc_array_allocate): If the se string_length is a component | |
701 reference, fix it and use it for the expression string length | |
702 if the latter is not a variable type. If it is a variable do | |
703 an assignment. Make use of component ref string lengths to set | |
704 the descriptor 'span'. | |
705 (gfc_conv_expr_descriptor): For pointer assignment, do not set | |
706 the span field if gfc_get_array_span returns zero. | |
707 * trans.c (get_array_span): If the upper bound a character type | |
708 is zero, use the descriptor span if available. | |
709 | |
710 2018-09-30 Paul Thomas <pault@gcc.gnu.org> | |
711 | |
712 PR fortran/70149 | |
713 * trans-decl.c (gfc_get_symbol_decl): A deferred character | |
714 length pointer that is initialized needs the string length to | |
715 be initialized as well. | |
716 | |
717 2018-09-29 Paul Thomas <pault@gcc.gnu.org> | |
718 | |
719 PR fortran/65677 | |
720 * trans-expr.c (gfc_trans_assignment_1): If there is dependency | |
721 fix the rse stringlength. | |
722 | |
723 2018-09-25 Martin Liska <mliska@suse.cz> | |
724 | |
725 PR fortran/87394 | |
726 * decl.c (add_hidden_procptr_result): Simplify condition | |
727 as we are in branch witch 'case1 || case2'. | |
728 | |
729 2018-09-25 Martin Liska <mliska@suse.cz> | |
730 | |
731 * trans.c (remove_suffix): Remove | |
732 unused function. | |
733 | |
734 2018-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
735 | |
736 PR fortran/87397 | |
737 * gfc_conv_procedure_call: Do not add clobber on INTENT(OUT) | |
738 for variables in an associate statement. | |
739 | |
740 2018-09-24 Bernhard Reuther-Fischer <aldot@gcc.gnu.org> | |
741 Cesar Philippidis <cesar@codesourcery.com> | |
742 | |
743 * openmp.c (resolve_oacc_loop_blocks): | |
744 | |
745 2018-09-23 Thomas Koenig <tkoenig@gcc.gnu.org> | |
746 | |
747 PR fortran/87397 | |
748 * gfc_conv_procedure_call: Do not add clobber on INTENT(OUT) | |
749 for variables having the dimension attribute. | |
750 | |
751 2018-09-23 Janne Blomqvist <jb@gcc.gnu.org> | |
752 | |
753 * trans-expr.c (gfc_caf_get_image_index): Do array index | |
754 calculations in gfc_array_index_type. | |
755 * trans-intrinsic.c (conv_intrinsic_event_query): Likewise. | |
756 * trans-stmt.c (gfc_trans_lock_unlock): Likewise. | |
757 (gfc_trans_event_post_wait): Likewise. | |
758 | |
759 2018-09-23 Thomas Koenig <tkoenig@gcc.gnu.org> | |
760 | |
761 PR fortran/87395 | |
762 * gfc_conv_procedure_call: Reformat comments slightly. Do not add | |
763 clobber on INTENT(OUT) for saved variables. | |
764 | |
765 2018-09-22 Thomas Koenig <tkoenig@gcc.gnu.org> | |
766 | |
767 PR fortran/41453 | |
768 * trans.h (gfc_conv_expr_reference): Add optional argument | |
769 add_clobber to prototype. | |
770 (gfc_conv_procedure_call): Set add_clobber argument to | |
771 gfc_conv_procedure_reference to true for scalar, INTENT(OUT), | |
772 non-pointer, non-allocatable, non-dummy variables whose type | |
773 is neither BT_CHARACTER, BT_DERIVED or BT_CLASS, but only if | |
774 the procedure is not elemental. | |
775 * trans-expr.c (gfc_conv_procedure_reference): Add clobber | |
776 statement before call if add_clobber is set. | |
777 | |
778 2018-09-22 Paul Thomas <pault@gcc.gnu.org> | |
779 | |
780 PR fortran/85603 | |
781 * trans-array.c (gfc_alloc_allocatable_for_assignment): Test | |
782 the charlen backend_decl before using the VAR_P macro. | |
783 | |
784 2018-09-21 Paul Thomas <pault@gcc.gnu.org> | |
785 | |
786 PR fortran/77325 | |
787 * trans-array.c (gfc_alloc_allocatable_for_assignment): If the | |
788 rhs has a charlen expression, convert that and use it. | |
789 * trans-expr.c (gfc_trans_assignment_1): The rse.pre for the | |
790 assignment of deferred character array vars to a realocatable | |
791 lhs should not be added to the exterior block since vector | |
792 indices, for example, generate temporaries indexed within the | |
793 loop. | |
794 | |
795 2018-09-21 Paul Thomas <pault@gcc.gnu.org> | |
796 | |
797 PR fortran/87359 | |
798 * trans-stmt.c (gfc_trans_allocate): Don't deallocate alloc | |
799 components if must_finalize is set for expr3. | |
800 | |
801 2018-09-21 Andrew Stubbs <ams@codesourcery.com> | |
802 Kwok Cheung Yeung <kcy@codesourcery.com> | |
803 | |
804 * trans-expr.c (gfc_trans_structure_assign): Ensure that the first | |
805 argument of a call to _gfortran_caf_register is of size_type_node. | |
806 * trans-intrinsic.c (conv_intrinsic_event_query): Convert computed | |
807 index to a size_type_node type. | |
808 * trans-stmt.c (gfc_trans_event_post_wait): Likewise. | |
809 | |
810 2018-09-20 Allan Sandfeld Jensen <allan.jensen@qt.io> | |
811 | |
812 * gfortranspec.c (lang_specific_driver): Handle -r like -nostdlib. | |
813 | |
814 2018-09-20 Janus Weil <janus@gcc.gnu.org> | |
815 | |
816 * gfortran.h (gfc_str_startswith): New macro. | |
817 * decl.c (variable_decl, gfc_match_end): Use it. | |
818 * iresolve.c (is_trig_resolved): Ditto. | |
819 * module.c (load_omp_udrs, read_module): Ditto. | |
820 * options.c (gfc_handle_runtime_check_option): Ditto. | |
821 * primary.c (match_arg_list_function): Ditto. | |
822 * trans-decl.c (gfc_get_symbol_decl): Ditto. | |
823 * trans-expr.c (gfc_conv_procedure_call): Ditto. | |
824 * interface.c (dtio_op): Replace strncmp by strcmp. | |
825 * resolve.c (resolve_actual_arglist, resolve_function): Ditto. | |
826 * trans-expr.c (conv_arglist_function): Ditto. | |
827 * trans-intrinsic.c (gfc_conv_ieee_arithmetic_function): Replace macro | |
828 STARTS_WITH by gfc_str_startswith. | |
829 | |
830 2018-09-20 Cesar Philippidis <cesar@codesourcery.com> | |
831 | |
832 * dump-parse-tree.c (show_omp_clauses): Add missing omp list_types | |
833 and reorder the switch cases to match the enum in gfortran.h. | |
834 | |
835 2018-09-19 Paul Thomas <pault@gcc.gnu.org> | |
836 | |
837 PR fortran/84109 | |
838 * trans-expr.c (gfc_trans_assignment_1): The rse.pre for the | |
839 assignment of deferred character intrinsic elemental function | |
840 results to a realocatable lhs must not be added to the exterior | |
841 block if they are array valued but must go to the loop body. | |
842 | |
843 2018-09-18 Thomas Koenig <tkoenig@gcc.gnu.org> | |
844 | |
845 PR fortran/29550 | |
846 * gfortran.h (gfc_expr): Add external_blas flag. | |
847 * frontend-passes.c (matrix_case): Add case A2TB2T. | |
848 (optimize_namespace): Handle flag_external_blas by | |
849 calling call_external_blas. | |
850 (get_array_inq_function): Add argument okind. If | |
851 it is nonzero, use it as the kind of argument | |
852 to be used. | |
853 (inline_limit_check): Remove m_case argument, add | |
854 limit argument instead. Remove assert about m_case. | |
855 Set the limit for inlining from the limit argument. | |
856 (matmul_lhs_realloc): Handle case A2TB2T. | |
857 (inline_matmul_assign): Handle inline limit for other cases with | |
858 two rank-two matrices. Remove no-op calls to inline_limit_check. | |
859 (call_external_blas): New function. | |
860 * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Do not add | |
861 argument to external BLAS if external_blas is already set. | |
862 | |
863 2018-09-18 Paul Thomas <pault@gcc.gnu.org> | |
864 | |
865 PR fortran/87239 | |
866 * trans-expr.c (gfc_trans_assignment_1): The rse.pre for the | |
867 assignment of deferred character elemental function results to | |
868 a realocatable lhs must not be added to the exterior block but | |
869 must go to the loop body. | |
870 | |
871 2018-09-18 Paul Thomas <pault@gcc.gnu.org> | |
872 | |
873 PR fortran/87336 | |
874 * trans-array.c (gfc_get_array_span): Try to get the element | |
875 length of incomplete types. Return NULL_TREE otherwise. | |
876 (gfc_conv_expr_descriptor): Only set the 'span' field if the | |
877 above does not return NULL_TREE. Set 'span' field if possible | |
878 for all new descriptors. | |
879 | |
880 2018-09-17 Paul Thomas <pault@gcc.gnu.org> | |
881 | |
882 PR fortran/64120 | |
883 * trans-decl.c (gfc_get_symbol_decl): Flag allocatable, scalar | |
884 characters with a variable length expression for deferred init. | |
885 (gfc_trans_deferred_vars): Perform the assignment for these | |
886 symbols by calling gfc_conv_string_length. | |
887 | |
888 2018-09-17 Paul Thomas <pault@gcc.gnu.org> | |
889 | |
890 PR fortran/85954 | |
891 * resolve.c (resolve_assoc_var): If the target expression is a | |
892 deferred charlen dummy and the associate name shares the | |
893 charlen, generate a new one. Make sure that new charlens are in | |
894 the namespace list so that they get cleaned up. | |
895 * trans-array.c (gfc_is_reallocatable_lhs): Associate names are | |
896 not reallocatable. | |
897 * trans-decl.c (gfc_get_symbol_decl): Put deferred character | |
898 length dummy and result arrays on the deferred initialization | |
899 list so that the variable length arrays can be correctly dealt | |
900 with. | |
901 * trans-expr.c (gfc_conv_string_length): Return if 'expr' is | |
902 NULL rather than ICEing.. | |
903 | |
904 2018-09-16 Janus Weil <janus@gcc.gnu.org> | |
905 | |
906 PR fortran/86484 | |
907 PR fortran/84543 | |
908 * match.c (gfc_match_assignment): For a polymorphic assignment, | |
909 make sure that the vtab for the rhs type is generated. | |
910 | |
911 2018-09-16 Thomas Koenig <tkoenig@gcc.gnu.org> | |
912 | |
913 PR fortran/37802 | |
914 * frontend-passes.c (B_ERROR): New macro for matmul bounds | |
915 checking error messages. | |
916 (C_ERROR): Likewise. | |
917 (inline_matmul_assign): Reorganize bounds checking, use B_ERROR | |
918 and C_ERROR macros. | |
919 | |
920 2018-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
921 | |
922 * trans-array.c (gfc_conv_array_initializer): Remove excess precision | |
923 from overlength string initializers. | |
924 | |
925 2018-09-12 Paul Thomas <pault@gcc.gnu.org> | |
926 | |
927 PR fortran/87284 | |
928 * trans-expr.c (gfc_trans_class_init_assign): Access to | |
929 to array elements of the dynamic type requires that the array | |
930 reference be added to the class expression and not the _data | |
931 component, unlike scalar expressions. | |
932 | |
933 2018-09-11 Janus Weil <janus@gcc.gnu.org> | |
934 | |
935 PR fortran/87172 | |
936 * resolve.c (resolve_fl_derived): If a type has the 'use_assoc' | |
937 attribute, then it was declared in another module, so there should be | |
938 no error that it has not been declared. | |
939 | |
940 2018-09-11 Paul Thomas <pault@gcc.gnu.org> | |
941 | |
942 PR fortran/87277 | |
943 * expr.c (is_subref_array): Add the check of dimensionality for | |
944 class, dummy, pointer arrays. | |
945 | |
946 2018-09-11 Janus Weil <janus@gcc.gnu.org> | |
947 | |
948 PR fortran/86830 | |
949 * expr.c (gfc_is_simply_contiguous): Handle type-bound procedure calls | |
950 with non-polymorphic objects. | |
951 | |
952 2018-09-10 Janus Weil <janus@gcc.gnu.org> | |
953 | |
954 PR fortran/85395 | |
955 * decl.c (match_binding_attributes): Use correct default accessibility | |
956 for procedure pointer components. | |
957 | |
958 2018-09-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
959 | |
960 * simplify.c (gfc_simplify_modulo): Re-arrange code to test whether | |
961 'P' is zero and issue an error if it is. | |
962 | |
963 2018-08-31 Paul Thomas <pault@gcc.gnu.org> | |
964 | |
965 PR fortran/86328 | |
966 PR fortran/86760 | |
967 * trans-array.c (gfc_conv_scalarized_array_ref): Do not fix | |
968 info->descriptor but pass it directly to gfc_build_array_ref. | |
969 (gfc_conv_array_ref): Likewise for se->expr. | |
970 * trans.c (gfc_build_array_ref): If 'decl' is a COMPONENT_REF | |
971 obtain the span field directly from it. | |
972 | |
973 2017-08-28 Paul Thomas <pault@gcc.gnu.org> | |
974 | |
975 PR fortran/80477 | |
976 * trans-expr.c (gfc_conv_procedure_call): Allocatable class | |
977 scalar results being passed to a derived type formal argument | |
978 are finalized if possible. Otherwise, rely on existing code for | |
979 deallocation. Make the deallocation of allocatable result | |
980 components conditional on finalization not taking place. Make | |
981 the freeing of data components after finalization conditional | |
982 on the data being NULL. | |
983 (gfc_trans_arrayfunc_assign): Change the gcc_assert to a | |
984 condition to return NULL_TREE. | |
985 (gfc_trans_assignment_1): If the assignment is class to class | |
986 and the rhs expression must be finalized but the assignment | |
987 is not marked as a polymorphic assignment, use the vptr copy | |
988 function instead of gfc_trans_scalar_assign. | |
989 | |
990 PR fortran/86481 | |
991 * trans-expr.c (gfc_conv_expr_reference): Do not add the post | |
992 block to the pre block if the expression is to be finalized. | |
993 * trans-stmt.c (gfc_trans_allocate): If the expr3 must be | |
994 finalized, load the post block into a finalization block and | |
995 add it right at the end of the allocation block. | |
996 | |
997 2018-08-27 David Malcolm <dmalcolm@redhat.com> | |
998 | |
999 PR 87091 | |
1000 * error.c (gfc_format_decoder): Update for conversion of | |
1001 show_caret_p to a tri-state. | |
1002 | |
1003 2018-08-25 Janus Weil <janus@gcc.gnu.org> | |
1004 | |
1005 PR fortran/86545 | |
1006 * resolve.c (resolve_transfer): Correctly determine typespec for | |
1007 generic function calls, in order to throw a proper error. | |
1008 | |
1009 2018-08-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1010 | |
1011 PR fortran/86837 | |
1012 * frontend-passes.c (var_in_expr_callback): New function. | |
1013 (var_in_expr): New function. | |
1014 (traverse_io_block): Use var_in_expr instead of | |
1015 gfc_check_dependency for checking if the variable depends on the | |
1016 previous interators. | |
1017 | |
1018 2018-08-23 Janne Blomqvist <blomqvist.janne@gmail.com> | |
1019 | |
1020 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Delete | |
1021 HONOR_SIGNED_ZEROS checks. | |
1022 | |
1023 2018-08-23 Paul Thomas <pault@gcc.gnu.org> | |
1024 | |
1025 PR fortran/86863 | |
1026 * resolve.c (resolve_typebound_call): If the TBP is not marked | |
1027 as a subroutine, check the specific symbol. | |
1028 | |
1029 2018-08-22 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1030 | |
1031 * gfortran.texi: Mention that asynchronous I/O does | |
1032 not work on systems which lack condition variables, such | |
1033 as AIX. | |
1034 | |
1035 2018-08-22 Janus Weil <janus@gcc.gnu.org> | |
1036 | |
1037 PR fortran/86935 | |
1038 * match.c (gfc_match_associate): Improve diagnostics for the ASSOCIATE | |
1039 statement. | |
1040 | |
1041 2018-08-22 Andrew Benson <abensonca@gmail.com> | |
1042 | |
1043 * module.c (load_generic_interfaces): Move call to find_symbol() | |
1044 so that only occurs if actually needed. | |
1045 | |
1046 2018-08-22 Janus Weil <janus@gcc.gnu.org> | |
1047 | |
1048 PR fortran/86888 | |
1049 * decl.c (gfc_match_data_decl): Allow allocatable components of | |
1050 indirectly recursive type. | |
1051 * resolve.c (resolve_component): Remove two errors messages ... | |
1052 (resolve_fl_derived): ... and replace them by a new one. | |
1053 | |
1054 2018-08-21 Janne Blomqvist <jb@gcc.gnu.org> | |
1055 | |
1056 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use | |
1057 MAX_EXPR/MIN_EXPR unconditionally for real arguments. | |
1058 * gfortran.texi (Compiler Characteristics): Document MAX/MIN | |
1059 behavior wrt NaN. | |
1060 | |
1061 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org> | |
1062 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1063 | |
1064 PR fortran/25829 | |
1065 * gfortran.texi: Add description of asynchronous I/O. | |
1066 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables | |
1067 as volatile. | |
1068 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to | |
1069 st_wait_async and change argument spec from ".X" to ".w". | |
1070 (gfc_trans_wait): Pass ID argument via reference. | |
1071 | |
1072 2018-08-16 Nathan Sidwell <nathan@acm.org> | |
1073 | |
1074 * cpp.c (dump_macro): Use cpp_user_macro_p. | |
1075 | |
1076 2018-08-14 Janus Weil <janus@gcc.gnu.org> | |
1077 | |
1078 PR fortran/86116 | |
1079 * interface.c (compare_type): Remove a CLASS/TYPE check. | |
1080 (compare_type_characteristics): New function that behaves like the old | |
1081 'compare_type'. | |
1082 (gfc_check_dummy_characteristics, gfc_check_result_characteristics): | |
1083 Call 'compare_type_characteristics' instead of 'compare_type'. | |
1084 | |
1085 2018-08-12 Paul Thomas <pault@gcc.gnu.org> | |
1086 | |
1087 PR fortran/66679 | |
1088 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Class array | |
1089 elements are returned as references to the data element. Get | |
1090 the class expression by stripping back the references. Use this | |
1091 for the element size. | |
1092 | |
1093 2018-08-12 Paul Thomas <pault@gcc.gnu.org> | |
1094 | |
1095 PR fortran/86906 | |
1096 * resolve.c (resolve_fl_variable_derived): Check if the derived | |
1097 type is use associated before checking for the host association | |
1098 error. | |
1099 | |
1100 2018-08-10 Janus Weil <janus@gcc.gnu.org> | |
1101 | |
1102 PR fortran/57160 | |
1103 * invoke.texi (frontend-optimize): Mention short-circuiting. | |
1104 * options.c (gfc_post_options): Disable -ffrontend-optimize with -Og. | |
1105 * resolve.c (resolve_operator): Warn about short-circuiting only with | |
1106 -ffrontend-optimize. | |
1107 * trans-expr.c (gfc_conv_expr_op): Use short-circuiting operators only | |
1108 with -ffrontend-optimize. Without that flag, make sure that both | |
1109 operands are evaluated. | |
1110 | |
1111 2018-08-08 Nathan Sidwell <nathan@acm.org> | |
1112 | |
1113 * cpp.c (cb_file_change): Use linemap_included_from. | |
1114 | |
1115 2018-08-07 Cesar Philippidis <cesar@codesourcery.com> | |
1116 | |
1117 * trans-stmt.h: Remove stale reference to trans-openacc.c. | |
1118 | |
1119 2018-08-04 Janus Weil <janus@gcc.gnu.org> | |
1120 | |
1121 PR fortran/45521 | |
1122 * interface.c (gfc_compare_interfaces): Apply additional | |
1123 distinguishability criteria of F08 to operator interfaces. | |
1124 | |
1125 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
1126 | |
1127 Revert 'AsyncI/O patch committed' | |
1128 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> | |
1129 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1130 | |
1131 PR fortran/25829 | |
1132 * gfortran.texi: Add description of asynchronous I/O. | |
1133 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables | |
1134 as volatile. | |
1135 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to | |
1136 st_wait_async and change argument spec from ".X" to ".w". | |
1137 (gfc_trans_wait): Pass ID argument via reference. | |
1138 | |
1139 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> | |
1140 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1141 | |
1142 PR fortran/25829 | |
1143 * gfortran.texi: Add description of asynchronous I/O. | |
1144 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables | |
1145 as volatile. | |
1146 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to | |
1147 st_wait_async and change argument spec from ".X" to ".w". | |
1148 (gfc_trans_wait): Pass ID argument via reference. | |
1149 | |
1150 2018-07-20 Martin Sebor <msebor@redhat.com> | |
1151 | |
1152 PR middle-end/82063 | |
1153 * gfortran.h (gfc_handle_option): Change function argument | |
1154 to HOST_WIDE_INT. | |
1155 * options.c (gfc_handle_option): Same. | |
1156 | |
1157 2018-07-20 Andrew Benson <abenson@carnegiescience.edu> | |
1158 | |
1159 * gfortran.h (gfc_symbol): Add pointer to next derived type. | |
1160 (gfc_dt_list, gfc_get_dt_list): Remove. | |
1161 (gfc_namespace): Replace gfc_dt_list with gfc_symbol. | |
1162 * parse.c (resolve_all_program_units): Replace gfc_free_dt_list() with | |
1163 simple nullification of gfc_derived_types. | |
1164 * resolve.c (resolve_global_procedure): Replace gfc_dt_list with | |
1165 gfc_symbol. | |
1166 (add_dt_to_dt_list): Change derived type linked list insertion to | |
1167 utilize dt_next pointers in gfc_symbol. | |
1168 * symbol.c (gfc_new_symbol, gfc_free_dt_list, gfc_symbol_done2) | |
1169 (get_iso_c_binding_dt, generate_isocbinding_symbol): Remove | |
1170 gfc_free_dt_list as gfc_dt_list is obsoleted. Change derived type | |
1171 linked list search/insertion to utilize dt_next pointers in gfc_symbol. | |
1172 * trans-types.c (gfc_get_derived_type): Change derived type linked | |
1173 list search to utilize dt_next pointers in gfc_symbol. | |
1174 | |
1175 2018-07-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
1176 | |
1177 * trans-intrinsic.c: (gfc_conv_intrinsic_minmax): Emit MIN_MAX_EXPR | |
1178 or IFN_FMIN/FMAX sequence to calculate the min/max when possible. | |
1179 | |
1180 2018-07-18 Janus Weil <janus@gcc.gnu.org> | |
1181 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1182 | |
1183 PR fortran/85599 | |
1184 * dump-parse-tree.c (show_attr): Add handling of implicit_pure. | |
1185 * frontend-passes.c (do_warn_function_elimination): Do not warn for | |
1186 pure functions. | |
1187 * gfortran.h: Add prototypes for gfc_pure_function and | |
1188 gfc_implicit_pure_function. | |
1189 * gfortran.texi: Add chapter on evaluation of logical expressions. | |
1190 * invoke.texi: Mention that -Wfunction-elimination is implied | |
1191 by -Wextra. | |
1192 * lang.opt: Make -Wextra imply -Wfunction-elimination. | |
1193 * resolve.c (pure_function): Rename to gfc_pure_function. | |
1194 (gfc_implicit_pure_function): New function. | |
1195 (check_pure_function): Use it here. | |
1196 (impure_function_callback): New function. | |
1197 (resolve_operator): Call it via gfc_expr_walker. | |
1198 | |
1199 2018-07-16 Fritz Reese <fritzoreese@gmail.com> | |
1200 | |
1201 PR fortran/83184 | |
1202 * decl.c (match_old_style_init): Initialize locus of variable expr when | |
1203 creating a data variable. | |
1204 (match_clist_expr): Verify array is explicit shape/size before | |
1205 attempting to allocate constant array constructor. | |
1206 | |
1207 2018-07-16 Fritz Reese <fritzoreese@gmail.com> | |
1208 | |
1209 PR fortran/86417 | |
1210 * module.c (mio_component): Set component->loc when loading from module. | |
1211 | |
1212 2018-07-10 Jakub Jelinek <jakub@redhat.com> | |
1213 | |
1214 PR fortran/86421 | |
1215 * module.c (omp_declare_simd_clauses): Add LINEAR with _REF, _VAL and | |
1216 _UVAL suffixes. | |
1217 (mio_omp_declare_simd): Save and restore ref, val and uval modifiers | |
1218 on linear clauses. Initialize n->where to gfc_current_locus. | |
1219 | |
1220 2018-07-05 Paul Thomas <pault@gcc.gnu.org> | |
1221 | |
1222 PR fortran/86408 | |
1223 * resolve.c.c (resolve_contained_fntype): Reference to C418 is | |
1224 in F2008 and not F2003. | |
1225 (resolve_function): Ditto in error message. Also, exclude | |
1226 deferred character length results from the error. | |
1227 | |
1228 2018-07-05 Fritz Reese <fritzoreese@gmail.com> | |
1229 | |
1230 PR fortran/83183 | |
1231 PR fortran/86325 | |
1232 * expr.c (class_allocatable, class_pointer, comp_allocatable, | |
1233 comp_pointer): New helpers. | |
1234 (component_initializer): Generate EXPR_NULL for allocatable or pointer | |
1235 components. Do not generate initializers for components within BT_CLASS. | |
1236 Do not assign to comp->initializer. | |
1237 (gfc_generate_initializer): Use new helpers; move code to generate | |
1238 EXPR_NULL for class allocatable components into component_initializer(). | |
1239 | |
1240 2018-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
1241 | |
1242 PR fortran/82009 | |
1243 * trans-decl.c (gfc_process_block_locals): Delete assert and set | |
1244 saved_local_decls = NULL_TREE. | |
1245 | |
1246 2018-07-02 Richard Biener <rguenther@suse.de> | |
1247 | |
1248 PR lto/86321 | |
1249 * trans-types.c (gfc_get_array_type_bounds): Unshare TYPE_FIELDs | |
1250 for the distinct type copy. | |
1251 | |
1252 2018-07-02 Paul Thomas <pault@gcc.gnu.org> | |
1253 | |
1254 PR fortran/82969 | |
1255 PR fortran/86242 | |
1256 * trans-array.c (structure_alloc_comps): Do not explicitly copy | |
1257 procedure pointer components. | |
1258 | |
1259 2018-07-02 Paul Thomas <pault@gcc.gnu.org> | |
1260 | |
1261 PR fortran/45305 | |
1262 * expr.c : Add a prototype for scalarize_intrinsic_call. | |
1263 (gfc_simplify_expr): Use scalarize_intrinsic_call for elemental | |
1264 intrinsic function calls. | |
1265 (scalarize_intrinsic_call): Add 'init_flag' argument. Check if | |
1266 the expression or any of the actual argument expressions are | |
1267 NULL. Before calling gfc_check_init_expr, check 'init_flag'. | |
1268 Only simplify the scalarized expressions if there are no errors | |
1269 on the stack. | |
1270 (gfc_check_init_expr): Set 'init_flag' true in the call to | |
1271 scalarize_intrinsic_call. | |
1272 | |
1273 2018-06-28 Fritz Reese <fritzoreese@gmail.com> | |
1274 | |
1275 PR fortran/82865 | |
1276 * decl.c (gfc_match_type): Refactor and check for PDT declarations. | |
1277 | |
1278 2018-06-28 Martin Liska <mliska@suse.cz> | |
1279 | |
1280 * gfortranspec.c: Include opt-suggestions.h. | |
1281 | |
1282 2018-06-25 Fritz Reese <fritzoreese@gmail.com> | |
1283 | |
1284 PR fortran/82972 | |
1285 PR fortran/83088 | |
1286 PR fortran/85851 | |
1287 * expr.c (component_initializer): Assign init expr to c->initializer. | |
1288 (generate_isocbinding_initializer): New. | |
1289 (gfc_generate_initializer): Call generate_isocbinding_initializer to | |
1290 generate initializers for c_ptr and c_funptr with -finit-derived. | |
1291 | |
1292 2018-06-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
1293 | |
1294 PR fortran/85983 | |
1295 * interface.c (check_dtio_interface1): Delete assert. | |
1296 | |
1297 2018-06-22 Paul Thomas <pault@gcc.gnu.org> | |
1298 Rainer Orth <ro@gcc.gnu.org> | |
1299 | |
1300 PR fortran/86281 | |
1301 * resolve.c (resolve_contained_fntype): Check for the charlen | |
1302 before testing the length. | |
1303 | |
1304 2018-06-21 Paul Thomas <pault@gcc.gnu.org> | |
1305 | |
1306 PR fortran/49630 | |
1307 * resolve.c (resolve_contained_fntype): Change standard ref. | |
1308 from F95 to F2003: C418. Correct a spelling error in a comment. | |
1309 It is an error for an abstract interface to have an assumed | |
1310 character length result. | |
1311 * trans-expr.c (gfc_conv_procedure_call): Likewise change the | |
1312 standard reference. | |
1313 | |
1314 2018-06-21 Paul Thomas <pault@gcc.gnu.org> | |
1315 | |
1316 PR fortran/83118 | |
1317 * resolve.c (resolve_ordinary_assign): Force the creation of a | |
1318 vtable for assignment of non-polymorphic expressions to an | |
1319 unlimited polymorphic object. | |
1320 * trans-array.c (gfc_alloc_allocatable_for_assignment): Use the | |
1321 size of the rhs type for such assignments. Set the dtype, _len | |
1322 and vptrs appropriately. | |
1323 * trans-expr.c (gfc_trans_assignment): Force the use of the | |
1324 _copy function for these assignments. | |
1325 | |
1326 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com> | |
1327 Thomas Schwinge <thomas@codesourcery.com> | |
1328 Cesar Philippidis <cesar@codesourcery.com> | |
1329 | |
1330 * gfortran.h (gfc_omp_clauses): Add unsigned if_present, finalize | |
1331 bitfields. | |
1332 * openmp.c (enum omp_mask2): Remove OMP_CLAUSE_PRESENT_OR_*. Add | |
1333 OMP_CLAUSE_{IF_PRESENT,FINALIZE}. | |
1334 (gfc_match_omp_clauses): Update handling of copy, copyin, copyout, | |
1335 create, deviceptr, present_of_*. Add support for finalize and | |
1336 if_present. | |
1337 (OACC_PARALLEL_CLAUSES): Remove PRESENT_OR_* clauses. | |
1338 (OACC_KERNELS_CLAUSES): Likewise. | |
1339 (OACC_DATA_CLAUSES): Likewise. | |
1340 (OACC_DECLARE_CLAUSES): Likewise. | |
1341 (OACC_UPDATE_CLAUSES): Add IF_PRESENT clause. | |
1342 (OACC_ENTER_DATA_CLAUSES): Remove PRESENT_OR_* clauses. | |
1343 (OACC_EXIT_DATA_CLAUSES): Add FINALIZE clause. | |
1344 (gfc_match_oacc_declare): Update to OpenACC 2.5 semantics. | |
1345 * trans-openmp.c (gfc_trans_omp_clauses): Add support for IF_PRESENT | |
1346 and FINALIZE. | |
1347 | |
1348 2018-06-18 Eric Botcazou <ebotcazou@adacore.com> | |
1349 | |
1350 * trans-decl.c (gfc_get_fake_result_decl): Revert latest change. | |
1351 | |
1352 2018-06-17 Eric Botcazou <ebotcazou@adacore.com> | |
1353 | |
1354 * trans-decl.c (nonlocal_dummy_decl_pset): Delete. | |
1355 (nonlocal_dummy_decls): Likewise. | |
1356 (gfc_nonlocal_dummy_array_decl): Likewise. | |
1357 (gfc_get_symbol_decl): Do not call gfc_nonlocal_dummy_array_decl. | |
1358 (gfc_get_fake_result_decl): Do not generate a new DECL if simply | |
1359 reusing the result of a recursive call. | |
1360 (gfc_generate_function_code): Do not create, insert and destroy | |
1361 nonlocal_dummy_decls. | |
1362 | |
1363 2018-06-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
1364 | |
1365 PR fortran/86110 | |
1366 * array.c (gfc_resolve_character_array_constructor): Avoid NULL | |
1367 pointer dereference. | |
1368 | |
1369 2018-06-13 Cesar Philippidis <cesar@codesourcery.com> | |
1370 | |
1371 PR fortran/85703 | |
1372 * parse.c (decode_oacc_directive): Set gfc_matching_function | |
1373 to false. | |
1374 (decode_omp_directive): Likewise. | |
1375 | |
1376 2018-06-13 Cesar Philippidis <cesar@codesourcery.com> | |
1377 | |
1378 PR fortran/85702 | |
1379 * openmp.c (gfc_match_oacc_wait): Use %C to report error location. | |
1380 | |
1381 2018-06-12 David Malcolm <dmalcolm@redhat.com> | |
1382 | |
1383 PR other/69968 | |
1384 * misc.c (gfc_closest_fuzzy_match): Update for renaming of | |
1385 levenshtein_distance to get_edit_distance. | |
1386 | |
1387 2018-06-12 Steven G. Kargl <kargl@gcc.gnu.org> | |
1388 | |
1389 PR fortran/44491 | |
1390 * expr.c (gfc_check_assign): Select non-NULL locus. | |
1391 | |
1392 2018-06-11 Janus Weil <janus@gcc.gnu.org> | |
1393 | |
1394 PR fortran/45521 | |
1395 * interface.c (compare_ptr_alloc): New function. | |
1396 (generic_correspondence): Call it. | |
1397 | |
1398 2018-06-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1399 | |
1400 * gfortran.h (gfc_expr): Add no_bounds_check field. | |
1401 * frontend-passes.c (get_array_inq_function): Set no_bounds_check | |
1402 on function and function argument. | |
1403 (inline_matmul_assign): Set no_bounds_check on zero expression | |
1404 and on lhs of zero expression. | |
1405 Also handle A1B2 case if realloc on assigment is active. | |
1406 * trans-array.c (gfc_conv_array_ref): Don't do range checking | |
1407 if expr has no_bounds_check set. | |
1408 (gfc_conv_expr_descriptor): Set no_bounds_check on ss if expr | |
1409 has it set. | |
1410 * trans-expr.c (gfc_trans_assignment_1): Set no_bounds_check | |
1411 on lss and lss if the corresponding expressions have it set. | |
1412 | |
1413 2018-06-10 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
1414 | |
1415 PR fortran/79854 | |
1416 * trans-const.c: Remove include "diagnostic-core.h". | |
1417 (gfc_conv_constant_to_tree): Replace fatal_error with gcc_unreachable. | |
1418 | |
1419 2018-06-10 Janus Weil <janus@gcc.gnu.org> | |
1420 | |
1421 PR fortran/85088 | |
1422 * decl.c (match_attr_spec): Synchronize the DECL_* enum values with the | |
1423 INTENT_* values from the enum 'sym_intent'. Call 'match_intent_spec' | |
1424 and remove a TODO note. | |
1425 * gfortran.h: Add a comment to sym_intent. | |
1426 | |
1427 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
1428 | |
1429 PR fortran/38351 | |
1430 * resolve.c (resolve_operator): Provide better error message for | |
1431 derived type entity used in an binary intrinsic numeric operator. | |
1432 | |
1433 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
1434 | |
1435 PR fortran/85138 | |
1436 PR fortran/85996 | |
1437 PR fortran/86051 | |
1438 * decl.c (gfc_match_char_spec): Use private namespace in attempt to | |
1439 reduce a charlen to a constant. | |
1440 | |
1441 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
1442 | |
1443 PR fortran/78278 | |
1444 * data.c (gfc_assign_data_value): Re-arrange code to allow for | |
1445 an error for double initialization of CHARACTER entities. | |
1446 | |
1447 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
1448 | |
1449 PR fortran/63514 | |
1450 * symbol.c (gfc_add_volatile): Enforce F2008:C1282 and F2018:C1588. | |
1451 | |
1452 2018-06-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1453 | |
1454 PR fortran/85631 | |
1455 * trans.h (gfc_ss): Add field no_bounds_check. | |
1456 * trans-array.c (gfc_conv_ss_startstride): If flag_realloc_lhs and | |
1457 ss->no_bounds_check is set, do not use runtime checks. | |
1458 * trans-expr.c (gfc_trans_assignment_1): Set lss->no_bounds_check | |
1459 for reallocatable lhs. | |
1460 | |
1461 2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
1462 | |
1463 PR fortran/86059 | |
1464 * array.c (match_array_cons_element): NULL() cannot be in an | |
1465 array constructor. | |
1466 | |
1467 2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
1468 | |
1469 PR fortran/78571 | |
1470 * data.c (create_character_initializer): Return early if type is | |
1471 incompatible with CHARACTER. | |
1472 | |
1473 2018-06-07 Steven G. Kargl <kargl@gcc.gnu.org> | |
1474 | |
1475 PR fortran/86045 | |
1476 * simplify.c (gfc_simplify_mod): Re-arrange code to test whether | |
1477 'P' is zero and issue an error if it is. | |
1478 | |
1479 2018-06-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1480 | |
1481 PR fortran/85641 | |
1482 * frontend-passes.c (is_fe_temp): Add prototype. | |
1483 (realloc_string_callback): Early return for frontend-generated | |
1484 temporary. | |
1485 | |
1486 2018-06-05 Cesar Philippidis <cesar@codesourcery.com> | |
1487 | |
1488 PR fortran/85701 | |
1489 | |
1490 * openmp.c (gfc_resolve_oacc_declare): Error on functions and | |
1491 subroutine data clause arguments. | |
1492 | |
1493 2018-06-04 Steven G. Kargl <kargl@gcc.gnu.org> | |
1494 | |
1495 PR fortran/85981 | |
1496 * resolve.c (resolve_allocate_deallocate): Check errmsg is default | |
1497 character kind. | |
1498 | |
1499 2018-06-03 Paul Thomas <pault@gcc.gnu.org> | |
1500 | |
1501 PR fortran/36497 | |
1502 * decl.c (variable_decl): Use gfc_add_type for cray pointees. | |
1503 | |
1504 2018-06-01 Steven G. Kargl <kargl@gcc.gnu.org> | |
1505 | |
1506 PR fortran/63570 | |
1507 * check.c (gfc_check_random_init): New function. Check arguments of | |
1508 RANDOM_INIT. | |
1509 * gfortran.h (GFC_ISYM_RANDOM_INIT): New enum token. | |
1510 * intrinsic.c (add_subroutines): Add RANDOM_INIT to list of | |
1511 subroutines. | |
1512 (gfc_check_intrinsic_standard): Introduce Fortran 2018 check. | |
1513 * intrinsic.h: Add prototypes for gfc_check_random_init and | |
1514 gfc_resolve_random_init | |
1515 * intrinsic.texi: Document new intrinsic subprogram. | |
1516 * iresolve.c (gfc_resolve_random_init): Resolve routine name. | |
1517 * trans-decl.c: Declare gfor_fndecl_random_init | |
1518 * trans-intrinsic.c (conv_intrinsic_random_init): New function. | |
1519 Translate call to RANDOM_INIT. | |
1520 (gfc_conv_intrinsic_subroutine): Call it. | |
1521 * trans.h: Declare gfor_fndecl_random_init | |
1522 | |
1523 2018-05-27 Steven G. Kargl <kargl@gcc.gnu.org> | |
1524 | |
1525 * decl.c (match_data_constant): Fortran 2018 allows pointer | |
1526 initialization in a data statement. | |
1527 | |
1528 2018-05-25 Janus Weil <janus@gcc.gnu.org> | |
1529 | |
1530 PR fortran/85839 | |
1531 * match.c (gfc_match_block_data): Call gfc_notify_std to warn about | |
1532 an obsolescent feature in Fortran 2018. | |
1533 (gfc_match_equivalence): Ditto. | |
1534 * resolve.c (resolve_common_blocks): Ditto. | |
1535 (gfc_resolve_forall): Ditto. | |
1536 * symbol.c (gfc_define_st_label): Ditto. | |
1537 | |
1538 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
1539 | |
1540 PR fortran/85543 | |
1541 * resolve.c (update_current_proc_array_outer_dependency): Avoid NULL | |
1542 pointer dereference. | |
1543 | |
1544 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
1545 | |
1546 PR fortran/85780 | |
1547 * resolve.c (resolve_fl_procedure): Avoid NULL dereference. | |
1548 | |
1549 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
1550 | |
1551 PR fortran/85779 | |
1552 * decl.c (gfc_match_derived_decl): Fix NULL point dereference. | |
1553 | |
1554 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
1555 | |
1556 PR fortran/85895 | |
1557 * resolve.c (resolve_sync): Resolve expression before checking for | |
1558 an error. | |
1559 | |
1560 2018-05-22 Janus Weil <janus@gcc.gnu.org> | |
1561 | |
1562 PR fortran/85841 | |
1563 * libgfortran.h: Remove the macros GFC_STD_F2008_TS and | |
1564 GFC_STD_OPT_F08TS. | |
1565 * error.c (notify_std_msg): Remove GFC_STD_F2008_TS. | |
1566 * options.c (set_default_std_flags): Ditto. | |
1567 (gfc_handle_option): Make -std=f2008ts an alias for -std=f2018. | |
1568 * array.c (gfc_match_array_spec): Replace GFC_STD_F2008_TS by | |
1569 GFC_STD_F2018. | |
1570 * check.c (gfc_check_atomic, gfc_check_event_query, | |
1571 gfc_check_c_f_pointer, gfc_check_c_f_procpointer, gfc_check_c_funloc, | |
1572 gfc_check_c_loc, gfc_check_num_images, gfc_check_this_image): Ditto. | |
1573 * decl.c (gfc_verify_c_interop_param, gfc_match_decl_type_spec): Ditto. | |
1574 * intrinsic.c (add_functions, add_subroutines, | |
1575 gfc_check_intrinsic_standard): Ditto. | |
1576 * iso-c-binding.def: Ditto. | |
1577 * iso-fortran-env.def: Ditto. | |
1578 * match.c (gfc_match_event_post, gfc_match_event_wait, | |
1579 gfc_match_fail_image, gfc_match_form_team, gfc_match_change_team, | |
1580 gfc_match_end_team, gfc_match_sync_team): Ditto. | |
1581 * gfortran.texi: Remove mention of -std=f2008ts. | |
1582 Move TSs into F2018 section. | |
1583 * invoke.texi: Update documentation of -std=f2008ts. | |
1584 | |
1585 2018-05-21 Janus Weil <janus@gcc.gnu.org> | |
1586 | |
1587 PR fortran/85841 | |
1588 * libgfortran.h: New macros GFC_STD_OPT_*. | |
1589 * error.c (notify_std_msg): New function. | |
1590 (gfc_notify_std): Adjust such that it can handle combinations of | |
1591 GFC_STD_* flags in the 'std' argument, not just a single one. | |
1592 * match.c (match_arithmetic_if, gfc_match_if): Reject arithmetic if | |
1593 in Fortran 2018. | |
1594 (gfc_match_stopcode): Use GFC_STD_OPT_* macros. | |
1595 * options.c (set_default_std_flags): Warn for F2018 deleted features | |
1596 by default. | |
1597 (gfc_handle_option): F2018 deleted features are allowed in earlier | |
1598 standards. | |
1599 * symbol.c (gfc_define_st_label, gfc_reference_st_label): Reject | |
1600 nonblock do constructs in Fortran 2018. | |
1601 | |
1602 2018-05-20 Paul Thomas <pault@gcc.gnu.org> | |
1603 | |
1604 PR fortran/80657 | |
1605 * resolve.c (flag_fn_result_spec): Use the 'sym' argument to | |
1606 test for self refs to the function result in the character len | |
1607 expression. If a self reference is found, emit an error and | |
1608 return true. | |
1609 (resolve_fntype): Use the function symbol in the calls to the | |
1610 above. | |
1611 | |
1612 2018-05-20 Paul Thomas <pault@gcc.gnu.org> | |
1613 | |
1614 PR fortran/49636 | |
1615 * trans-array.c (gfc_get_array_span): Renamed from | |
1616 'get_array_span'. | |
1617 (gfc_conv_expr_descriptor): Change references to above. | |
1618 * trans-array.h : Add prototype for 'gfc_get_array_span'. | |
1619 * trans-intrinsic.c (gfc_conv_associated): Add pre and post | |
1620 blocks for 'arg1'. | |
1621 * trans-stmt.c (trans_associate_var): If the associate name is | |
1622 a subref array pointer, use gfc_get_array_span for the span. | |
1623 | |
1624 2018-05-20 Paul Thomas <pault@gcc.gnu.org> | |
1625 | |
1626 PR fortran/82275 | |
1627 * match.c (gfc_match_type_spec): Go through the array ref and | |
1628 decrement 'rank' for every dimension that is an element. | |
1629 | |
1630 2018-05-19 Paul Thomas <pault@gcc.gnu.org> | |
1631 | |
1632 PR fortran/82923 | |
1633 PR fortran/66694 | |
1634 PR fortran/82617 | |
1635 * trans-array.c (gfc_alloc_allocatable_for_assignment): Set the | |
1636 charlen backend_decl of the rhs expr to ss->info->string_length | |
1637 so that the value in the current scope is used. | |
1638 | |
1639 2018-05-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
1640 | |
1641 PR fortran/63529 | |
1642 * gfortran.texi: Clarify documentation for Cray pointer and | |
1643 assumed-sized array. | |
1644 | |
1645 2018-05-13 Paul Thomas <pault@gcc.gnu.org> | |
1646 | |
1647 PR fortran/85742 | |
1648 * trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation | |
1649 of 'size'. If the element type is a pointer use the size of the | |
1650 TREE_TYPE of the type, unless it is VOID_TYPE. In this latter | |
1651 case, set the size to zero. | |
1652 | |
1653 2018-05-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
1654 | |
1655 * gfortran.h: Remove prototype. | |
1656 * symbol.c (gfc_new_undo_checkpoint): Remove unused function. | |
1657 | |
1658 2018-05-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
1659 | |
1660 PR fortran/85542 | |
1661 * expr.c (check_inquiry): Avoid NULL pointer dereference. | |
1662 | |
1663 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
1664 | |
1665 PR fortran/85687 | |
1666 * check.c (gfc_check_rank): Check that the argument is a data object. | |
1667 | |
1668 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
1669 | |
1670 PR fortran/85521 | |
1671 * array.c (gfc_resolve_character_array_constructor): Substrings | |
1672 with upper bound smaller than lower bound are zero length strings. | |
1673 | |
1674 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
1675 | |
1676 PR fortran/70870 | |
1677 * data.c (gfc_assign_data_value): Check that a data object does | |
1678 not also have default initialization. | |
1679 | |
1680 2018-05-10 Marek Polacek <polacek@redhat.com> | |
1681 | |
1682 PR fortran/85735 | |
1683 * options.c (gfc_post_options): Set main_input_filename. | |
1684 | |
1685 2018-05-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1686 | |
1687 PR fortran/54613 | |
1688 * intrinsic.texi: Document BACK for MINLOC and MAXLOC. | |
1689 | |
1690 2018-05-10 Paul Thomas <pault@gcc.gnu.org> | |
1691 | |
1692 PR fortran/68846 | |
1693 PR fortran/70864 | |
1694 * resolve.c (get_temp_from_expr): The temporary must not have | |
1695 dummy or intent attributes. | |
1696 | |
1697 2018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1698 | |
1699 PR fortran/54613 | |
1700 * check.c (gfc_check_minmaxloc): Remove error for BACK not being | |
1701 implemented. Use gfc_logical_4_kind for BACK. | |
1702 * simplify.c (min_max_choose): Add optional argument back_val. | |
1703 Handle it. | |
1704 (simplify_minmaxloc_to_scalar): Add argument back_val. Pass | |
1705 back_val to min_max_choose. | |
1706 (simplify_minmaxloc_to_nodim): Likewise. | |
1707 (simplify_minmaxloc_to_array): Likewise. | |
1708 (gfc_simplify_minmaxloc): Add argument back, handle it. | |
1709 Pass back_val to specific simplification functions. | |
1710 (gfc_simplify_minloc): Remove ATTRIBUTE_UNUSED from argument back, | |
1711 pass it on to gfc_simplify_minmaxloc. | |
1712 (gfc_simplify_maxloc): Likewise. | |
1713 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Adjust | |
1714 comment. If BACK is true, use greater or equal (or lesser or | |
1715 equal) insteal of greater (or lesser). Mark the condition of | |
1716 having found a value which exceeds the limit as unlikely. | |
1717 | |
1718 2018-05-07 Jeff Law <law@redhat.comg> | |
1719 | |
1720 * scanner.c (preprocessor_line): Call linemap_add after a line | |
1721 directive that changes the current filename. | |
1722 | |
1723 2018-05-06 Andre Vehreschild <vehre@gcc.gnu.org> | |
1724 | |
1725 PR fortran/85507 | |
1726 * dependency.c (gfc_dep_resolver): Revert looking at coarray dimension | |
1727 introduced by r259385. | |
1728 * trans-intrinsic.c (conv_caf_send): Always report a dependency for | |
1729 same variables in coarray assignments. | |
1730 | |
1731 2018-05-02 Tom de Vries <tom@codesourcery.com> | |
1732 | |
1733 PR libgomp/82428 | |
1734 * f95-lang.c (DEF_GOACC_BUILTIN_ONLY): Define. | |
1735 | |
1736 2018-04-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
1737 | |
1738 PR fortran/85520 | |
1739 * decl.c (gfc_match_char_spec): Check for negative length and set to 0. | |
1740 | |
1741 2018-04-14 Andre Vehreschild <vehre@gcc.gnu.org> | |
1742 | |
1743 PR fortran/81773 | |
1744 PR fortran/83606 | |
1745 * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored | |
1746 during dependency computation. They define no data dependency. | |
1747 * trans-array.c (conv_array_index_offset): The stride can not be set | |
1748 here, prevent fail. | |
1749 * trans-intrinsic.c (conv_caf_send): Add creation of temporary array | |
1750 for caf_get's result and copying to the array with vectorial | |
1751 indexing. | |
1752 | |
1753 2018-04-14 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1754 | |
1755 PR fortran/85387 | |
1756 * frontend-passes.c (traverse_io_block): Check for start, end or | |
1757 stride being defined by an outer implied DO loop. | |
1758 | |
1759 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1760 | |
1761 PR fortran/83064 | |
1762 PR testsuite/85346 | |
1763 * trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind | |
1764 for annotation and remove dependence on -ftree-parallelize-loops. | |
1765 | |
1766 2018-04-10 Jakub Jelinek <jakub@redhat.com> | |
1767 | |
1768 PR fortran/85313 | |
1769 * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;. | |
1770 (resolve_oacc_nested_loops): Likewise. Formatting fix. | |
1771 | |
1772 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1773 | |
1774 PR fortran/83064 | |
1775 * trans-stmt.c (gfc_trans_forall_loop): Remove annotation for | |
1776 parallell processing of DO CONCURRENT -ftree-parallelize-loops | |
1777 is set. | |
1778 | |
1779 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1780 | |
1781 PR fortran/51260 | |
1782 * resolve.c (resolve_variable): Simplify cases where access to a | |
1783 parameter array results in a single constant. | |
1784 | |
1785 2018-04-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1786 | |
1787 PR fortran/85102 | |
1788 * decl.c (variable_decl): If upper or lower bounds simplify | |
1789 to a constant, use that. | |
1790 | |
1791 2018-03-30 Paul Thomas <pault@gcc.gnu.org> | |
1792 | |
1793 PR fortran/84931 | |
1794 * simplify.c (gfc_convert_constant): Handle case of array | |
1795 constructors within an array that has no iterator and improve | |
1796 the conciseness of this section of code. | |
1797 | |
1798 2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1799 | |
1800 PR fortran/85111 | |
1801 * array.c (gfc_resolve_character_array_constructor): Early | |
1802 exit for zero-size arrays. | |
1803 * simplify.c (simplify_transformation_to_array): Exit early | |
1804 if the result size is zero. | |
1805 (simplify_minmaxloc_to_array): Likewise. | |
1806 | |
1807 2018-03-28 Mikael Morin <mikael@gcc.gnu.org> | |
1808 | |
1809 PR fortran/69497 | |
1810 * symbol.c (gfc_symbol_done_2): Start freeing namespaces | |
1811 from the root. | |
1812 (gfc_free_namespace): Restore assert (revert r258839). | |
1813 | |
1814 2018-03-28 Jakub Jelinek <jakub@redhat.com> | |
1815 | |
1816 * gfortran.h (gfc_dt): Rename default_exp field to dec_ext. | |
1817 * ioparm.def (IOPARM_dt_default_exp): Rename to ... | |
1818 (IOPARM_dt_dec_ext): ... this. | |
1819 * trans-io.c (build_dt): Adjust for default_exp renaming to | |
1820 dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext. | |
1821 * io.c (match_io): Likewise. | |
1822 | |
1823 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1824 | |
1825 PR fortran/85084 | |
1826 * frontend-passes.c (gfc_run_passes): Do not run front-end | |
1827 optimizations if a previous error occurred. | |
1828 | |
1829 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1830 Harald Anlauf <anlauf@gmx.de> | |
1831 | |
1832 PR fortran/85083 | |
1833 * primary.c (gfc_convert_to_structure_constructor): Check | |
1834 conformance of argument types in structure constructor. | |
1835 | |
1836 2018-03-26 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1837 | |
1838 PR fortran/66709 | |
1839 * io.c: Include constructor.h. | |
1840 (resolve_tag_format): For a constant character array, concatenate | |
1841 into a single character expression. | |
1842 | |
1843 2018-03-25 Seth Johnson <johnsonsr@ornl.gov> | |
1844 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
1845 | |
1846 PR fortran/84924 | |
1847 * check.c (gfc_check_c_f_pointer): Allow scalar noninteroperable | |
1848 scalar derived type with -std=f2003 and -std=f2008. | |
1849 | |
1850 2018-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
1851 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
1852 | |
1853 PR fortran/69497 | |
1854 * symbol.c (gfc_free_namespace): Delete the assert and only if | |
1855 refs count is equals zero, free the namespace. Otherwise, | |
1856 something is halfway and other errors will resound. | |
1857 | |
1858 2018-03-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1859 | |
1860 PR fortran/70068 | |
1861 * expr.c (find_substring_ref): Change types of start, end | |
1862 and length variables to gfc_charlen_t. Set length to zero | |
1863 for empty substring. | |
1864 | |
1865 2018-03-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
1866 | |
1867 PR fortran/42651 | |
1868 * decl.c (check_function_name): Improved error message | |
1869 (gfc_match_volatile, gfc_match_asynchronous) Use check_function_name. | |
1870 | |
1871 2018-03-22 Steven G. Kargl <kargl@gcc.gnu.org> | |
1872 | |
1873 PR fortran/84922 | |
1874 * decl.c (get_proc_name): If the MODULE prefix appears in interface | |
1875 body, then it must appear on the contained subroutine or function. | |
1876 While here, fix nearby mis-indented code. | |
1877 | |
1878 2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1879 Harald Anlauf <anlauf@gmx.de> | |
1880 | |
1881 PR fortran/84957 | |
1882 * trans-types.c (gfc_sym_type): Do not dereference NULL pointer. | |
1883 | |
1884 2018-03-21 Janne Blomqvist <jb@gcc.gnu.org> | |
1885 | |
1886 PR fortran/84615 | |
1887 * trans-expr.c (gfc_conv_procedure_call): Convert charlen to | |
1888 gfc_charlen_type_node when calling procedure. | |
1889 | |
1890 2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org> | |
1891 | |
1892 PR fortran/85001 | |
1893 * interface.c (symbol_rank): Remove bogus null pointer check that | |
1894 crept in when translating a ternary operator into an if-else | |
1895 constructor. | |
1896 | |
1897 2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1898 | |
1899 PR fortran/84931 | |
1900 * simplify.c (gfc_convert_constant): Correctly handle iterators | |
1901 for type conversion. | |
1902 | |
1903 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> | |
1904 | |
1905 PR fortran/77414 | |
1906 * decl.c (get_proc_name): Check for a subroutine re-defined in | |
1907 the contain portion of a subroutine. Change language of existing | |
1908 error message to better describe the issue. While here fix whitespace | |
1909 issues. | |
1910 | |
1911 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> | |
1912 | |
1913 PR fortran/65453 | |
1914 * decl.c (get_proc_name): Catch clash between a procedure statement | |
1915 and a contained subprogram | |
1916 | |
1917 2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org> | |
1918 | |
1919 PR fortran/69395 | |
1920 * decl.c (merge_array_spec): Correct the error condition. | |
1921 | |
1922 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
1923 | |
1924 PR fortran/78741 | |
1925 * decl.c (get_proc_name): Check for clash of entry name with | |
1926 subroutine name. | |
1927 | |
1928 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
1929 | |
1930 PR fortran/69395 | |
1931 * decl.c (merge_array_spec): Limit the merging to maximum allowed | |
1932 dimensions, and issue error message if limit is exceeded. | |
1933 | |
1934 2018-03-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
1935 | |
1936 * check.c (gfc_check_kill_sub): Remove check for INTEGER(4) or (8). | |
1937 * intrinsic.c (add_functions): Remove reference to gfc_resolve_kill. | |
1938 (add_subroutines): Remove reference to gfc_resolve_kill_sub. | |
1939 * intrinsic.texi: Update documentation. | |
1940 * iresolve.c (gfc_resolve_kill, gfc_resolve_kill_sub): Remove. | |
1941 * trans-decl.c (gfc_build_intrinsic_function_decls): Add | |
1942 gfor_fndecl_kill and gfor_fndecl_kill_sub | |
1943 * trans-intrinsic.c (conv_intrinsic_kill, conv_intrinsic_kill_sub): new | |
1944 functions. | |
1945 (gfc_conv_intrinsic_function): Use conv_intrinsic_kill. | |
1946 (gfc_conv_intrinsic_subroutine): Use conv_intrinsic_kill_sub. | |
1947 * trans.h: Declare gfor_fndecl_kill and gfor_fndecl_kill_sub. | |
1948 | |
1949 2018-03-11 Paul Thomas <pault@gcc.gnu.org> | |
1950 | |
1951 PR fortran/84546 | |
1952 * trans-array.c (structure_alloc_comps): Make sure that the | |
1953 vptr is copied and that the unlimited polymorphic _len is used | |
1954 to compute the size to be allocated. | |
1955 * trans-expr.c (gfc_get_class_array_ref): If unlimited, use the | |
1956 unlimited polymorphic _len for the offset to the element. | |
1957 (gfc_copy_class_to_class): Set the new 'unlimited' argument. | |
1958 * trans.h : Add the boolean 'unlimited' to the prototype. | |
1959 | |
1960 2018-03-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
1961 | |
1962 PR fortran/83939 | |
1963 * resolve.c (resolve_fl_procedure): Enforce F2018:C15100. | |
1964 | |
1965 2018-03-11 Steven G. Kargl <kargls@gcc.gnu.org> | |
1966 | |
1967 * check.c (gfc_check_kill): Check pid and sig are scalar. | |
1968 (gfc_check_kill_sub): Restrict kind to 4 and 8. | |
1969 * intrinsic.c (add_function): Sort keyword list. Add pid and sig | |
1970 keywords for KILL. Remove redundant *back="back" in favor of the | |
1971 original *bck="back". | |
1972 (add_subroutines): Sort keyword list. Add pid and sig keywords | |
1973 for KILL. | |
1974 * intrinsic.texi: Fix documentation to consistently use pid and sig. | |
1975 * iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8. Choose the | |
1976 correct function. | |
1977 (gfc_resolve_rename_sub): Add comment. | |
1978 | |
1979 2018-03-11 Thomas Koenig <tkoenig@gcc.gnu.org> | |
1980 | |
1981 PR fortran/66128 | |
1982 * simplify.c (simplify_transformation): Return default result for | |
1983 empty array argument. | |
1984 (gfc_simplify_all): Remove special-case handling for zerosize. | |
1985 (gfc_simplify_any): Likewise. | |
1986 (gfc_simplify_count): Likewise. | |
1987 (gfc_simplify_iall): Likewise. | |
1988 (gfc_simplify_iany): Likewise. | |
1989 (gfc_simplify_iparity): Likewise. | |
1990 (gfc_simplify_minval): Likewise. | |
1991 (gfc_simplify_maxval): Likewise. | |
1992 (gfc_simplify_norm2): Likewise. | |
1993 (gfc_simplify_product): Likewise. | |
1994 (gfc_simplify_sum): Likewise. | |
1995 | |
1996 2018-03-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
1997 | |
1998 PR fortran/84734 | |
1999 * arith.c (check_result, eval_intrinsic): If result overflows, pass | |
2000 the expression up the chain instead of a NULL pointer. | |
2001 | |
2002 2018-03-07 Steven G. Kargl <kargl@gcc.gnu.org> | |
2003 | |
2004 PR fortran/64124 | |
2005 PR fortran/70409 | |
2006 * decl.c (gfc_match_char_spec): Try to reduce a charlen to a constant. | |
2007 | |
2008 2017-03-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2009 | |
2010 PR fortran/84697 | |
2011 PR fortran/66128 | |
2012 * expr.c (simplify_parameter_variable): If p is a size zero array | |
2013 and not an ARRAY_EXPR insert an empty array constructor and | |
2014 return. | |
2015 * gfortran.h: Add prototype for gfc_is_size_zero_array. | |
2016 * simplify.c (is_size_zero_array): Make non-static and rename into | |
2017 (gfc_is_size_zero_array): Check for parameter arrays of zero | |
2018 size by comparing shape and absence of constructor. | |
2019 (gfc_simplify_all): Use gfc_is_size_zero_array instead of | |
2020 is_size_zero_array. | |
2021 (gfc_simplify_count): Likewise. | |
2022 (gfc_simplify_iall): Likewise. | |
2023 (gfc_simplify_iany): Likewise. | |
2024 (gfc_simplify_iparity): Likewise. | |
2025 (gfc_simplify_minval): Likewise. | |
2026 (gfc_simplify_maxval): Likewise. | |
2027 (gfc_simplify_product): Likewise. | |
2028 (gfc_simplify_sum): Likewise. | |
2029 | |
2030 2018-03-06 Steven G. Kargl <kargl@gcc.gnu.org> | |
2031 | |
2032 PR fortran/56667 | |
2033 * primary.c (match_sym_complex_part): Give the matcher for an implied | |
2034 do-loop a chance to run. | |
2035 | |
2036 2018-03-03 Harald Anlauf <anlauf@gmx.de> | |
2037 | |
2038 PR fortran/71085 | |
2039 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not | |
2040 dereference NULL pointer. | |
2041 | |
2042 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org> | |
2043 | |
2044 PR fortran/66128 | |
2045 * simplify.c (is_size_zero_array): New function to check for size | |
2046 zero array. | |
2047 (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count, | |
2048 gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity, | |
2049 gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2, | |
2050 gfc_simplify_product, gfc_simplify_sum): Use it, and implement | |
2051 requirements from F2018. | |
2052 | |
2053 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org> | |
2054 | |
2055 PR fortran/51434 | |
2056 * simplify.c (gfc_simplify_transfer): Resolve mold. | |
2057 | |
2058 2018-03-03 Paul Thomas <pault@gcc.gnu.org> | |
2059 | |
2060 PR fortran/80965 | |
2061 * resolve.c (build_loc_call): Change symtree name from 'loc' to | |
2062 '_loc'. | |
2063 | |
2064 2018-03-01 Paul Thomas <pault@gcc.gnu.org> | |
2065 | |
2066 PR fortran/84219 | |
2067 * target-memory.c (gfc_interpret_derived): Assert that BT_VOID | |
2068 components are caf tokens. | |
2069 (gfc_target_interpret_expr): Treat BT_VOID expressions as | |
2070 integers. | |
2071 | |
2072 2018-03-01 Paul Thomas <pault@gcc.gnu.org> | |
2073 | |
2074 PR fortran/84538 | |
2075 * class.c (class_array_ref_detected): Remove the condition that | |
2076 there be no reference after the array reference. | |
2077 (find_intrinsic_vtab): Remove excess whitespace. | |
2078 * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp' | |
2079 as 'base and call build_class_array_ref earlier. | |
2080 | |
2081 2018-02-28 Paul Thomas <pault@gcc.gnu.org> | |
2082 | |
2083 PR fortran/83901 | |
2084 * trans-stmt.c (trans_associate_var): Make sure that the se | |
2085 expression is a pointer type before converting it to the symbol | |
2086 backend_decl type. | |
2087 | |
2088 2018-02-25 Steven G. Kargl <kargl@gcc.gnu.org> | |
2089 | |
2090 PR fortran/83633 | |
2091 * decl.c (variable_decl): Check that an explicit-shape-array with | |
2092 nonconstant bounds is allowed. | |
2093 | |
2094 2018-02-25 Paul Thomas <pault@gcc.gnu.org> | |
2095 | |
2096 PR fortran/84523 | |
2097 * trans-intrinsic.c (gfc_conv_allocated): If the argument se | |
2098 has a pre block, add it to the expression pre block. | |
2099 | |
2100 2018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2101 | |
2102 PR fortran/78238 | |
2103 * gfortran.h (gfc_integer_4_kind): Define. | |
2104 * resolve.c (resolve_select_type): Make sure that the | |
2105 kind of c->high is gfc_integer_4_kind. | |
2106 | |
2107 2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
2108 | |
2109 PR fortran/30792 | |
2110 * decl.c (gfc_match_data): Check for invalid substring in | |
2111 data-implied-do | |
2112 | |
2113 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
2114 | |
2115 * intrinsic.texi: Arguments to MATMUL cannot both be rank one. | |
2116 | |
2117 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
2118 | |
2119 PR fortran/84511 | |
2120 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement. | |
2121 | |
2122 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
2123 | |
2124 PR fortran/84346 | |
2125 * interface.c (compare_actual_formal): Issue error if keyword is | |
2126 used in a statement function. | |
2127 | |
2128 2018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
2129 | |
2130 PR fortran/84506 | |
2131 * trans-io.c (set_parameter_value_inquire): Adjust range check of | |
2132 negative unit values for kind=8 units to the kind=4 negative limit. | |
2133 | |
2134 2018-02-23 Paul Thomas <pault@gcc.gnu.org> | |
2135 | |
2136 PR fortran/83149 | |
2137 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before | |
2138 accessing its components. | |
2139 | |
2140 2018-02-23 Paul Thomas <pault@gcc.gnu.org> | |
2141 | |
2142 PR fortran/83149 | |
2143 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name | |
2144 before accessing its components. | |
2145 | |
2146 2018-02-23 Paul Thomas <pault@gcc.gnu.org> | |
2147 | |
2148 PR fortran/83148 | |
2149 * trans-const.c : Clean up some whitespace issues. | |
2150 * trans-expr.c (gfc_conv_initializer): If an iso_c_binding | |
2151 derived type has a kind value of zero, set it to the default | |
2152 integer kind. | |
2153 | |
2154 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org> | |
2155 | |
2156 PR fortran/84519 | |
2157 * trans-decl.c (gfc_build_builtin_function_decls): Add bool | |
2158 argument to stop and error stop decls. | |
2159 * trans-stmt.c (gfc_trans_stop): Add false value to argument | |
2160 lists. | |
2161 | |
2162 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org> | |
2163 | |
2164 PR 78534 | |
2165 PR 84509 | |
2166 * trans-decl.c (gfc_build_builtin_function_decls): Pass | |
2167 gfc_int8_type node to pause_numeric, size_type_node to | |
2168 pause_string. | |
2169 * trans-stmt.c (gfc_trans_pause): Likewise. | |
2170 | |
2171 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org> | |
2172 | |
2173 * gfortran.texi: Update Coarray API description. | |
2174 * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for | |
2175 character lengths, int for exit codes. | |
2176 (generate_coarray_sym_init): Use size_t for character length. | |
2177 * trans-intrinsic.c (conv_co_collective): Likewise. | |
2178 * trans-stmt.c (gfc_trans_lock_unlock): Likewise. | |
2179 (gfc_trans_event_post_wait): Likewise. | |
2180 (gfc_trans_sync): Likewise. | |
2181 (gfc_trans_stop): Use size_t for character lengths, int for exit | |
2182 codes. | |
2183 | |
2184 2018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2185 | |
2186 PR fortran/48890 | |
2187 PR fortran/83823 | |
2188 * primary.c (gfc_convert_to_structure_constructor): | |
2189 For a constant string constructor, make sure the length | |
2190 is correct. | |
2191 | |
2192 2018-02-19 Paul Thomas <pault@gcc.gnu.org> | |
2193 | |
2194 PR fortran/83344 | |
2195 PR fortran/83975 | |
2196 * resolve.c (resolve_assoc_var): Rearrange the logic for the | |
2197 determination of the character length of associate names. If | |
2198 the associate name is missing a length expression or the length | |
2199 expression is not a constant and the target is not a variable, | |
2200 make the associate name allocatable and deferred length. | |
2201 * trans-decl.c (gfc_get_symbol_decl): Null the character length | |
2202 backend_decl for deferred length associate names that are not | |
2203 variables. Set 'length' to gfc_index_zero_node for character | |
2204 associate names, whose character length is a PARM_DECL. | |
2205 | |
2206 2018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2207 | |
2208 PR fortran/35339 | |
2209 * frontend-passes.c (traverse_io_block): Remove workaround for | |
2210 PR 80945. | |
2211 | |
2212 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org> | |
2213 | |
2214 * gfortran.texi: Document additional src/dst_type. Fix some typos. | |
2215 * trans-decl.c (gfc_build_builtin_function_decls): Declare the new | |
2216 argument of _caf_*_by_ref () with * e { get, send, sendget }. | |
2217 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the | |
2218 data referenced when generating a call to caf_get_by_ref (). | |
2219 (conv_caf_send): Same but for caf_send_by_ref () and | |
2220 caf_sendget_by_ref (). | |
2221 | |
2222 2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
2223 | |
2224 PR fortran/84389 | |
2225 * io.c (check_format): Allow FMT_COLON. | |
2226 | |
2227 2018-02-18 Paul Thomas <pault@gcc.gnu.org> | |
2228 | |
2229 PR fortran/80945 | |
2230 * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from | |
2231 the typenode in the case of deferred length characters. | |
2232 | |
2233 2018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2234 | |
2235 PR fortran/84270 | |
2236 * frontend-passes (scalarized_expr): If the expression | |
2237 is an assumed size array, leave in the last reference | |
2238 and pass AR_SECTION instead of AR_FULL to gfc_resolve | |
2239 in order to avoid an error. | |
2240 | |
2241 2018-02-17 Paul Thomas <pault@gcc.gnu.org> | |
2242 | |
2243 PR fortran/84115 | |
2244 * resolve.c (resolve_assoc_var): If a non-constant target expr. | |
2245 has no string length expression, make the associate variable | |
2246 into a deferred length, allocatable symbol. | |
2247 * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to | |
2248 the symbol. | |
2249 * trans-stmt.c (trans_associate_var): Null and free scalar | |
2250 associate names that are allocatable. After assignment, remove | |
2251 the allocatable attribute to prevent reallocation. | |
2252 | |
2253 2018-02-16 Jakub Jelinek <jakub@redhat.com> | |
2254 | |
2255 PR fortran/84418 | |
2256 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF | |
2257 kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step. | |
2258 | |
2259 2018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
2260 | |
2261 PR fortran/84354 | |
2262 * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs. | |
2263 | |
2264 2018-02-15 Janus Weil <janus@gcc.gnu.org> | |
2265 | |
2266 PR fortran/84409 | |
2267 * interface.c (check_dtio_arg_TKR_intent): Add a check for character | |
2268 length. | |
2269 | |
2270 2018-02-14 Janus Weil <janus@gcc.gnu.org> | |
2271 | |
2272 PR fortran/84385 | |
2273 * match.c (gfc_match_select_type): Fix check for selector in | |
2274 SELECT TYPE statement. | |
2275 | |
2276 2018-02-13 Janus Weil <janus@gcc.gnu.org> | |
2277 | |
2278 PR fortran/84313 | |
2279 * symbol.c (check_conflict): Reject procedure pointers in common blocks. | |
2280 | |
2281 2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie> | |
2282 Janne Blomqvist <jb@gcc.gnu.org> | |
2283 | |
2284 * module.c (dump_module): Use lbasename to ensure that module | |
2285 files are reproducible. | |
2286 | |
2287 2018-02-12 Janus Weil <janus@gcc.gnu.org> | |
2288 | |
2289 PR fortran/84273 | |
2290 * resolve.c (resolve_component): Fix checks of passed argument in | |
2291 procedure-pointer components. | |
2292 | |
2293 2018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
2294 | |
2295 PR fortran/35299 | |
2296 * resolve.c (resolve_formal_arglist): Update error message. | |
2297 | |
2298 2018-02-11 Andre Vehreschild <vehre@gcc.gnu.org> | |
2299 | |
2300 * gfortran.texi: Fix typos in documentation of caf_register (). | |
2301 * trans-array.c (structure_alloc_comps): Only register a component of | |
2302 a derived typed corray, not of an ultimate component coarray. | |
2303 | |
2304 2018-02-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
2305 | |
2306 PR fortran/54223 | |
2307 PR fortran/84276 | |
2308 * interface.c (compare_actual_formal): Add in_statement_function | |
2309 bool parameter. Skip check of INTENT attribute for statement | |
2310 functions. Arguments to a statement function cannot be optional, | |
2311 issue error for missing argument. | |
2312 (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use | |
2313 in_statement_function. | |
2314 | |
2315 2018-02-11 Paul Thomas <pault@gcc.gnu.org> | |
2316 | |
2317 PR fortran/84074 | |
2318 * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset | |
2319 flag. If the is a vector subscript or the expression is not a | |
2320 variable, make the descriptor one-based. | |
2321 | |
2322 2018-02-10 Paul Thomas <pault@gcc.gnu.org> | |
2323 | |
2324 PR fortran/84141 | |
2325 PR fortran/84155 | |
2326 * trans-array.c (gfc_array_init_size): Revert the change made | |
2327 in revision 257356 setting the dtype. | |
2328 * trans-types.c (gfc_get_dtype): Do not use the cached dtype. | |
2329 Call gfc_get_dtype_rank_type every time. | |
2330 | |
2331 PR fortran/56691 | |
2332 * trans-array.c (gfc_conv_expr_descriptor): If the source array | |
2333 is a descriptor type, use its offset, removing the condition | |
2334 that is be a class expression. | |
2335 | |
2336 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org> | |
2337 | |
2338 PR fortran/82994 | |
2339 * match.c (gfc_match_deallocate): Check for NULL pointer. | |
2340 | |
2341 2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2342 | |
2343 PR fortran/68560 | |
2344 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function. | |
2345 (gfc_conv_intrinsic_function): Call it. | |
2346 | |
2347 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org> | |
2348 | |
2349 PR fortran/82049 | |
2350 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then | |
2351 try to resolve it. While here return early if possible. | |
2352 | |
2353 2018-02-04 Paul Thomas <pault@gcc.gnu.org> | |
2354 | |
2355 PR fortran/84115 | |
2356 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of | |
2357 'length' if the symbol charlen backend_decl is an indirect ref. | |
2358 | |
2359 2018-02-03 Paul Thomas <pault@gcc.gnu.org> | |
2360 | |
2361 PR fortran/84141 | |
2362 PR fortran/84155 | |
2363 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype | |
2364 use gfc_get_dtype_rank_type. | |
2365 | |
2366 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org> | |
2367 | |
2368 PR 83975 | |
2369 PR 83344 | |
2370 * resolve.c (resolve_assoc_var): Generate an error if | |
2371 target length unknown. | |
2372 | |
2373 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org> | |
2374 | |
2375 PR fortran/83705 | |
2376 * simplify.c (gfc_simplify_repeat): Increase limit for deferring | |
2377 to runtime, print a warning message. | |
2378 | |
2379 2018-01-31 Jakub Jelinek <jakub@redhat.com> | |
2380 | |
2381 PR fortran/84116 | |
2382 * openmp.c (gfc_match_omp_clauses): If all the linear | |
2383 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist | |
2384 nor set *head = NULL. Formatting fixes. | |
2385 | |
2386 2018-01-31 Paul Thomas <pault@gcc.gnu.org> | |
2387 | |
2388 PR fortran/84088 | |
2389 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is | |
2390 an address expression passed to an assumed rank dummy, convert | |
2391 to an indirect reference. | |
2392 | |
2393 2018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2394 | |
2395 * dump-parse-tree.c (write_proc): Use sym_name (which may | |
2396 be sym->binding_label) instead of sym->name. | |
2397 | |
2398 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org> | |
2399 | |
2400 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead | |
2401 of int for slen. | |
2402 | |
2403 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org> | |
2404 | |
2405 PR fortran/78534 | |
2406 * trans-expr.c (fill_with_spaces): Use memset instead of | |
2407 generating loop. | |
2408 (gfc_trans_string_copy): Improve opportunity to use builtins with | |
2409 constant lengths. | |
2410 | |
2411 2018-01-30 Jakub Jelinek <jakub@redhat.com> | |
2412 | |
2413 PR debug/84131 | |
2414 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off | |
2415 to DATA_FIELD's offset rather than OFFSET_FIELD's offset. | |
2416 | |
2417 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2418 | |
2419 PR fortran/84134 | |
2420 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is | |
2421 zero, return false. | |
2422 | |
2423 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2424 | |
2425 PR fortran/84133 | |
2426 * frontend-passes (matmul_to_var_expr): Return early if | |
2427 in association list. | |
2428 (inline_matmul_assign): Likewise. | |
2429 | |
2430 2017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2431 | |
2432 PR fortran/84073 | |
2433 * resolve.c (resolve_component): Ensure BIND(C) character | |
2434 components have length one. | |
2435 (resolve_symbol): Likewise for variables. | |
2436 | |
2437 2018-01-27 Jakub Jelinek <jakub@redhat.com> | |
2438 | |
2439 PR fortran/84065 | |
2440 * decl.c (add_init_expr_to_sym): Ignore initializers for too large | |
2441 lengths. | |
2442 | |
2443 2018-01-26 Damian Rouson <damian@sourceryinstitute.org> | |
2444 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> | |
2445 Soren Rasmussen <s.c.rasmussen@gmail.com> | |
2446 | |
2447 Partial support for Fortran 2018 teams features. | |
2448 | |
2449 * array.c (gfc_match_array_ref): add team attribute in coarray | |
2450 transfers. | |
2451 * check.c (gfc_check_get_team, gfc_check_team_number): add new | |
2452 functions for get_team and team_number. | |
2453 * dump-parse-tree.c (show_code_node): add new statements: form team, | |
2454 change team, end team, and sync team. | |
2455 * expr.c (gfc_find_team_co): add new function. | |
2456 * gfortran.h: add new statements. | |
2457 * intrinsic.c (add_functions): add get_team and team_number functions. | |
2458 * intrinsic.h: add get_team and team_number prototypes for check, | |
2459 simplify, and resolve. | |
2460 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new | |
2461 functions. | |
2462 * iso-fortran-env.def: add the team_type derived type. | |
2463 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number) | |
2464 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team): | |
2465 add change team, end team, form team, sync team match and functions. | |
2466 * match.h: add new prototypes for change team, end team, form team, | |
2467 and sync team. | |
2468 * parse.c (decode_statement): add cases for change team, end team, | |
2469 form team, and sync team. | |
2470 * resolve.c: add cases for exec form team, change team, end team, and | |
2471 sync team. | |
2472 * simplify.c (gfc_simplify_get_team): add new function for get team. | |
2473 * st.c (gfc_free_statement): add cases exec for change team, end team, | |
2474 form team, sync team. | |
2475 * trans-decl.c (gfor_fndecl_caf_form_team) | |
2476 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team) | |
2477 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team) | |
2478 (gfor_fndecl_caf_team_number): add functions and definitions. | |
2479 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add | |
2480 new function and team_type argument support. | |
2481 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team) | |
2482 (gfc_trans_end_team, gfc_trans_sync_team): add new functions. | |
2483 * trans-stmt.h: add new prototypes. | |
2484 * trans-types.c (gfc_get_derived_type): check condition for team_type. | |
2485 * trans.c (trans_code): new exec cases for form team, change team, end | |
2486 team, and sync team. | |
2487 * trans.h: add new prototypes. | |
2488 | |
2489 2018-01-26 Steven G. Kargl <kargl@gcc.gnu.org> | |
2490 | |
2491 PR fortran/83998 | |
2492 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0 | |
2493 or .false. The summation does the correct type conversion. | |
2494 (gfc_simplify_dot_product): Special case zero-sized arrays. | |
2495 | |
2496 2018-25-01 Paul Thomas <pault@gcc.gnu.org> | |
2497 | |
2498 PR fortran/37577 | |
2499 * array.c (gfc_match_array_ref): If standard earlier than F2008 | |
2500 it is an error if the reference dimension is greater than 7. | |
2501 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the | |
2502 dtype masks and shifts accordingly. | |
2503 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype | |
2504 type node to check the field. | |
2505 (gfc_conv_descriptor_dtype): Access the rank field of dtype. | |
2506 (duplicate_allocatable_coarray): Access the rank field of the | |
2507 dtype descriptor rather than the dtype itself. | |
2508 * trans-expr.c (get_scalar_to_descriptor_type): Store the type | |
2509 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE | |
2510 (ie. a character). | |
2511 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to | |
2512 get_scalar_to_descriptor_type if the actual expression is a | |
2513 constant. | |
2514 (gfc_trans_structure_assign): Assign the rank directly to the | |
2515 dtype rank field. | |
2516 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result | |
2517 to default integer kind. | |
2518 (gfc_conv_intrinsic_sizeof): Obtain the element size from the | |
2519 'elem_len' field of the dtype. | |
2520 * trans-io.c (gfc_build_io_library_fndecls): Replace | |
2521 gfc_int4_type_node with dtype_type_node where necessary. | |
2522 (transfer_namelist_element): Use gfc_get_dtype_rank_type for | |
2523 scalars. | |
2524 * trans-types.c : Provide 'get_dtype_type_node' to acces the | |
2525 dtype_type_node and, if necessary, build it. | |
2526 The maximum size of an array element is now determined by the | |
2527 maximum value of size_t. | |
2528 Update the description of the array descriptor, including the | |
2529 type def for the dtype_type. | |
2530 (gfc_get_dtype_rank_type): Build a constructor for the dtype. | |
2531 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS. | |
2532 (gfc_get_array_descriptor_base): Change the type of the dtype | |
2533 field to dtype_type_node. | |
2534 (gfc_get_array_descr_info): Get the offset to the rank field of | |
2535 the dtype. | |
2536 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'. | |
2537 * trans.h : Define the indices of the dtype fields. | |
2538 | |
2539 2018-23-01 Paul Thomas <pault@gcc.gnu.org> | |
2540 | |
2541 PR fortran/83866 | |
2542 * decl.c (gfc_match_derived_decl): If eos not matched, recover | |
2543 and emit error about garbage after declaration. | |
2544 | |
2545 2018-23-01 Paul Thomas <pault@gcc.gnu.org> | |
2546 | |
2547 PR fortran/83898 | |
2548 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor | |
2549 for characters. | |
2550 | |
2551 2018-01-22 Janne Blomqvist <jb@gcc.gnu.org> | |
2552 | |
2553 PR 78534 | |
2554 PR 83704 | |
2555 * arith.c (gfc_arith_concat): Use size_t for string length. | |
2556 (gfc_compare_string): Likewise. | |
2557 (gfc_compare_with_Cstring): Likewise. | |
2558 * array.c (gfc_resolve_character_array_constructor): Use | |
2559 HOST_WIDE_INT, gfc_mpz_get_hwi. | |
2560 * check.c (gfc_check_fe_runtime_error): Use size_t. | |
2561 * data.c (create_character_initializer): Use HOST_WIDE_INT, | |
2562 gfc_extract_hwi. | |
2563 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t. | |
2564 (add_init_expr_to_sym): Use HOST_WIDE_INT. | |
2565 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT, | |
2566 gfc_extract_hwi. | |
2567 (gfc_apply_init): Likewise. | |
2568 * match.h (gfc_set_constant_character_len): Update prototype. | |
2569 * primary.c (match_string_constant): Use size_t. | |
2570 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT, | |
2571 gfc_mpz_get_hwi. | |
2572 * simplify.c (init_result_expr): Likewise. | |
2573 (gfc_simplify_len_trim): Use size_t. | |
2574 * target-memory.c (gfc_encode_character): Use size_t. | |
2575 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi. | |
2576 (interpret_array): Use size_t. | |
2577 (gfc_interpret_character): Likewise. | |
2578 * target-memory.h (gfc_encode_character): Update prototype. | |
2579 (gfc_interpret_character): Likewise. | |
2580 (gfc_target_interpret_expr): Likewise. | |
2581 * trans-const.c (gfc_build_string_const): Use size_t for length | |
2582 argument. | |
2583 (gfc_build_wide_string_const): Likewise. | |
2584 * trans-const.h (gfc_build_string_const): Likewise. | |
2585 (gfc_build_wide_string_const): Likewise. | |
2586 | |
2587 2018-01-20 Steven G. Kargl <kargl@gcc.gnu.org> | |
2588 | |
2589 PR fortran/83900 | |
2590 * simplify.c (gfc_simplify_matmul): Set return type correctly. | |
2591 | |
2592 2018-01-19 Steven G. Kargl <kargl@gcc.gnu.org> | |
2593 | |
2594 PR fortran/83900 | |
2595 * simplify.c (gfc_simplify_matmul): Delete bogus assertion. | |
2596 | |
2597 2018-01-17 Harald Anlauf <anlauf@gmx.de> | |
2598 | |
2599 PR fortran/83864 | |
2600 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer. | |
2601 | |
2602 2018-01-17 Harald Anlauf <anlauf@gmx.de> | |
2603 | |
2604 PR fortran/83874 | |
2605 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer. | |
2606 | |
2607 2018-01-15 Louis Krupp <louis.krupp@zoho.com> | |
2608 | |
2609 PR fortran/82257 | |
2610 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA | |
2611 from symbol marked unlimited polymorphic. | |
2612 * resolve.c (resolve_structure_cons): Likewise. | |
2613 * misc.c (gfc_typename): Don't dereference derived->components | |
2614 if it's NULL. | |
2615 | |
2616 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2617 | |
2618 PR fortran/54613 | |
2619 * gfortran.h (gfc_check_f): Rename f4ml to f5ml. | |
2620 (gfc_logical_4_kind): New macro | |
2621 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument. | |
2622 (gfc_simplify_maxloc): Likewise. | |
2623 (gfc_resolve_maxloc): Likewise. | |
2624 (gfc_resolve_minloc): Likewise. | |
2625 * check.c (gfc_check_minloc_maxloc): Add checking for "back" | |
2626 argument; also raise error if it is used (for now). Add it | |
2627 if it isn't present. | |
2628 * intrinsic.c (add_sym_4ml): Rename to | |
2629 (add_sym_5ml), adjust for extra argument. | |
2630 (add_functions): Add "back" constant. Adjust maxloc and minloc | |
2631 for back argument. | |
2632 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is | |
2633 not of gfc_logical_4_kind, convert. | |
2634 (gfc_resolve_minloc): Likewise. | |
2635 * simplify.c (gfc_simplify_minloc): Add back argument. | |
2636 (gfc_simplify_maxloc): Likewise. | |
2637 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last | |
2638 argument to %VAL to ensure passing by value. | |
2639 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc | |
2640 also for library calls. | |
2641 | |
2642 2018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
2643 | |
2644 PR fortran/82007 | |
2645 * resolve.c (resolve_transfer): Delete code looking for 'DT' | |
2646 format specifiers in format strings. Set formatted to true if a | |
2647 format string or format label is present. | |
2648 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix | |
2649 whitespace. | |
2650 | |
2651 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2652 | |
2653 PR fortran/83744 | |
2654 * dump-parse-tree.c (get_c_type_name): Remove extra line. | |
2655 Change for loop to use declaration in for loop. Handle BT_LOGICAL | |
2656 and BT_CHARACTER. | |
2657 (write_decl): Add where argument. Fix indentation. Replace | |
2658 assert with error message. Add typename to warning | |
2659 in comment. | |
2660 (write_type): Adjust locus to call of write_decl. | |
2661 (write_variable): Likewise. | |
2662 (write_proc): Likewise. Replace assert with error message. | |
2663 | |
2664 2018-01-13 Paul Thomas <pault@gcc.gnu.org> | |
2665 | |
2666 PR fortran/52162 | |
2667 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if | |
2668 the rhs expression is neither an elemental nor a conversion | |
2669 function. | |
2670 | |
2671 PR fortran/83622 | |
2672 * trans-array.c (is_pointer_array): Remove unconditional return | |
2673 of false for -fopenmp. | |
2674 | |
2675 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2676 <emsr@gcc.gnu.org> | |
2677 | |
2678 PR fortran/83803 | |
2679 * dump-parse-tree.c (write_proc): Always emit closing parenthesis | |
2680 for functions. | |
2681 | |
2682 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
2683 | |
2684 PR fortran/82367 | |
2685 * resolve.c (resolve_allocate_expr): Check for NULL pointer. | |
2686 | |
2687 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
2688 | |
2689 PR fortran/83093 | |
2690 * resolve.c (resolve_charlen): Check the type of cl->length | |
2691 after resolution. | |
2692 | |
2693 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org> | |
2694 | |
2695 PR fortran/83740 | |
2696 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting. | |
2697 | |
2698 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org> | |
2699 | |
2700 PR fortran/83740 | |
2701 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the | |
2702 LHS type when assigning. | |
2703 | |
2704 2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
2705 | |
2706 PR fortran/83742 | |
2707 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer. | |
2708 | |
2709 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
2710 | |
2711 * match.c (gfc_match_allocate): Check for NULL pointer. | |
2712 | |
2713 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
2714 | |
2715 * expr.c (gfc_check_pointer_assign): Fix typo in comment. | |
2716 | |
2717 2018-01-08 Paul Thomas <pault@gcc.gnu.org> | |
2718 | |
2719 PR fortran/83611 | |
2720 * decl.c (gfc_get_pdt_instance): If parameterized arrays have | |
2721 an initializer, convert the kind parameters and add to the | |
2722 component if the instance. | |
2723 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and | |
2724 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable' | |
2725 for parameterized arrays. Clean up typos in comments. Convert | |
2726 parameterized array initializers and copy into the array. | |
2727 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for | |
2728 parameterized types. | |
2729 *trans-stmt.c (trans_associate_var): Deallocate associate vars | |
2730 as necessary, when they are PDT function results for example. | |
2731 | |
2732 PR fortran/83731 | |
2733 * trans-array.c (structure_alloc_comps): Only compare len parms | |
2734 when they are declared explicitly. | |
2735 | |
2736 2018-01-06 Janne Blomqvist <jb@gcc.gnu.org> | |
2737 | |
2738 PR fortran/50892 | |
2739 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to | |
2740 lhs type. | |
2741 | |
2742 2018-01-05 Janne Blomqvist <jb@gcc.gnu.org> | |
2743 | |
2744 PR fortran/78534 | |
2745 PR fortran/66310 | |
2746 * array.c (got_charlen): Use gfc_charlen_int_kind. | |
2747 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of | |
2748 hardcoded kind. | |
2749 (find_intrinsic_vtab): Likewise. | |
2750 * decl.c (match_char_length): Use gfc_charlen_int_kind. | |
2751 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind. | |
2752 (gfc_match_implicit): Use gfc_charlen_int_kind. | |
2753 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t. | |
2754 (show_expr): Use HOST_WIDE_INT_PRINT_DEC. | |
2755 * expr.c (gfc_get_character_expr): Length parameter of type | |
2756 gfc_charlen_t. | |
2757 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT. | |
2758 (gfc_extract_hwi): New function. | |
2759 (simplify_const_ref): Make string_len of type gfc_charlen_t. | |
2760 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs. | |
2761 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind. | |
2762 * gfortran.h (gfc_mpz_get_hwi): New prototype. | |
2763 (gfc_mpz_set_hwi): Likewise. | |
2764 (gfc_charlen_t): New typedef. | |
2765 (gfc_expr): Use gfc_charlen_t for character lengths. | |
2766 (gfc_size_kind): New extern variable. | |
2767 (gfc_extract_hwi): New prototype. | |
2768 (gfc_get_character_expr): Use gfc_charlen_t for character length. | |
2769 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument. | |
2770 * gfortran.texi: Update description of hidden string length argument. | |
2771 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind. | |
2772 (gfc_resolve_char_achar): Likewise. | |
2773 (gfc_resolve_repeat): Pass string length directly without | |
2774 temporary, use gfc_charlen_int_kind. | |
2775 (gfc_resolve_transfer): Use gfc_charlen_int_kind. | |
2776 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen. | |
2777 * misc.c (gfc_mpz_get_hwi): New function. | |
2778 (gfc_mpz_set_hwi): New function. | |
2779 * module.c (atom_int): Change type from int to HOST_WIDE_INT. | |
2780 (parse_integer): Don't complain about large integers. | |
2781 (write_atom): Use HOST_WIDE_INT for integers. | |
2782 (mio_integer): Handle integer type mismatch. | |
2783 (mio_hwi): New function. | |
2784 (mio_intrinsic_op): Use HOST_WIDE_INT. | |
2785 (mio_array_ref): Likewise. | |
2786 (mio_expr): Likewise. | |
2787 * primary.c (match_substring): Use gfc_charlen_int_kind. | |
2788 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind. | |
2789 (resolve_character_operator): Likewise. | |
2790 (resolve_assoc_var): Likewise. | |
2791 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf. | |
2792 (resolve_charlen): Use mpz_sgn to determine sign. | |
2793 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t | |
2794 instead of long. | |
2795 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind. | |
2796 * target-memory.c (size_character): Length argument of type | |
2797 gfc_charlen_t. | |
2798 (gfc_encode_character): Likewise. | |
2799 (gfc_interpret_character): Use gfc_charlen_t. | |
2800 * target-memory.h (gfc_encode_character): Modify prototype. | |
2801 * trans-array.c (gfc_trans_array_ctor_element): Use existing type. | |
2802 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type. | |
2803 (trans_array_constructor): Use existing type. | |
2804 (get_array_charlen): Likewise. | |
2805 * trans-const.c (gfc_conv_mpz_to_tree_type): New function. | |
2806 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype. | |
2807 * trans-decl.c (gfc_trans_deferred_vars): Use existing type. | |
2808 (add_argument_checking): Likewise. | |
2809 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type | |
2810 gfc_charlen_type_node. | |
2811 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of | |
2812 4, fold_convert to correct type. | |
2813 (gfc_conv_class_to_class): Build const of type size_type_node for | |
2814 size. | |
2815 (gfc_copy_class_to_class): Likewise. | |
2816 (gfc_conv_string_length): Use same type in expression. | |
2817 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen. | |
2818 (gfc_conv_string_tmp): Make sure len is of the right type. | |
2819 (gfc_conv_concat_op): Use same type in expression. | |
2820 (gfc_conv_procedure_call): Likewise. | |
2821 (fill_with_spaces): Comment out memset() block due to spurious | |
2822 -Wstringop-overflow warnings. | |
2823 (gfc_trans_string_copy): Use gfc_charlen_type_node. | |
2824 (alloc_scalar_allocatable_for_subcomponent_assignment): | |
2825 fold_convert to right type. | |
2826 (gfc_trans_subcomponent_assign): Likewise. | |
2827 (trans_class_vptr_len_assignment): Build const of correct type. | |
2828 (gfc_trans_pointer_assignment): Likewise. | |
2829 (alloc_scalar_allocatable_for_assignment): fold_convert to right | |
2830 type in expr. | |
2831 (trans_class_assignment): Build const of correct type. | |
2832 * trans-intrinsic.c (gfc_conv_associated): Likewise. | |
2833 (gfc_conv_intrinsic_repeat): Do calculation in sizetype. | |
2834 * trans-io.c (gfc_build_io_library_fndecls): Use | |
2835 gfc_charlen_type_node for character lengths. | |
2836 (set_string): Convert to right type in assignment. | |
2837 * trans-stmt.c (gfc_trans_label_assign): Build const of | |
2838 gfc_charlen_type_node. | |
2839 (trans_associate_var): Likewise. | |
2840 (gfc_trans_character_select): Likewise. | |
2841 (gfc_trans_allocate): Likewise, don't typecast strlen result. | |
2842 (gfc_trans_deallocate): Don't typecast strlen result. | |
2843 * trans-types.c (gfc_size_kind): New variable. | |
2844 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind | |
2845 from size_type_node. | |
2846 * trans-types.h: Fix comment. | |
2847 | |
2848 2018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2849 | |
2850 PR fortran/83683 | |
2851 PR fortran/45689 | |
2852 * check.c (gfc_check_eoshift): Check for string length and | |
2853 for conformance of boundary. | |
2854 * intrinsic.c (add_functions): Add gfc_simplify_eoshift. | |
2855 * intrinsic.h: Add prototype for gfc_simplify_eoshift. | |
2856 * simplify.c (gfc_simplify_eoshift): New function. | |
2857 | |
2858 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> | |
2859 Alan Hayward <alan.hayward@arm.com> | |
2860 David Sherwood <david.sherwood@arm.com> | |
2861 | |
2862 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL. | |
2863 | |
2864 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> | |
2865 Alan Hayward <alan.hayward@arm.com> | |
2866 David Sherwood <david.sherwood@arm.com> | |
2867 | |
2868 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p. | |
2869 | |
2870 2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2871 | |
2872 PR fortran/83664 | |
2873 * check.c (gfc_check_eoshift): Error for missing boundary if array | |
2874 is not one of the standard types. | |
2875 | |
2876 2018-01-03 Jakub Jelinek <jakub@redhat.com> | |
2877 | |
2878 Update copyright years. | |
2879 | |
2880 * gfortranspec.c (lang_specific_driver): Update copyright notice | |
2881 dates. | |
2882 * gfc-internals.texi: Bump @copying's copyright year. | |
2883 * gfortran.texi: Ditto. | |
2884 * intrinsic.texi: Ditto. | |
2885 * invoke.texi: Ditto. | |
2886 | |
2887 2017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2888 | |
2889 PR fortran/45689 | |
2890 * intrinsic.c (add_function): Add gfc_simplify_maxloc and | |
2891 gfc_simplify_minloc to maxloc and minloc, respectively. | |
2892 * intrinsic.h: Add prototypes for gfc_simplify_minloc | |
2893 and gfc_simplify_maxloc. | |
2894 * simplify.c (min_max_chose): Adjust prototype. Modify function | |
2895 to have a return value which indicates if the extremum was found. | |
2896 (is_constant_array_expr): Fix typo in comment. | |
2897 (simplify_minmaxloc_to_scalar): New function. | |
2898 (simplify_minmaxloc_nodim): New function. | |
2899 (new_array): New function. | |
2900 (simplify_minmaxloc_to_array): New function. | |
2901 (gfc_simplify_minmaxloc): New function. | |
2902 (simplify_minloc): New function. | |
2903 (simplify_maxloc): New function. | |
2904 | |
2905 2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
2906 | |
2907 PR fortran/45689 | |
2908 PR fortran/83650 | |
2909 * simplify.c (gfc_simplify_cshift): Re-implement to allow full | |
2910 range of arguments. | |
2911 | |
2912 2018-01-01 Paul Thomas <pault@gcc.gnu.org> | |
2913 | |
2914 PR fortran/83076 | |
2915 * resolve.c (resolve_fl_derived0): Add caf_token fields for | |
2916 allocatable and pointer scalars, when -fcoarray selected. | |
2917 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token | |
2918 field as well as the backend_decl. | |
2919 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module | |
2920 derived types that are not vtypes. Components with caf_token | |
2921 attribute are pvoid types. For a component requiring it, find | |
2922 the caf_token field and have the component token field point to | |
2923 its backend_decl. | |
2924 | |
2925 PR fortran/83319 | |
2926 *trans-types.c (gfc_get_array_descriptor_base): Add the token | |
2927 field to the descriptor even when codimen not set. | |
2928 | |
2929 Copyright (C) 2018 Free Software Foundation, Inc. | |
2930 | |
2931 Copying and distribution of this file, with or without modification, | |
2932 are permitted in any medium without royalty provided the copyright | |
2933 notice and this notice are preserved. | |
2934 | |
2935 PR fortran/87945 | |
2936 * decl.c (var_element): Inquiry parameters cannit be data objects. | |
2937 | |
2938 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
2939 | |
2940 PR fortran/88025 | |
2941 * expr.c (gfc_apply_init): Remove asserts that cannot trigger. | |
2942 Check for a NULL pointer. | |
2943 | |
2944 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
2945 | |
2946 PR fortran/88357 | |
2947 * class.c (insert_component_ref): Check for NULL pointer and | |
2948 previous error message issued. | |
2949 * parse.c (parse_associate): Check for NULL pointer. | |
2950 * resolve.c (resolve_assoc_var): Check for NULL pointer. | |
2951 | |
2952 2018-12-07 Jakub Jelinek <jakub@redhat.com> | |
2953 | |
2954 PR fortran/88377 | |
2955 * trans-openmp.c (gfc_omp_clause_default_ctor, | |
2956 gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
2957 gfc_omp_clause_linear_ctor, gfc_omp_clause_dtor): Only consider | |
2958 GFC_DECL_GET_SCALAR_ALLOCATABLE vars as scalar allocatables if they | |
2959 have pointer type. | |
2960 | |
2961 2018-12-03 Fritz Reese <fritzoreese@gmail.com> | |
2962 Mark Eggleston <mark.eggleston@codethink.co.uk> | |
2963 | |
2964 PR fortran/87919 | |
2965 * options.c (SET_FLAG, SET_BITFLAG, SET_BITFLAG2): New macros. | |
2966 (set_dec_flags): Set/unset DEC and std flags according to value. | |
2967 (post_dec_flags, set_init_local_zero): New functions. | |
2968 (gfc_init_options): Use set_init_local_zero and post_dec_flags. | |
2969 (gfc_handle_options) <case OPT_fcheck_array_temporaries>: Use | |
2970 SET_BITFLAG. | |
2971 <case OPT_finit_local_zero>: Use set_init_local_zero. | |
2972 <case OPT_fdec>: Pass value to set_dec_flags. | |
2973 <case OPT_fdec_structure>: Remove. | |
2974 | |
2975 2018-11-30 Thomas Schwinge <thomas@codesourcery.com> | |
2976 | |
2977 * gfortran.h (struct gfc_omp_clauses): Remove "wait". Adjust all | |
2978 users. | |
2979 | |
2980 * openmp.c (gfc_match_omp_clauses): Support multiple OpenACC wait | |
2981 clauses. | |
2982 | |
2983 2018-11-27 Martin Liska <mliska@suse.cz> | |
2984 | |
2985 * decl.c (gfc_match_gcc_builtin): New function. | |
2986 * gfortran.h (struct vect_builtin_tuple): New. | |
2987 (gfc_adjust_builtins): Likewise. | |
2988 * lang-specs.h (TARGET_F951_OPTIONS): New. | |
2989 (F951_OPTIONS): Use it. | |
2990 * lang.opt: Add new option -fpre-include. | |
2991 * match.h (gfc_match_gcc_builtin): Declare new function. | |
2992 * parse.c (decode_gcc_attribute): Handle builtin. | |
2993 (parse_progunit): Call gfc_adjust_builtins. | |
2994 * scanner.c (gfc_new_file): Load pre-included header file | |
2995 when provided. | |
2996 * trans-intrinsic.c (add_simd_flag_for_built_in): New. | |
2997 (gfc_adjust_builtins): Likewise. | |
2998 | |
2999 2018-11-24 Paul Thomas <pault@gcc.gnu.org> | |
3000 | |
3001 PR fortran/88143 | |
3002 * resolve.c (resolve_variable): Check for associate names with | |
3003 NULL target. | |
3004 | |
3005 2018-11-23 Jakub Jelinek <jakub@redhat.com> | |
3006 | |
3007 * lang.opt (fpad-source): New option. | |
3008 * scanner.c (load_line): Don't pad fixed form lines if | |
3009 !flag_pad_source. | |
3010 * invoke.texi (-fno-pad-source): Document. | |
3011 | |
3012 2018-11-21 Jakub Jelinek <jakub@redhat.com> | |
3013 | |
3014 * invoke.texi (-fdec-include): Document. | |
3015 | |
3016 2018-11-21 Jakub Jelinek <jakub@redhat.com> | |
3017 Mark Eggleston <mark.eggleston@codethink.com> | |
3018 | |
3019 * lang.opt (fdec-include): New option. | |
3020 * options.c (set_dec_flags): Set also flag_dec_include. | |
3021 * scanner.c (include_line): Change return type from bool to int. | |
3022 In fixed form allow spaces in between include keyword letters. | |
3023 For -fdec-include, allow in fixed form 0 in column 6. With | |
3024 -fdec-include return -1 if the parsed line is not full include | |
3025 statement and it could be successfully completed on continuation | |
3026 lines. | |
3027 (include_stmt): New function. | |
3028 (load_file): Adjust include_line caller. If it returns -1, keep | |
3029 trying include_stmt until it stops returning -1 whenever adding | |
3030 further line of input. | |
3031 | |
3032 2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3033 | |
3034 PR fortran/88073 | |
3035 * frontend-passes.c (combine_array_constructor): Do not do | |
3036 anything if in a WHERE statement. | |
3037 | |
3038 2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3039 | |
3040 PR fortran/70260 | |
3041 * expr.c (gfc_check_assign): Reject assigning to an external | |
3042 symbol. | |
3043 (gfc_check_pointer_assign): Add suppress_type_test | |
3044 argument. Insert line after if. A non-proc pointer can not point | |
3045 to a constant. Only check types if suppress_type_test is false. | |
3046 * gfortran.h (gfc_check_pointer_assign): Add optional | |
3047 suppress_type_test argument. | |
3048 * resolve.c (gfc_resolve_code): Move up gfc_check_pointer_assign | |
3049 and give it the extra argument. | |
3050 (resolve_fl_procedure): Set error on value for a function with | |
3051 an inizializer. | |
3052 | |
3053 2018-11-15 David Malcolm <dmalcolm@redhat.com> | |
3054 | |
3055 PR other/19165 | |
3056 * error.c (gfc_diagnostic_finalizer): Add diagnostic_t param. | |
3057 | |
3058 2018-11-13 David Malcolm <dmalcolm@redhat.com> | |
3059 | |
3060 * cpp.c: Replace "source_location" with "location_t". | |
3061 * gfortran.h: Likewise. | |
3062 | |
3063 2018-11-08 Jakub Jelinek <jakub@redhat.com> | |
3064 | |
3065 * trans-openmp.c (gfc_trans_omp_clauses): Use | |
3066 OMP_CLAUSE_DEFAULTMAP_SET_KIND. | |
3067 (gfc_trans_omp_atomic): Set OMP_ATOMIC_MEMORY_ORDER | |
3068 rather than OMP_ATOMIC_SEQ_CST. | |
3069 (gfc_trans_omp_taskgroup): Build OMP_TASKGROUP using | |
3070 make_node instead of build1_loc. | |
3071 * types.def (BT_FN_VOID_BOOL, BT_FN_VOID_SIZE_SIZE_PTR, | |
3072 BT_FN_UINT_UINT_PTR_PTR, BT_FN_UINT_OMPFN_PTR_UINT_UINT, | |
3073 BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, | |
3074 BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR, | |
3075 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, | |
3076 BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR): New. | |
3077 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): Formatting fix. | |
3078 | |
3079 2018-11-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3080 | |
3081 PR fortran/46020 | |
3082 * decl.c (verify_bind_c_sym): Remove unnecessary space | |
3083 in error message. | |
3084 | |
3085 2018-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3086 | |
3087 PR fortran/87782 | |
3088 * frontend-passes.c (constant_string_length): If there is a | |
3089 substring with a length which cannot be reduced to a constant, | |
3090 return NULL. | |
3091 | |
3092 2018-11-01 Paul Thomas <pault@gcc.gnu.org> | |
3093 | |
3094 PR fortran/40196 | |
3095 * dependency.c (are_identical_variables): Return false if the | |
3096 inquiry refs are not the same. | |
3097 (gfc_ref_needs_temporary_p): Break on an inquiry ref. | |
3098 * dump_parse_tree.c (show_ref): Show the inquiry ref type. | |
3099 * expr.c (gfc_free_ref_list): Break on an inquiry ref. | |
3100 (gfc_copy_ref): Copy the inquiry ref types. | |
3101 (find_inquiry_ref): New function. | |
3102 (simplify_const_ref, simplify_ref_chain): Call it. Add new arg | |
3103 to simplify_ref_chain. | |
3104 (gfc_simplify_expr): Use the new arg in call to | |
3105 simplify_ref_chain. | |
3106 (gfc_get_full_arrayspec_from_expr, gfc_is_coarray): Break on | |
3107 inquiry ref. | |
3108 (gfc_traverse_expr): Return true for inquiry ref. | |
3109 * frontend-passes.c (gfc_expr_walker): Break on inquiry ref. | |
3110 * gfortran.h : Add enums and union member in gfc_ref to | |
3111 implement inquiry refs. | |
3112 * intrinsic.c : Fix white nois. | |
3113 * match.c (gfc_match_assignment): A constant lavlue is an | |
3114 error. | |
3115 * module.c : Add DECL_MIO_NAME for inquiry_type and the mstring | |
3116 for inquiry_types. | |
3117 (mio_ref): Handle inquiry refs. | |
3118 * primary.c (is_inquiry_ref): New function. | |
3119 (gfc_match_varspec): Handle inquiry refs calling new function. | |
3120 (gfc_variable_attr): Detect inquiry ref for disambiguation | |
3121 with components. | |
3122 (caf_variable_attr): Treat inquiry and substring refs in the | |
3123 same way. | |
3124 * resolve.c (find_array_spec): ditto. | |
3125 (gfc_resolve_substring_charlen): If there is neither a charlen | |
3126 ref not an inquiry ref, return. | |
3127 (resolve_ref): Handle inqiry refs as appropriate. | |
3128 (resolve_allocate_expr): Entities with an inquiry ref cannot be | |
3129 allocated. | |
3130 * simplify.c (simplify_bound, simplify_cobound): Punt on | |
3131 inquiry refs. | |
3132 * trans-array.c (get_array_ctor_var_strlen): Break on inquiry | |
3133 ref. | |
3134 *trans-expr.c (conv_inquiry): New function. | |
3135 (gfc_conv_variable): Retain the last typespec to pass to | |
3136 conv_inquiry on detecting an inquiry ref. | |
3137 | |
3138 2018-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3139 | |
3140 PR fortran/46020 | |
3141 * decl.c (verify_bind_c_sym): Improve error message. | |
3142 | |
3143 2018-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3144 | |
3145 PR fortran/54613 | |
3146 * gfortran.texi (File format of unformatted sequential files): | |
3147 Replace random comma with period. | |
3148 * intrinsic.texi (Intrinsic Procedures): Add FINDLOC to menu. | |
3149 (FINDLOC): Document. | |
3150 (MAXLOC): Add refrence to FINDLOC. | |
3151 (MINLOC): Likewise. | |
3152 | |
3153 2018-10-31 Nathan Sidwell <nathan@acm.org> | |
3154 | |
3155 * cpp.c (gfc_cpp_init): Adjust cpp_force_token_locations call. | |
3156 | |
3157 2018-10-31 Martin Liska <mliska@suse.cz> | |
3158 | |
3159 * trans-decl.c (struct module_hasher): Call htab_hash_string | |
3160 for s->name and not for s. | |
3161 | |
3162 2018-10-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3163 | |
3164 PR fortran/85896 | |
3165 * simplify.c (simplify_min_max): Do not convert the type of the | |
3166 return expression. | |
3167 | |
3168 2017-10-28 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3169 | |
3170 PR fortran/54613 | |
3171 * gfortran.h (gfc_isym_id): Add GFC_ISYM_FINDLOC. | |
3172 (gfc_check_f): Add f6fl field. | |
3173 (gfc_simplify_f): Add f6 field. | |
3174 (gfc_resolve_f): Likewise. | |
3175 (gfc_type_letter): Add optional logical_equas_int flag. | |
3176 * check.c (intrinsic_type_check): New function. | |
3177 (gfc_check_findloc): New function. | |
3178 * intrinsics.c (gfc_type_letter): If logical_equals_int is | |
3179 set, act accordingly. | |
3180 (add_sym_5ml): Reformat comment. | |
3181 (add_sym_6fl): New function. | |
3182 (add_functions): Add findloc. | |
3183 (check_arglist): Add sixth argument, handle it. | |
3184 (resolve_intrinsic): Likewise. | |
3185 (check_specific): Handle findloc. | |
3186 * intrinsic.h (gfc_check_findloc): Add prototype. | |
3187 (gfc_simplify_findloc): Likewise. | |
3188 (gfc_resolve_findloc): Likewise. | |
3189 (MAX_INTRINSIC_ARGS): Adjust. | |
3190 * iresolve.c (gfc_resolve_findloc): New function. | |
3191 * simplify.c (gfc_simplify_minmaxloc): Make static. | |
3192 (simplify_findloc_to_scalar): New function. | |
3193 (simplify_findloc_nodim): New function. | |
3194 (simplify_findloc_to_array): New function. | |
3195 (gfc_simplify_findloc): New function. | |
3196 (gfc_conv_intrinsic_findloc): New function. | |
3197 (gfc_conv_intrinsic_function): Handle GFC_ISYM_FINDLOC. | |
3198 (gfc_is_intrinsic_libcall): Likewise. | |
3199 | |
3200 2018-10-27 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3201 | |
3202 PR fortran/86907 | |
3203 * frontend-passes.c (check_locus_code): Add information that | |
3204 warning about missing location information points to an | |
3205 inconsisten internal state. | |
3206 (check_locus_expr): Likewise. | |
3207 | |
3208 2018-10-25 Jakub Jelinek <jakub@redhat.com> | |
3209 | |
3210 PR fortran/87725 | |
3211 * openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and | |
3212 nonmonotonic modifiers regardless of if they have been parsed | |
3213 already or if the opposite one has. Fix up check whether | |
3214 comma after modifier should be parsed. | |
3215 (resolve_omp_clauses): Diagnose schedule modifier restrictions. | |
3216 | |
3217 2018-10-23 Paul Thomas <pault@gcc.gnu.org> | |
3218 | |
3219 PR fortran/85603 | |
3220 * frontend-passes.c (get_len_call): New function to generate a | |
3221 call to intrinsic LEN. | |
3222 (create_var): Use this to make length expressions for variable | |
3223 rhs string lengths. | |
3224 Clean up some white space issues. | |
3225 | |
3226 2018-10-21 Paul Thomas <pault@gcc.gnu.org> | |
3227 | |
3228 PR fortran/71880 | |
3229 * trans-expr.c (gfc_trans_pointer_assignment): Set the string | |
3230 length for array valued deferred length lhs. | |
3231 | |
3232 2018-10-18 Tobias Burnus <burnus@net-b.de> | |
3233 | |
3234 PR fortran/87625 | |
3235 * trans-array.c (gfc_is_reallocatable_lhs): Detect allocatable | |
3236 polymorphic arrays. | |
3237 | |
3238 2018-10-18 Paul Thomas <pault@gcc.gnu.org> | |
3239 | |
3240 PR fortran/58618 | |
3241 * trans-stmt.c (trans_associate_var): All strings that return | |
3242 as pointer types can be assigned directly to the associate | |
3243 name so remove 'attr' and the condition that uses it. | |
3244 | |
3245 2018-10-18 Paul Thomas <pault@gcc.gnu.org> | |
3246 | |
3247 PR fortran/58618 | |
3248 * trans-decl.c (gfc_get_symbol_decl): Deal correctly with the | |
3249 initialization with NULL() of a deferred length pointer. | |
3250 | |
3251 2018-10-17 Tobias Burnus <burnus@net-b.de> | |
3252 | |
3253 PR fortran/87632 | |
3254 * resolve.c (resolve_select_type): Use correct variable. | |
3255 | |
3256 2018-10-17 David Malcolm <dmalcolm@redhat.com> | |
3257 | |
3258 * Make-lang.in (selftest-fortran): New. | |
3259 | |
3260 2018-10-17 Paul Thomas <pault@gcc.gnu.org> | |
3261 | |
3262 PR fortran/56386 | |
3263 PR fortran/58906 | |
3264 PR fortran/77385 | |
3265 PR fortran/80260 | |
3266 PR fortran/82077 | |
3267 * resolve.c (resolve_variable): Fix up expressions with array | |
3268 associate names, where the parser did not detect that this is | |
3269 array and there was no array part_ref in the expression. | |
3270 | |
3271 2018-10-16 Tobias Burnus <burnus@net-b.de> | |
3272 | |
3273 PR fortran/67125 | |
3274 * trans-array.c (gfc_array_init_size, gfc_array_allocate): | |
3275 Rename argument e3_is_array_constr to e3_has_nodescriptor | |
3276 and update comments. | |
3277 * trans-stmt.c (gfc_trans_allocate): Also fix lower bound | |
3278 to 1 for nonalloc/nonpointer func results/vars besides | |
3279 array constructors. | |
3280 | |
3281 2018-10-16 Tobias Burnus <burnus@net-b.de> | |
3282 | |
3283 PR fortran/87556 | |
3284 * trans-stmt.c (form_team, change_team, sync_team): | |
3285 Don't ignore argse.pre/argse.post. | |
3286 | |
3287 2018-10-15 Paul Thomas <pault@gcc.gnu.org> | |
3288 Tobias Burnus <burnus@gcc.gnu.org> | |
3289 | |
3290 PR fortran/87566 | |
3291 * resolve.c (resolve_assoc_var): Add missing array spec for | |
3292 class associate names. | |
3293 (resolve_select_type): Handle case where last typed component | |
3294 of the selector has a different type to the expression. | |
3295 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Replace | |
3296 call to gfc_expr_to_initialize with call to gfc_copy_expr. | |
3297 (gfc_conv_class_to_class): Guard assignment to 'len' field | |
3298 against case where zero constant is supplied. | |
3299 | |
3300 2018-10-12 Tobias Burnus <burnus@net-b.de> | |
3301 | |
3302 PR fortran/87597 | |
3303 * expr.c (gfc_simplify_expr): Avoid simplifying | |
3304 the 'array' argument to lbound/ubound/lcobound/ | |
3305 ucobound. | |
3306 | |
3307 2018-10-12 Tobias Burnus <burnus@net-b.de> | |
3308 | |
3309 PR fortran/58787 | |
3310 * decl.c (get_proc_name): Return with error before | |
3311 creating sym_tree. | |
3312 | |
3313 2018-10-11 Tobias Burnus <burnus@net-b.de> | |
3314 | |
3315 Revert: | |
3316 2018-10-09 Tobias Burnus <burnus@net-b.de> | |
3317 | |
3318 PR fortran/83522 | |
3319 * resolve.c (resolve_ref): Reject nonscalar | |
3320 substring references. | |
3321 | |
3322 2018-10-09 David Malcolm <dmalcolm@redhat.com> | |
3323 | |
3324 * cpp.c (gfc_cpp_init_0): Update for renamings. | |
3325 (cb_cpp_error): Rename to... | |
3326 (cb_cpp_diagnostic): ...this, converting level and reason to | |
3327 enums. | |
3328 | |
3329 2018-10-09 Tobias Burnus <burnus@net-b.de> | |
3330 | |
3331 PR fortran/83522 | |
3332 * resolve.c (resolve_ref): Reject nonscalar | |
3333 substring references. | |
3334 | |
3335 2018-10-09 Paul Thomas <pault@gcc.gnu.org> | |
3336 | |
3337 PR fortran/87151 | |
3338 * trans-array.c (gfc_get_array_span): Deal with deferred char | |
3339 array components having a TYPE_MAX_VALUE of zero. | |
3340 (gfc_array_init_size): Use the hidden string length component | |
3341 to build the descriptor dtype. | |
3342 (gfc_array_allocate): Remove the erroneous replacement of the | |
3343 charlen backend decl with a temporary. | |
3344 (gfc_conv_expr_descriptor): Use the ss_info string length in | |
3345 the case of deferred character components. | |
3346 (gfc_alloc_allocatable_for_assignment): Actually compare the | |
3347 string lengths for deferred characters. Make sure that kind > 1 | |
3348 is handled correctly. Set the span field of the descriptor. | |
3349 * trans-intrinsic.c (gfc_conv_intrinsic_len): Remove the stupid | |
3350 comment. | |
3351 | |
3352 PR fortran/80931 | |
3353 * trans-array.c (gfc_array_allocate): Set the span field for | |
3354 variable length character arrays. | |
3355 | |
3356 2018-10-08 Cesar Philippidis <cesar@codesourcery.com> | |
3357 | |
3358 * expr.c (gfc_check_pointer_assign): Demote "Assignment to | |
3359 contiguous pointer from non-contiguous target" to a warning. | |
3360 | |
3361 2018-10-08 Paul Thomas <pault@gcc.gnu.org> | |
3362 | |
3363 PR fortran/86372 | |
3364 * trans-stmt.c (trans_associate_var): Character associate names | |
3365 with variable string length do not have to be deferred length | |
3366 for the string length to be set, if variable. | |
3367 | |
3368 2018-10-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3369 | |
3370 PR fortran/86111 | |
3371 * gfortran.h (enum arith): Add ARITH_WRONGCONCAT. | |
3372 * arith.h (gfc_arith_error): Issue error for ARITH_WRONGCONCAT. | |
3373 (gfc_arith_concat): If the types of op1 and op2 are not | |
3374 character of if their kinds do not match, issue ARITH_WRONGCONCAT. | |
3375 | |
3376 2018-10-06 Paul Thomas <pault@gcc.gnu.org> | |
3377 | |
3378 PR fortran/83999 | |
3379 * resolve.c (resolve_fl_procedure): Include class functions in | |
3380 the test that elemental function results be scalar. | |
3381 | |
3382 2018-10-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3383 | |
3384 PR fortran/84640 | |
3385 * simplify.c (gfc_simplify_cshift): Extend size of hs_ex and ss_ex | |
3386 by one. Set extents one past the array boundaries to zero to avoid | |
3387 warning with instrumented compiler. | |
3388 (gfc_simplify_eoshift): Likewise, only for ss_ex. | |
3389 | |
3390 2018-10-05 Paul Thomas <pault@gcc.gnu.org> | |
3391 | |
3392 PR fortran/87487 | |
3393 * trans-decl.c (gfc_get_symbol_decl): Make sure that deferred | |
3394 character length pointer initializer has the right type to fix | |
3395 problem with deferred_character_24.f90 on big endian. | |
3396 | |
3397 2018-10-03 Jeff Law <law@redhat.comg> | |
3398 | |
3399 * trans-types.c (get_typenode_from_name): Moved into gcc/tree.c. | |
3400 | |
3401 2018-10-01 Paul Thomas <pault@gcc.gnu.org> | |
3402 | |
3403 PR fortran/65677 | |
3404 * trans-expr.c (gfc_trans_assignment_1): Set the 'identical' | |
3405 flag in the call to gfc_check_dependency. | |
3406 | |
3407 2018-09-30 Paul Thomas <pault@gcc.gnu.org> | |
3408 | |
3409 PR fortran/87359 | |
3410 * trans-array.c (gfc_is_reallocatable_lhs): Correct the problem | |
3411 introduced by r264358, which prevented components of associate | |
3412 names from being reallocated on assignment. | |
3413 | |
3414 2018-09-30 Paul Thomas <pault@gcc.gnu.org> | |
3415 | |
3416 PR fortran/70752 | |
3417 PR fortran/72709 | |
3418 * trans-array.c (gfc_conv_scalarized_array_ref): If this is a | |
3419 deferred type and the info->descriptor is present, use the | |
3420 info->descriptor | |
3421 (gfc_conv_array_ref): Is the se expr is a descriptor type, pass | |
3422 it as 'decl' rather than the symbol backend_decl. | |
3423 (gfc_array_allocate): If the se string_length is a component | |
3424 reference, fix it and use it for the expression string length | |
3425 if the latter is not a variable type. If it is a variable do | |
3426 an assignment. Make use of component ref string lengths to set | |
3427 the descriptor 'span'. | |
3428 (gfc_conv_expr_descriptor): For pointer assignment, do not set | |
3429 the span field if gfc_get_array_span returns zero. | |
3430 * trans.c (get_array_span): If the upper bound a character type | |
3431 is zero, use the descriptor span if available. | |
3432 | |
3433 2018-09-30 Paul Thomas <pault@gcc.gnu.org> | |
3434 | |
3435 PR fortran/70149 | |
3436 * trans-decl.c (gfc_get_symbol_decl): A deferred character | |
3437 length pointer that is initialized needs the string length to | |
3438 be initialized as well. | |
3439 | |
3440 2018-09-29 Paul Thomas <pault@gcc.gnu.org> | |
3441 | |
3442 PR fortran/65677 | |
3443 * trans-expr.c (gfc_trans_assignment_1): If there is dependency | |
3444 fix the rse stringlength. | |
3445 | |
3446 2018-09-25 Martin Liska <mliska@suse.cz> | |
3447 | |
3448 PR fortran/87394 | |
3449 * decl.c (add_hidden_procptr_result): Simplify condition | |
3450 as we are in branch witch 'case1 || case2'. | |
3451 | |
3452 2018-09-25 Martin Liska <mliska@suse.cz> | |
3453 | |
3454 * trans.c (remove_suffix): Remove | |
3455 unused function. | |
3456 | |
3457 2018-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3458 | |
3459 PR fortran/87397 | |
3460 * gfc_conv_procedure_call: Do not add clobber on INTENT(OUT) | |
3461 for variables in an associate statement. | |
3462 | |
3463 2018-09-24 Bernhard Reuther-Fischer <aldot@gcc.gnu.org> | |
3464 Cesar Philippidis <cesar@codesourcery.com> | |
3465 | |
3466 * openmp.c (resolve_oacc_loop_blocks): | |
3467 | |
3468 2018-09-23 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3469 | |
3470 PR fortran/87397 | |
3471 * gfc_conv_procedure_call: Do not add clobber on INTENT(OUT) | |
3472 for variables having the dimension attribute. | |
3473 | |
3474 2018-09-23 Janne Blomqvist <jb@gcc.gnu.org> | |
3475 | |
3476 * trans-expr.c (gfc_caf_get_image_index): Do array index | |
3477 calculations in gfc_array_index_type. | |
3478 * trans-intrinsic.c (conv_intrinsic_event_query): Likewise. | |
3479 * trans-stmt.c (gfc_trans_lock_unlock): Likewise. | |
3480 (gfc_trans_event_post_wait): Likewise. | |
3481 | |
3482 2018-09-23 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3483 | |
3484 PR fortran/87395 | |
3485 * gfc_conv_procedure_call: Reformat comments slightly. Do not add | |
3486 clobber on INTENT(OUT) for saved variables. | |
3487 | |
3488 2018-09-22 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3489 | |
3490 PR fortran/41453 | |
3491 * trans.h (gfc_conv_expr_reference): Add optional argument | |
3492 add_clobber to prototype. | |
3493 (gfc_conv_procedure_call): Set add_clobber argument to | |
3494 gfc_conv_procedure_reference to true for scalar, INTENT(OUT), | |
3495 non-pointer, non-allocatable, non-dummy variables whose type | |
3496 is neither BT_CHARACTER, BT_DERIVED or BT_CLASS, but only if | |
3497 the procedure is not elemental. | |
3498 * trans-expr.c (gfc_conv_procedure_reference): Add clobber | |
3499 statement before call if add_clobber is set. | |
3500 | |
3501 2018-09-22 Paul Thomas <pault@gcc.gnu.org> | |
3502 | |
3503 PR fortran/85603 | |
3504 * trans-array.c (gfc_alloc_allocatable_for_assignment): Test | |
3505 the charlen backend_decl before using the VAR_P macro. | |
3506 | |
3507 2018-09-21 Paul Thomas <pault@gcc.gnu.org> | |
3508 | |
3509 PR fortran/77325 | |
3510 * trans-array.c (gfc_alloc_allocatable_for_assignment): If the | |
3511 rhs has a charlen expression, convert that and use it. | |
3512 * trans-expr.c (gfc_trans_assignment_1): The rse.pre for the | |
3513 assignment of deferred character array vars to a realocatable | |
3514 lhs should not be added to the exterior block since vector | |
3515 indices, for example, generate temporaries indexed within the | |
3516 loop. | |
3517 | |
3518 2018-09-21 Paul Thomas <pault@gcc.gnu.org> | |
3519 | |
3520 PR fortran/87359 | |
3521 * trans-stmt.c (gfc_trans_allocate): Don't deallocate alloc | |
3522 components if must_finalize is set for expr3. | |
3523 | |
3524 2018-09-21 Andrew Stubbs <ams@codesourcery.com> | |
3525 Kwok Cheung Yeung <kcy@codesourcery.com> | |
3526 | |
3527 * trans-expr.c (gfc_trans_structure_assign): Ensure that the first | |
3528 argument of a call to _gfortran_caf_register is of size_type_node. | |
3529 * trans-intrinsic.c (conv_intrinsic_event_query): Convert computed | |
3530 index to a size_type_node type. | |
3531 * trans-stmt.c (gfc_trans_event_post_wait): Likewise. | |
3532 | |
3533 2018-09-20 Allan Sandfeld Jensen <allan.jensen@qt.io> | |
3534 | |
3535 * gfortranspec.c (lang_specific_driver): Handle -r like -nostdlib. | |
3536 | |
3537 2018-09-20 Janus Weil <janus@gcc.gnu.org> | |
3538 | |
3539 * gfortran.h (gfc_str_startswith): New macro. | |
3540 * decl.c (variable_decl, gfc_match_end): Use it. | |
3541 * iresolve.c (is_trig_resolved): Ditto. | |
3542 * module.c (load_omp_udrs, read_module): Ditto. | |
3543 * options.c (gfc_handle_runtime_check_option): Ditto. | |
3544 * primary.c (match_arg_list_function): Ditto. | |
3545 * trans-decl.c (gfc_get_symbol_decl): Ditto. | |
3546 * trans-expr.c (gfc_conv_procedure_call): Ditto. | |
3547 * interface.c (dtio_op): Replace strncmp by strcmp. | |
3548 * resolve.c (resolve_actual_arglist, resolve_function): Ditto. | |
3549 * trans-expr.c (conv_arglist_function): Ditto. | |
3550 * trans-intrinsic.c (gfc_conv_ieee_arithmetic_function): Replace macro | |
3551 STARTS_WITH by gfc_str_startswith. | |
3552 | |
3553 2018-09-20 Cesar Philippidis <cesar@codesourcery.com> | |
3554 | |
3555 * dump-parse-tree.c (show_omp_clauses): Add missing omp list_types | |
3556 and reorder the switch cases to match the enum in gfortran.h. | |
3557 | |
3558 2018-09-19 Paul Thomas <pault@gcc.gnu.org> | |
3559 | |
3560 PR fortran/84109 | |
3561 * trans-expr.c (gfc_trans_assignment_1): The rse.pre for the | |
3562 assignment of deferred character intrinsic elemental function | |
3563 results to a realocatable lhs must not be added to the exterior | |
3564 block if they are array valued but must go to the loop body. | |
3565 | |
3566 2018-09-18 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3567 | |
3568 PR fortran/29550 | |
3569 * gfortran.h (gfc_expr): Add external_blas flag. | |
3570 * frontend-passes.c (matrix_case): Add case A2TB2T. | |
3571 (optimize_namespace): Handle flag_external_blas by | |
3572 calling call_external_blas. | |
3573 (get_array_inq_function): Add argument okind. If | |
3574 it is nonzero, use it as the kind of argument | |
3575 to be used. | |
3576 (inline_limit_check): Remove m_case argument, add | |
3577 limit argument instead. Remove assert about m_case. | |
3578 Set the limit for inlining from the limit argument. | |
3579 (matmul_lhs_realloc): Handle case A2TB2T. | |
3580 (inline_matmul_assign): Handle inline limit for other cases with | |
3581 two rank-two matrices. Remove no-op calls to inline_limit_check. | |
3582 (call_external_blas): New function. | |
3583 * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Do not add | |
3584 argument to external BLAS if external_blas is already set. | |
3585 | |
3586 2018-09-18 Paul Thomas <pault@gcc.gnu.org> | |
3587 | |
3588 PR fortran/87239 | |
3589 * trans-expr.c (gfc_trans_assignment_1): The rse.pre for the | |
3590 assignment of deferred character elemental function results to | |
3591 a realocatable lhs must not be added to the exterior block but | |
3592 must go to the loop body. | |
3593 | |
3594 2018-09-18 Paul Thomas <pault@gcc.gnu.org> | |
3595 | |
3596 PR fortran/87336 | |
3597 * trans-array.c (gfc_get_array_span): Try to get the element | |
3598 length of incomplete types. Return NULL_TREE otherwise. | |
3599 (gfc_conv_expr_descriptor): Only set the 'span' field if the | |
3600 above does not return NULL_TREE. Set 'span' field if possible | |
3601 for all new descriptors. | |
3602 | |
3603 2018-09-17 Paul Thomas <pault@gcc.gnu.org> | |
3604 | |
3605 PR fortran/64120 | |
3606 * trans-decl.c (gfc_get_symbol_decl): Flag allocatable, scalar | |
3607 characters with a variable length expression for deferred init. | |
3608 (gfc_trans_deferred_vars): Perform the assignment for these | |
3609 symbols by calling gfc_conv_string_length. | |
3610 | |
3611 2018-09-17 Paul Thomas <pault@gcc.gnu.org> | |
3612 | |
3613 PR fortran/85954 | |
3614 * resolve.c (resolve_assoc_var): If the target expression is a | |
3615 deferred charlen dummy and the associate name shares the | |
3616 charlen, generate a new one. Make sure that new charlens are in | |
3617 the namespace list so that they get cleaned up. | |
3618 * trans-array.c (gfc_is_reallocatable_lhs): Associate names are | |
3619 not reallocatable. | |
3620 * trans-decl.c (gfc_get_symbol_decl): Put deferred character | |
3621 length dummy and result arrays on the deferred initialization | |
3622 list so that the variable length arrays can be correctly dealt | |
3623 with. | |
3624 * trans-expr.c (gfc_conv_string_length): Return if 'expr' is | |
3625 NULL rather than ICEing.. | |
3626 | |
3627 2018-09-16 Janus Weil <janus@gcc.gnu.org> | |
3628 | |
3629 PR fortran/86484 | |
3630 PR fortran/84543 | |
3631 * match.c (gfc_match_assignment): For a polymorphic assignment, | |
3632 make sure that the vtab for the rhs type is generated. | |
3633 | |
3634 2018-09-16 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3635 | |
3636 PR fortran/37802 | |
3637 * frontend-passes.c (B_ERROR): New macro for matmul bounds | |
3638 checking error messages. | |
3639 (C_ERROR): Likewise. | |
3640 (inline_matmul_assign): Reorganize bounds checking, use B_ERROR | |
3641 and C_ERROR macros. | |
3642 | |
3643 2018-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
3644 | |
3645 * trans-array.c (gfc_conv_array_initializer): Remove excess precision | |
3646 from overlength string initializers. | |
3647 | |
3648 2018-09-12 Paul Thomas <pault@gcc.gnu.org> | |
3649 | |
3650 PR fortran/87284 | |
3651 * trans-expr.c (gfc_trans_class_init_assign): Access to | |
3652 to array elements of the dynamic type requires that the array | |
3653 reference be added to the class expression and not the _data | |
3654 component, unlike scalar expressions. | |
3655 | |
3656 2018-09-11 Janus Weil <janus@gcc.gnu.org> | |
3657 | |
3658 PR fortran/87172 | |
3659 * resolve.c (resolve_fl_derived): If a type has the 'use_assoc' | |
3660 attribute, then it was declared in another module, so there should be | |
3661 no error that it has not been declared. | |
3662 | |
3663 2018-09-11 Paul Thomas <pault@gcc.gnu.org> | |
3664 | |
3665 PR fortran/87277 | |
3666 * expr.c (is_subref_array): Add the check of dimensionality for | |
3667 class, dummy, pointer arrays. | |
3668 | |
3669 2018-09-11 Janus Weil <janus@gcc.gnu.org> | |
3670 | |
3671 PR fortran/86830 | |
3672 * expr.c (gfc_is_simply_contiguous): Handle type-bound procedure calls | |
3673 with non-polymorphic objects. | |
3674 | |
3675 2018-09-10 Janus Weil <janus@gcc.gnu.org> | |
3676 | |
3677 PR fortran/85395 | |
3678 * decl.c (match_binding_attributes): Use correct default accessibility | |
3679 for procedure pointer components. | |
3680 | |
3681 2018-09-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
3682 | |
3683 * simplify.c (gfc_simplify_modulo): Re-arrange code to test whether | |
3684 'P' is zero and issue an error if it is. | |
3685 | |
3686 2018-08-31 Paul Thomas <pault@gcc.gnu.org> | |
3687 | |
3688 PR fortran/86328 | |
3689 PR fortran/86760 | |
3690 * trans-array.c (gfc_conv_scalarized_array_ref): Do not fix | |
3691 info->descriptor but pass it directly to gfc_build_array_ref. | |
3692 (gfc_conv_array_ref): Likewise for se->expr. | |
3693 * trans.c (gfc_build_array_ref): If 'decl' is a COMPONENT_REF | |
3694 obtain the span field directly from it. | |
3695 | |
3696 2017-08-28 Paul Thomas <pault@gcc.gnu.org> | |
3697 | |
3698 PR fortran/80477 | |
3699 * trans-expr.c (gfc_conv_procedure_call): Allocatable class | |
3700 scalar results being passed to a derived type formal argument | |
3701 are finalized if possible. Otherwise, rely on existing code for | |
3702 deallocation. Make the deallocation of allocatable result | |
3703 components conditional on finalization not taking place. Make | |
3704 the freeing of data components after finalization conditional | |
3705 on the data being NULL. | |
3706 (gfc_trans_arrayfunc_assign): Change the gcc_assert to a | |
3707 condition to return NULL_TREE. | |
3708 (gfc_trans_assignment_1): If the assignment is class to class | |
3709 and the rhs expression must be finalized but the assignment | |
3710 is not marked as a polymorphic assignment, use the vptr copy | |
3711 function instead of gfc_trans_scalar_assign. | |
3712 | |
3713 PR fortran/86481 | |
3714 * trans-expr.c (gfc_conv_expr_reference): Do not add the post | |
3715 block to the pre block if the expression is to be finalized. | |
3716 * trans-stmt.c (gfc_trans_allocate): If the expr3 must be | |
3717 finalized, load the post block into a finalization block and | |
3718 add it right at the end of the allocation block. | |
3719 | |
3720 2018-08-27 David Malcolm <dmalcolm@redhat.com> | |
3721 | |
3722 PR 87091 | |
3723 * error.c (gfc_format_decoder): Update for conversion of | |
3724 show_caret_p to a tri-state. | |
3725 | |
3726 2018-08-25 Janus Weil <janus@gcc.gnu.org> | |
3727 | |
3728 PR fortran/86545 | |
3729 * resolve.c (resolve_transfer): Correctly determine typespec for | |
3730 generic function calls, in order to throw a proper error. | |
3731 | |
3732 2018-08-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3733 | |
3734 PR fortran/86837 | |
3735 * frontend-passes.c (var_in_expr_callback): New function. | |
3736 (var_in_expr): New function. | |
3737 (traverse_io_block): Use var_in_expr instead of | |
3738 gfc_check_dependency for checking if the variable depends on the | |
3739 previous interators. | |
3740 | |
3741 2018-08-23 Janne Blomqvist <blomqvist.janne@gmail.com> | |
3742 | |
3743 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Delete | |
3744 HONOR_SIGNED_ZEROS checks. | |
3745 | |
3746 2018-08-23 Paul Thomas <pault@gcc.gnu.org> | |
3747 | |
3748 PR fortran/86863 | |
3749 * resolve.c (resolve_typebound_call): If the TBP is not marked | |
3750 as a subroutine, check the specific symbol. | |
3751 | |
3752 2018-08-22 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3753 | |
3754 * gfortran.texi: Mention that asynchronous I/O does | |
3755 not work on systems which lack condition variables, such | |
3756 as AIX. | |
3757 | |
3758 2018-08-22 Janus Weil <janus@gcc.gnu.org> | |
3759 | |
3760 PR fortran/86935 | |
3761 * match.c (gfc_match_associate): Improve diagnostics for the ASSOCIATE | |
3762 statement. | |
3763 | |
3764 2018-08-22 Andrew Benson <abensonca@gmail.com> | |
3765 | |
3766 * module.c (load_generic_interfaces): Move call to find_symbol() | |
3767 so that only occurs if actually needed. | |
3768 | |
3769 2018-08-22 Janus Weil <janus@gcc.gnu.org> | |
3770 | |
3771 PR fortran/86888 | |
3772 * decl.c (gfc_match_data_decl): Allow allocatable components of | |
3773 indirectly recursive type. | |
3774 * resolve.c (resolve_component): Remove two errors messages ... | |
3775 (resolve_fl_derived): ... and replace them by a new one. | |
3776 | |
3777 2018-08-21 Janne Blomqvist <jb@gcc.gnu.org> | |
3778 | |
3779 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use | |
3780 MAX_EXPR/MIN_EXPR unconditionally for real arguments. | |
3781 * gfortran.texi (Compiler Characteristics): Document MAX/MIN | |
3782 behavior wrt NaN. | |
3783 | |
3784 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org> | |
3785 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3786 | |
3787 PR fortran/25829 | |
3788 * gfortran.texi: Add description of asynchronous I/O. | |
3789 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables | |
3790 as volatile. | |
3791 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to | |
3792 st_wait_async and change argument spec from ".X" to ".w". | |
3793 (gfc_trans_wait): Pass ID argument via reference. | |
3794 | |
3795 2018-08-16 Nathan Sidwell <nathan@acm.org> | |
3796 | |
3797 * cpp.c (dump_macro): Use cpp_user_macro_p. | |
3798 | |
3799 2018-08-14 Janus Weil <janus@gcc.gnu.org> | |
3800 | |
3801 PR fortran/86116 | |
3802 * interface.c (compare_type): Remove a CLASS/TYPE check. | |
3803 (compare_type_characteristics): New function that behaves like the old | |
3804 'compare_type'. | |
3805 (gfc_check_dummy_characteristics, gfc_check_result_characteristics): | |
3806 Call 'compare_type_characteristics' instead of 'compare_type'. | |
3807 | |
3808 2018-08-12 Paul Thomas <pault@gcc.gnu.org> | |
3809 | |
3810 PR fortran/66679 | |
3811 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Class array | |
3812 elements are returned as references to the data element. Get | |
3813 the class expression by stripping back the references. Use this | |
3814 for the element size. | |
3815 | |
3816 2018-08-12 Paul Thomas <pault@gcc.gnu.org> | |
3817 | |
3818 PR fortran/86906 | |
3819 * resolve.c (resolve_fl_variable_derived): Check if the derived | |
3820 type is use associated before checking for the host association | |
3821 error. | |
3822 | |
3823 2018-08-10 Janus Weil <janus@gcc.gnu.org> | |
3824 | |
3825 PR fortran/57160 | |
3826 * invoke.texi (frontend-optimize): Mention short-circuiting. | |
3827 * options.c (gfc_post_options): Disable -ffrontend-optimize with -Og. | |
3828 * resolve.c (resolve_operator): Warn about short-circuiting only with | |
3829 -ffrontend-optimize. | |
3830 * trans-expr.c (gfc_conv_expr_op): Use short-circuiting operators only | |
3831 with -ffrontend-optimize. Without that flag, make sure that both | |
3832 operands are evaluated. | |
3833 | |
3834 2018-08-08 Nathan Sidwell <nathan@acm.org> | |
3835 | |
3836 * cpp.c (cb_file_change): Use linemap_included_from. | |
3837 | |
3838 2018-08-07 Cesar Philippidis <cesar@codesourcery.com> | |
3839 | |
3840 * trans-stmt.h: Remove stale reference to trans-openacc.c. | |
3841 | |
3842 2018-08-04 Janus Weil <janus@gcc.gnu.org> | |
3843 | |
3844 PR fortran/45521 | |
3845 * interface.c (gfc_compare_interfaces): Apply additional | |
3846 distinguishability criteria of F08 to operator interfaces. | |
3847 | |
3848 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
3849 | |
3850 Revert 'AsyncI/O patch committed' | |
3851 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> | |
3852 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3853 | |
3854 PR fortran/25829 | |
3855 * gfortran.texi: Add description of asynchronous I/O. | |
3856 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables | |
3857 as volatile. | |
3858 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to | |
3859 st_wait_async and change argument spec from ".X" to ".w". | |
3860 (gfc_trans_wait): Pass ID argument via reference. | |
3861 | |
3862 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> | |
3863 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3864 | |
3865 PR fortran/25829 | |
3866 * gfortran.texi: Add description of asynchronous I/O. | |
3867 * trans-decl.c (gfc_finish_var_decl): Treat asynchronous variables | |
3868 as volatile. | |
3869 * trans-io.c (gfc_build_io_library_fndecls): Rename st_wait to | |
3870 st_wait_async and change argument spec from ".X" to ".w". | |
3871 (gfc_trans_wait): Pass ID argument via reference. | |
3872 | |
3873 2018-07-20 Martin Sebor <msebor@redhat.com> | |
3874 | |
3875 PR middle-end/82063 | |
3876 * gfortran.h (gfc_handle_option): Change function argument | |
3877 to HOST_WIDE_INT. | |
3878 * options.c (gfc_handle_option): Same. | |
3879 | |
3880 2018-07-20 Andrew Benson <abenson@carnegiescience.edu> | |
3881 | |
3882 * gfortran.h (gfc_symbol): Add pointer to next derived type. | |
3883 (gfc_dt_list, gfc_get_dt_list): Remove. | |
3884 (gfc_namespace): Replace gfc_dt_list with gfc_symbol. | |
3885 * parse.c (resolve_all_program_units): Replace gfc_free_dt_list() with | |
3886 simple nullification of gfc_derived_types. | |
3887 * resolve.c (resolve_global_procedure): Replace gfc_dt_list with | |
3888 gfc_symbol. | |
3889 (add_dt_to_dt_list): Change derived type linked list insertion to | |
3890 utilize dt_next pointers in gfc_symbol. | |
3891 * symbol.c (gfc_new_symbol, gfc_free_dt_list, gfc_symbol_done2) | |
3892 (get_iso_c_binding_dt, generate_isocbinding_symbol): Remove | |
3893 gfc_free_dt_list as gfc_dt_list is obsoleted. Change derived type | |
3894 linked list search/insertion to utilize dt_next pointers in gfc_symbol. | |
3895 * trans-types.c (gfc_get_derived_type): Change derived type linked | |
3896 list search to utilize dt_next pointers in gfc_symbol. | |
3897 | |
3898 2018-07-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
3899 | |
3900 * trans-intrinsic.c: (gfc_conv_intrinsic_minmax): Emit MIN_MAX_EXPR | |
3901 or IFN_FMIN/FMAX sequence to calculate the min/max when possible. | |
3902 | |
3903 2018-07-18 Janus Weil <janus@gcc.gnu.org> | |
3904 Thomas Koenig <tkoenig@gcc.gnu.org> | |
3905 | |
3906 PR fortran/85599 | |
3907 * dump-parse-tree.c (show_attr): Add handling of implicit_pure. | |
3908 * frontend-passes.c (do_warn_function_elimination): Do not warn for | |
3909 pure functions. | |
3910 * gfortran.h: Add prototypes for gfc_pure_function and | |
3911 gfc_implicit_pure_function. | |
3912 * gfortran.texi: Add chapter on evaluation of logical expressions. | |
3913 * invoke.texi: Mention that -Wfunction-elimination is implied | |
3914 by -Wextra. | |
3915 * lang.opt: Make -Wextra imply -Wfunction-elimination. | |
3916 * resolve.c (pure_function): Rename to gfc_pure_function. | |
3917 (gfc_implicit_pure_function): New function. | |
3918 (check_pure_function): Use it here. | |
3919 (impure_function_callback): New function. | |
3920 (resolve_operator): Call it via gfc_expr_walker. | |
3921 | |
3922 2018-07-16 Fritz Reese <fritzoreese@gmail.com> | |
3923 | |
3924 PR fortran/83184 | |
3925 * decl.c (match_old_style_init): Initialize locus of variable expr when | |
3926 creating a data variable. | |
3927 (match_clist_expr): Verify array is explicit shape/size before | |
3928 attempting to allocate constant array constructor. | |
3929 | |
3930 2018-07-16 Fritz Reese <fritzoreese@gmail.com> | |
3931 | |
3932 PR fortran/86417 | |
3933 * module.c (mio_component): Set component->loc when loading from module. | |
3934 | |
3935 2018-07-10 Jakub Jelinek <jakub@redhat.com> | |
3936 | |
3937 PR fortran/86421 | |
3938 * module.c (omp_declare_simd_clauses): Add LINEAR with _REF, _VAL and | |
3939 _UVAL suffixes. | |
3940 (mio_omp_declare_simd): Save and restore ref, val and uval modifiers | |
3941 on linear clauses. Initialize n->where to gfc_current_locus. | |
3942 | |
3943 2018-07-05 Paul Thomas <pault@gcc.gnu.org> | |
3944 | |
3945 PR fortran/86408 | |
3946 * resolve.c.c (resolve_contained_fntype): Reference to C418 is | |
3947 in F2008 and not F2003. | |
3948 (resolve_function): Ditto in error message. Also, exclude | |
3949 deferred character length results from the error. | |
3950 | |
3951 2018-07-05 Fritz Reese <fritzoreese@gmail.com> | |
3952 | |
3953 PR fortran/83183 | |
3954 PR fortran/86325 | |
3955 * expr.c (class_allocatable, class_pointer, comp_allocatable, | |
3956 comp_pointer): New helpers. | |
3957 (component_initializer): Generate EXPR_NULL for allocatable or pointer | |
3958 components. Do not generate initializers for components within BT_CLASS. | |
3959 Do not assign to comp->initializer. | |
3960 (gfc_generate_initializer): Use new helpers; move code to generate | |
3961 EXPR_NULL for class allocatable components into component_initializer(). | |
3962 | |
3963 2018-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
3964 | |
3965 PR fortran/82009 | |
3966 * trans-decl.c (gfc_process_block_locals): Delete assert and set | |
3967 saved_local_decls = NULL_TREE. | |
3968 | |
3969 2018-07-02 Richard Biener <rguenther@suse.de> | |
3970 | |
3971 PR lto/86321 | |
3972 * trans-types.c (gfc_get_array_type_bounds): Unshare TYPE_FIELDs | |
3973 for the distinct type copy. | |
3974 | |
3975 2018-07-02 Paul Thomas <pault@gcc.gnu.org> | |
3976 | |
3977 PR fortran/82969 | |
3978 PR fortran/86242 | |
3979 * trans-array.c (structure_alloc_comps): Do not explicitly copy | |
3980 procedure pointer components. | |
3981 | |
3982 2018-07-02 Paul Thomas <pault@gcc.gnu.org> | |
3983 | |
3984 PR fortran/45305 | |
3985 * expr.c : Add a prototype for scalarize_intrinsic_call. | |
3986 (gfc_simplify_expr): Use scalarize_intrinsic_call for elemental | |
3987 intrinsic function calls. | |
3988 (scalarize_intrinsic_call): Add 'init_flag' argument. Check if | |
3989 the expression or any of the actual argument expressions are | |
3990 NULL. Before calling gfc_check_init_expr, check 'init_flag'. | |
3991 Only simplify the scalarized expressions if there are no errors | |
3992 on the stack. | |
3993 (gfc_check_init_expr): Set 'init_flag' true in the call to | |
3994 scalarize_intrinsic_call. | |
3995 | |
3996 2018-06-28 Fritz Reese <fritzoreese@gmail.com> | |
3997 | |
3998 PR fortran/82865 | |
3999 * decl.c (gfc_match_type): Refactor and check for PDT declarations. | |
4000 | |
4001 2018-06-28 Martin Liska <mliska@suse.cz> | |
4002 | |
4003 * gfortranspec.c: Include opt-suggestions.h. | |
4004 | |
4005 2018-06-25 Fritz Reese <fritzoreese@gmail.com> | |
4006 | |
4007 PR fortran/82972 | |
4008 PR fortran/83088 | |
4009 PR fortran/85851 | |
4010 * expr.c (component_initializer): Assign init expr to c->initializer. | |
4011 (generate_isocbinding_initializer): New. | |
4012 (gfc_generate_initializer): Call generate_isocbinding_initializer to | |
4013 generate initializers for c_ptr and c_funptr with -finit-derived. | |
4014 | |
4015 2018-06-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
4016 | |
4017 PR fortran/85983 | |
4018 * interface.c (check_dtio_interface1): Delete assert. | |
4019 | |
4020 2018-06-22 Paul Thomas <pault@gcc.gnu.org> | |
4021 Rainer Orth <ro@gcc.gnu.org> | |
4022 | |
4023 PR fortran/86281 | |
4024 * resolve.c (resolve_contained_fntype): Check for the charlen | |
4025 before testing the length. | |
4026 | |
4027 2018-06-21 Paul Thomas <pault@gcc.gnu.org> | |
4028 | |
4029 PR fortran/49630 | |
4030 * resolve.c (resolve_contained_fntype): Change standard ref. | |
4031 from F95 to F2003: C418. Correct a spelling error in a comment. | |
4032 It is an error for an abstract interface to have an assumed | |
4033 character length result. | |
4034 * trans-expr.c (gfc_conv_procedure_call): Likewise change the | |
4035 standard reference. | |
4036 | |
4037 2018-06-21 Paul Thomas <pault@gcc.gnu.org> | |
4038 | |
4039 PR fortran/83118 | |
4040 * resolve.c (resolve_ordinary_assign): Force the creation of a | |
4041 vtable for assignment of non-polymorphic expressions to an | |
4042 unlimited polymorphic object. | |
4043 * trans-array.c (gfc_alloc_allocatable_for_assignment): Use the | |
4044 size of the rhs type for such assignments. Set the dtype, _len | |
4045 and vptrs appropriately. | |
4046 * trans-expr.c (gfc_trans_assignment): Force the use of the | |
4047 _copy function for these assignments. | |
4048 | |
4049 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com> | |
4050 Thomas Schwinge <thomas@codesourcery.com> | |
4051 Cesar Philippidis <cesar@codesourcery.com> | |
4052 | |
4053 * gfortran.h (gfc_omp_clauses): Add unsigned if_present, finalize | |
4054 bitfields. | |
4055 * openmp.c (enum omp_mask2): Remove OMP_CLAUSE_PRESENT_OR_*. Add | |
4056 OMP_CLAUSE_{IF_PRESENT,FINALIZE}. | |
4057 (gfc_match_omp_clauses): Update handling of copy, copyin, copyout, | |
4058 create, deviceptr, present_of_*. Add support for finalize and | |
4059 if_present. | |
4060 (OACC_PARALLEL_CLAUSES): Remove PRESENT_OR_* clauses. | |
4061 (OACC_KERNELS_CLAUSES): Likewise. | |
4062 (OACC_DATA_CLAUSES): Likewise. | |
4063 (OACC_DECLARE_CLAUSES): Likewise. | |
4064 (OACC_UPDATE_CLAUSES): Add IF_PRESENT clause. | |
4065 (OACC_ENTER_DATA_CLAUSES): Remove PRESENT_OR_* clauses. | |
4066 (OACC_EXIT_DATA_CLAUSES): Add FINALIZE clause. | |
4067 (gfc_match_oacc_declare): Update to OpenACC 2.5 semantics. | |
4068 * trans-openmp.c (gfc_trans_omp_clauses): Add support for IF_PRESENT | |
4069 and FINALIZE. | |
4070 | |
4071 2018-06-18 Eric Botcazou <ebotcazou@adacore.com> | |
4072 | |
4073 * trans-decl.c (gfc_get_fake_result_decl): Revert latest change. | |
4074 | |
4075 2018-06-17 Eric Botcazou <ebotcazou@adacore.com> | |
4076 | |
4077 * trans-decl.c (nonlocal_dummy_decl_pset): Delete. | |
4078 (nonlocal_dummy_decls): Likewise. | |
4079 (gfc_nonlocal_dummy_array_decl): Likewise. | |
4080 (gfc_get_symbol_decl): Do not call gfc_nonlocal_dummy_array_decl. | |
4081 (gfc_get_fake_result_decl): Do not generate a new DECL if simply | |
4082 reusing the result of a recursive call. | |
4083 (gfc_generate_function_code): Do not create, insert and destroy | |
4084 nonlocal_dummy_decls. | |
4085 | |
4086 2018-06-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
4087 | |
4088 PR fortran/86110 | |
4089 * array.c (gfc_resolve_character_array_constructor): Avoid NULL | |
4090 pointer dereference. | |
4091 | |
4092 2018-06-13 Cesar Philippidis <cesar@codesourcery.com> | |
4093 | |
4094 PR fortran/85703 | |
4095 * parse.c (decode_oacc_directive): Set gfc_matching_function | |
4096 to false. | |
4097 (decode_omp_directive): Likewise. | |
4098 | |
4099 2018-06-13 Cesar Philippidis <cesar@codesourcery.com> | |
4100 | |
4101 PR fortran/85702 | |
4102 * openmp.c (gfc_match_oacc_wait): Use %C to report error location. | |
4103 | |
4104 2018-06-12 David Malcolm <dmalcolm@redhat.com> | |
4105 | |
4106 PR other/69968 | |
4107 * misc.c (gfc_closest_fuzzy_match): Update for renaming of | |
4108 levenshtein_distance to get_edit_distance. | |
4109 | |
4110 2018-06-12 Steven G. Kargl <kargl@gcc.gnu.org> | |
4111 | |
4112 PR fortran/44491 | |
4113 * expr.c (gfc_check_assign): Select non-NULL locus. | |
4114 | |
4115 2018-06-11 Janus Weil <janus@gcc.gnu.org> | |
4116 | |
4117 PR fortran/45521 | |
4118 * interface.c (compare_ptr_alloc): New function. | |
4119 (generic_correspondence): Call it. | |
4120 | |
4121 2018-06-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4122 | |
4123 * gfortran.h (gfc_expr): Add no_bounds_check field. | |
4124 * frontend-passes.c (get_array_inq_function): Set no_bounds_check | |
4125 on function and function argument. | |
4126 (inline_matmul_assign): Set no_bounds_check on zero expression | |
4127 and on lhs of zero expression. | |
4128 Also handle A1B2 case if realloc on assigment is active. | |
4129 * trans-array.c (gfc_conv_array_ref): Don't do range checking | |
4130 if expr has no_bounds_check set. | |
4131 (gfc_conv_expr_descriptor): Set no_bounds_check on ss if expr | |
4132 has it set. | |
4133 * trans-expr.c (gfc_trans_assignment_1): Set no_bounds_check | |
4134 on lss and lss if the corresponding expressions have it set. | |
4135 | |
4136 2018-06-10 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
4137 | |
4138 PR fortran/79854 | |
4139 * trans-const.c: Remove include "diagnostic-core.h". | |
4140 (gfc_conv_constant_to_tree): Replace fatal_error with gcc_unreachable. | |
4141 | |
4142 2018-06-10 Janus Weil <janus@gcc.gnu.org> | |
4143 | |
4144 PR fortran/85088 | |
4145 * decl.c (match_attr_spec): Synchronize the DECL_* enum values with the | |
4146 INTENT_* values from the enum 'sym_intent'. Call 'match_intent_spec' | |
4147 and remove a TODO note. | |
4148 * gfortran.h: Add a comment to sym_intent. | |
4149 | |
4150 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
4151 | |
4152 PR fortran/38351 | |
4153 * resolve.c (resolve_operator): Provide better error message for | |
4154 derived type entity used in an binary intrinsic numeric operator. | |
4155 | |
4156 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
4157 | |
4158 PR fortran/85138 | |
4159 PR fortran/85996 | |
4160 PR fortran/86051 | |
4161 * decl.c (gfc_match_char_spec): Use private namespace in attempt to | |
4162 reduce a charlen to a constant. | |
4163 | |
4164 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
4165 | |
4166 PR fortran/78278 | |
4167 * data.c (gfc_assign_data_value): Re-arrange code to allow for | |
4168 an error for double initialization of CHARACTER entities. | |
4169 | |
4170 2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
4171 | |
4172 PR fortran/63514 | |
4173 * symbol.c (gfc_add_volatile): Enforce F2008:C1282 and F2018:C1588. | |
4174 | |
4175 2018-06-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4176 | |
4177 PR fortran/85631 | |
4178 * trans.h (gfc_ss): Add field no_bounds_check. | |
4179 * trans-array.c (gfc_conv_ss_startstride): If flag_realloc_lhs and | |
4180 ss->no_bounds_check is set, do not use runtime checks. | |
4181 * trans-expr.c (gfc_trans_assignment_1): Set lss->no_bounds_check | |
4182 for reallocatable lhs. | |
4183 | |
4184 2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
4185 | |
4186 PR fortran/86059 | |
4187 * array.c (match_array_cons_element): NULL() cannot be in an | |
4188 array constructor. | |
4189 | |
4190 2018-06-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
4191 | |
4192 PR fortran/78571 | |
4193 * data.c (create_character_initializer): Return early if type is | |
4194 incompatible with CHARACTER. | |
4195 | |
4196 2018-06-07 Steven G. Kargl <kargl@gcc.gnu.org> | |
4197 | |
4198 PR fortran/86045 | |
4199 * simplify.c (gfc_simplify_mod): Re-arrange code to test whether | |
4200 'P' is zero and issue an error if it is. | |
4201 | |
4202 2018-06-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4203 | |
4204 PR fortran/85641 | |
4205 * frontend-passes.c (is_fe_temp): Add prototype. | |
4206 (realloc_string_callback): Early return for frontend-generated | |
4207 temporary. | |
4208 | |
4209 2018-06-05 Cesar Philippidis <cesar@codesourcery.com> | |
4210 | |
4211 PR fortran/85701 | |
4212 | |
4213 * openmp.c (gfc_resolve_oacc_declare): Error on functions and | |
4214 subroutine data clause arguments. | |
4215 | |
4216 2018-06-04 Steven G. Kargl <kargl@gcc.gnu.org> | |
4217 | |
4218 PR fortran/85981 | |
4219 * resolve.c (resolve_allocate_deallocate): Check errmsg is default | |
4220 character kind. | |
4221 | |
4222 2018-06-03 Paul Thomas <pault@gcc.gnu.org> | |
4223 | |
4224 PR fortran/36497 | |
4225 * decl.c (variable_decl): Use gfc_add_type for cray pointees. | |
4226 | |
4227 2018-06-01 Steven G. Kargl <kargl@gcc.gnu.org> | |
4228 | |
4229 PR fortran/63570 | |
4230 * check.c (gfc_check_random_init): New function. Check arguments of | |
4231 RANDOM_INIT. | |
4232 * gfortran.h (GFC_ISYM_RANDOM_INIT): New enum token. | |
4233 * intrinsic.c (add_subroutines): Add RANDOM_INIT to list of | |
4234 subroutines. | |
4235 (gfc_check_intrinsic_standard): Introduce Fortran 2018 check. | |
4236 * intrinsic.h: Add prototypes for gfc_check_random_init and | |
4237 gfc_resolve_random_init | |
4238 * intrinsic.texi: Document new intrinsic subprogram. | |
4239 * iresolve.c (gfc_resolve_random_init): Resolve routine name. | |
4240 * trans-decl.c: Declare gfor_fndecl_random_init | |
4241 * trans-intrinsic.c (conv_intrinsic_random_init): New function. | |
4242 Translate call to RANDOM_INIT. | |
4243 (gfc_conv_intrinsic_subroutine): Call it. | |
4244 * trans.h: Declare gfor_fndecl_random_init | |
4245 | |
4246 2018-05-27 Steven G. Kargl <kargl@gcc.gnu.org> | |
4247 | |
4248 * decl.c (match_data_constant): Fortran 2018 allows pointer | |
4249 initialization in a data statement. | |
4250 | |
4251 2018-05-25 Janus Weil <janus@gcc.gnu.org> | |
4252 | |
4253 PR fortran/85839 | |
4254 * match.c (gfc_match_block_data): Call gfc_notify_std to warn about | |
4255 an obsolescent feature in Fortran 2018. | |
4256 (gfc_match_equivalence): Ditto. | |
4257 * resolve.c (resolve_common_blocks): Ditto. | |
4258 (gfc_resolve_forall): Ditto. | |
4259 * symbol.c (gfc_define_st_label): Ditto. | |
4260 | |
4261 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
4262 | |
4263 PR fortran/85543 | |
4264 * resolve.c (update_current_proc_array_outer_dependency): Avoid NULL | |
4265 pointer dereference. | |
4266 | |
4267 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
4268 | |
4269 PR fortran/85780 | |
4270 * resolve.c (resolve_fl_procedure): Avoid NULL dereference. | |
4271 | |
4272 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
4273 | |
4274 PR fortran/85779 | |
4275 * decl.c (gfc_match_derived_decl): Fix NULL point dereference. | |
4276 | |
4277 2018-05-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
4278 | |
4279 PR fortran/85895 | |
4280 * resolve.c (resolve_sync): Resolve expression before checking for | |
4281 an error. | |
4282 | |
4283 2018-05-22 Janus Weil <janus@gcc.gnu.org> | |
4284 | |
4285 PR fortran/85841 | |
4286 * libgfortran.h: Remove the macros GFC_STD_F2008_TS and | |
4287 GFC_STD_OPT_F08TS. | |
4288 * error.c (notify_std_msg): Remove GFC_STD_F2008_TS. | |
4289 * options.c (set_default_std_flags): Ditto. | |
4290 (gfc_handle_option): Make -std=f2008ts an alias for -std=f2018. | |
4291 * array.c (gfc_match_array_spec): Replace GFC_STD_F2008_TS by | |
4292 GFC_STD_F2018. | |
4293 * check.c (gfc_check_atomic, gfc_check_event_query, | |
4294 gfc_check_c_f_pointer, gfc_check_c_f_procpointer, gfc_check_c_funloc, | |
4295 gfc_check_c_loc, gfc_check_num_images, gfc_check_this_image): Ditto. | |
4296 * decl.c (gfc_verify_c_interop_param, gfc_match_decl_type_spec): Ditto. | |
4297 * intrinsic.c (add_functions, add_subroutines, | |
4298 gfc_check_intrinsic_standard): Ditto. | |
4299 * iso-c-binding.def: Ditto. | |
4300 * iso-fortran-env.def: Ditto. | |
4301 * match.c (gfc_match_event_post, gfc_match_event_wait, | |
4302 gfc_match_fail_image, gfc_match_form_team, gfc_match_change_team, | |
4303 gfc_match_end_team, gfc_match_sync_team): Ditto. | |
4304 * gfortran.texi: Remove mention of -std=f2008ts. | |
4305 Move TSs into F2018 section. | |
4306 * invoke.texi: Update documentation of -std=f2008ts. | |
4307 | |
4308 2018-05-21 Janus Weil <janus@gcc.gnu.org> | |
4309 | |
4310 PR fortran/85841 | |
4311 * libgfortran.h: New macros GFC_STD_OPT_*. | |
4312 * error.c (notify_std_msg): New function. | |
4313 (gfc_notify_std): Adjust such that it can handle combinations of | |
4314 GFC_STD_* flags in the 'std' argument, not just a single one. | |
4315 * match.c (match_arithmetic_if, gfc_match_if): Reject arithmetic if | |
4316 in Fortran 2018. | |
4317 (gfc_match_stopcode): Use GFC_STD_OPT_* macros. | |
4318 * options.c (set_default_std_flags): Warn for F2018 deleted features | |
4319 by default. | |
4320 (gfc_handle_option): F2018 deleted features are allowed in earlier | |
4321 standards. | |
4322 * symbol.c (gfc_define_st_label, gfc_reference_st_label): Reject | |
4323 nonblock do constructs in Fortran 2018. | |
4324 | |
4325 2018-05-20 Paul Thomas <pault@gcc.gnu.org> | |
4326 | |
4327 PR fortran/80657 | |
4328 * resolve.c (flag_fn_result_spec): Use the 'sym' argument to | |
4329 test for self refs to the function result in the character len | |
4330 expression. If a self reference is found, emit an error and | |
4331 return true. | |
4332 (resolve_fntype): Use the function symbol in the calls to the | |
4333 above. | |
4334 | |
4335 2018-05-20 Paul Thomas <pault@gcc.gnu.org> | |
4336 | |
4337 PR fortran/49636 | |
4338 * trans-array.c (gfc_get_array_span): Renamed from | |
4339 'get_array_span'. | |
4340 (gfc_conv_expr_descriptor): Change references to above. | |
4341 * trans-array.h : Add prototype for 'gfc_get_array_span'. | |
4342 * trans-intrinsic.c (gfc_conv_associated): Add pre and post | |
4343 blocks for 'arg1'. | |
4344 * trans-stmt.c (trans_associate_var): If the associate name is | |
4345 a subref array pointer, use gfc_get_array_span for the span. | |
4346 | |
4347 2018-05-20 Paul Thomas <pault@gcc.gnu.org> | |
4348 | |
4349 PR fortran/82275 | |
4350 * match.c (gfc_match_type_spec): Go through the array ref and | |
4351 decrement 'rank' for every dimension that is an element. | |
4352 | |
4353 2018-05-19 Paul Thomas <pault@gcc.gnu.org> | |
4354 | |
4355 PR fortran/82923 | |
4356 PR fortran/66694 | |
4357 PR fortran/82617 | |
4358 * trans-array.c (gfc_alloc_allocatable_for_assignment): Set the | |
4359 charlen backend_decl of the rhs expr to ss->info->string_length | |
4360 so that the value in the current scope is used. | |
4361 | |
4362 2018-05-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
4363 | |
4364 PR fortran/63529 | |
4365 * gfortran.texi: Clarify documentation for Cray pointer and | |
4366 assumed-sized array. | |
4367 | |
4368 2018-05-13 Paul Thomas <pault@gcc.gnu.org> | |
4369 | |
4370 PR fortran/85742 | |
4371 * trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation | |
4372 of 'size'. If the element type is a pointer use the size of the | |
4373 TREE_TYPE of the type, unless it is VOID_TYPE. In this latter | |
4374 case, set the size to zero. | |
4375 | |
4376 2018-05-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
4377 | |
4378 * gfortran.h: Remove prototype. | |
4379 * symbol.c (gfc_new_undo_checkpoint): Remove unused function. | |
4380 | |
4381 2018-05-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
4382 | |
4383 PR fortran/85542 | |
4384 * expr.c (check_inquiry): Avoid NULL pointer dereference. | |
4385 | |
4386 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
4387 | |
4388 PR fortran/85687 | |
4389 * check.c (gfc_check_rank): Check that the argument is a data object. | |
4390 | |
4391 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
4392 | |
4393 PR fortran/85521 | |
4394 * array.c (gfc_resolve_character_array_constructor): Substrings | |
4395 with upper bound smaller than lower bound are zero length strings. | |
4396 | |
4397 2018-05-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
4398 | |
4399 PR fortran/70870 | |
4400 * data.c (gfc_assign_data_value): Check that a data object does | |
4401 not also have default initialization. | |
4402 | |
4403 2018-05-10 Marek Polacek <polacek@redhat.com> | |
4404 | |
4405 PR fortran/85735 | |
4406 * options.c (gfc_post_options): Set main_input_filename. | |
4407 | |
4408 2018-05-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4409 | |
4410 PR fortran/54613 | |
4411 * intrinsic.texi: Document BACK for MINLOC and MAXLOC. | |
4412 | |
4413 2018-05-10 Paul Thomas <pault@gcc.gnu.org> | |
4414 | |
4415 PR fortran/68846 | |
4416 PR fortran/70864 | |
4417 * resolve.c (get_temp_from_expr): The temporary must not have | |
4418 dummy or intent attributes. | |
4419 | |
4420 2018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4421 | |
4422 PR fortran/54613 | |
4423 * check.c (gfc_check_minmaxloc): Remove error for BACK not being | |
4424 implemented. Use gfc_logical_4_kind for BACK. | |
4425 * simplify.c (min_max_choose): Add optional argument back_val. | |
4426 Handle it. | |
4427 (simplify_minmaxloc_to_scalar): Add argument back_val. Pass | |
4428 back_val to min_max_choose. | |
4429 (simplify_minmaxloc_to_nodim): Likewise. | |
4430 (simplify_minmaxloc_to_array): Likewise. | |
4431 (gfc_simplify_minmaxloc): Add argument back, handle it. | |
4432 Pass back_val to specific simplification functions. | |
4433 (gfc_simplify_minloc): Remove ATTRIBUTE_UNUSED from argument back, | |
4434 pass it on to gfc_simplify_minmaxloc. | |
4435 (gfc_simplify_maxloc): Likewise. | |
4436 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Adjust | |
4437 comment. If BACK is true, use greater or equal (or lesser or | |
4438 equal) insteal of greater (or lesser). Mark the condition of | |
4439 having found a value which exceeds the limit as unlikely. | |
4440 | |
4441 2018-05-07 Jeff Law <law@redhat.comg> | |
4442 | |
4443 * scanner.c (preprocessor_line): Call linemap_add after a line | |
4444 directive that changes the current filename. | |
4445 | |
4446 2018-05-06 Andre Vehreschild <vehre@gcc.gnu.org> | |
4447 | |
4448 PR fortran/85507 | |
4449 * dependency.c (gfc_dep_resolver): Revert looking at coarray dimension | |
4450 introduced by r259385. | |
4451 * trans-intrinsic.c (conv_caf_send): Always report a dependency for | |
4452 same variables in coarray assignments. | |
4453 | |
4454 2018-05-02 Tom de Vries <tom@codesourcery.com> | |
4455 | |
4456 PR libgomp/82428 | |
4457 * f95-lang.c (DEF_GOACC_BUILTIN_ONLY): Define. | |
4458 | |
4459 2018-04-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
4460 | |
4461 PR fortran/85520 | |
4462 * decl.c (gfc_match_char_spec): Check for negative length and set to 0. | |
4463 | |
4464 2018-04-14 Andre Vehreschild <vehre@gcc.gnu.org> | |
4465 | |
4466 PR fortran/81773 | |
4467 PR fortran/83606 | |
4468 * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored | |
4469 during dependency computation. They define no data dependency. | |
4470 * trans-array.c (conv_array_index_offset): The stride can not be set | |
4471 here, prevent fail. | |
4472 * trans-intrinsic.c (conv_caf_send): Add creation of temporary array | |
4473 for caf_get's result and copying to the array with vectorial | |
4474 indexing. | |
4475 | |
4476 2018-04-14 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4477 | |
4478 PR fortran/85387 | |
4479 * frontend-passes.c (traverse_io_block): Check for start, end or | |
4480 stride being defined by an outer implied DO loop. | |
4481 | |
4482 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4483 | |
4484 PR fortran/83064 | |
4485 PR testsuite/85346 | |
4486 * trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind | |
4487 for annotation and remove dependence on -ftree-parallelize-loops. | |
4488 | |
4489 2018-04-10 Jakub Jelinek <jakub@redhat.com> | |
4490 | |
4491 PR fortran/85313 | |
4492 * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;. | |
4493 (resolve_oacc_nested_loops): Likewise. Formatting fix. | |
4494 | |
4495 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4496 | |
4497 PR fortran/83064 | |
4498 * trans-stmt.c (gfc_trans_forall_loop): Remove annotation for | |
4499 parallell processing of DO CONCURRENT -ftree-parallelize-loops | |
4500 is set. | |
4501 | |
4502 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4503 | |
4504 PR fortran/51260 | |
4505 * resolve.c (resolve_variable): Simplify cases where access to a | |
4506 parameter array results in a single constant. | |
4507 | |
4508 2018-04-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4509 | |
4510 PR fortran/85102 | |
4511 * decl.c (variable_decl): If upper or lower bounds simplify | |
4512 to a constant, use that. | |
4513 | |
4514 2018-03-30 Paul Thomas <pault@gcc.gnu.org> | |
4515 | |
4516 PR fortran/84931 | |
4517 * simplify.c (gfc_convert_constant): Handle case of array | |
4518 constructors within an array that has no iterator and improve | |
4519 the conciseness of this section of code. | |
4520 | |
4521 2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4522 | |
4523 PR fortran/85111 | |
4524 * array.c (gfc_resolve_character_array_constructor): Early | |
4525 exit for zero-size arrays. | |
4526 * simplify.c (simplify_transformation_to_array): Exit early | |
4527 if the result size is zero. | |
4528 (simplify_minmaxloc_to_array): Likewise. | |
4529 | |
4530 2018-03-28 Mikael Morin <mikael@gcc.gnu.org> | |
4531 | |
4532 PR fortran/69497 | |
4533 * symbol.c (gfc_symbol_done_2): Start freeing namespaces | |
4534 from the root. | |
4535 (gfc_free_namespace): Restore assert (revert r258839). | |
4536 | |
4537 2018-03-28 Jakub Jelinek <jakub@redhat.com> | |
4538 | |
4539 * gfortran.h (gfc_dt): Rename default_exp field to dec_ext. | |
4540 * ioparm.def (IOPARM_dt_default_exp): Rename to ... | |
4541 (IOPARM_dt_dec_ext): ... this. | |
4542 * trans-io.c (build_dt): Adjust for default_exp renaming to | |
4543 dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext. | |
4544 * io.c (match_io): Likewise. | |
4545 | |
4546 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4547 | |
4548 PR fortran/85084 | |
4549 * frontend-passes.c (gfc_run_passes): Do not run front-end | |
4550 optimizations if a previous error occurred. | |
4551 | |
4552 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4553 Harald Anlauf <anlauf@gmx.de> | |
4554 | |
4555 PR fortran/85083 | |
4556 * primary.c (gfc_convert_to_structure_constructor): Check | |
4557 conformance of argument types in structure constructor. | |
4558 | |
4559 2018-03-26 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4560 | |
4561 PR fortran/66709 | |
4562 * io.c: Include constructor.h. | |
4563 (resolve_tag_format): For a constant character array, concatenate | |
4564 into a single character expression. | |
4565 | |
4566 2018-03-25 Seth Johnson <johnsonsr@ornl.gov> | |
4567 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
4568 | |
4569 PR fortran/84924 | |
4570 * check.c (gfc_check_c_f_pointer): Allow scalar noninteroperable | |
4571 scalar derived type with -std=f2003 and -std=f2008. | |
4572 | |
4573 2018-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
4574 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
4575 | |
4576 PR fortran/69497 | |
4577 * symbol.c (gfc_free_namespace): Delete the assert and only if | |
4578 refs count is equals zero, free the namespace. Otherwise, | |
4579 something is halfway and other errors will resound. | |
4580 | |
4581 2018-03-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4582 | |
4583 PR fortran/70068 | |
4584 * expr.c (find_substring_ref): Change types of start, end | |
4585 and length variables to gfc_charlen_t. Set length to zero | |
4586 for empty substring. | |
4587 | |
4588 2018-03-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
4589 | |
4590 PR fortran/42651 | |
4591 * decl.c (check_function_name): Improved error message | |
4592 (gfc_match_volatile, gfc_match_asynchronous) Use check_function_name. | |
4593 | |
4594 2018-03-22 Steven G. Kargl <kargl@gcc.gnu.org> | |
4595 | |
4596 PR fortran/84922 | |
4597 * decl.c (get_proc_name): If the MODULE prefix appears in interface | |
4598 body, then it must appear on the contained subroutine or function. | |
4599 While here, fix nearby mis-indented code. | |
4600 | |
4601 2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4602 Harald Anlauf <anlauf@gmx.de> | |
4603 | |
4604 PR fortran/84957 | |
4605 * trans-types.c (gfc_sym_type): Do not dereference NULL pointer. | |
4606 | |
4607 2018-03-21 Janne Blomqvist <jb@gcc.gnu.org> | |
4608 | |
4609 PR fortran/84615 | |
4610 * trans-expr.c (gfc_conv_procedure_call): Convert charlen to | |
4611 gfc_charlen_type_node when calling procedure. | |
4612 | |
4613 2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org> | |
4614 | |
4615 PR fortran/85001 | |
4616 * interface.c (symbol_rank): Remove bogus null pointer check that | |
4617 crept in when translating a ternary operator into an if-else | |
4618 constructor. | |
4619 | |
4620 2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4621 | |
4622 PR fortran/84931 | |
4623 * simplify.c (gfc_convert_constant): Correctly handle iterators | |
4624 for type conversion. | |
4625 | |
4626 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> | |
4627 | |
4628 PR fortran/77414 | |
4629 * decl.c (get_proc_name): Check for a subroutine re-defined in | |
4630 the contain portion of a subroutine. Change language of existing | |
4631 error message to better describe the issue. While here fix whitespace | |
4632 issues. | |
4633 | |
4634 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> | |
4635 | |
4636 PR fortran/65453 | |
4637 * decl.c (get_proc_name): Catch clash between a procedure statement | |
4638 and a contained subprogram | |
4639 | |
4640 2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org> | |
4641 | |
4642 PR fortran/69395 | |
4643 * decl.c (merge_array_spec): Correct the error condition. | |
4644 | |
4645 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
4646 | |
4647 PR fortran/78741 | |
4648 * decl.c (get_proc_name): Check for clash of entry name with | |
4649 subroutine name. | |
4650 | |
4651 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
4652 | |
4653 PR fortran/69395 | |
4654 * decl.c (merge_array_spec): Limit the merging to maximum allowed | |
4655 dimensions, and issue error message if limit is exceeded. | |
4656 | |
4657 2018-03-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
4658 | |
4659 * check.c (gfc_check_kill_sub): Remove check for INTEGER(4) or (8). | |
4660 * intrinsic.c (add_functions): Remove reference to gfc_resolve_kill. | |
4661 (add_subroutines): Remove reference to gfc_resolve_kill_sub. | |
4662 * intrinsic.texi: Update documentation. | |
4663 * iresolve.c (gfc_resolve_kill, gfc_resolve_kill_sub): Remove. | |
4664 * trans-decl.c (gfc_build_intrinsic_function_decls): Add | |
4665 gfor_fndecl_kill and gfor_fndecl_kill_sub | |
4666 * trans-intrinsic.c (conv_intrinsic_kill, conv_intrinsic_kill_sub): new | |
4667 functions. | |
4668 (gfc_conv_intrinsic_function): Use conv_intrinsic_kill. | |
4669 (gfc_conv_intrinsic_subroutine): Use conv_intrinsic_kill_sub. | |
4670 * trans.h: Declare gfor_fndecl_kill and gfor_fndecl_kill_sub. | |
4671 | |
4672 2018-03-11 Paul Thomas <pault@gcc.gnu.org> | |
4673 | |
4674 PR fortran/84546 | |
4675 * trans-array.c (structure_alloc_comps): Make sure that the | |
4676 vptr is copied and that the unlimited polymorphic _len is used | |
4677 to compute the size to be allocated. | |
4678 * trans-expr.c (gfc_get_class_array_ref): If unlimited, use the | |
4679 unlimited polymorphic _len for the offset to the element. | |
4680 (gfc_copy_class_to_class): Set the new 'unlimited' argument. | |
4681 * trans.h : Add the boolean 'unlimited' to the prototype. | |
4682 | |
4683 2018-03-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
4684 | |
4685 PR fortran/83939 | |
4686 * resolve.c (resolve_fl_procedure): Enforce F2018:C15100. | |
4687 | |
4688 2018-03-11 Steven G. Kargl <kargls@gcc.gnu.org> | |
4689 | |
4690 * check.c (gfc_check_kill): Check pid and sig are scalar. | |
4691 (gfc_check_kill_sub): Restrict kind to 4 and 8. | |
4692 * intrinsic.c (add_function): Sort keyword list. Add pid and sig | |
4693 keywords for KILL. Remove redundant *back="back" in favor of the | |
4694 original *bck="back". | |
4695 (add_subroutines): Sort keyword list. Add pid and sig keywords | |
4696 for KILL. | |
4697 * intrinsic.texi: Fix documentation to consistently use pid and sig. | |
4698 * iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8. Choose the | |
4699 correct function. | |
4700 (gfc_resolve_rename_sub): Add comment. | |
4701 | |
4702 2018-03-11 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4703 | |
4704 PR fortran/66128 | |
4705 * simplify.c (simplify_transformation): Return default result for | |
4706 empty array argument. | |
4707 (gfc_simplify_all): Remove special-case handling for zerosize. | |
4708 (gfc_simplify_any): Likewise. | |
4709 (gfc_simplify_count): Likewise. | |
4710 (gfc_simplify_iall): Likewise. | |
4711 (gfc_simplify_iany): Likewise. | |
4712 (gfc_simplify_iparity): Likewise. | |
4713 (gfc_simplify_minval): Likewise. | |
4714 (gfc_simplify_maxval): Likewise. | |
4715 (gfc_simplify_norm2): Likewise. | |
4716 (gfc_simplify_product): Likewise. | |
4717 (gfc_simplify_sum): Likewise. | |
4718 | |
4719 2018-03-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
4720 | |
4721 PR fortran/84734 | |
4722 * arith.c (check_result, eval_intrinsic): If result overflows, pass | |
4723 the expression up the chain instead of a NULL pointer. | |
4724 | |
4725 2018-03-07 Steven G. Kargl <kargl@gcc.gnu.org> | |
4726 | |
4727 PR fortran/64124 | |
4728 PR fortran/70409 | |
4729 * decl.c (gfc_match_char_spec): Try to reduce a charlen to a constant. | |
4730 | |
4731 2017-03-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4732 | |
4733 PR fortran/84697 | |
4734 PR fortran/66128 | |
4735 * expr.c (simplify_parameter_variable): If p is a size zero array | |
4736 and not an ARRAY_EXPR insert an empty array constructor and | |
4737 return. | |
4738 * gfortran.h: Add prototype for gfc_is_size_zero_array. | |
4739 * simplify.c (is_size_zero_array): Make non-static and rename into | |
4740 (gfc_is_size_zero_array): Check for parameter arrays of zero | |
4741 size by comparing shape and absence of constructor. | |
4742 (gfc_simplify_all): Use gfc_is_size_zero_array instead of | |
4743 is_size_zero_array. | |
4744 (gfc_simplify_count): Likewise. | |
4745 (gfc_simplify_iall): Likewise. | |
4746 (gfc_simplify_iany): Likewise. | |
4747 (gfc_simplify_iparity): Likewise. | |
4748 (gfc_simplify_minval): Likewise. | |
4749 (gfc_simplify_maxval): Likewise. | |
4750 (gfc_simplify_product): Likewise. | |
4751 (gfc_simplify_sum): Likewise. | |
4752 | |
4753 2018-03-06 Steven G. Kargl <kargl@gcc.gnu.org> | |
4754 | |
4755 PR fortran/56667 | |
4756 * primary.c (match_sym_complex_part): Give the matcher for an implied | |
4757 do-loop a chance to run. | |
4758 | |
4759 2018-03-03 Harald Anlauf <anlauf@gmx.de> | |
4760 | |
4761 PR fortran/71085 | |
4762 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not | |
4763 dereference NULL pointer. | |
4764 | |
4765 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org> | |
4766 | |
4767 PR fortran/66128 | |
4768 * simplify.c (is_size_zero_array): New function to check for size | |
4769 zero array. | |
4770 (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count, | |
4771 gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity, | |
4772 gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2, | |
4773 gfc_simplify_product, gfc_simplify_sum): Use it, and implement | |
4774 requirements from F2018. | |
4775 | |
4776 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org> | |
4777 | |
4778 PR fortran/51434 | |
4779 * simplify.c (gfc_simplify_transfer): Resolve mold. | |
4780 | |
4781 2018-03-03 Paul Thomas <pault@gcc.gnu.org> | |
4782 | |
4783 PR fortran/80965 | |
4784 * resolve.c (build_loc_call): Change symtree name from 'loc' to | |
4785 '_loc'. | |
4786 | |
4787 2018-03-01 Paul Thomas <pault@gcc.gnu.org> | |
4788 | |
4789 PR fortran/84219 | |
4790 * target-memory.c (gfc_interpret_derived): Assert that BT_VOID | |
4791 components are caf tokens. | |
4792 (gfc_target_interpret_expr): Treat BT_VOID expressions as | |
4793 integers. | |
4794 | |
4795 2018-03-01 Paul Thomas <pault@gcc.gnu.org> | |
4796 | |
4797 PR fortran/84538 | |
4798 * class.c (class_array_ref_detected): Remove the condition that | |
4799 there be no reference after the array reference. | |
4800 (find_intrinsic_vtab): Remove excess whitespace. | |
4801 * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp' | |
4802 as 'base and call build_class_array_ref earlier. | |
4803 | |
4804 2018-02-28 Paul Thomas <pault@gcc.gnu.org> | |
4805 | |
4806 PR fortran/83901 | |
4807 * trans-stmt.c (trans_associate_var): Make sure that the se | |
4808 expression is a pointer type before converting it to the symbol | |
4809 backend_decl type. | |
4810 | |
4811 2018-02-25 Steven G. Kargl <kargl@gcc.gnu.org> | |
4812 | |
4813 PR fortran/83633 | |
4814 * decl.c (variable_decl): Check that an explicit-shape-array with | |
4815 nonconstant bounds is allowed. | |
4816 | |
4817 2018-02-25 Paul Thomas <pault@gcc.gnu.org> | |
4818 | |
4819 PR fortran/84523 | |
4820 * trans-intrinsic.c (gfc_conv_allocated): If the argument se | |
4821 has a pre block, add it to the expression pre block. | |
4822 | |
4823 2018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4824 | |
4825 PR fortran/78238 | |
4826 * gfortran.h (gfc_integer_4_kind): Define. | |
4827 * resolve.c (resolve_select_type): Make sure that the | |
4828 kind of c->high is gfc_integer_4_kind. | |
4829 | |
4830 2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org> | |
4831 | |
4832 PR fortran/30792 | |
4833 * decl.c (gfc_match_data): Check for invalid substring in | |
4834 data-implied-do | |
4835 | |
4836 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
4837 | |
4838 * intrinsic.texi: Arguments to MATMUL cannot both be rank one. | |
4839 | |
4840 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
4841 | |
4842 PR fortran/84511 | |
4843 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement. | |
4844 | |
4845 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
4846 | |
4847 PR fortran/84346 | |
4848 * interface.c (compare_actual_formal): Issue error if keyword is | |
4849 used in a statement function. | |
4850 | |
4851 2018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
4852 | |
4853 PR fortran/84506 | |
4854 * trans-io.c (set_parameter_value_inquire): Adjust range check of | |
4855 negative unit values for kind=8 units to the kind=4 negative limit. | |
4856 | |
4857 2018-02-23 Paul Thomas <pault@gcc.gnu.org> | |
4858 | |
4859 PR fortran/83149 | |
4860 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before | |
4861 accessing its components. | |
4862 | |
4863 2018-02-23 Paul Thomas <pault@gcc.gnu.org> | |
4864 | |
4865 PR fortran/83149 | |
4866 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name | |
4867 before accessing its components. | |
4868 | |
4869 2018-02-23 Paul Thomas <pault@gcc.gnu.org> | |
4870 | |
4871 PR fortran/83148 | |
4872 * trans-const.c : Clean up some whitespace issues. | |
4873 * trans-expr.c (gfc_conv_initializer): If an iso_c_binding | |
4874 derived type has a kind value of zero, set it to the default | |
4875 integer kind. | |
4876 | |
4877 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org> | |
4878 | |
4879 PR fortran/84519 | |
4880 * trans-decl.c (gfc_build_builtin_function_decls): Add bool | |
4881 argument to stop and error stop decls. | |
4882 * trans-stmt.c (gfc_trans_stop): Add false value to argument | |
4883 lists. | |
4884 | |
4885 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org> | |
4886 | |
4887 PR 78534 | |
4888 PR 84509 | |
4889 * trans-decl.c (gfc_build_builtin_function_decls): Pass | |
4890 gfc_int8_type node to pause_numeric, size_type_node to | |
4891 pause_string. | |
4892 * trans-stmt.c (gfc_trans_pause): Likewise. | |
4893 | |
4894 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org> | |
4895 | |
4896 * gfortran.texi: Update Coarray API description. | |
4897 * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for | |
4898 character lengths, int for exit codes. | |
4899 (generate_coarray_sym_init): Use size_t for character length. | |
4900 * trans-intrinsic.c (conv_co_collective): Likewise. | |
4901 * trans-stmt.c (gfc_trans_lock_unlock): Likewise. | |
4902 (gfc_trans_event_post_wait): Likewise. | |
4903 (gfc_trans_sync): Likewise. | |
4904 (gfc_trans_stop): Use size_t for character lengths, int for exit | |
4905 codes. | |
4906 | |
4907 2018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4908 | |
4909 PR fortran/48890 | |
4910 PR fortran/83823 | |
4911 * primary.c (gfc_convert_to_structure_constructor): | |
4912 For a constant string constructor, make sure the length | |
4913 is correct. | |
4914 | |
4915 2018-02-19 Paul Thomas <pault@gcc.gnu.org> | |
4916 | |
4917 PR fortran/83344 | |
4918 PR fortran/83975 | |
4919 * resolve.c (resolve_assoc_var): Rearrange the logic for the | |
4920 determination of the character length of associate names. If | |
4921 the associate name is missing a length expression or the length | |
4922 expression is not a constant and the target is not a variable, | |
4923 make the associate name allocatable and deferred length. | |
4924 * trans-decl.c (gfc_get_symbol_decl): Null the character length | |
4925 backend_decl for deferred length associate names that are not | |
4926 variables. Set 'length' to gfc_index_zero_node for character | |
4927 associate names, whose character length is a PARM_DECL. | |
4928 | |
4929 2018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4930 | |
4931 PR fortran/35339 | |
4932 * frontend-passes.c (traverse_io_block): Remove workaround for | |
4933 PR 80945. | |
4934 | |
4935 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org> | |
4936 | |
4937 * gfortran.texi: Document additional src/dst_type. Fix some typos. | |
4938 * trans-decl.c (gfc_build_builtin_function_decls): Declare the new | |
4939 argument of _caf_*_by_ref () with * e { get, send, sendget }. | |
4940 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the | |
4941 data referenced when generating a call to caf_get_by_ref (). | |
4942 (conv_caf_send): Same but for caf_send_by_ref () and | |
4943 caf_sendget_by_ref (). | |
4944 | |
4945 2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
4946 | |
4947 PR fortran/84389 | |
4948 * io.c (check_format): Allow FMT_COLON. | |
4949 | |
4950 2018-02-18 Paul Thomas <pault@gcc.gnu.org> | |
4951 | |
4952 PR fortran/80945 | |
4953 * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from | |
4954 the typenode in the case of deferred length characters. | |
4955 | |
4956 2018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org> | |
4957 | |
4958 PR fortran/84270 | |
4959 * frontend-passes (scalarized_expr): If the expression | |
4960 is an assumed size array, leave in the last reference | |
4961 and pass AR_SECTION instead of AR_FULL to gfc_resolve | |
4962 in order to avoid an error. | |
4963 | |
4964 2018-02-17 Paul Thomas <pault@gcc.gnu.org> | |
4965 | |
4966 PR fortran/84115 | |
4967 * resolve.c (resolve_assoc_var): If a non-constant target expr. | |
4968 has no string length expression, make the associate variable | |
4969 into a deferred length, allocatable symbol. | |
4970 * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to | |
4971 the symbol. | |
4972 * trans-stmt.c (trans_associate_var): Null and free scalar | |
4973 associate names that are allocatable. After assignment, remove | |
4974 the allocatable attribute to prevent reallocation. | |
4975 | |
4976 2018-02-16 Jakub Jelinek <jakub@redhat.com> | |
4977 | |
4978 PR fortran/84418 | |
4979 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF | |
4980 kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step. | |
4981 | |
4982 2018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
4983 | |
4984 PR fortran/84354 | |
4985 * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs. | |
4986 | |
4987 2018-02-15 Janus Weil <janus@gcc.gnu.org> | |
4988 | |
4989 PR fortran/84409 | |
4990 * interface.c (check_dtio_arg_TKR_intent): Add a check for character | |
4991 length. | |
4992 | |
4993 2018-02-14 Janus Weil <janus@gcc.gnu.org> | |
4994 | |
4995 PR fortran/84385 | |
4996 * match.c (gfc_match_select_type): Fix check for selector in | |
4997 SELECT TYPE statement. | |
4998 | |
4999 2018-02-13 Janus Weil <janus@gcc.gnu.org> | |
5000 | |
5001 PR fortran/84313 | |
5002 * symbol.c (check_conflict): Reject procedure pointers in common blocks. | |
5003 | |
5004 2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie> | |
5005 Janne Blomqvist <jb@gcc.gnu.org> | |
5006 | |
5007 * module.c (dump_module): Use lbasename to ensure that module | |
5008 files are reproducible. | |
5009 | |
5010 2018-02-12 Janus Weil <janus@gcc.gnu.org> | |
5011 | |
5012 PR fortran/84273 | |
5013 * resolve.c (resolve_component): Fix checks of passed argument in | |
5014 procedure-pointer components. | |
5015 | |
5016 2018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
5017 | |
5018 PR fortran/35299 | |
5019 * resolve.c (resolve_formal_arglist): Update error message. | |
5020 | |
5021 2018-02-11 Andre Vehreschild <vehre@gcc.gnu.org> | |
5022 | |
5023 * gfortran.texi: Fix typos in documentation of caf_register (). | |
5024 * trans-array.c (structure_alloc_comps): Only register a component of | |
5025 a derived typed corray, not of an ultimate component coarray. | |
5026 | |
5027 2018-02-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
5028 | |
5029 PR fortran/54223 | |
5030 PR fortran/84276 | |
5031 * interface.c (compare_actual_formal): Add in_statement_function | |
5032 bool parameter. Skip check of INTENT attribute for statement | |
5033 functions. Arguments to a statement function cannot be optional, | |
5034 issue error for missing argument. | |
5035 (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use | |
5036 in_statement_function. | |
5037 | |
5038 2018-02-11 Paul Thomas <pault@gcc.gnu.org> | |
5039 | |
5040 PR fortran/84074 | |
5041 * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset | |
5042 flag. If the is a vector subscript or the expression is not a | |
5043 variable, make the descriptor one-based. | |
5044 | |
5045 2018-02-10 Paul Thomas <pault@gcc.gnu.org> | |
5046 | |
5047 PR fortran/84141 | |
5048 PR fortran/84155 | |
5049 * trans-array.c (gfc_array_init_size): Revert the change made | |
5050 in revision 257356 setting the dtype. | |
5051 * trans-types.c (gfc_get_dtype): Do not use the cached dtype. | |
5052 Call gfc_get_dtype_rank_type every time. | |
5053 | |
5054 PR fortran/56691 | |
5055 * trans-array.c (gfc_conv_expr_descriptor): If the source array | |
5056 is a descriptor type, use its offset, removing the condition | |
5057 that is be a class expression. | |
5058 | |
5059 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org> | |
5060 | |
5061 PR fortran/82994 | |
5062 * match.c (gfc_match_deallocate): Check for NULL pointer. | |
5063 | |
5064 2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5065 | |
5066 PR fortran/68560 | |
5067 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function. | |
5068 (gfc_conv_intrinsic_function): Call it. | |
5069 | |
5070 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org> | |
5071 | |
5072 PR fortran/82049 | |
5073 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then | |
5074 try to resolve it. While here return early if possible. | |
5075 | |
5076 2018-02-04 Paul Thomas <pault@gcc.gnu.org> | |
5077 | |
5078 PR fortran/84115 | |
5079 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of | |
5080 'length' if the symbol charlen backend_decl is an indirect ref. | |
5081 | |
5082 2018-02-03 Paul Thomas <pault@gcc.gnu.org> | |
5083 | |
5084 PR fortran/84141 | |
5085 PR fortran/84155 | |
5086 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype | |
5087 use gfc_get_dtype_rank_type. | |
5088 | |
5089 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org> | |
5090 | |
5091 PR 83975 | |
5092 PR 83344 | |
5093 * resolve.c (resolve_assoc_var): Generate an error if | |
5094 target length unknown. | |
5095 | |
5096 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org> | |
5097 | |
5098 PR fortran/83705 | |
5099 * simplify.c (gfc_simplify_repeat): Increase limit for deferring | |
5100 to runtime, print a warning message. | |
5101 | |
5102 2018-01-31 Jakub Jelinek <jakub@redhat.com> | |
5103 | |
5104 PR fortran/84116 | |
5105 * openmp.c (gfc_match_omp_clauses): If all the linear | |
5106 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist | |
5107 nor set *head = NULL. Formatting fixes. | |
5108 | |
5109 2018-01-31 Paul Thomas <pault@gcc.gnu.org> | |
5110 | |
5111 PR fortran/84088 | |
5112 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is | |
5113 an address expression passed to an assumed rank dummy, convert | |
5114 to an indirect reference. | |
5115 | |
5116 2018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5117 | |
5118 * dump-parse-tree.c (write_proc): Use sym_name (which may | |
5119 be sym->binding_label) instead of sym->name. | |
5120 | |
5121 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org> | |
5122 | |
5123 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead | |
5124 of int for slen. | |
5125 | |
5126 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org> | |
5127 | |
5128 PR fortran/78534 | |
5129 * trans-expr.c (fill_with_spaces): Use memset instead of | |
5130 generating loop. | |
5131 (gfc_trans_string_copy): Improve opportunity to use builtins with | |
5132 constant lengths. | |
5133 | |
5134 2018-01-30 Jakub Jelinek <jakub@redhat.com> | |
5135 | |
5136 PR debug/84131 | |
5137 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off | |
5138 to DATA_FIELD's offset rather than OFFSET_FIELD's offset. | |
5139 | |
5140 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5141 | |
5142 PR fortran/84134 | |
5143 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is | |
5144 zero, return false. | |
5145 | |
5146 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5147 | |
5148 PR fortran/84133 | |
5149 * frontend-passes (matmul_to_var_expr): Return early if | |
5150 in association list. | |
5151 (inline_matmul_assign): Likewise. | |
5152 | |
5153 2017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5154 | |
5155 PR fortran/84073 | |
5156 * resolve.c (resolve_component): Ensure BIND(C) character | |
5157 components have length one. | |
5158 (resolve_symbol): Likewise for variables. | |
5159 | |
5160 2018-01-27 Jakub Jelinek <jakub@redhat.com> | |
5161 | |
5162 PR fortran/84065 | |
5163 * decl.c (add_init_expr_to_sym): Ignore initializers for too large | |
5164 lengths. | |
5165 | |
5166 2018-01-26 Damian Rouson <damian@sourceryinstitute.org> | |
5167 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> | |
5168 Soren Rasmussen <s.c.rasmussen@gmail.com> | |
5169 | |
5170 Partial support for Fortran 2018 teams features. | |
5171 | |
5172 * array.c (gfc_match_array_ref): add team attribute in coarray | |
5173 transfers. | |
5174 * check.c (gfc_check_get_team, gfc_check_team_number): add new | |
5175 functions for get_team and team_number. | |
5176 * dump-parse-tree.c (show_code_node): add new statements: form team, | |
5177 change team, end team, and sync team. | |
5178 * expr.c (gfc_find_team_co): add new function. | |
5179 * gfortran.h: add new statements. | |
5180 * intrinsic.c (add_functions): add get_team and team_number functions. | |
5181 * intrinsic.h: add get_team and team_number prototypes for check, | |
5182 simplify, and resolve. | |
5183 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new | |
5184 functions. | |
5185 * iso-fortran-env.def: add the team_type derived type. | |
5186 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number) | |
5187 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team): | |
5188 add change team, end team, form team, sync team match and functions. | |
5189 * match.h: add new prototypes for change team, end team, form team, | |
5190 and sync team. | |
5191 * parse.c (decode_statement): add cases for change team, end team, | |
5192 form team, and sync team. | |
5193 * resolve.c: add cases for exec form team, change team, end team, and | |
5194 sync team. | |
5195 * simplify.c (gfc_simplify_get_team): add new function for get team. | |
5196 * st.c (gfc_free_statement): add cases exec for change team, end team, | |
5197 form team, sync team. | |
5198 * trans-decl.c (gfor_fndecl_caf_form_team) | |
5199 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team) | |
5200 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team) | |
5201 (gfor_fndecl_caf_team_number): add functions and definitions. | |
5202 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add | |
5203 new function and team_type argument support. | |
5204 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team) | |
5205 (gfc_trans_end_team, gfc_trans_sync_team): add new functions. | |
5206 * trans-stmt.h: add new prototypes. | |
5207 * trans-types.c (gfc_get_derived_type): check condition for team_type. | |
5208 * trans.c (trans_code): new exec cases for form team, change team, end | |
5209 team, and sync team. | |
5210 * trans.h: add new prototypes. | |
5211 | |
5212 2018-01-26 Steven G. Kargl <kargl@gcc.gnu.org> | |
5213 | |
5214 PR fortran/83998 | |
5215 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0 | |
5216 or .false. The summation does the correct type conversion. | |
5217 (gfc_simplify_dot_product): Special case zero-sized arrays. | |
5218 | |
5219 2018-25-01 Paul Thomas <pault@gcc.gnu.org> | |
5220 | |
5221 PR fortran/37577 | |
5222 * array.c (gfc_match_array_ref): If standard earlier than F2008 | |
5223 it is an error if the reference dimension is greater than 7. | |
5224 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the | |
5225 dtype masks and shifts accordingly. | |
5226 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype | |
5227 type node to check the field. | |
5228 (gfc_conv_descriptor_dtype): Access the rank field of dtype. | |
5229 (duplicate_allocatable_coarray): Access the rank field of the | |
5230 dtype descriptor rather than the dtype itself. | |
5231 * trans-expr.c (get_scalar_to_descriptor_type): Store the type | |
5232 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE | |
5233 (ie. a character). | |
5234 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to | |
5235 get_scalar_to_descriptor_type if the actual expression is a | |
5236 constant. | |
5237 (gfc_trans_structure_assign): Assign the rank directly to the | |
5238 dtype rank field. | |
5239 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result | |
5240 to default integer kind. | |
5241 (gfc_conv_intrinsic_sizeof): Obtain the element size from the | |
5242 'elem_len' field of the dtype. | |
5243 * trans-io.c (gfc_build_io_library_fndecls): Replace | |
5244 gfc_int4_type_node with dtype_type_node where necessary. | |
5245 (transfer_namelist_element): Use gfc_get_dtype_rank_type for | |
5246 scalars. | |
5247 * trans-types.c : Provide 'get_dtype_type_node' to acces the | |
5248 dtype_type_node and, if necessary, build it. | |
5249 The maximum size of an array element is now determined by the | |
5250 maximum value of size_t. | |
5251 Update the description of the array descriptor, including the | |
5252 type def for the dtype_type. | |
5253 (gfc_get_dtype_rank_type): Build a constructor for the dtype. | |
5254 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS. | |
5255 (gfc_get_array_descriptor_base): Change the type of the dtype | |
5256 field to dtype_type_node. | |
5257 (gfc_get_array_descr_info): Get the offset to the rank field of | |
5258 the dtype. | |
5259 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'. | |
5260 * trans.h : Define the indices of the dtype fields. | |
5261 | |
5262 2018-23-01 Paul Thomas <pault@gcc.gnu.org> | |
5263 | |
5264 PR fortran/83866 | |
5265 * decl.c (gfc_match_derived_decl): If eos not matched, recover | |
5266 and emit error about garbage after declaration. | |
5267 | |
5268 2018-23-01 Paul Thomas <pault@gcc.gnu.org> | |
5269 | |
5270 PR fortran/83898 | |
5271 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor | |
5272 for characters. | |
5273 | |
5274 2018-01-22 Janne Blomqvist <jb@gcc.gnu.org> | |
5275 | |
5276 PR 78534 | |
5277 PR 83704 | |
5278 * arith.c (gfc_arith_concat): Use size_t for string length. | |
5279 (gfc_compare_string): Likewise. | |
5280 (gfc_compare_with_Cstring): Likewise. | |
5281 * array.c (gfc_resolve_character_array_constructor): Use | |
5282 HOST_WIDE_INT, gfc_mpz_get_hwi. | |
5283 * check.c (gfc_check_fe_runtime_error): Use size_t. | |
5284 * data.c (create_character_initializer): Use HOST_WIDE_INT, | |
5285 gfc_extract_hwi. | |
5286 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t. | |
5287 (add_init_expr_to_sym): Use HOST_WIDE_INT. | |
5288 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT, | |
5289 gfc_extract_hwi. | |
5290 (gfc_apply_init): Likewise. | |
5291 * match.h (gfc_set_constant_character_len): Update prototype. | |
5292 * primary.c (match_string_constant): Use size_t. | |
5293 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT, | |
5294 gfc_mpz_get_hwi. | |
5295 * simplify.c (init_result_expr): Likewise. | |
5296 (gfc_simplify_len_trim): Use size_t. | |
5297 * target-memory.c (gfc_encode_character): Use size_t. | |
5298 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi. | |
5299 (interpret_array): Use size_t. | |
5300 (gfc_interpret_character): Likewise. | |
5301 * target-memory.h (gfc_encode_character): Update prototype. | |
5302 (gfc_interpret_character): Likewise. | |
5303 (gfc_target_interpret_expr): Likewise. | |
5304 * trans-const.c (gfc_build_string_const): Use size_t for length | |
5305 argument. | |
5306 (gfc_build_wide_string_const): Likewise. | |
5307 * trans-const.h (gfc_build_string_const): Likewise. | |
5308 (gfc_build_wide_string_const): Likewise. | |
5309 | |
5310 2018-01-20 Steven G. Kargl <kargl@gcc.gnu.org> | |
5311 | |
5312 PR fortran/83900 | |
5313 * simplify.c (gfc_simplify_matmul): Set return type correctly. | |
5314 | |
5315 2018-01-19 Steven G. Kargl <kargl@gcc.gnu.org> | |
5316 | |
5317 PR fortran/83900 | |
5318 * simplify.c (gfc_simplify_matmul): Delete bogus assertion. | |
5319 | |
5320 2018-01-17 Harald Anlauf <anlauf@gmx.de> | |
5321 | |
5322 PR fortran/83864 | |
5323 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer. | |
5324 | |
5325 2018-01-17 Harald Anlauf <anlauf@gmx.de> | |
5326 | |
5327 PR fortran/83874 | |
5328 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer. | |
5329 | |
5330 2018-01-15 Louis Krupp <louis.krupp@zoho.com> | |
5331 | |
5332 PR fortran/82257 | |
5333 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA | |
5334 from symbol marked unlimited polymorphic. | |
5335 * resolve.c (resolve_structure_cons): Likewise. | |
5336 * misc.c (gfc_typename): Don't dereference derived->components | |
5337 if it's NULL. | |
5338 | |
5339 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5340 | |
5341 PR fortran/54613 | |
5342 * gfortran.h (gfc_check_f): Rename f4ml to f5ml. | |
5343 (gfc_logical_4_kind): New macro | |
5344 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument. | |
5345 (gfc_simplify_maxloc): Likewise. | |
5346 (gfc_resolve_maxloc): Likewise. | |
5347 (gfc_resolve_minloc): Likewise. | |
5348 * check.c (gfc_check_minloc_maxloc): Add checking for "back" | |
5349 argument; also raise error if it is used (for now). Add it | |
5350 if it isn't present. | |
5351 * intrinsic.c (add_sym_4ml): Rename to | |
5352 (add_sym_5ml), adjust for extra argument. | |
5353 (add_functions): Add "back" constant. Adjust maxloc and minloc | |
5354 for back argument. | |
5355 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is | |
5356 not of gfc_logical_4_kind, convert. | |
5357 (gfc_resolve_minloc): Likewise. | |
5358 * simplify.c (gfc_simplify_minloc): Add back argument. | |
5359 (gfc_simplify_maxloc): Likewise. | |
5360 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last | |
5361 argument to %VAL to ensure passing by value. | |
5362 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc | |
5363 also for library calls. | |
5364 | |
5365 2018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
5366 | |
5367 PR fortran/82007 | |
5368 * resolve.c (resolve_transfer): Delete code looking for 'DT' | |
5369 format specifiers in format strings. Set formatted to true if a | |
5370 format string or format label is present. | |
5371 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix | |
5372 whitespace. | |
5373 | |
5374 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5375 | |
5376 PR fortran/83744 | |
5377 * dump-parse-tree.c (get_c_type_name): Remove extra line. | |
5378 Change for loop to use declaration in for loop. Handle BT_LOGICAL | |
5379 and BT_CHARACTER. | |
5380 (write_decl): Add where argument. Fix indentation. Replace | |
5381 assert with error message. Add typename to warning | |
5382 in comment. | |
5383 (write_type): Adjust locus to call of write_decl. | |
5384 (write_variable): Likewise. | |
5385 (write_proc): Likewise. Replace assert with error message. | |
5386 | |
5387 2018-01-13 Paul Thomas <pault@gcc.gnu.org> | |
5388 | |
5389 PR fortran/52162 | |
5390 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if | |
5391 the rhs expression is neither an elemental nor a conversion | |
5392 function. | |
5393 | |
5394 PR fortran/83622 | |
5395 * trans-array.c (is_pointer_array): Remove unconditional return | |
5396 of false for -fopenmp. | |
5397 | |
5398 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5399 <emsr@gcc.gnu.org> | |
5400 | |
5401 PR fortran/83803 | |
5402 * dump-parse-tree.c (write_proc): Always emit closing parenthesis | |
5403 for functions. | |
5404 | |
5405 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
5406 | |
5407 PR fortran/82367 | |
5408 * resolve.c (resolve_allocate_expr): Check for NULL pointer. | |
5409 | |
5410 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
5411 | |
5412 PR fortran/83093 | |
5413 * resolve.c (resolve_charlen): Check the type of cl->length | |
5414 after resolution. | |
5415 | |
5416 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org> | |
5417 | |
5418 PR fortran/83740 | |
5419 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting. | |
5420 | |
5421 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org> | |
5422 | |
5423 PR fortran/83740 | |
5424 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the | |
5425 LHS type when assigning. | |
5426 | |
5427 2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
5428 | |
5429 PR fortran/83742 | |
5430 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer. | |
5431 | |
5432 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
5433 | |
5434 * match.c (gfc_match_allocate): Check for NULL pointer. | |
5435 | |
5436 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
5437 | |
5438 * expr.c (gfc_check_pointer_assign): Fix typo in comment. | |
5439 | |
5440 2018-01-08 Paul Thomas <pault@gcc.gnu.org> | |
5441 | |
5442 PR fortran/83611 | |
5443 * decl.c (gfc_get_pdt_instance): If parameterized arrays have | |
5444 an initializer, convert the kind parameters and add to the | |
5445 component if the instance. | |
5446 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and | |
5447 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable' | |
5448 for parameterized arrays. Clean up typos in comments. Convert | |
5449 parameterized array initializers and copy into the array. | |
5450 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for | |
5451 parameterized types. | |
5452 *trans-stmt.c (trans_associate_var): Deallocate associate vars | |
5453 as necessary, when they are PDT function results for example. | |
5454 | |
5455 PR fortran/83731 | |
5456 * trans-array.c (structure_alloc_comps): Only compare len parms | |
5457 when they are declared explicitly. | |
5458 | |
5459 2018-01-06 Janne Blomqvist <jb@gcc.gnu.org> | |
5460 | |
5461 PR fortran/50892 | |
5462 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to | |
5463 lhs type. | |
5464 | |
5465 2018-01-05 Janne Blomqvist <jb@gcc.gnu.org> | |
5466 | |
5467 PR fortran/78534 | |
5468 PR fortran/66310 | |
5469 * array.c (got_charlen): Use gfc_charlen_int_kind. | |
5470 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of | |
5471 hardcoded kind. | |
5472 (find_intrinsic_vtab): Likewise. | |
5473 * decl.c (match_char_length): Use gfc_charlen_int_kind. | |
5474 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind. | |
5475 (gfc_match_implicit): Use gfc_charlen_int_kind. | |
5476 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t. | |
5477 (show_expr): Use HOST_WIDE_INT_PRINT_DEC. | |
5478 * expr.c (gfc_get_character_expr): Length parameter of type | |
5479 gfc_charlen_t. | |
5480 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT. | |
5481 (gfc_extract_hwi): New function. | |
5482 (simplify_const_ref): Make string_len of type gfc_charlen_t. | |
5483 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs. | |
5484 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind. | |
5485 * gfortran.h (gfc_mpz_get_hwi): New prototype. | |
5486 (gfc_mpz_set_hwi): Likewise. | |
5487 (gfc_charlen_t): New typedef. | |
5488 (gfc_expr): Use gfc_charlen_t for character lengths. | |
5489 (gfc_size_kind): New extern variable. | |
5490 (gfc_extract_hwi): New prototype. | |
5491 (gfc_get_character_expr): Use gfc_charlen_t for character length. | |
5492 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument. | |
5493 * gfortran.texi: Update description of hidden string length argument. | |
5494 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind. | |
5495 (gfc_resolve_char_achar): Likewise. | |
5496 (gfc_resolve_repeat): Pass string length directly without | |
5497 temporary, use gfc_charlen_int_kind. | |
5498 (gfc_resolve_transfer): Use gfc_charlen_int_kind. | |
5499 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen. | |
5500 * misc.c (gfc_mpz_get_hwi): New function. | |
5501 (gfc_mpz_set_hwi): New function. | |
5502 * module.c (atom_int): Change type from int to HOST_WIDE_INT. | |
5503 (parse_integer): Don't complain about large integers. | |
5504 (write_atom): Use HOST_WIDE_INT for integers. | |
5505 (mio_integer): Handle integer type mismatch. | |
5506 (mio_hwi): New function. | |
5507 (mio_intrinsic_op): Use HOST_WIDE_INT. | |
5508 (mio_array_ref): Likewise. | |
5509 (mio_expr): Likewise. | |
5510 * primary.c (match_substring): Use gfc_charlen_int_kind. | |
5511 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind. | |
5512 (resolve_character_operator): Likewise. | |
5513 (resolve_assoc_var): Likewise. | |
5514 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf. | |
5515 (resolve_charlen): Use mpz_sgn to determine sign. | |
5516 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t | |
5517 instead of long. | |
5518 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind. | |
5519 * target-memory.c (size_character): Length argument of type | |
5520 gfc_charlen_t. | |
5521 (gfc_encode_character): Likewise. | |
5522 (gfc_interpret_character): Use gfc_charlen_t. | |
5523 * target-memory.h (gfc_encode_character): Modify prototype. | |
5524 * trans-array.c (gfc_trans_array_ctor_element): Use existing type. | |
5525 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type. | |
5526 (trans_array_constructor): Use existing type. | |
5527 (get_array_charlen): Likewise. | |
5528 * trans-const.c (gfc_conv_mpz_to_tree_type): New function. | |
5529 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype. | |
5530 * trans-decl.c (gfc_trans_deferred_vars): Use existing type. | |
5531 (add_argument_checking): Likewise. | |
5532 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type | |
5533 gfc_charlen_type_node. | |
5534 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of | |
5535 4, fold_convert to correct type. | |
5536 (gfc_conv_class_to_class): Build const of type size_type_node for | |
5537 size. | |
5538 (gfc_copy_class_to_class): Likewise. | |
5539 (gfc_conv_string_length): Use same type in expression. | |
5540 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen. | |
5541 (gfc_conv_string_tmp): Make sure len is of the right type. | |
5542 (gfc_conv_concat_op): Use same type in expression. | |
5543 (gfc_conv_procedure_call): Likewise. | |
5544 (fill_with_spaces): Comment out memset() block due to spurious | |
5545 -Wstringop-overflow warnings. | |
5546 (gfc_trans_string_copy): Use gfc_charlen_type_node. | |
5547 (alloc_scalar_allocatable_for_subcomponent_assignment): | |
5548 fold_convert to right type. | |
5549 (gfc_trans_subcomponent_assign): Likewise. | |
5550 (trans_class_vptr_len_assignment): Build const of correct type. | |
5551 (gfc_trans_pointer_assignment): Likewise. | |
5552 (alloc_scalar_allocatable_for_assignment): fold_convert to right | |
5553 type in expr. | |
5554 (trans_class_assignment): Build const of correct type. | |
5555 * trans-intrinsic.c (gfc_conv_associated): Likewise. | |
5556 (gfc_conv_intrinsic_repeat): Do calculation in sizetype. | |
5557 * trans-io.c (gfc_build_io_library_fndecls): Use | |
5558 gfc_charlen_type_node for character lengths. | |
5559 (set_string): Convert to right type in assignment. | |
5560 * trans-stmt.c (gfc_trans_label_assign): Build const of | |
5561 gfc_charlen_type_node. | |
5562 (trans_associate_var): Likewise. | |
5563 (gfc_trans_character_select): Likewise. | |
5564 (gfc_trans_allocate): Likewise, don't typecast strlen result. | |
5565 (gfc_trans_deallocate): Don't typecast strlen result. | |
5566 * trans-types.c (gfc_size_kind): New variable. | |
5567 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind | |
5568 from size_type_node. | |
5569 * trans-types.h: Fix comment. | |
5570 | |
5571 2018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5572 | |
5573 PR fortran/83683 | |
5574 PR fortran/45689 | |
5575 * check.c (gfc_check_eoshift): Check for string length and | |
5576 for conformance of boundary. | |
5577 * intrinsic.c (add_functions): Add gfc_simplify_eoshift. | |
5578 * intrinsic.h: Add prototype for gfc_simplify_eoshift. | |
5579 * simplify.c (gfc_simplify_eoshift): New function. | |
5580 | |
5581 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> | |
5582 Alan Hayward <alan.hayward@arm.com> | |
5583 David Sherwood <david.sherwood@arm.com> | |
5584 | |
5585 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL. | |
5586 | |
5587 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> | |
5588 Alan Hayward <alan.hayward@arm.com> | |
5589 David Sherwood <david.sherwood@arm.com> | |
5590 | |
5591 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p. | |
5592 | |
5593 2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5594 | |
5595 PR fortran/83664 | |
5596 * check.c (gfc_check_eoshift): Error for missing boundary if array | |
5597 is not one of the standard types. | |
5598 | |
5599 2018-01-03 Jakub Jelinek <jakub@redhat.com> | |
5600 | |
5601 Update copyright years. | |
5602 | |
5603 * gfortranspec.c (lang_specific_driver): Update copyright notice | |
5604 dates. | |
5605 * gfc-internals.texi: Bump @copying's copyright year. | |
5606 * gfortran.texi: Ditto. | |
5607 * intrinsic.texi: Ditto. | |
5608 * invoke.texi: Ditto. | |
5609 | |
5610 2017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5611 | |
5612 PR fortran/45689 | |
5613 * intrinsic.c (add_function): Add gfc_simplify_maxloc and | |
5614 gfc_simplify_minloc to maxloc and minloc, respectively. | |
5615 * intrinsic.h: Add prototypes for gfc_simplify_minloc | |
5616 and gfc_simplify_maxloc. | |
5617 * simplify.c (min_max_chose): Adjust prototype. Modify function | |
5618 to have a return value which indicates if the extremum was found. | |
5619 (is_constant_array_expr): Fix typo in comment. | |
5620 (simplify_minmaxloc_to_scalar): New function. | |
5621 (simplify_minmaxloc_nodim): New function. | |
5622 (new_array): New function. | |
5623 (simplify_minmaxloc_to_array): New function. | |
5624 (gfc_simplify_minmaxloc): New function. | |
5625 (simplify_minloc): New function. | |
5626 (simplify_maxloc): New function. | |
5627 | |
5628 2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
5629 | |
5630 PR fortran/45689 | |
5631 PR fortran/83650 | |
5632 * simplify.c (gfc_simplify_cshift): Re-implement to allow full | |
5633 range of arguments. | |
5634 | |
5635 2018-01-01 Paul Thomas <pault@gcc.gnu.org> | |
5636 | |
5637 PR fortran/83076 | |
5638 * resolve.c (resolve_fl_derived0): Add caf_token fields for | |
5639 allocatable and pointer scalars, when -fcoarray selected. | |
5640 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token | |
5641 field as well as the backend_decl. | |
5642 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module | |
5643 derived types that are not vtypes. Components with caf_token | |
5644 attribute are pvoid types. For a component requiring it, find | |
5645 the caf_token field and have the component token field point to | |
5646 its backend_decl. | |
5647 | |
5648 PR fortran/83319 | |
5649 *trans-types.c (gfc_get_array_descriptor_base): Add the token | |
5650 field to the descriptor even when codimen not set. | |
5651 | |
5652 Copyright (C) 2018 Free Software Foundation, Inc. | |
5653 | |
5654 Copying and distribution of this file, with or without modification, | |
5655 are permitted in any medium without royalty provided the copyright | |
5656 notice and this notice are preserved. |