]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
re PR target/85684 (output of instrinsic _xgetbv is wrongly overwritten)
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
463f60d0
SK
12018-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
72018-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
122018-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
192018-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
252018-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
312018-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
382018-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
492018-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
602018-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
672018-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
772018-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
852018-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
912018-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
982018-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
1052018-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
1112018-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
1192018-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
1282018-05-02 Release Manager
129
130 * GCC 8.1.0 released.
131
58da192e
SK
1322018-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
1372018-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
1492018-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
1552018-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
1622018-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
1682018-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
1752018-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
1812018-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
1872018-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
1942017-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
2032018-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
2102018-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
2192018-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
2252018-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
2322018-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
2392018-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
2462018-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
2542018-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
2612018-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
2672018-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
2742018-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
2802018-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
2862018-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
2932018-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
2992018-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
3072018-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
3132018-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
3182018-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
3242018-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
3302018-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
3452018-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
3562018-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
3612018-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
3752018-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
3922018-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
3982018-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
4042017-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
4262018-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
4322018-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
4382018-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
4492018-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
4542018-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
4602018-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
4682018-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
4772018-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
4842018-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
4902018-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
4962018-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
5032018-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
5092018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
510
511 * intrinsic.texi: Arguments to MATMUL cannot both be rank one.
512
a26f63a8
SK
5132018-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
5182018-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
5242018-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
5302018-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
5362018-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
5422018-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
5502018-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
5582018-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
5672018-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
5802018-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
5882018-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
6022018-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
6082018-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
6182018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
619
620 PR fortran/84389
621 * io.c (check_format): Allow FMT_COLON.
622
d5ace305
PT
6232018-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
6292018-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
6372018-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
6492018-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
6552018-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
6602018-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
6662018-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
6722018-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
6772018-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
6832018-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
6892018-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
6942018-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
7002018-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
7112018-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
7182018-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
7322018-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
7372018-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
7432018-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
7492018-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
7552018-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
7622018-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
7692018-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
7752018-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
7822018-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
7892018-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
7942018-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
7992018-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
8072018-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 8132018-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
8192018-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
8262017-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
8332018-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 8392018-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
8852018-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
8922018-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
9352018-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
9412018-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
9472018-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
9832018-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
9882018-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
9932018-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
9982018-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
10032018-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
10122018-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
10382018-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 10472018-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
10602018-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 10712018-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
10782018-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
10832018-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
10892018-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
10942018-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
11002018-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
11052018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
1106
1107 * match.c (gfc_match_allocate): Check for NULL pointer.
1108
a4f759de
SK
11092018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
1110
1111 * expr.c (gfc_check_pointer_assign): Fix typo in comment.
1112
0b627b58
PT
11132018-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
11322018-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
11382018-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
12442018-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
12542018-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
12602018-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
12662018-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
12722018-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
12832017-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
13012018-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
13082018-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 1325Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
1326
1327Copying and distribution of this file, with or without modification,
1328are permitted in any medium without royalty provided the copyright
1329notice and this notice are preserved.
This page took 3.558411 seconds and 5 git commands to generate.