]>
Commit | Line | Data |
---|---|---|
463f60d0 SK |
1 | 2018-06-04 Steven G. Kargl <kargl@gcc.gnu.org> |
2 | ||
3 | PR fortran/85981 | |
4 | * resolve.c (resolve_allocate_deallocate): Check errmsg is default | |
5 | character kind. | |
6 | ||
ad0fbf0d SK |
7 | 2018-05-25 Steven G. Kargl <kargl@gcc.gnu.org> |
8 | ||
9 | PR fortran/85786 | |
10 | * trans-intrinsic.c (gfc_conv_associated): Add arg1se to the block. | |
11 | ||
43de19a6 SK |
12 | 2018-05-25 Steven G. Kargl <kargl@gcc.gnu.org> |
13 | ||
14 | PR fortran/85895 | |
15 | Backport from trunk | |
16 | * resolve.c (resolve_sync): Resolve expression before checking for | |
17 | an error. | |
18 | ||
16d584b3 SK |
19 | 2018-05-25 Steven G. Kargl <kargl@gcc.gnu.org> |
20 | ||
21 | PR fortran/85780 | |
22 | Backport from trunk | |
23 | * resolve.c (resolve_fl_procedure): Avoid NULL dereference. | |
24 | ||
6505ea02 SK |
25 | 2018-05-25 Steven G. Kargl <kargl@gcc.gnu.org> |
26 | ||
27 | PR fortran/85779 | |
28 | Backport from trunk | |
29 | * decl.c (gfc_match_derived_decl): Fix NULL point dereference. | |
30 | ||
d7a19075 SK |
31 | 2018-05-25 Steven G. Kargl <kargl@gcc.gnu.org> |
32 | ||
33 | PR fortran/85543 | |
34 | Backport from trunk | |
35 | * resolve.c (update_current_proc_array_outer_dependency): Avoid NULL | |
36 | pointer dereference. | |
37 | ||
9d7cd37c PT |
38 | 2018-05-20 Paul Thomas <pault@gcc.gnu.org> |
39 | ||
40 | PR fortran/80657 | |
41 | Backport from trunk | |
42 | * resolve.c (flag_fn_result_spec): Use the 'sym' argument to | |
43 | test for self refs to the function result in the character len | |
44 | expression. If a self reference is found, emit an error and | |
45 | return true. | |
46 | (resolve_fntype): Use the function symbol in the calls to the | |
47 | above. | |
48 | ||
9b2b4766 PT |
49 | 2018-05-20 Paul Thomas <pault@gcc.gnu.org> |
50 | ||
51 | PR fortran/49636 | |
52 | Backport from trunk | |
53 | * trans-array.c (gfc_get_array_span): Renamed from | |
54 | 'get_array_span'. | |
55 | (gfc_conv_expr_descriptor): Change references to above. | |
56 | * trans-array.h : Add prototype for 'gfc_get_array_span'. | |
57 | * trans-stmt.c (trans_associate_var): If the associate name is | |
58 | a subref array pointer, use gfc_get_array_span for the span. | |
59 | ||
3ddfcb23 PT |
60 | 2018-05-20 Paul Thomas <pault@gcc.gnu.org> |
61 | ||
62 | PR fortran/82275 | |
63 | Backport from trunk | |
64 | * match.c (gfc_match_type_spec): Go through the array ref and | |
65 | decrement 'rank' for every dimension that is an element. | |
66 | ||
65e3cafd PT |
67 | 2018-05-19 Paul Thomas <pault@gcc.gnu.org> |
68 | ||
69 | PR fortran/82923 | |
70 | PR fortran/66694 | |
71 | PR fortran/82617 | |
72 | Backport from trunk | |
73 | * trans-array.c (gfc_alloc_allocatable_for_assignment): Set the | |
74 | charlen backend_decl of the rhs expr to ss->info->string_length | |
75 | so that the value in the current scope is used. | |
76 | ||
491f0d87 PT |
77 | 2018-05-13 Paul Thomas <pault@gcc.gnu.org> |
78 | ||
79 | PR fortran/85742 | |
80 | * trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation | |
81 | of 'size'. If the element type is a pointer use the size of the | |
82 | TREE_TYPE of the type, unless it is VOID_TYPE. In this latter | |
83 | case, set the size to zero. | |
84 | ||
02e4b9e1 SK |
85 | 2018-05-12 Steven G. Kargl <kargl@gcc.gnu.org> |
86 | ||
87 | PR fortran/85542 | |
88 | Backport from trunk | |
89 | * expr.c (check_inquiry): Avoid NULL pointer dereference. | |
491f0d87 | 90 | |
e41047ce SK |
91 | 2018-05-11 Steven G. Kargl <kargl@gcc.gnu.org> |
92 | ||
93 | PR fortran/70870 | |
94 | Backport from trunk | |
95 | * data.c (gfc_assign_data_value): Check that a data object does | |
96 | not also have default initialization. | |
97 | ||
3eee1299 SK |
98 | 2018-05-11 Steven G. Kargl <kargl@gcc.gnu.org> |
99 | ||
100 | PR fortran/85521 | |
101 | Backport from trunk | |
102 | * array.c (gfc_resolve_character_array_constructor): Substrings | |
103 | with upper bound smaller than lower bound are zero length strings. | |
104 | ||
c46d6cbb SK |
105 | 2018-05-11 Steven G. Kargl <kargl@gcc.gnu.org> |
106 | ||
107 | PR fortran/85687 | |
108 | Backport from trunk | |
109 | * check.c (gfc_check_rank): Check that the argument is a data object. | |
110 | ||
408be5fc PT |
111 | 2018-05-11 Paul Thomas <pault@gcc.gnu.org> |
112 | ||
113 | PR fortran/68846 | |
114 | PR fortran/70864 | |
115 | Backport from trunk | |
116 | * resolve.c (get_temp_from_expr): The temporary must not have | |
117 | dummy or intent attributes. | |
118 | ||
238b4836 AV |
119 | 2018-05-06 Andre Vehreschild <vehre@gcc.gnu.org> |
120 | ||
121 | PR fortran/85507 | |
122 | Backport from trunk. | |
123 | * dependency.c (gfc_dep_resolver): Revert looking at coarray dimension | |
124 | introduced by r259385. | |
125 | * trans-intrinsic.c (conv_caf_send): Always report a dependency for | |
126 | same variables in coarray assignments. | |
127 | ||
730af511 GA |
128 | 2018-05-02 Release Manager |
129 | ||
130 | * GCC 8.1.0 released. | |
131 | ||
58da192e SK |
132 | 2018-04-24 Steven G. Kargl <kargl@gcc.gnu.org> |
133 | ||
134 | PR fortran/85520 | |
135 | * decl.c (gfc_match_char_spec): Check for negative length and set to 0. | |
136 | ||
2368eaf9 AV |
137 | 2018-04-14 Andre Vehreschild <vehre@gcc.gnu.org> |
138 | ||
139 | PR fortran/81773 | |
140 | PR fortran/83606 | |
141 | * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored | |
142 | during dependency computation. They define no data dependency. | |
143 | * trans-array.c (conv_array_index_offset): The stride can not be set | |
144 | here, prevent fail. | |
145 | * trans-intrinsic.c (conv_caf_send): Add creation of temporary array | |
146 | for caf_get's result and copying to the array with vectorial | |
147 | indexing. | |
148 | ||
acd1559a TK |
149 | 2018-04-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
150 | ||
151 | PR fortran/85387 | |
152 | * frontend-passes.c (traverse_io_block): Check for start, end or | |
153 | stride being defined by an outer implied DO loop. | |
154 | ||
bc436e10 TK |
155 | 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> |
156 | ||
157 | PR fortran/83064 | |
158 | PR testsuite/85346 | |
159 | * trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind | |
160 | for annotation and remove dependence on -ftree-parallelize-loops. | |
161 | ||
24f80aa4 JJ |
162 | 2018-04-10 Jakub Jelinek <jakub@redhat.com> |
163 | ||
164 | PR fortran/85313 | |
165 | * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;. | |
166 | (resolve_oacc_nested_loops): Likewise. Formatting fix. | |
167 | ||
f0caea48 TK |
168 | 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
169 | ||
170 | PR fortran/83064 | |
171 | * trans-stmt.c (gfc_trans_forall_loop): Remove annotation for | |
172 | parallell processing of DO CONCURRENT -ftree-parallelize-loops | |
173 | is set. | |
174 | ||
06e8d82e TK |
175 | 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
176 | ||
177 | PR fortran/51260 | |
178 | * resolve.c (resolve_variable): Simplify cases where access to a | |
179 | parameter array results in a single constant. | |
180 | ||
078c5aff TK |
181 | 2018-04-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
182 | ||
183 | PR fortran/85102 | |
184 | * decl.c (variable_decl): If upper or lower bounds simplify | |
185 | to a constant, use that. | |
186 | ||
0ada0dc0 PT |
187 | 2018-03-30 Paul Thomas <pault@gcc.gnu.org> |
188 | ||
189 | PR fortran/84931 | |
190 | * simplify.c (gfc_convert_constant): Handle case of array | |
191 | constructors within an array that has no iterator and improve | |
192 | the conciseness of this section of code. | |
193 | ||
cd6094bf TK |
194 | 2017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
195 | ||
196 | PR fortran/85111 | |
197 | * array.c (gfc_resolve_character_array_constructor): Early | |
198 | exit for zero-size arrays. | |
199 | * simplify.c (simplify_transformation_to_array): Exit early | |
200 | if the result size is zero. | |
201 | (simplify_minmaxloc_to_array): Likewise. | |
202 | ||
9b0588e9 MM |
203 | 2018-03-28 Mikael Morin <mikael@gcc.gnu.org> |
204 | ||
205 | PR fortran/69497 | |
206 | * symbol.c (gfc_symbol_done_2): Start freeing namespaces | |
207 | from the root. | |
0ada0dc0 | 208 | (gfc_free_namespace): Restore assert (revert r258839). |
9b0588e9 | 209 | |
7ee4f6f3 JJ |
210 | 2018-03-28 Jakub Jelinek <jakub@redhat.com> |
211 | ||
212 | * gfortran.h (gfc_dt): Rename default_exp field to dec_ext. | |
213 | * ioparm.def (IOPARM_dt_default_exp): Rename to ... | |
214 | (IOPARM_dt_dec_ext): ... this. | |
215 | * trans-io.c (build_dt): Adjust for default_exp renaming to | |
216 | dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext. | |
217 | * io.c (match_io): Likewise. | |
218 | ||
ef22816c TK |
219 | 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
220 | ||
221 | PR fortran/85084 | |
222 | * frontend-passes.c (gfc_run_passes): Do not run front-end | |
223 | optimizations if a previous error occurred. | |
224 | ||
13a7688f TK |
225 | 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
226 | Harald Anlauf <anlauf@gmx.de> | |
227 | ||
228 | PR fortran/85083 | |
229 | * primary.c (gfc_convert_to_structure_constructor): Check | |
230 | conformance of argument types in structure constructor. | |
231 | ||
a48718a2 TK |
232 | 2018-03-26 Thomas Koenig <tkoenig@gcc.gnu.org> |
233 | ||
234 | PR fortran/66709 | |
235 | * io.c: Include constructor.h. | |
236 | (resolve_tag_format): For a constant character array, concatenate | |
237 | into a single character expression. | |
238 | ||
a2b471e4 SJ |
239 | 2018-03-25 Seth Johnson <johnsonsr@ornl.gov> |
240 | Dominique d'Humieres <dominiq@gcc.gnu.org> | |
241 | ||
242 | PR fortran/84924 | |
243 | * check.c (gfc_check_c_f_pointer): Allow scalar noninteroperable | |
244 | scalar derived type with -std=f2003 and -std=f2008. | |
245 | ||
8954606d JD |
246 | 2018-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
247 | Dominique d'Humieres <dominiq@gcc.gnu.org> | |
248 | ||
12056b7c | 249 | PR fortran/69497 |
8954606d JD |
250 | * symbol.c (gfc_free_namespace): Delete the assert and only if |
251 | refs count is equals zero, free the namespace. Otherwise, | |
252 | something is halfway and other errors will resound. | |
253 | ||
335d0338 TK |
254 | 2018-03-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
255 | ||
256 | PR fortran/70068 | |
257 | * expr.c (find_substring_ref): Change types of start, end | |
258 | and length variables to gfc_charlen_t. Set length to zero | |
259 | for empty substring. | |
260 | ||
ba77f7ba SK |
261 | 2018-03-24 Steven G. Kargl <kargl@gcc.gnu.org> |
262 | ||
263 | PR fortran/42651 | |
264 | * decl.c (check_function_name): Improved error message | |
265 | (gfc_match_volatile, gfc_match_asynchronous) Use check_function_name. | |
266 | ||
b74fa126 SK |
267 | 2018-03-22 Steven G. Kargl <kargl@gcc.gnu.org> |
268 | ||
269 | PR fortran/84922 | |
270 | * decl.c (get_proc_name): If the MODULE prefix appears in interface | |
271 | body, then it must appear on the contained subroutine or function. | |
272 | While here, fix nearby mis-indented code. | |
273 | ||
482768bd TK |
274 | 2018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
275 | Harald Anlauf <anlauf@gmx.de> | |
276 | ||
277 | PR fortran/84957 | |
278 | * trans-types.c (gfc_sym_type): Do not dereference NULL pointer. | |
279 | ||
983d49dd JB |
280 | 2018-03-21 Janne Blomqvist <jb@gcc.gnu.org> |
281 | ||
282 | PR fortran/84615 | |
283 | * trans-expr.c (gfc_conv_procedure_call): Convert charlen to | |
284 | gfc_charlen_type_node when calling procedure. | |
285 | ||
f11600c9 SK |
286 | 2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org> |
287 | ||
288 | PR fortran/85001 | |
289 | * interface.c (symbol_rank): Remove bogus null pointer check that | |
983d49dd | 290 | crept in when translating a ternary operator into an if-else |
f11600c9 SK |
291 | constructor. |
292 | ||
949d0060 TK |
293 | 2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
294 | ||
295 | PR fortran/84931 | |
296 | * simplify.c (gfc_convert_constant): Correctly handle iterators | |
297 | for type conversion. | |
298 | ||
96c8b253 SK |
299 | 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> |
300 | ||
301 | PR fortran/77414 | |
302 | * decl.c (get_proc_name): Check for a subroutine re-defined in | |
303 | the contain portion of a subroutine. Change language of existing | |
304 | error message to better describe the issue. While here fix whitespace | |
305 | issues. | |
306 | ||
81ea7c11 SK |
307 | 2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org> |
308 | ||
309 | PR fortran/65453 | |
310 | * decl.c (get_proc_name): Catch clash between a procedure statement | |
311 | and a contained subprogram | |
312 | ||
299ab1b2 SK |
313 | 2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org> |
314 | ||
315 | PR fortran/69395 | |
316 | * decl.c (merge_array_spec): Correct the error condition. | |
317 | ||
64300da7 SK |
318 | 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org> |
319 | ||
320 | PR fortran/78741 | |
321 | * decl.c (get_proc_name): Check for clash of entry name with | |
322 | subroutine name. | |
323 | ||
93d1ab50 SK |
324 | 2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org> |
325 | ||
326 | PR fortran/69395 | |
327 | * decl.c (merge_array_spec): Limit the merging to maximum allowed | |
328 | dimensions, and issue error message if limit is exceeded. | |
329 | ||
17164de4 SK |
330 | 2018-03-13 Steven G. Kargl <kargl@gcc.gnu.org> |
331 | ||
332 | * check.c (gfc_check_kill_sub): Remove check for INTEGER(4) or (8). | |
333 | * intrinsic.c (add_functions): Remove reference to gfc_resolve_kill. | |
334 | (add_subroutines): Remove reference to gfc_resolve_kill_sub. | |
335 | * intrinsic.texi: Update documentation. | |
336 | * iresolve.c (gfc_resolve_kill, gfc_resolve_kill_sub): Remove. | |
337 | * trans-decl.c (gfc_build_intrinsic_function_decls): Add | |
338 | gfor_fndecl_kill and gfor_fndecl_kill_sub | |
339 | * trans-intrinsic.c (conv_intrinsic_kill, conv_intrinsic_kill_sub): new | |
340 | functions. | |
341 | (gfc_conv_intrinsic_function): Use conv_intrinsic_kill. | |
342 | (gfc_conv_intrinsic_subroutine): Use conv_intrinsic_kill_sub. | |
343 | * trans.h: Declare gfor_fndecl_kill and gfor_fndecl_kill_sub. | |
344 | ||
26219cee PT |
345 | 2018-03-11 Paul Thomas <pault@gcc.gnu.org> |
346 | ||
347 | PR fortran/84546 | |
348 | * trans-array.c (structure_alloc_comps): Make sure that the | |
349 | vptr is copied and that the unlimited polymorphic _len is used | |
350 | to compute the size to be allocated. | |
351 | * trans-expr.c (gfc_get_class_array_ref): If unlimited, use the | |
352 | unlimited polymorphic _len for the offset to the element. | |
353 | (gfc_copy_class_to_class): Set the new 'unlimited' argument. | |
354 | * trans.h : Add the boolean 'unlimited' to the prototype. | |
1813c97a SK |
355 | |
356 | 2018-03-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
357 | ||
358 | PR fortran/83939 | |
359 | * resolve.c (resolve_fl_procedure): Enforce F2018:C15100. | |
360 | ||
fbe1f017 SK |
361 | 2018-03-11 Steven G. Kargl <kargls@gcc.gnu.org> |
362 | ||
363 | * check.c (gfc_check_kill): Check pid and sig are scalar. | |
364 | (gfc_check_kill_sub): Restrict kind to 4 and 8. | |
365 | * intrinsic.c (add_function): Sort keyword list. Add pid and sig | |
366 | keywords for KILL. Remove redundant *back="back" in favor of the | |
367 | original *bck="back". | |
368 | (add_subroutines): Sort keyword list. Add pid and sig keywords | |
369 | for KILL. | |
370 | * intrinsic.texi: Fix documentation to consistently use pid and sig. | |
371 | * iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8. Choose the | |
372 | correct function. | |
373 | (gfc_resolve_rename_sub): Add comment. | |
374 | ||
375 | 2018-03-11 Thomas Koenig <tkoenig@gcc.gnu.org> | |
6f76317a TK |
376 | |
377 | PR fortran/66128 | |
378 | * simplify.c (simplify_transformation): Return default result for | |
379 | empty array argument. | |
380 | (gfc_simplify_all): Remove special-case handling for zerosize. | |
381 | (gfc_simplify_any): Likewise. | |
382 | (gfc_simplify_count): Likewise. | |
383 | (gfc_simplify_iall): Likewise. | |
384 | (gfc_simplify_iany): Likewise. | |
385 | (gfc_simplify_iparity): Likewise. | |
386 | (gfc_simplify_minval): Likewise. | |
387 | (gfc_simplify_maxval): Likewise. | |
388 | (gfc_simplify_norm2): Likewise. | |
389 | (gfc_simplify_product): Likewise. | |
390 | (gfc_simplify_sum): Likewise. | |
391 | ||
7d2fb01c SK |
392 | 2018-03-10 Steven G. Kargl <kargl@gcc.gnu.org> |
393 | ||
394 | PR fortran/84734 | |
395 | * arith.c (check_result, eval_intrinsic): If result overflows, pass | |
396 | the expression up the chain instead of a NULL pointer. | |
397 | ||
00df7c36 SK |
398 | 2018-03-07 Steven G. Kargl <kargl@gcc.gnu.org> |
399 | ||
400 | PR fortran/64124 | |
401 | PR fortran/70409 | |
402 | * decl.c (gfc_match_char_spec): Try to reduce a charlen to a constant. | |
403 | ||
5867bb9a TK |
404 | 2017-03-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
405 | ||
406 | PR fortran/84697 | |
407 | PR fortran/66128 | |
408 | * expr.c (simplify_parameter_variable): If p is a size zero array | |
409 | and not an ARRAY_EXPR insert an empty array constructor and | |
410 | return. | |
411 | * gfortran.h: Add prototype for gfc_is_size_zero_array. | |
412 | * simplify.c (is_size_zero_array): Make non-static and rename into | |
413 | (gfc_is_size_zero_array): Check for parameter arrays of zero | |
414 | size by comparing shape and absence of constructor. | |
415 | (gfc_simplify_all): Use gfc_is_size_zero_array instead of | |
416 | is_size_zero_array. | |
417 | (gfc_simplify_count): Likewise. | |
418 | (gfc_simplify_iall): Likewise. | |
419 | (gfc_simplify_iany): Likewise. | |
420 | (gfc_simplify_iparity): Likewise. | |
421 | (gfc_simplify_minval): Likewise. | |
422 | (gfc_simplify_maxval): Likewise. | |
423 | (gfc_simplify_product): Likewise. | |
424 | (gfc_simplify_sum): Likewise. | |
425 | ||
284ee475 SK |
426 | 2018-03-06 Steven G. Kargl <kargl@gcc.gnu.org> |
427 | ||
428 | PR fortran/56667 | |
429 | * primary.c (match_sym_complex_part): Give the matcher for an implied | |
430 | do-loop a chance to run. | |
431 | ||
ac80378f HA |
432 | 2018-03-03 Harald Anlauf <anlauf@gmx.de> |
433 | ||
434 | PR fortran/71085 | |
435 | * trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not | |
436 | dereference NULL pointer. | |
437 | ||
94e6b5e5 SK |
438 | 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org> |
439 | ||
440 | PR fortran/66128 | |
441 | * simplify.c (is_size_zero_array): New function to check for size | |
442 | zero array. | |
26219cee | 443 | (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count, |
94e6b5e5 SK |
444 | gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity, |
445 | gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2, | |
446 | gfc_simplify_product, gfc_simplify_sum): Use it, and implement | |
447 | requirements from F2018. | |
448 | ||
a900a060 SK |
449 | 2018-03-03 Steven G. Kargl <kargl@gcc.gnu.org> |
450 | ||
451 | PR fortran/51434 | |
452 | * simplify.c (gfc_simplify_transfer): Resolve mold. | |
453 | ||
c8bd326c PT |
454 | 2018-03-03 Paul Thomas <pault@gcc.gnu.org> |
455 | ||
456 | PR fortran/80965 | |
457 | * resolve.c (build_loc_call): Change symtree name from 'loc' to | |
458 | '_loc'. | |
459 | ||
71a93e81 PT |
460 | 2018-03-01 Paul Thomas <pault@gcc.gnu.org> |
461 | ||
462 | PR fortran/84219 | |
463 | * target-memory.c (gfc_interpret_derived): Assert that BT_VOID | |
464 | components are caf tokens. | |
465 | (gfc_target_interpret_expr): Treat BT_VOID expressions as | |
466 | integers. | |
467 | ||
b120c8b2 PT |
468 | 2018-03-01 Paul Thomas <pault@gcc.gnu.org> |
469 | ||
470 | PR fortran/84538 | |
471 | * class.c (class_array_ref_detected): Remove the condition that | |
472 | there be no reference after the array reference. | |
473 | (find_intrinsic_vtab): Remove excess whitespace. | |
474 | * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp' | |
475 | as 'base and call build_class_array_ref earlier. | |
476 | ||
b14a13fa PT |
477 | 2018-02-28 Paul Thomas <pault@gcc.gnu.org> |
478 | ||
479 | PR fortran/83901 | |
480 | * trans-stmt.c (trans_associate_var): Make sure that the se | |
481 | expression is a pointer type before converting it to the symbol | |
482 | backend_decl type. | |
483 | ||
09ef33c1 SK |
484 | 2018-02-25 Steven G. Kargl <kargl@gcc.gnu.org> |
485 | ||
486 | PR fortran/83633 | |
487 | * decl.c (variable_decl): Check that an explicit-shape-array with | |
488 | nonconstant bounds is allowed. | |
489 | ||
8fba26f4 PT |
490 | 2018-02-25 Paul Thomas <pault@gcc.gnu.org> |
491 | ||
492 | PR fortran/84523 | |
493 | * trans-intrinsic.c (gfc_conv_allocated): If the argument se | |
494 | has a pre block, add it to the expression pre block. | |
495 | ||
6ef1366a TK |
496 | 2018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org> |
497 | ||
498 | PR fortran/78238 | |
499 | * gfortran.h (gfc_integer_4_kind): Define. | |
500 | * resolve.c (resolve_select_type): Make sure that the | |
501 | kind of c->high is gfc_integer_4_kind. | |
502 | ||
c034c38f SK |
503 | 2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org> |
504 | ||
505 | PR fortran/30792 | |
506 | * decl.c (gfc_match_data): Check for invalid substring in | |
507 | data-implied-do | |
508 | ||
161ac473 SK |
509 | 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> |
510 | ||
511 | * intrinsic.texi: Arguments to MATMUL cannot both be rank one. | |
512 | ||
a26f63a8 SK |
513 | 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> |
514 | ||
515 | PR fortran/84511 | |
516 | * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement. | |
517 | ||
3453b6aa SK |
518 | 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> |
519 | ||
520 | PR fortran/84346 | |
521 | * interface.c (compare_actual_formal): Issue error if keyword is | |
522 | used in a statement function. | |
523 | ||
55ebc31f JD |
524 | 2018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
525 | ||
526 | PR fortran/84506 | |
527 | * trans-io.c (set_parameter_value_inquire): Adjust range check of | |
528 | negative unit values for kind=8 units to the kind=4 negative limit. | |
529 | ||
1996c75e PT |
530 | 2018-02-23 Paul Thomas <pault@gcc.gnu.org> |
531 | ||
532 | PR fortran/83149 | |
533 | * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before | |
534 | accessing its components. | |
535 | ||
6869c12d PT |
536 | 2018-02-23 Paul Thomas <pault@gcc.gnu.org> |
537 | ||
538 | PR fortran/83149 | |
539 | * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name | |
540 | before accessing its components. | |
541 | ||
c287dea0 PT |
542 | 2018-02-23 Paul Thomas <pault@gcc.gnu.org> |
543 | ||
544 | PR fortran/83148 | |
545 | * trans-const.c : Clean up some whitespace issues. | |
546 | * trans-expr.c (gfc_conv_initializer): If an iso_c_binding | |
547 | derived type has a kind value of zero, set it to the default | |
548 | integer kind. | |
549 | ||
dffb1e22 JB |
550 | 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org> |
551 | ||
552 | PR fortran/84519 | |
553 | * trans-decl.c (gfc_build_builtin_function_decls): Add bool | |
554 | argument to stop and error stop decls. | |
555 | * trans-stmt.c (gfc_trans_stop): Add false value to argument | |
556 | lists. | |
557 | ||
6cc22cf4 JB |
558 | 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org> |
559 | ||
560 | PR 78534 | |
561 | PR 84509 | |
562 | * trans-decl.c (gfc_build_builtin_function_decls): Pass | |
563 | gfc_int8_type node to pause_numeric, size_type_node to | |
564 | pause_string. | |
565 | * trans-stmt.c (gfc_trans_pause): Likewise. | |
566 | ||
3f5fabc0 JB |
567 | 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org> |
568 | ||
569 | * gfortran.texi: Update Coarray API description. | |
570 | * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for | |
571 | character lengths, int for exit codes. | |
572 | (generate_coarray_sym_init): Use size_t for character length. | |
573 | * trans-intrinsic.c (conv_co_collective): Likewise. | |
574 | * trans-stmt.c (gfc_trans_lock_unlock): Likewise. | |
575 | (gfc_trans_event_post_wait): Likewise. | |
576 | (gfc_trans_sync): Likewise. | |
577 | (gfc_trans_stop): Use size_t for character lengths, int for exit | |
578 | codes. | |
579 | ||
04946c6b TK |
580 | 2018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org> |
581 | ||
582 | PR fortran/48890 | |
583 | PR fortran/83823 | |
584 | * primary.c (gfc_convert_to_structure_constructor): | |
585 | For a constant string constructor, make sure the length | |
586 | is correct. | |
587 | ||
5c60dbc1 PT |
588 | 2018-02-19 Paul Thomas <pault@gcc.gnu.org> |
589 | ||
590 | PR fortran/83344 | |
591 | PR fortran/83975 | |
592 | * resolve.c (resolve_assoc_var): Rearrange the logic for the | |
593 | determination of the character length of associate names. If | |
594 | the associate name is missing a length expression or the length | |
595 | expression is not a constant and the target is not a variable, | |
596 | make the associate name allocatable and deferred length. | |
597 | * trans-decl.c (gfc_get_symbol_decl): Null the character length | |
598 | backend_decl for deferred length associate names that are not | |
599 | variables. Set 'length' to gfc_index_zero_node for character | |
600 | associate names, whose character length is a PARM_DECL. | |
601 | ||
d48fc34a TK |
602 | 2018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
603 | ||
604 | PR fortran/35339 | |
605 | * frontend-passes.c (traverse_io_block): Remove workaround for | |
606 | PR 80945. | |
607 | ||
87e8aa3b AV |
608 | 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org> |
609 | ||
610 | * gfortran.texi: Document additional src/dst_type. Fix some typos. | |
611 | * trans-decl.c (gfc_build_builtin_function_decls): Declare the new | |
612 | argument of _caf_*_by_ref () with * e { get, send, sendget }. | |
613 | * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the | |
614 | data referenced when generating a call to caf_get_by_ref (). | |
615 | (conv_caf_send): Same but for caf_send_by_ref () and | |
616 | caf_sendget_by_ref (). | |
617 | ||
26eacfe8 JD |
618 | 2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
619 | ||
620 | PR fortran/84389 | |
621 | * io.c (check_format): Allow FMT_COLON. | |
622 | ||
d5ace305 PT |
623 | 2018-02-18 Paul Thomas <pault@gcc.gnu.org> |
624 | ||
625 | PR fortran/80945 | |
626 | * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from | |
627 | the typenode in the case of deferred length characters. | |
628 | ||
aab20638 TK |
629 | 2018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org> |
630 | ||
631 | PR fortran/84270 | |
632 | * frontend-passes (scalarized_expr): If the expression | |
633 | is an assumed size array, leave in the last reference | |
634 | and pass AR_SECTION instead of AR_FULL to gfc_resolve | |
635 | in order to avoid an error. | |
636 | ||
a8399af8 PT |
637 | 2018-02-17 Paul Thomas <pault@gcc.gnu.org> |
638 | ||
639 | PR fortran/84115 | |
640 | * resolve.c (resolve_assoc_var): If a non-constant target expr. | |
641 | has no string length expression, make the associate variable | |
642 | into a deferred length, allocatable symbol. | |
643 | * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to | |
644 | the symbol. | |
645 | * trans-stmt.c (trans_associate_var): Null and free scalar | |
646 | associate names that are allocatable. After assignment, remove | |
647 | the allocatable attribute to prevent reallocation. | |
648 | ||
83d9be55 JJ |
649 | 2018-02-16 Jakub Jelinek <jakub@redhat.com> |
650 | ||
651 | PR fortran/84418 | |
652 | * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF | |
653 | kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step. | |
654 | ||
655 | 2018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
71a21b9e DH |
656 | |
657 | PR fortran/84354 | |
658 | * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs. | |
659 | ||
f3ad8745 JW |
660 | 2018-02-15 Janus Weil <janus@gcc.gnu.org> |
661 | ||
662 | PR fortran/84409 | |
663 | * interface.c (check_dtio_arg_TKR_intent): Add a check for character | |
664 | length. | |
665 | ||
ee3bb1b7 JW |
666 | 2018-02-14 Janus Weil <janus@gcc.gnu.org> |
667 | ||
668 | PR fortran/84385 | |
669 | * match.c (gfc_match_select_type): Fix check for selector in | |
670 | SELECT TYPE statement. | |
671 | ||
4155fafc JW |
672 | 2018-02-13 Janus Weil <janus@gcc.gnu.org> |
673 | ||
674 | PR fortran/84313 | |
675 | * symbol.c (check_conflict): Reject procedure pointers in common blocks. | |
676 | ||
7b47686d AM |
677 | 2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie> |
678 | Janne Blomqvist <jb@gcc.gnu.org> | |
679 | ||
680 | * module.c (dump_module): Use lbasename to ensure that module | |
681 | files are reproducible. | |
682 | ||
24abcc44 JW |
683 | 2018-02-12 Janus Weil <janus@gcc.gnu.org> |
684 | ||
685 | PR fortran/84273 | |
686 | * resolve.c (resolve_component): Fix checks of passed argument in | |
687 | procedure-pointer components. | |
688 | ||
6a793a8d FXC |
689 | 2018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
690 | ||
691 | PR fortran/35299 | |
692 | * resolve.c (resolve_formal_arglist): Update error message. | |
693 | ||
61fad608 AV |
694 | 2018-02-11 Andre Vehreschild <vehre@gcc.gnu.org> |
695 | ||
696 | * gfortran.texi: Fix typos in documentation of caf_register (). | |
697 | * trans-array.c (structure_alloc_comps): Only register a component of | |
698 | a derived typed corray, not of an ultimate component coarray. | |
699 | ||
f3883269 SK |
700 | 2018-02-11 Steven G. Kargl <kargl@gcc.gnu.org> |
701 | ||
702 | PR fortran/54223 | |
703 | PR fortran/84276 | |
704 | * interface.c (compare_actual_formal): Add in_statement_function | |
705 | bool parameter. Skip check of INTENT attribute for statement | |
706 | functions. Arguments to a statement function cannot be optional, | |
707 | issue error for missing argument. | |
708 | (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use | |
709 | in_statement_function. | |
710 | ||
e519d2e8 PT |
711 | 2018-02-11 Paul Thomas <pault@gcc.gnu.org> |
712 | ||
713 | PR fortran/84074 | |
714 | * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset | |
715 | flag. If the is a vector subscript or the expression is not a | |
716 | variable, make the descriptor one-based. | |
717 | ||
950ab3f1 PT |
718 | 2018-02-10 Paul Thomas <pault@gcc.gnu.org> |
719 | ||
720 | PR fortran/84141 | |
721 | PR fortran/84155 | |
722 | * trans-array.c (gfc_array_init_size): Revert the change made | |
723 | in revision 257356 setting the dtype. | |
724 | * trans-types.c (gfc_get_dtype): Do not use the cached dtype. | |
725 | Call gfc_get_dtype_rank_type every time. | |
726 | ||
727 | PR fortran/56691 | |
728 | * trans-array.c (gfc_conv_expr_descriptor): If the source array | |
729 | is a descriptor type, use its offset, removing the condition | |
730 | that is be a class expression. | |
731 | ||
b35a0ccd SK |
732 | 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org> |
733 | ||
734 | PR fortran/82994 | |
735 | * match.c (gfc_match_deallocate): Check for NULL pointer. | |
736 | ||
82e259b8 TK |
737 | 2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
738 | ||
739 | PR fortran/68560 | |
740 | * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function. | |
741 | (gfc_conv_intrinsic_function): Call it. | |
742 | ||
52b16cb3 SK |
743 | 2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org> |
744 | ||
745 | PR fortran/82049 | |
746 | * match.c (gfc_match_type_spec): If the charlen is non-NULL, then | |
747 | try to resolve it. While here return early if possible. | |
748 | ||
26f822c2 PT |
749 | 2018-02-04 Paul Thomas <pault@gcc.gnu.org> |
750 | ||
751 | PR fortran/84115 | |
752 | * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of | |
753 | 'length' if the symbol charlen backend_decl is an indirect ref. | |
754 | ||
2c536ce7 PT |
755 | 2018-02-03 Paul Thomas <pault@gcc.gnu.org> |
756 | ||
757 | PR fortran/84141 | |
758 | PR fortran/84155 | |
759 | * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype | |
760 | use gfc_get_dtype_rank_type. | |
761 | ||
ae976c33 JB |
762 | 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org> |
763 | ||
764 | PR 83975 | |
765 | PR 83344 | |
766 | * resolve.c (resolve_assoc_var): Generate an error if | |
767 | target length unknown. | |
768 | ||
eae4d8fb JB |
769 | 2018-02-01 Janne Blomqvist <jb@gcc.gnu.org> |
770 | ||
771 | PR fortran/83705 | |
772 | * simplify.c (gfc_simplify_repeat): Increase limit for deferring | |
773 | to runtime, print a warning message. | |
774 | ||
c9243c04 JJ |
775 | 2018-01-31 Jakub Jelinek <jakub@redhat.com> |
776 | ||
777 | PR fortran/84116 | |
778 | * openmp.c (gfc_match_omp_clauses): If all the linear | |
779 | gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist | |
780 | nor set *head = NULL. Formatting fixes. | |
781 | ||
1af73491 PT |
782 | 2018-01-31 Paul Thomas <pault@gcc.gnu.org> |
783 | ||
784 | PR fortran/84088 | |
785 | * trans-expr.c (gfc_conv_procedure_call): If the parm expr is | |
786 | an address expression passed to an assumed rank dummy, convert | |
787 | to an indirect reference. | |
788 | ||
125a677d TK |
789 | 2018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org> |
790 | ||
791 | * dump-parse-tree.c (write_proc): Use sym_name (which may | |
792 | be sym->binding_label) instead of sym->name. | |
793 | ||
949b40a4 JB |
794 | 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org> |
795 | ||
796 | * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead | |
797 | of int for slen. | |
798 | ||
9f3dcd14 JB |
799 | 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org> |
800 | ||
801 | PR fortran/78534 | |
802 | * trans-expr.c (fill_with_spaces): Use memset instead of | |
803 | generating loop. | |
804 | (gfc_trans_string_copy): Improve opportunity to use builtins with | |
805 | constant lengths. | |
806 | ||
f2adfb89 JJ |
807 | 2018-01-30 Jakub Jelinek <jakub@redhat.com> |
808 | ||
809 | PR debug/84131 | |
810 | * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off | |
811 | to DATA_FIELD's offset rather than OFFSET_FIELD's offset. | |
812 | ||
125a677d | 813 | 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
8fb2cc6b TK |
814 | |
815 | PR fortran/84134 | |
816 | * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is | |
817 | zero, return false. | |
818 | ||
dca9e8be TK |
819 | 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
820 | ||
821 | PR fortran/84133 | |
822 | * frontend-passes (matmul_to_var_expr): Return early if | |
823 | in association list. | |
824 | (inline_matmul_assign): Likewise. | |
825 | ||
3be34c0b TK |
826 | 2017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
827 | ||
828 | PR fortran/84073 | |
829 | * resolve.c (resolve_component): Ensure BIND(C) character | |
830 | components have length one. | |
831 | (resolve_symbol): Likewise for variables. | |
832 | ||
aeb8c028 JJ |
833 | 2018-01-27 Jakub Jelinek <jakub@redhat.com> |
834 | ||
835 | PR fortran/84065 | |
836 | * decl.c (add_init_expr_to_sym): Ignore initializers for too large | |
837 | lengths. | |
838 | ||
f8862a1b | 839 | 2018-01-26 Damian Rouson <damian@sourceryinstitute.org> |
aeb8c028 JJ |
840 | Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> |
841 | Soren Rasmussen <s.c.rasmussen@gmail.com> | |
f8862a1b DR |
842 | |
843 | Partial support for Fortran 2018 teams features. | |
844 | ||
845 | * array.c (gfc_match_array_ref): add team attribute in coarray | |
846 | transfers. | |
847 | * check.c (gfc_check_get_team, gfc_check_team_number): add new | |
848 | functions for get_team and team_number. | |
849 | * dump-parse-tree.c (show_code_node): add new statements: form team, | |
850 | change team, end team, and sync team. | |
851 | * expr.c (gfc_find_team_co): add new function. | |
852 | * gfortran.h: add new statements. | |
853 | * intrinsic.c (add_functions): add get_team and team_number functions. | |
854 | * intrinsic.h: add get_team and team_number prototypes for check, | |
855 | simplify, and resolve. | |
856 | * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new | |
857 | functions. | |
858 | * iso-fortran-env.def: add the team_type derived type. | |
859 | * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number) | |
860 | (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team): | |
861 | add change team, end team, form team, sync team match and functions. | |
862 | * match.h: add new prototypes for change team, end team, form team, | |
863 | and sync team. | |
864 | * parse.c (decode_statement): add cases for change team, end team, | |
865 | form team, and sync team. | |
866 | * resolve.c: add cases for exec form team, change team, end team, and | |
867 | sync team. | |
868 | * simplify.c (gfc_simplify_get_team): add new function for get team. | |
869 | * st.c (gfc_free_statement): add cases exec for change team, end team, | |
870 | form team, sync team. | |
871 | * trans-decl.c (gfor_fndecl_caf_form_team) | |
872 | (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team) | |
873 | (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team) | |
874 | (gfor_fndecl_caf_team_number): add functions and definitions. | |
875 | * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add | |
876 | new function and team_type argument support. | |
877 | * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team) | |
878 | (gfc_trans_end_team, gfc_trans_sync_team): add new functions. | |
879 | * trans-stmt.h: add new prototypes. | |
880 | * trans-types.c (gfc_get_derived_type): check condition for team_type. | |
881 | * trans.c (trans_code): new exec cases for form team, change team, end | |
882 | team, and sync team. | |
883 | * trans.h: add new prototypes. | |
884 | ||
deece1aa SK |
885 | 2018-01-26 Steven G. Kargl <kargl@gcc.gnu.org> |
886 | ||
887 | PR fortran/83998 | |
888 | * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0 | |
889 | or .false. The summation does the correct type conversion. | |
890 | (gfc_simplify_dot_product): Special case zero-sized arrays. | |
891 | ||
7fb43006 PT |
892 | 2018-25-01 Paul Thomas <pault@gcc.gnu.org> |
893 | ||
894 | PR fortran/37577 | |
895 | * array.c (gfc_match_array_ref): If standard earlier than F2008 | |
896 | it is an error if the reference dimension is greater than 7. | |
897 | libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the | |
898 | dtype masks and shifts accordingly. | |
899 | * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype | |
900 | type node to check the field. | |
901 | (gfc_conv_descriptor_dtype): Access the rank field of dtype. | |
902 | (duplicate_allocatable_coarray): Access the rank field of the | |
903 | dtype descriptor rather than the dtype itself. | |
904 | * trans-expr.c (get_scalar_to_descriptor_type): Store the type | |
905 | of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE | |
906 | (ie. a character). | |
907 | (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to | |
908 | get_scalar_to_descriptor_type if the actual expression is a | |
909 | constant. | |
910 | (gfc_trans_structure_assign): Assign the rank directly to the | |
911 | dtype rank field. | |
912 | * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result | |
913 | to default integer kind. | |
914 | (gfc_conv_intrinsic_sizeof): Obtain the element size from the | |
915 | 'elem_len' field of the dtype. | |
916 | * trans-io.c (gfc_build_io_library_fndecls): Replace | |
917 | gfc_int4_type_node with dtype_type_node where necessary. | |
918 | (transfer_namelist_element): Use gfc_get_dtype_rank_type for | |
919 | scalars. | |
920 | * trans-types.c : Provide 'get_dtype_type_node' to acces the | |
921 | dtype_type_node and, if necessary, build it. | |
922 | The maximum size of an array element is now determined by the | |
923 | maximum value of size_t. | |
924 | Update the description of the array descriptor, including the | |
925 | type def for the dtype_type. | |
926 | (gfc_get_dtype_rank_type): Build a constructor for the dtype. | |
927 | Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS. | |
928 | (gfc_get_array_descriptor_base): Change the type of the dtype | |
929 | field to dtype_type_node. | |
930 | (gfc_get_array_descr_info): Get the offset to the rank field of | |
931 | the dtype. | |
932 | * trans-types.h : Add a prototype for 'get_dtype_type_node ()'. | |
933 | * trans.h : Define the indices of the dtype fields. | |
934 | ||
f59986b2 PT |
935 | 2018-23-01 Paul Thomas <pault@gcc.gnu.org> |
936 | ||
937 | PR fortran/83866 | |
938 | * decl.c (gfc_match_derived_decl): If eos not matched, recover | |
939 | and emit error about garbage after declaration. | |
940 | ||
84ee745e PT |
941 | 2018-23-01 Paul Thomas <pault@gcc.gnu.org> |
942 | ||
943 | PR fortran/83898 | |
944 | * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor | |
945 | for characters. | |
946 | ||
6b271a2e JB |
947 | 2018-01-22 Janne Blomqvist <jb@gcc.gnu.org> |
948 | ||
949 | PR 78534 | |
950 | PR 83704 | |
951 | * arith.c (gfc_arith_concat): Use size_t for string length. | |
952 | (gfc_compare_string): Likewise. | |
953 | (gfc_compare_with_Cstring): Likewise. | |
954 | * array.c (gfc_resolve_character_array_constructor): Use | |
955 | HOST_WIDE_INT, gfc_mpz_get_hwi. | |
956 | * check.c (gfc_check_fe_runtime_error): Use size_t. | |
957 | * data.c (create_character_initializer): Use HOST_WIDE_INT, | |
958 | gfc_extract_hwi. | |
959 | * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t. | |
960 | (add_init_expr_to_sym): Use HOST_WIDE_INT. | |
961 | * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT, | |
962 | gfc_extract_hwi. | |
963 | (gfc_apply_init): Likewise. | |
964 | * match.h (gfc_set_constant_character_len): Update prototype. | |
965 | * primary.c (match_string_constant): Use size_t. | |
966 | * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT, | |
967 | gfc_mpz_get_hwi. | |
968 | * simplify.c (init_result_expr): Likewise. | |
969 | (gfc_simplify_len_trim): Use size_t. | |
970 | * target-memory.c (gfc_encode_character): Use size_t. | |
971 | (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi. | |
972 | (interpret_array): Use size_t. | |
973 | (gfc_interpret_character): Likewise. | |
974 | * target-memory.h (gfc_encode_character): Update prototype. | |
975 | (gfc_interpret_character): Likewise. | |
976 | (gfc_target_interpret_expr): Likewise. | |
977 | * trans-const.c (gfc_build_string_const): Use size_t for length | |
978 | argument. | |
979 | (gfc_build_wide_string_const): Likewise. | |
980 | * trans-const.h (gfc_build_string_const): Likewise. | |
981 | (gfc_build_wide_string_const): Likewise. | |
982 | ||
f5240750 SK |
983 | 2018-01-20 Steven G. Kargl <kargl@gcc.gnu.org> |
984 | ||
985 | PR fortran/83900 | |
986 | * simplify.c (gfc_simplify_matmul): Set return type correctly. | |
987 | ||
f18fee82 SK |
988 | 2018-01-19 Steven G. Kargl <kargl@gcc.gnu.org> |
989 | ||
990 | PR fortran/83900 | |
991 | * simplify.c (gfc_simplify_matmul): Delete bogus assertion. | |
992 | ||
fcf79237 HA |
993 | 2018-01-17 Harald Anlauf <anlauf@gmx.de> |
994 | ||
995 | PR fortran/83864 | |
996 | * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer. | |
997 | ||
c004a341 HA |
998 | 2018-01-17 Harald Anlauf <anlauf@gmx.de> |
999 | ||
1000 | PR fortran/83874 | |
1001 | * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer. | |
1002 | ||
75a3c61a LK |
1003 | 2018-01-15 Louis Krupp <louis.krupp@zoho.com> |
1004 | ||
1005 | PR fortran/82257 | |
1006 | * interface.c (compare_rank): Don't try to retrieve CLASS_DATA | |
1007 | from symbol marked unlimited polymorphic. | |
1008 | * resolve.c (resolve_structure_cons): Likewise. | |
1009 | * misc.c (gfc_typename): Don't dereference derived->components | |
1010 | if it's NULL. | |
1011 | ||
64b1806b TK |
1012 | 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> |
1013 | ||
1014 | PR fortran/54613 | |
1015 | * gfortran.h (gfc_check_f): Rename f4ml to f5ml. | |
1016 | (gfc_logical_4_kind): New macro | |
1017 | * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument. | |
1018 | (gfc_simplify_maxloc): Likewise. | |
1019 | (gfc_resolve_maxloc): Likewise. | |
1020 | (gfc_resolve_minloc): Likewise. | |
1021 | * check.c (gfc_check_minloc_maxloc): Add checking for "back" | |
1022 | argument; also raise error if it is used (for now). Add it | |
1023 | if it isn't present. | |
1024 | * intrinsic.c (add_sym_4ml): Rename to | |
1025 | (add_sym_5ml), adjust for extra argument. | |
1026 | (add_functions): Add "back" constant. Adjust maxloc and minloc | |
1027 | for back argument. | |
1028 | * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is | |
1029 | not of gfc_logical_4_kind, convert. | |
1030 | (gfc_resolve_minloc): Likewise. | |
1031 | * simplify.c (gfc_simplify_minloc): Add back argument. | |
1032 | (gfc_simplify_maxloc): Likewise. | |
1033 | * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last | |
1034 | argument to %VAL to ensure passing by value. | |
1035 | (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc | |
1036 | also for library calls. | |
1037 | ||
f208c5cc JD |
1038 | 2018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1039 | ||
1040 | PR fortran/82007 | |
1041 | * resolve.c (resolve_transfer): Delete code looking for 'DT' | |
1042 | format specifiers in format strings. Set formatted to true if a | |
1043 | format string or format label is present. | |
1044 | * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix | |
1045 | whitespace. | |
64b1806b | 1046 | |
83d9be55 | 1047 | 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> |
39f309ac TK |
1048 | |
1049 | PR fortran/83744 | |
1050 | * dump-parse-tree.c (get_c_type_name): Remove extra line. | |
1051 | Change for loop to use declaration in for loop. Handle BT_LOGICAL | |
1052 | and BT_CHARACTER. | |
1053 | (write_decl): Add where argument. Fix indentation. Replace | |
1054 | assert with error message. Add typename to warning | |
1055 | in comment. | |
1056 | (write_type): Adjust locus to call of write_decl. | |
1057 | (write_variable): Likewise. | |
1058 | (write_proc): Likewise. Replace assert with error message. | |
1059 | ||
567a6e1c PT |
1060 | 2018-01-13 Paul Thomas <pault@gcc.gnu.org> |
1061 | ||
1062 | PR fortran/52162 | |
1063 | * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if | |
1064 | the rhs expression is neither an elemental nor a conversion | |
1065 | function. | |
1066 | ||
1067 | PR fortran/83622 | |
1068 | * trans-array.c (is_pointer_array): Remove unconditional return | |
1069 | of false for -fopenmp. | |
1070 | ||
83d9be55 | 1071 | 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> |
700b62cc TK |
1072 | <emsr@gcc.gnu.org> |
1073 | ||
1074 | PR fortran/83803 | |
1075 | * dump-parse-tree.c (write_proc): Always emit closing parenthesis | |
1076 | for functions. | |
1077 | ||
bdd82c9b SK |
1078 | 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org> |
1079 | ||
1080 | PR fortran/82367 | |
1081 | * resolve.c (resolve_allocate_expr): Check for NULL pointer. | |
1082 | ||
266404a8 SK |
1083 | 2018-01-10 Steven G. Kargl <kargl@gcc.gnu.org> |
1084 | ||
1085 | PR fortran/83093 | |
1086 | * resolve.c (resolve_charlen): Check the type of cl->length | |
1087 | after resolution. | |
1088 | ||
85c2c761 JB |
1089 | 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org> |
1090 | ||
e10e60cb JB |
1091 | PR fortran/83740 |
1092 | * trans-array.c (gfc_trans_array_ctor_element): Fix formatting. | |
1093 | ||
1094 | 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org> | |
1095 | ||
1096 | PR fortran/83740 | |
85c2c761 JB |
1097 | * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the |
1098 | LHS type when assigning. | |
1099 | ||
d4319ef8 SK |
1100 | 2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org> |
1101 | ||
1102 | PR fortran/83742 | |
1103 | * expr.c (gfc_is_simply_contiguous): Check for NULL pointer. | |
1104 | ||
8799df67 SK |
1105 | 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org> |
1106 | ||
1107 | * match.c (gfc_match_allocate): Check for NULL pointer. | |
1108 | ||
a4f759de SK |
1109 | 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org> |
1110 | ||
1111 | * expr.c (gfc_check_pointer_assign): Fix typo in comment. | |
1112 | ||
0b627b58 PT |
1113 | 2018-01-08 Paul Thomas <pault@gcc.gnu.org> |
1114 | ||
1115 | PR fortran/83611 | |
1116 | * decl.c (gfc_get_pdt_instance): If parameterized arrays have | |
1117 | an initializer, convert the kind parameters and add to the | |
1118 | component if the instance. | |
1119 | * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and | |
1120 | use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable' | |
1121 | for parameterized arrays. Clean up typos in comments. Convert | |
1122 | parameterized array initializers and copy into the array. | |
1123 | * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for | |
1124 | parameterized types. | |
1125 | *trans-stmt.c (trans_associate_var): Deallocate associate vars | |
1126 | as necessary, when they are PDT function results for example. | |
1127 | ||
1128 | PR fortran/83731 | |
1129 | * trans-array.c (structure_alloc_comps): Only compare len parms | |
1130 | when they are declared explicitly. | |
1131 | ||
ee2d3987 JB |
1132 | 2018-01-06 Janne Blomqvist <jb@gcc.gnu.org> |
1133 | ||
1134 | PR fortran/50892 | |
1135 | * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to | |
1136 | lhs type. | |
1137 | ||
f622221a JB |
1138 | 2018-01-05 Janne Blomqvist <jb@gcc.gnu.org> |
1139 | ||
1140 | PR fortran/78534 | |
1141 | PR fortran/66310 | |
1142 | * array.c (got_charlen): Use gfc_charlen_int_kind. | |
1143 | * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of | |
1144 | hardcoded kind. | |
1145 | (find_intrinsic_vtab): Likewise. | |
1146 | * decl.c (match_char_length): Use gfc_charlen_int_kind. | |
1147 | (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind. | |
1148 | (gfc_match_implicit): Use gfc_charlen_int_kind. | |
1149 | * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t. | |
1150 | (show_expr): Use HOST_WIDE_INT_PRINT_DEC. | |
1151 | * expr.c (gfc_get_character_expr): Length parameter of type | |
1152 | gfc_charlen_t. | |
1153 | (gfc_get_int_expr): Value argument of type HOST_WIDE_INT. | |
1154 | (gfc_extract_hwi): New function. | |
1155 | (simplify_const_ref): Make string_len of type gfc_charlen_t. | |
1156 | (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs. | |
1157 | * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind. | |
1158 | * gfortran.h (gfc_mpz_get_hwi): New prototype. | |
1159 | (gfc_mpz_set_hwi): Likewise. | |
1160 | (gfc_charlen_t): New typedef. | |
1161 | (gfc_expr): Use gfc_charlen_t for character lengths. | |
1162 | (gfc_size_kind): New extern variable. | |
1163 | (gfc_extract_hwi): New prototype. | |
1164 | (gfc_get_character_expr): Use gfc_charlen_t for character length. | |
1165 | (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument. | |
1166 | * gfortran.texi: Update description of hidden string length argument. | |
1167 | * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind. | |
1168 | (gfc_resolve_char_achar): Likewise. | |
1169 | (gfc_resolve_repeat): Pass string length directly without | |
1170 | temporary, use gfc_charlen_int_kind. | |
1171 | (gfc_resolve_transfer): Use gfc_charlen_int_kind. | |
1172 | * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen. | |
1173 | * misc.c (gfc_mpz_get_hwi): New function. | |
1174 | (gfc_mpz_set_hwi): New function. | |
1175 | * module.c (atom_int): Change type from int to HOST_WIDE_INT. | |
1176 | (parse_integer): Don't complain about large integers. | |
1177 | (write_atom): Use HOST_WIDE_INT for integers. | |
1178 | (mio_integer): Handle integer type mismatch. | |
1179 | (mio_hwi): New function. | |
1180 | (mio_intrinsic_op): Use HOST_WIDE_INT. | |
1181 | (mio_array_ref): Likewise. | |
1182 | (mio_expr): Likewise. | |
1183 | * primary.c (match_substring): Use gfc_charlen_int_kind. | |
1184 | * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind. | |
1185 | (resolve_character_operator): Likewise. | |
1186 | (resolve_assoc_var): Likewise. | |
1187 | (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf. | |
1188 | (resolve_charlen): Use mpz_sgn to determine sign. | |
1189 | * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t | |
1190 | instead of long. | |
1191 | * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind. | |
1192 | * target-memory.c (size_character): Length argument of type | |
1193 | gfc_charlen_t. | |
1194 | (gfc_encode_character): Likewise. | |
1195 | (gfc_interpret_character): Use gfc_charlen_t. | |
1196 | * target-memory.h (gfc_encode_character): Modify prototype. | |
1197 | * trans-array.c (gfc_trans_array_ctor_element): Use existing type. | |
1198 | (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type. | |
1199 | (trans_array_constructor): Use existing type. | |
1200 | (get_array_charlen): Likewise. | |
1201 | * trans-const.c (gfc_conv_mpz_to_tree_type): New function. | |
1202 | * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype. | |
1203 | * trans-decl.c (gfc_trans_deferred_vars): Use existing type. | |
1204 | (add_argument_checking): Likewise. | |
1205 | * trans-expr.c (gfc_class_len_or_zero_get): Build const of type | |
1206 | gfc_charlen_type_node. | |
1207 | (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of | |
1208 | 4, fold_convert to correct type. | |
1209 | (gfc_conv_class_to_class): Build const of type size_type_node for | |
1210 | size. | |
1211 | (gfc_copy_class_to_class): Likewise. | |
1212 | (gfc_conv_string_length): Use same type in expression. | |
1213 | (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen. | |
1214 | (gfc_conv_string_tmp): Make sure len is of the right type. | |
1215 | (gfc_conv_concat_op): Use same type in expression. | |
1216 | (gfc_conv_procedure_call): Likewise. | |
1217 | (fill_with_spaces): Comment out memset() block due to spurious | |
1218 | -Wstringop-overflow warnings. | |
1219 | (gfc_trans_string_copy): Use gfc_charlen_type_node. | |
1220 | (alloc_scalar_allocatable_for_subcomponent_assignment): | |
1221 | fold_convert to right type. | |
1222 | (gfc_trans_subcomponent_assign): Likewise. | |
1223 | (trans_class_vptr_len_assignment): Build const of correct type. | |
1224 | (gfc_trans_pointer_assignment): Likewise. | |
1225 | (alloc_scalar_allocatable_for_assignment): fold_convert to right | |
1226 | type in expr. | |
1227 | (trans_class_assignment): Build const of correct type. | |
1228 | * trans-intrinsic.c (gfc_conv_associated): Likewise. | |
1229 | (gfc_conv_intrinsic_repeat): Do calculation in sizetype. | |
1230 | * trans-io.c (gfc_build_io_library_fndecls): Use | |
1231 | gfc_charlen_type_node for character lengths. | |
1232 | (set_string): Convert to right type in assignment. | |
1233 | * trans-stmt.c (gfc_trans_label_assign): Build const of | |
1234 | gfc_charlen_type_node. | |
1235 | (trans_associate_var): Likewise. | |
1236 | (gfc_trans_character_select): Likewise. | |
1237 | (gfc_trans_allocate): Likewise, don't typecast strlen result. | |
1238 | (gfc_trans_deallocate): Don't typecast strlen result. | |
1239 | * trans-types.c (gfc_size_kind): New variable. | |
1240 | (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind | |
1241 | from size_type_node. | |
1242 | * trans-types.h: Fix comment. | |
1243 | ||
fbd35ba1 TK |
1244 | 2018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org> |
1245 | ||
1246 | PR fortran/83683 | |
1247 | PR fortran/45689 | |
1248 | * check.c (gfc_check_eoshift): Check for string length and | |
1249 | for conformance of boundary. | |
1250 | * intrinsic.c (add_functions): Add gfc_simplify_eoshift. | |
1251 | * intrinsic.h: Add prototype for gfc_simplify_eoshift. | |
1252 | * simplify.c (gfc_simplify_eoshift): New function. | |
1253 | ||
5c0caeb3 RS |
1254 | 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> |
1255 | Alan Hayward <alan.hayward@arm.com> | |
1256 | David Sherwood <david.sherwood@arm.com> | |
1257 | ||
1258 | * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL. | |
1259 | ||
928686b1 RS |
1260 | 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> |
1261 | Alan Hayward <alan.hayward@arm.com> | |
1262 | David Sherwood <david.sherwood@arm.com> | |
1263 | ||
1264 | * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p. | |
1265 | ||
8987beac TK |
1266 | 2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org> |
1267 | ||
1268 | PR fortran/83664 | |
1269 | * check.c (gfc_check_eoshift): Error for missing boundary if array | |
1270 | is not one of the standard types. | |
1271 | ||
65e6aea3 JJ |
1272 | 2018-01-03 Jakub Jelinek <jakub@redhat.com> |
1273 | ||
85ec4feb JJ |
1274 | Update copyright years. |
1275 | ||
65e6aea3 JJ |
1276 | * gfortranspec.c (lang_specific_driver): Update copyright notice |
1277 | dates. | |
1278 | * gfc-internals.texi: Bump @copying's copyright year. | |
1279 | * gfortran.texi: Ditto. | |
1280 | * intrinsic.texi: Ditto. | |
1281 | * invoke.texi: Ditto. | |
1282 | ||
a1d6c052 TK |
1283 | 2017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
1284 | ||
1285 | PR fortran/45689 | |
1286 | * intrinsic.c (add_function): Add gfc_simplify_maxloc and | |
1287 | gfc_simplify_minloc to maxloc and minloc, respectively. | |
1288 | * intrinsic.h: Add prototypes for gfc_simplify_minloc | |
1289 | and gfc_simplify_maxloc. | |
1290 | * simplify.c (min_max_chose): Adjust prototype. Modify function | |
1291 | to have a return value which indicates if the extremum was found. | |
1292 | (is_constant_array_expr): Fix typo in comment. | |
1293 | (simplify_minmaxloc_to_scalar): New function. | |
1294 | (simplify_minmaxloc_nodim): New function. | |
1295 | (new_array): New function. | |
1296 | (simplify_minmaxloc_to_array): New function. | |
1297 | (gfc_simplify_minmaxloc): New function. | |
1298 | (simplify_minloc): New function. | |
1299 | (simplify_maxloc): New function. | |
1300 | ||
a9ec0cfc TK |
1301 | 2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
1302 | ||
1303 | PR fortran/45689 | |
1304 | PR fortran/83650 | |
1305 | * simplify.c (gfc_simplify_cshift): Re-implement to allow full | |
1306 | range of arguments. | |
1307 | ||
f549bfb3 PT |
1308 | 2018-01-01 Paul Thomas <pault@gcc.gnu.org> |
1309 | ||
1310 | PR fortran/83076 | |
1311 | * resolve.c (resolve_fl_derived0): Add caf_token fields for | |
1312 | allocatable and pointer scalars, when -fcoarray selected. | |
1313 | * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token | |
1314 | field as well as the backend_decl. | |
1315 | (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module | |
1316 | derived types that are not vtypes. Components with caf_token | |
1317 | attribute are pvoid types. For a component requiring it, find | |
1318 | the caf_token field and have the component token field point to | |
1319 | its backend_decl. | |
1320 | ||
1321 | PR fortran/83319 | |
1322 | *trans-types.c (gfc_get_array_descriptor_base): Add the token | |
1323 | field to the descriptor even when codimen not set. | |
21fa2a29 | 1324 | \f |
65e6aea3 | 1325 | Copyright (C) 2018 Free Software Foundation, Inc. |
ad41bd84 JM |
1326 | |
1327 | Copying and distribution of this file, with or without modification, | |
1328 | are permitted in any medium without royalty provided the copyright | |
1329 | notice and this notice are preserved. |