]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
Daily bump.
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
5867bb9a
TK
12017-03-06 Thomas Koenig <tkoenig@gcc.gnu.org>
2
3 PR fortran/84697
4 PR fortran/66128
5 * expr.c (simplify_parameter_variable): If p is a size zero array
6 and not an ARRAY_EXPR insert an empty array constructor and
7 return.
8 * gfortran.h: Add prototype for gfc_is_size_zero_array.
9 * simplify.c (is_size_zero_array): Make non-static and rename into
10 (gfc_is_size_zero_array): Check for parameter arrays of zero
11 size by comparing shape and absence of constructor.
12 (gfc_simplify_all): Use gfc_is_size_zero_array instead of
13 is_size_zero_array.
14 (gfc_simplify_count): Likewise.
15 (gfc_simplify_iall): Likewise.
16 (gfc_simplify_iany): Likewise.
17 (gfc_simplify_iparity): Likewise.
18 (gfc_simplify_minval): Likewise.
19 (gfc_simplify_maxval): Likewise.
20 (gfc_simplify_product): Likewise.
21 (gfc_simplify_sum): Likewise.
22
284ee475
SK
232018-03-06 Steven G. Kargl <kargl@gcc.gnu.org>
24
25 PR fortran/56667
26 * primary.c (match_sym_complex_part): Give the matcher for an implied
27 do-loop a chance to run.
28
ac80378f
HA
292018-03-03 Harald Anlauf <anlauf@gmx.de>
30
31 PR fortran/71085
32 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not
33 dereference NULL pointer.
34
94e6b5e5
SK
352018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
36
37 PR fortran/66128
38 * simplify.c (is_size_zero_array): New function to check for size
39 zero array.
40 (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
41 gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity,
42 gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2,
43 gfc_simplify_product, gfc_simplify_sum): Use it, and implement
44 requirements from F2018.
45
a900a060
SK
462018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
47
48 PR fortran/51434
49 * simplify.c (gfc_simplify_transfer): Resolve mold.
50
c8bd326c
PT
512018-03-03 Paul Thomas <pault@gcc.gnu.org>
52
53 PR fortran/80965
54 * resolve.c (build_loc_call): Change symtree name from 'loc' to
55 '_loc'.
56
71a93e81
PT
572018-03-01 Paul Thomas <pault@gcc.gnu.org>
58
59 PR fortran/84219
60 * target-memory.c (gfc_interpret_derived): Assert that BT_VOID
61 components are caf tokens.
62 (gfc_target_interpret_expr): Treat BT_VOID expressions as
63 integers.
64
b120c8b2
PT
652018-03-01 Paul Thomas <pault@gcc.gnu.org>
66
67 PR fortran/84538
68 * class.c (class_array_ref_detected): Remove the condition that
69 there be no reference after the array reference.
70 (find_intrinsic_vtab): Remove excess whitespace.
71 * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp'
72 as 'base and call build_class_array_ref earlier.
73
b14a13fa
PT
742018-02-28 Paul Thomas <pault@gcc.gnu.org>
75
76 PR fortran/83901
77 * trans-stmt.c (trans_associate_var): Make sure that the se
78 expression is a pointer type before converting it to the symbol
79 backend_decl type.
80
09ef33c1
SK
812018-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
82
83 PR fortran/83633
84 * decl.c (variable_decl): Check that an explicit-shape-array with
85 nonconstant bounds is allowed.
86
8fba26f4
PT
872018-02-25 Paul Thomas <pault@gcc.gnu.org>
88
89 PR fortran/84523
90 * trans-intrinsic.c (gfc_conv_allocated): If the argument se
91 has a pre block, add it to the expression pre block.
92
6ef1366a
TK
932018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org>
94
95 PR fortran/78238
96 * gfortran.h (gfc_integer_4_kind): Define.
97 * resolve.c (resolve_select_type): Make sure that the
98 kind of c->high is gfc_integer_4_kind.
99
c034c38f
SK
1002018-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
101
102 PR fortran/30792
103 * decl.c (gfc_match_data): Check for invalid substring in
104 data-implied-do
105
161ac473
SK
1062018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
107
108 * intrinsic.texi: Arguments to MATMUL cannot both be rank one.
109
a26f63a8
SK
1102018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
111
112 PR fortran/84511
113 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement.
114
3453b6aa
SK
1152018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
116
117 PR fortran/84346
118 * interface.c (compare_actual_formal): Issue error if keyword is
119 used in a statement function.
120
55ebc31f
JD
1212018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
122
123 PR fortran/84506
124 * trans-io.c (set_parameter_value_inquire): Adjust range check of
125 negative unit values for kind=8 units to the kind=4 negative limit.
126
1996c75e
PT
1272018-02-23 Paul Thomas <pault@gcc.gnu.org>
128
129 PR fortran/83149
130 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before
131 accessing its components.
132
6869c12d
PT
1332018-02-23 Paul Thomas <pault@gcc.gnu.org>
134
135 PR fortran/83149
136 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name
137 before accessing its components.
138
c287dea0
PT
1392018-02-23 Paul Thomas <pault@gcc.gnu.org>
140
141 PR fortran/83148
142 * trans-const.c : Clean up some whitespace issues.
143 * trans-expr.c (gfc_conv_initializer): If an iso_c_binding
144 derived type has a kind value of zero, set it to the default
145 integer kind.
146
dffb1e22
JB
1472018-02-23 Janne Blomqvist <jb@gcc.gnu.org>
148
149 PR fortran/84519
150 * trans-decl.c (gfc_build_builtin_function_decls): Add bool
151 argument to stop and error stop decls.
152 * trans-stmt.c (gfc_trans_stop): Add false value to argument
153 lists.
154
6cc22cf4
JB
1552018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
156
157 PR 78534
158 PR 84509
159 * trans-decl.c (gfc_build_builtin_function_decls): Pass
160 gfc_int8_type node to pause_numeric, size_type_node to
161 pause_string.
162 * trans-stmt.c (gfc_trans_pause): Likewise.
163
3f5fabc0
JB
1642018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
165
166 * gfortran.texi: Update Coarray API description.
167 * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for
168 character lengths, int for exit codes.
169 (generate_coarray_sym_init): Use size_t for character length.
170 * trans-intrinsic.c (conv_co_collective): Likewise.
171 * trans-stmt.c (gfc_trans_lock_unlock): Likewise.
172 (gfc_trans_event_post_wait): Likewise.
173 (gfc_trans_sync): Likewise.
174 (gfc_trans_stop): Use size_t for character lengths, int for exit
175 codes.
176
04946c6b
TK
1772018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org>
178
179 PR fortran/48890
180 PR fortran/83823
181 * primary.c (gfc_convert_to_structure_constructor):
182 For a constant string constructor, make sure the length
183 is correct.
184
5c60dbc1
PT
1852018-02-19 Paul Thomas <pault@gcc.gnu.org>
186
187 PR fortran/83344
188 PR fortran/83975
189 * resolve.c (resolve_assoc_var): Rearrange the logic for the
190 determination of the character length of associate names. If
191 the associate name is missing a length expression or the length
192 expression is not a constant and the target is not a variable,
193 make the associate name allocatable and deferred length.
194 * trans-decl.c (gfc_get_symbol_decl): Null the character length
195 backend_decl for deferred length associate names that are not
196 variables. Set 'length' to gfc_index_zero_node for character
197 associate names, whose character length is a PARM_DECL.
198
d48fc34a
TK
1992018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org>
200
201 PR fortran/35339
202 * frontend-passes.c (traverse_io_block): Remove workaround for
203 PR 80945.
204
87e8aa3b
AV
2052018-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
206
207 * gfortran.texi: Document additional src/dst_type. Fix some typos.
208 * trans-decl.c (gfc_build_builtin_function_decls): Declare the new
209 argument of _caf_*_by_ref () with * e { get, send, sendget }.
210 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the
211 data referenced when generating a call to caf_get_by_ref ().
212 (conv_caf_send): Same but for caf_send_by_ref () and
213 caf_sendget_by_ref ().
214
26eacfe8
JD
2152018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
216
217 PR fortran/84389
218 * io.c (check_format): Allow FMT_COLON.
219
d5ace305
PT
2202018-02-18 Paul Thomas <pault@gcc.gnu.org>
221
222 PR fortran/80945
223 * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from
224 the typenode in the case of deferred length characters.
225
aab20638
TK
2262018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org>
227
228 PR fortran/84270
229 * frontend-passes (scalarized_expr): If the expression
230 is an assumed size array, leave in the last reference
231 and pass AR_SECTION instead of AR_FULL to gfc_resolve
232 in order to avoid an error.
233
a8399af8
PT
2342018-02-17 Paul Thomas <pault@gcc.gnu.org>
235
236 PR fortran/84115
237 * resolve.c (resolve_assoc_var): If a non-constant target expr.
238 has no string length expression, make the associate variable
239 into a deferred length, allocatable symbol.
240 * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to
241 the symbol.
242 * trans-stmt.c (trans_associate_var): Null and free scalar
243 associate names that are allocatable. After assignment, remove
244 the allocatable attribute to prevent reallocation.
245
83d9be55
JJ
2462018-02-16 Jakub Jelinek <jakub@redhat.com>
247
248 PR fortran/84418
249 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF
250 kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step.
251
2522018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org>
71a21b9e
DH
253
254 PR fortran/84354
255 * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs.
256
f3ad8745
JW
2572018-02-15 Janus Weil <janus@gcc.gnu.org>
258
259 PR fortran/84409
260 * interface.c (check_dtio_arg_TKR_intent): Add a check for character
261 length.
262
ee3bb1b7
JW
2632018-02-14 Janus Weil <janus@gcc.gnu.org>
264
265 PR fortran/84385
266 * match.c (gfc_match_select_type): Fix check for selector in
267 SELECT TYPE statement.
268
4155fafc
JW
2692018-02-13 Janus Weil <janus@gcc.gnu.org>
270
271 PR fortran/84313
272 * symbol.c (check_conflict): Reject procedure pointers in common blocks.
273
7b47686d
AM
2742018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie>
275 Janne Blomqvist <jb@gcc.gnu.org>
276
277 * module.c (dump_module): Use lbasename to ensure that module
278 files are reproducible.
279
24abcc44
JW
2802018-02-12 Janus Weil <janus@gcc.gnu.org>
281
282 PR fortran/84273
283 * resolve.c (resolve_component): Fix checks of passed argument in
284 procedure-pointer components.
285
6a793a8d
FXC
2862018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
287
288 PR fortran/35299
289 * resolve.c (resolve_formal_arglist): Update error message.
290
61fad608
AV
2912018-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
292
293 * gfortran.texi: Fix typos in documentation of caf_register ().
294 * trans-array.c (structure_alloc_comps): Only register a component of
295 a derived typed corray, not of an ultimate component coarray.
296
f3883269
SK
2972018-02-11 Steven G. Kargl <kargl@gcc.gnu.org>
298
299 PR fortran/54223
300 PR fortran/84276
301 * interface.c (compare_actual_formal): Add in_statement_function
302 bool parameter. Skip check of INTENT attribute for statement
303 functions. Arguments to a statement function cannot be optional,
304 issue error for missing argument.
305 (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use
306 in_statement_function.
307
e519d2e8
PT
3082018-02-11 Paul Thomas <pault@gcc.gnu.org>
309
310 PR fortran/84074
311 * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset
312 flag. If the is a vector subscript or the expression is not a
313 variable, make the descriptor one-based.
314
950ab3f1
PT
3152018-02-10 Paul Thomas <pault@gcc.gnu.org>
316
317 PR fortran/84141
318 PR fortran/84155
319 * trans-array.c (gfc_array_init_size): Revert the change made
320 in revision 257356 setting the dtype.
321 * trans-types.c (gfc_get_dtype): Do not use the cached dtype.
322 Call gfc_get_dtype_rank_type every time.
323
324 PR fortran/56691
325 * trans-array.c (gfc_conv_expr_descriptor): If the source array
326 is a descriptor type, use its offset, removing the condition
327 that is be a class expression.
328
b35a0ccd
SK
3292018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
330
331 PR fortran/82994
332 * match.c (gfc_match_deallocate): Check for NULL pointer.
333
82e259b8
TK
3342018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org>
335
336 PR fortran/68560
337 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function.
338 (gfc_conv_intrinsic_function): Call it.
339
52b16cb3
SK
3402018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
341
342 PR fortran/82049
343 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then
344 try to resolve it. While here return early if possible.
345
26f822c2
PT
3462018-02-04 Paul Thomas <pault@gcc.gnu.org>
347
348 PR fortran/84115
349 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of
350 'length' if the symbol charlen backend_decl is an indirect ref.
351
2c536ce7
PT
3522018-02-03 Paul Thomas <pault@gcc.gnu.org>
353
354 PR fortran/84141
355 PR fortran/84155
356 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype
357 use gfc_get_dtype_rank_type.
358
ae976c33
JB
3592018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
360
361 PR 83975
362 PR 83344
363 * resolve.c (resolve_assoc_var): Generate an error if
364 target length unknown.
365
eae4d8fb
JB
3662018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
367
368 PR fortran/83705
369 * simplify.c (gfc_simplify_repeat): Increase limit for deferring
370 to runtime, print a warning message.
371
c9243c04
JJ
3722018-01-31 Jakub Jelinek <jakub@redhat.com>
373
374 PR fortran/84116
375 * openmp.c (gfc_match_omp_clauses): If all the linear
376 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist
377 nor set *head = NULL. Formatting fixes.
378
1af73491
PT
3792018-01-31 Paul Thomas <pault@gcc.gnu.org>
380
381 PR fortran/84088
382 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is
383 an address expression passed to an assumed rank dummy, convert
384 to an indirect reference.
385
125a677d
TK
3862018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
387
388 * dump-parse-tree.c (write_proc): Use sym_name (which may
389 be sym->binding_label) instead of sym->name.
390
949b40a4
JB
3912018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
392
393 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead
394 of int for slen.
395
9f3dcd14
JB
3962018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
397
398 PR fortran/78534
399 * trans-expr.c (fill_with_spaces): Use memset instead of
400 generating loop.
401 (gfc_trans_string_copy): Improve opportunity to use builtins with
402 constant lengths.
403
f2adfb89
JJ
4042018-01-30 Jakub Jelinek <jakub@redhat.com>
405
406 PR debug/84131
407 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off
408 to DATA_FIELD's offset rather than OFFSET_FIELD's offset.
409
125a677d 4102018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
8fb2cc6b
TK
411
412 PR fortran/84134
413 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is
414 zero, return false.
415
dca9e8be
TK
4162018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
417
418 PR fortran/84133
419 * frontend-passes (matmul_to_var_expr): Return early if
420 in association list.
421 (inline_matmul_assign): Likewise.
422
3be34c0b
TK
4232017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
424
425 PR fortran/84073
426 * resolve.c (resolve_component): Ensure BIND(C) character
427 components have length one.
428 (resolve_symbol): Likewise for variables.
429
aeb8c028
JJ
4302018-01-27 Jakub Jelinek <jakub@redhat.com>
431
432 PR fortran/84065
433 * decl.c (add_init_expr_to_sym): Ignore initializers for too large
434 lengths.
435
f8862a1b 4362018-01-26 Damian Rouson <damian@sourceryinstitute.org>
aeb8c028
JJ
437 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
438 Soren Rasmussen <s.c.rasmussen@gmail.com>
f8862a1b
DR
439
440 Partial support for Fortran 2018 teams features.
441
442 * array.c (gfc_match_array_ref): add team attribute in coarray
443 transfers.
444 * check.c (gfc_check_get_team, gfc_check_team_number): add new
445 functions for get_team and team_number.
446 * dump-parse-tree.c (show_code_node): add new statements: form team,
447 change team, end team, and sync team.
448 * expr.c (gfc_find_team_co): add new function.
449 * gfortran.h: add new statements.
450 * intrinsic.c (add_functions): add get_team and team_number functions.
451 * intrinsic.h: add get_team and team_number prototypes for check,
452 simplify, and resolve.
453 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new
454 functions.
455 * iso-fortran-env.def: add the team_type derived type.
456 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number)
457 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team):
458 add change team, end team, form team, sync team match and functions.
459 * match.h: add new prototypes for change team, end team, form team,
460 and sync team.
461 * parse.c (decode_statement): add cases for change team, end team,
462 form team, and sync team.
463 * resolve.c: add cases for exec form team, change team, end team, and
464 sync team.
465 * simplify.c (gfc_simplify_get_team): add new function for get team.
466 * st.c (gfc_free_statement): add cases exec for change team, end team,
467 form team, sync team.
468 * trans-decl.c (gfor_fndecl_caf_form_team)
469 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team)
470 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team)
471 (gfor_fndecl_caf_team_number): add functions and definitions.
472 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add
473 new function and team_type argument support.
474 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team)
475 (gfc_trans_end_team, gfc_trans_sync_team): add new functions.
476 * trans-stmt.h: add new prototypes.
477 * trans-types.c (gfc_get_derived_type): check condition for team_type.
478 * trans.c (trans_code): new exec cases for form team, change team, end
479 team, and sync team.
480 * trans.h: add new prototypes.
481
deece1aa
SK
4822018-01-26 Steven G. Kargl <kargl@gcc.gnu.org>
483
484 PR fortran/83998
485 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0
486 or .false. The summation does the correct type conversion.
487 (gfc_simplify_dot_product): Special case zero-sized arrays.
488
7fb43006
PT
4892018-25-01 Paul Thomas <pault@gcc.gnu.org>
490
491 PR fortran/37577
492 * array.c (gfc_match_array_ref): If standard earlier than F2008
493 it is an error if the reference dimension is greater than 7.
494 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the
495 dtype masks and shifts accordingly.
496 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype
497 type node to check the field.
498 (gfc_conv_descriptor_dtype): Access the rank field of dtype.
499 (duplicate_allocatable_coarray): Access the rank field of the
500 dtype descriptor rather than the dtype itself.
501 * trans-expr.c (get_scalar_to_descriptor_type): Store the type
502 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE
503 (ie. a character).
504 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to
505 get_scalar_to_descriptor_type if the actual expression is a
506 constant.
507 (gfc_trans_structure_assign): Assign the rank directly to the
508 dtype rank field.
509 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result
510 to default integer kind.
511 (gfc_conv_intrinsic_sizeof): Obtain the element size from the
512 'elem_len' field of the dtype.
513 * trans-io.c (gfc_build_io_library_fndecls): Replace
514 gfc_int4_type_node with dtype_type_node where necessary.
515 (transfer_namelist_element): Use gfc_get_dtype_rank_type for
516 scalars.
517 * trans-types.c : Provide 'get_dtype_type_node' to acces the
518 dtype_type_node and, if necessary, build it.
519 The maximum size of an array element is now determined by the
520 maximum value of size_t.
521 Update the description of the array descriptor, including the
522 type def for the dtype_type.
523 (gfc_get_dtype_rank_type): Build a constructor for the dtype.
524 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS.
525 (gfc_get_array_descriptor_base): Change the type of the dtype
526 field to dtype_type_node.
527 (gfc_get_array_descr_info): Get the offset to the rank field of
528 the dtype.
529 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'.
530 * trans.h : Define the indices of the dtype fields.
531
f59986b2
PT
5322018-23-01 Paul Thomas <pault@gcc.gnu.org>
533
534 PR fortran/83866
535 * decl.c (gfc_match_derived_decl): If eos not matched, recover
536 and emit error about garbage after declaration.
537
84ee745e
PT
5382018-23-01 Paul Thomas <pault@gcc.gnu.org>
539
540 PR fortran/83898
541 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor
542 for characters.
543
6b271a2e
JB
5442018-01-22 Janne Blomqvist <jb@gcc.gnu.org>
545
546 PR 78534
547 PR 83704
548 * arith.c (gfc_arith_concat): Use size_t for string length.
549 (gfc_compare_string): Likewise.
550 (gfc_compare_with_Cstring): Likewise.
551 * array.c (gfc_resolve_character_array_constructor): Use
552 HOST_WIDE_INT, gfc_mpz_get_hwi.
553 * check.c (gfc_check_fe_runtime_error): Use size_t.
554 * data.c (create_character_initializer): Use HOST_WIDE_INT,
555 gfc_extract_hwi.
556 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t.
557 (add_init_expr_to_sym): Use HOST_WIDE_INT.
558 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT,
559 gfc_extract_hwi.
560 (gfc_apply_init): Likewise.
561 * match.h (gfc_set_constant_character_len): Update prototype.
562 * primary.c (match_string_constant): Use size_t.
563 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT,
564 gfc_mpz_get_hwi.
565 * simplify.c (init_result_expr): Likewise.
566 (gfc_simplify_len_trim): Use size_t.
567 * target-memory.c (gfc_encode_character): Use size_t.
568 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi.
569 (interpret_array): Use size_t.
570 (gfc_interpret_character): Likewise.
571 * target-memory.h (gfc_encode_character): Update prototype.
572 (gfc_interpret_character): Likewise.
573 (gfc_target_interpret_expr): Likewise.
574 * trans-const.c (gfc_build_string_const): Use size_t for length
575 argument.
576 (gfc_build_wide_string_const): Likewise.
577 * trans-const.h (gfc_build_string_const): Likewise.
578 (gfc_build_wide_string_const): Likewise.
579
f5240750
SK
5802018-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
581
582 PR fortran/83900
583 * simplify.c (gfc_simplify_matmul): Set return type correctly.
584
f18fee82
SK
5852018-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
586
587 PR fortran/83900
588 * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
589
fcf79237
HA
5902018-01-17 Harald Anlauf <anlauf@gmx.de>
591
592 PR fortran/83864
593 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
594
c004a341
HA
5952018-01-17 Harald Anlauf <anlauf@gmx.de>
596
597 PR fortran/83874
598 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
599
75a3c61a
LK
6002018-01-15 Louis Krupp <louis.krupp@zoho.com>
601
602 PR fortran/82257
603 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA
604 from symbol marked unlimited polymorphic.
605 * resolve.c (resolve_structure_cons): Likewise.
606 * misc.c (gfc_typename): Don't dereference derived->components
607 if it's NULL.
608
64b1806b
TK
6092018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
610
611 PR fortran/54613
612 * gfortran.h (gfc_check_f): Rename f4ml to f5ml.
613 (gfc_logical_4_kind): New macro
614 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument.
615 (gfc_simplify_maxloc): Likewise.
616 (gfc_resolve_maxloc): Likewise.
617 (gfc_resolve_minloc): Likewise.
618 * check.c (gfc_check_minloc_maxloc): Add checking for "back"
619 argument; also raise error if it is used (for now). Add it
620 if it isn't present.
621 * intrinsic.c (add_sym_4ml): Rename to
622 (add_sym_5ml), adjust for extra argument.
623 (add_functions): Add "back" constant. Adjust maxloc and minloc
624 for back argument.
625 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is
626 not of gfc_logical_4_kind, convert.
627 (gfc_resolve_minloc): Likewise.
628 * simplify.c (gfc_simplify_minloc): Add back argument.
629 (gfc_simplify_maxloc): Likewise.
630 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last
631 argument to %VAL to ensure passing by value.
632 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc
633 also for library calls.
634
f208c5cc
JD
6352018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
636
637 PR fortran/82007
638 * resolve.c (resolve_transfer): Delete code looking for 'DT'
639 format specifiers in format strings. Set formatted to true if a
640 format string or format label is present.
641 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix
642 whitespace.
64b1806b 643
83d9be55 6442018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
39f309ac
TK
645
646 PR fortran/83744
647 * dump-parse-tree.c (get_c_type_name): Remove extra line.
648 Change for loop to use declaration in for loop. Handle BT_LOGICAL
649 and BT_CHARACTER.
650 (write_decl): Add where argument. Fix indentation. Replace
651 assert with error message. Add typename to warning
652 in comment.
653 (write_type): Adjust locus to call of write_decl.
654 (write_variable): Likewise.
655 (write_proc): Likewise. Replace assert with error message.
656
567a6e1c
PT
6572018-01-13 Paul Thomas <pault@gcc.gnu.org>
658
659 PR fortran/52162
660 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if
661 the rhs expression is neither an elemental nor a conversion
662 function.
663
664 PR fortran/83622
665 * trans-array.c (is_pointer_array): Remove unconditional return
666 of false for -fopenmp.
667
83d9be55 6682018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
700b62cc
TK
669 <emsr@gcc.gnu.org>
670
671 PR fortran/83803
672 * dump-parse-tree.c (write_proc): Always emit closing parenthesis
673 for functions.
674
bdd82c9b
SK
6752018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
676
677 PR fortran/82367
678 * resolve.c (resolve_allocate_expr): Check for NULL pointer.
679
266404a8
SK
6802018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
681
682 PR fortran/83093
683 * resolve.c (resolve_charlen): Check the type of cl->length
684 after resolution.
685
85c2c761
JB
6862018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
687
e10e60cb
JB
688 PR fortran/83740
689 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting.
690
6912018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
692
693 PR fortran/83740
85c2c761
JB
694 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the
695 LHS type when assigning.
696
d4319ef8
SK
6972018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
698
699 PR fortran/83742
700 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer.
701
8799df67
SK
7022018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
703
704 * match.c (gfc_match_allocate): Check for NULL pointer.
705
a4f759de
SK
7062018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
707
708 * expr.c (gfc_check_pointer_assign): Fix typo in comment.
709
0b627b58
PT
7102018-01-08 Paul Thomas <pault@gcc.gnu.org>
711
712 PR fortran/83611
713 * decl.c (gfc_get_pdt_instance): If parameterized arrays have
714 an initializer, convert the kind parameters and add to the
715 component if the instance.
716 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and
717 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable'
718 for parameterized arrays. Clean up typos in comments. Convert
719 parameterized array initializers and copy into the array.
720 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for
721 parameterized types.
722 *trans-stmt.c (trans_associate_var): Deallocate associate vars
723 as necessary, when they are PDT function results for example.
724
725 PR fortran/83731
726 * trans-array.c (structure_alloc_comps): Only compare len parms
727 when they are declared explicitly.
728
ee2d3987
JB
7292018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
730
731 PR fortran/50892
732 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to
733 lhs type.
734
f622221a
JB
7352018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
736
737 PR fortran/78534
738 PR fortran/66310
739 * array.c (got_charlen): Use gfc_charlen_int_kind.
740 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
741 hardcoded kind.
742 (find_intrinsic_vtab): Likewise.
743 * decl.c (match_char_length): Use gfc_charlen_int_kind.
744 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind.
745 (gfc_match_implicit): Use gfc_charlen_int_kind.
746 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t.
747 (show_expr): Use HOST_WIDE_INT_PRINT_DEC.
748 * expr.c (gfc_get_character_expr): Length parameter of type
749 gfc_charlen_t.
750 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
751 (gfc_extract_hwi): New function.
752 (simplify_const_ref): Make string_len of type gfc_charlen_t.
753 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
754 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind.
755 * gfortran.h (gfc_mpz_get_hwi): New prototype.
756 (gfc_mpz_set_hwi): Likewise.
757 (gfc_charlen_t): New typedef.
758 (gfc_expr): Use gfc_charlen_t for character lengths.
759 (gfc_size_kind): New extern variable.
760 (gfc_extract_hwi): New prototype.
761 (gfc_get_character_expr): Use gfc_charlen_t for character length.
762 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
763 * gfortran.texi: Update description of hidden string length argument.
764 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind.
765 (gfc_resolve_char_achar): Likewise.
766 (gfc_resolve_repeat): Pass string length directly without
767 temporary, use gfc_charlen_int_kind.
768 (gfc_resolve_transfer): Use gfc_charlen_int_kind.
769 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
770 * misc.c (gfc_mpz_get_hwi): New function.
771 (gfc_mpz_set_hwi): New function.
772 * module.c (atom_int): Change type from int to HOST_WIDE_INT.
773 (parse_integer): Don't complain about large integers.
774 (write_atom): Use HOST_WIDE_INT for integers.
775 (mio_integer): Handle integer type mismatch.
776 (mio_hwi): New function.
777 (mio_intrinsic_op): Use HOST_WIDE_INT.
778 (mio_array_ref): Likewise.
779 (mio_expr): Likewise.
780 * primary.c (match_substring): Use gfc_charlen_int_kind.
781 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind.
782 (resolve_character_operator): Likewise.
783 (resolve_assoc_var): Likewise.
784 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf.
785 (resolve_charlen): Use mpz_sgn to determine sign.
786 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
787 instead of long.
788 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind.
789 * target-memory.c (size_character): Length argument of type
790 gfc_charlen_t.
791 (gfc_encode_character): Likewise.
792 (gfc_interpret_character): Use gfc_charlen_t.
793 * target-memory.h (gfc_encode_character): Modify prototype.
794 * trans-array.c (gfc_trans_array_ctor_element): Use existing type.
795 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type.
796 (trans_array_constructor): Use existing type.
797 (get_array_charlen): Likewise.
798 * trans-const.c (gfc_conv_mpz_to_tree_type): New function.
799 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
800 * trans-decl.c (gfc_trans_deferred_vars): Use existing type.
801 (add_argument_checking): Likewise.
802 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type
803 gfc_charlen_type_node.
804 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
805 4, fold_convert to correct type.
806 (gfc_conv_class_to_class): Build const of type size_type_node for
807 size.
808 (gfc_copy_class_to_class): Likewise.
809 (gfc_conv_string_length): Use same type in expression.
810 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
811 (gfc_conv_string_tmp): Make sure len is of the right type.
812 (gfc_conv_concat_op): Use same type in expression.
813 (gfc_conv_procedure_call): Likewise.
814 (fill_with_spaces): Comment out memset() block due to spurious
815 -Wstringop-overflow warnings.
816 (gfc_trans_string_copy): Use gfc_charlen_type_node.
817 (alloc_scalar_allocatable_for_subcomponent_assignment):
818 fold_convert to right type.
819 (gfc_trans_subcomponent_assign): Likewise.
820 (trans_class_vptr_len_assignment): Build const of correct type.
821 (gfc_trans_pointer_assignment): Likewise.
822 (alloc_scalar_allocatable_for_assignment): fold_convert to right
823 type in expr.
824 (trans_class_assignment): Build const of correct type.
825 * trans-intrinsic.c (gfc_conv_associated): Likewise.
826 (gfc_conv_intrinsic_repeat): Do calculation in sizetype.
827 * trans-io.c (gfc_build_io_library_fndecls): Use
828 gfc_charlen_type_node for character lengths.
829 (set_string): Convert to right type in assignment.
830 * trans-stmt.c (gfc_trans_label_assign): Build const of
831 gfc_charlen_type_node.
832 (trans_associate_var): Likewise.
833 (gfc_trans_character_select): Likewise.
834 (gfc_trans_allocate): Likewise, don't typecast strlen result.
835 (gfc_trans_deallocate): Don't typecast strlen result.
836 * trans-types.c (gfc_size_kind): New variable.
837 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
838 from size_type_node.
839 * trans-types.h: Fix comment.
840
fbd35ba1
TK
8412018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
842
843 PR fortran/83683
844 PR fortran/45689
845 * check.c (gfc_check_eoshift): Check for string length and
846 for conformance of boundary.
847 * intrinsic.c (add_functions): Add gfc_simplify_eoshift.
848 * intrinsic.h: Add prototype for gfc_simplify_eoshift.
849 * simplify.c (gfc_simplify_eoshift): New function.
850
5c0caeb3
RS
8512018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
852 Alan Hayward <alan.hayward@arm.com>
853 David Sherwood <david.sherwood@arm.com>
854
855 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL.
856
928686b1
RS
8572018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
858 Alan Hayward <alan.hayward@arm.com>
859 David Sherwood <david.sherwood@arm.com>
860
861 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p.
862
8987beac
TK
8632018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
864
865 PR fortran/83664
866 * check.c (gfc_check_eoshift): Error for missing boundary if array
867 is not one of the standard types.
868
65e6aea3
JJ
8692018-01-03 Jakub Jelinek <jakub@redhat.com>
870
85ec4feb
JJ
871 Update copyright years.
872
65e6aea3
JJ
873 * gfortranspec.c (lang_specific_driver): Update copyright notice
874 dates.
875 * gfc-internals.texi: Bump @copying's copyright year.
876 * gfortran.texi: Ditto.
877 * intrinsic.texi: Ditto.
878 * invoke.texi: Ditto.
879
a1d6c052
TK
8802017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
881
882 PR fortran/45689
883 * intrinsic.c (add_function): Add gfc_simplify_maxloc and
884 gfc_simplify_minloc to maxloc and minloc, respectively.
885 * intrinsic.h: Add prototypes for gfc_simplify_minloc
886 and gfc_simplify_maxloc.
887 * simplify.c (min_max_chose): Adjust prototype. Modify function
888 to have a return value which indicates if the extremum was found.
889 (is_constant_array_expr): Fix typo in comment.
890 (simplify_minmaxloc_to_scalar): New function.
891 (simplify_minmaxloc_nodim): New function.
892 (new_array): New function.
893 (simplify_minmaxloc_to_array): New function.
894 (gfc_simplify_minmaxloc): New function.
895 (simplify_minloc): New function.
896 (simplify_maxloc): New function.
897
a9ec0cfc
TK
8982018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
899
900 PR fortran/45689
901 PR fortran/83650
902 * simplify.c (gfc_simplify_cshift): Re-implement to allow full
903 range of arguments.
904
f549bfb3
PT
9052018-01-01 Paul Thomas <pault@gcc.gnu.org>
906
907 PR fortran/83076
908 * resolve.c (resolve_fl_derived0): Add caf_token fields for
909 allocatable and pointer scalars, when -fcoarray selected.
910 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token
911 field as well as the backend_decl.
912 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module
913 derived types that are not vtypes. Components with caf_token
914 attribute are pvoid types. For a component requiring it, find
915 the caf_token field and have the component token field point to
916 its backend_decl.
917
918 PR fortran/83319
919 *trans-types.c (gfc_get_array_descriptor_base): Add the token
920 field to the descriptor even when codimen not set.
21fa2a29 921\f
65e6aea3 922Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
923
924Copying and distribution of this file, with or without modification,
925are permitted in any medium without royalty provided the copyright
926notice and this notice are preserved.
This page took 3.265332 seconds and 5 git commands to generate.