]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
re PR c++/83692 (Rejects valid constexpr with unrelated code fixing problem)
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
161ac473
SK
12018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
2
3 * intrinsic.texi: Arguments to MATMUL cannot both be rank one.
4
a26f63a8
SK
52018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
6
7 PR fortran/84511
8 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement.
9
3453b6aa
SK
102018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
11
12 PR fortran/84346
13 * interface.c (compare_actual_formal): Issue error if keyword is
14 used in a statement function.
15
55ebc31f
JD
162018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
17
18 PR fortran/84506
19 * trans-io.c (set_parameter_value_inquire): Adjust range check of
20 negative unit values for kind=8 units to the kind=4 negative limit.
21
1996c75e
PT
222018-02-23 Paul Thomas <pault@gcc.gnu.org>
23
24 PR fortran/83149
25 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before
26 accessing its components.
27
6869c12d
PT
282018-02-23 Paul Thomas <pault@gcc.gnu.org>
29
30 PR fortran/83149
31 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name
32 before accessing its components.
33
c287dea0
PT
342018-02-23 Paul Thomas <pault@gcc.gnu.org>
35
36 PR fortran/83148
37 * trans-const.c : Clean up some whitespace issues.
38 * trans-expr.c (gfc_conv_initializer): If an iso_c_binding
39 derived type has a kind value of zero, set it to the default
40 integer kind.
41
dffb1e22
JB
422018-02-23 Janne Blomqvist <jb@gcc.gnu.org>
43
44 PR fortran/84519
45 * trans-decl.c (gfc_build_builtin_function_decls): Add bool
46 argument to stop and error stop decls.
47 * trans-stmt.c (gfc_trans_stop): Add false value to argument
48 lists.
49
6cc22cf4
JB
502018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
51
52 PR 78534
53 PR 84509
54 * trans-decl.c (gfc_build_builtin_function_decls): Pass
55 gfc_int8_type node to pause_numeric, size_type_node to
56 pause_string.
57 * trans-stmt.c (gfc_trans_pause): Likewise.
58
3f5fabc0
JB
592018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
60
61 * gfortran.texi: Update Coarray API description.
62 * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for
63 character lengths, int for exit codes.
64 (generate_coarray_sym_init): Use size_t for character length.
65 * trans-intrinsic.c (conv_co_collective): Likewise.
66 * trans-stmt.c (gfc_trans_lock_unlock): Likewise.
67 (gfc_trans_event_post_wait): Likewise.
68 (gfc_trans_sync): Likewise.
69 (gfc_trans_stop): Use size_t for character lengths, int for exit
70 codes.
71
04946c6b
TK
722018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org>
73
74 PR fortran/48890
75 PR fortran/83823
76 * primary.c (gfc_convert_to_structure_constructor):
77 For a constant string constructor, make sure the length
78 is correct.
79
5c60dbc1
PT
802018-02-19 Paul Thomas <pault@gcc.gnu.org>
81
82 PR fortran/83344
83 PR fortran/83975
84 * resolve.c (resolve_assoc_var): Rearrange the logic for the
85 determination of the character length of associate names. If
86 the associate name is missing a length expression or the length
87 expression is not a constant and the target is not a variable,
88 make the associate name allocatable and deferred length.
89 * trans-decl.c (gfc_get_symbol_decl): Null the character length
90 backend_decl for deferred length associate names that are not
91 variables. Set 'length' to gfc_index_zero_node for character
92 associate names, whose character length is a PARM_DECL.
93
d48fc34a
TK
942018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org>
95
96 PR fortran/35339
97 * frontend-passes.c (traverse_io_block): Remove workaround for
98 PR 80945.
99
87e8aa3b
AV
1002018-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
101
102 * gfortran.texi: Document additional src/dst_type. Fix some typos.
103 * trans-decl.c (gfc_build_builtin_function_decls): Declare the new
104 argument of _caf_*_by_ref () with * e { get, send, sendget }.
105 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the
106 data referenced when generating a call to caf_get_by_ref ().
107 (conv_caf_send): Same but for caf_send_by_ref () and
108 caf_sendget_by_ref ().
109
26eacfe8
JD
1102018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
111
112 PR fortran/84389
113 * io.c (check_format): Allow FMT_COLON.
114
d5ace305
PT
1152018-02-18 Paul Thomas <pault@gcc.gnu.org>
116
117 PR fortran/80945
118 * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from
119 the typenode in the case of deferred length characters.
120
aab20638
TK
1212018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org>
122
123 PR fortran/84270
124 * frontend-passes (scalarized_expr): If the expression
125 is an assumed size array, leave in the last reference
126 and pass AR_SECTION instead of AR_FULL to gfc_resolve
127 in order to avoid an error.
128
a8399af8
PT
1292018-02-17 Paul Thomas <pault@gcc.gnu.org>
130
131 PR fortran/84115
132 * resolve.c (resolve_assoc_var): If a non-constant target expr.
133 has no string length expression, make the associate variable
134 into a deferred length, allocatable symbol.
135 * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to
136 the symbol.
137 * trans-stmt.c (trans_associate_var): Null and free scalar
138 associate names that are allocatable. After assignment, remove
139 the allocatable attribute to prevent reallocation.
140
83d9be55
JJ
1412018-02-16 Jakub Jelinek <jakub@redhat.com>
142
143 PR fortran/84418
144 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF
145 kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step.
146
1472018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org>
71a21b9e
DH
148
149 PR fortran/84354
150 * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs.
151
f3ad8745
JW
1522018-02-15 Janus Weil <janus@gcc.gnu.org>
153
154 PR fortran/84409
155 * interface.c (check_dtio_arg_TKR_intent): Add a check for character
156 length.
157
ee3bb1b7
JW
1582018-02-14 Janus Weil <janus@gcc.gnu.org>
159
160 PR fortran/84385
161 * match.c (gfc_match_select_type): Fix check for selector in
162 SELECT TYPE statement.
163
4155fafc
JW
1642018-02-13 Janus Weil <janus@gcc.gnu.org>
165
166 PR fortran/84313
167 * symbol.c (check_conflict): Reject procedure pointers in common blocks.
168
7b47686d
AM
1692018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie>
170 Janne Blomqvist <jb@gcc.gnu.org>
171
172 * module.c (dump_module): Use lbasename to ensure that module
173 files are reproducible.
174
24abcc44
JW
1752018-02-12 Janus Weil <janus@gcc.gnu.org>
176
177 PR fortran/84273
178 * resolve.c (resolve_component): Fix checks of passed argument in
179 procedure-pointer components.
180
6a793a8d
FXC
1812018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
182
183 PR fortran/35299
184 * resolve.c (resolve_formal_arglist): Update error message.
185
61fad608
AV
1862018-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
187
188 * gfortran.texi: Fix typos in documentation of caf_register ().
189 * trans-array.c (structure_alloc_comps): Only register a component of
190 a derived typed corray, not of an ultimate component coarray.
191
f3883269
SK
1922018-02-11 Steven G. Kargl <kargl@gcc.gnu.org>
193
194 PR fortran/54223
195 PR fortran/84276
196 * interface.c (compare_actual_formal): Add in_statement_function
197 bool parameter. Skip check of INTENT attribute for statement
198 functions. Arguments to a statement function cannot be optional,
199 issue error for missing argument.
200 (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use
201 in_statement_function.
202
e519d2e8
PT
2032018-02-11 Paul Thomas <pault@gcc.gnu.org>
204
205 PR fortran/84074
206 * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset
207 flag. If the is a vector subscript or the expression is not a
208 variable, make the descriptor one-based.
209
950ab3f1
PT
2102018-02-10 Paul Thomas <pault@gcc.gnu.org>
211
212 PR fortran/84141
213 PR fortran/84155
214 * trans-array.c (gfc_array_init_size): Revert the change made
215 in revision 257356 setting the dtype.
216 * trans-types.c (gfc_get_dtype): Do not use the cached dtype.
217 Call gfc_get_dtype_rank_type every time.
218
219 PR fortran/56691
220 * trans-array.c (gfc_conv_expr_descriptor): If the source array
221 is a descriptor type, use its offset, removing the condition
222 that is be a class expression.
223
b35a0ccd
SK
2242018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
225
226 PR fortran/82994
227 * match.c (gfc_match_deallocate): Check for NULL pointer.
228
82e259b8
TK
2292018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org>
230
231 PR fortran/68560
232 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function.
233 (gfc_conv_intrinsic_function): Call it.
234
52b16cb3
SK
2352018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
236
237 PR fortran/82049
238 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then
239 try to resolve it. While here return early if possible.
240
26f822c2
PT
2412018-02-04 Paul Thomas <pault@gcc.gnu.org>
242
243 PR fortran/84115
244 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of
245 'length' if the symbol charlen backend_decl is an indirect ref.
246
2c536ce7
PT
2472018-02-03 Paul Thomas <pault@gcc.gnu.org>
248
249 PR fortran/84141
250 PR fortran/84155
251 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype
252 use gfc_get_dtype_rank_type.
253
ae976c33
JB
2542018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
255
256 PR 83975
257 PR 83344
258 * resolve.c (resolve_assoc_var): Generate an error if
259 target length unknown.
260
eae4d8fb
JB
2612018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
262
263 PR fortran/83705
264 * simplify.c (gfc_simplify_repeat): Increase limit for deferring
265 to runtime, print a warning message.
266
c9243c04
JJ
2672018-01-31 Jakub Jelinek <jakub@redhat.com>
268
269 PR fortran/84116
270 * openmp.c (gfc_match_omp_clauses): If all the linear
271 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist
272 nor set *head = NULL. Formatting fixes.
273
1af73491
PT
2742018-01-31 Paul Thomas <pault@gcc.gnu.org>
275
276 PR fortran/84088
277 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is
278 an address expression passed to an assumed rank dummy, convert
279 to an indirect reference.
280
125a677d
TK
2812018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
282
283 * dump-parse-tree.c (write_proc): Use sym_name (which may
284 be sym->binding_label) instead of sym->name.
285
949b40a4
JB
2862018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
287
288 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead
289 of int for slen.
290
9f3dcd14
JB
2912018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
292
293 PR fortran/78534
294 * trans-expr.c (fill_with_spaces): Use memset instead of
295 generating loop.
296 (gfc_trans_string_copy): Improve opportunity to use builtins with
297 constant lengths.
298
f2adfb89
JJ
2992018-01-30 Jakub Jelinek <jakub@redhat.com>
300
301 PR debug/84131
302 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off
303 to DATA_FIELD's offset rather than OFFSET_FIELD's offset.
304
125a677d 3052018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
8fb2cc6b
TK
306
307 PR fortran/84134
308 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is
309 zero, return false.
310
dca9e8be
TK
3112018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
312
313 PR fortran/84133
314 * frontend-passes (matmul_to_var_expr): Return early if
315 in association list.
316 (inline_matmul_assign): Likewise.
317
3be34c0b
TK
3182017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
319
320 PR fortran/84073
321 * resolve.c (resolve_component): Ensure BIND(C) character
322 components have length one.
323 (resolve_symbol): Likewise for variables.
324
aeb8c028
JJ
3252018-01-27 Jakub Jelinek <jakub@redhat.com>
326
327 PR fortran/84065
328 * decl.c (add_init_expr_to_sym): Ignore initializers for too large
329 lengths.
330
f8862a1b 3312018-01-26 Damian Rouson <damian@sourceryinstitute.org>
aeb8c028
JJ
332 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
333 Soren Rasmussen <s.c.rasmussen@gmail.com>
f8862a1b
DR
334
335 Partial support for Fortran 2018 teams features.
336
337 * array.c (gfc_match_array_ref): add team attribute in coarray
338 transfers.
339 * check.c (gfc_check_get_team, gfc_check_team_number): add new
340 functions for get_team and team_number.
341 * dump-parse-tree.c (show_code_node): add new statements: form team,
342 change team, end team, and sync team.
343 * expr.c (gfc_find_team_co): add new function.
344 * gfortran.h: add new statements.
345 * intrinsic.c (add_functions): add get_team and team_number functions.
346 * intrinsic.h: add get_team and team_number prototypes for check,
347 simplify, and resolve.
348 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new
349 functions.
350 * iso-fortran-env.def: add the team_type derived type.
351 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number)
352 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team):
353 add change team, end team, form team, sync team match and functions.
354 * match.h: add new prototypes for change team, end team, form team,
355 and sync team.
356 * parse.c (decode_statement): add cases for change team, end team,
357 form team, and sync team.
358 * resolve.c: add cases for exec form team, change team, end team, and
359 sync team.
360 * simplify.c (gfc_simplify_get_team): add new function for get team.
361 * st.c (gfc_free_statement): add cases exec for change team, end team,
362 form team, sync team.
363 * trans-decl.c (gfor_fndecl_caf_form_team)
364 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team)
365 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team)
366 (gfor_fndecl_caf_team_number): add functions and definitions.
367 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add
368 new function and team_type argument support.
369 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team)
370 (gfc_trans_end_team, gfc_trans_sync_team): add new functions.
371 * trans-stmt.h: add new prototypes.
372 * trans-types.c (gfc_get_derived_type): check condition for team_type.
373 * trans.c (trans_code): new exec cases for form team, change team, end
374 team, and sync team.
375 * trans.h: add new prototypes.
376
deece1aa
SK
3772018-01-26 Steven G. Kargl <kargl@gcc.gnu.org>
378
379 PR fortran/83998
380 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0
381 or .false. The summation does the correct type conversion.
382 (gfc_simplify_dot_product): Special case zero-sized arrays.
383
7fb43006
PT
3842018-25-01 Paul Thomas <pault@gcc.gnu.org>
385
386 PR fortran/37577
387 * array.c (gfc_match_array_ref): If standard earlier than F2008
388 it is an error if the reference dimension is greater than 7.
389 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the
390 dtype masks and shifts accordingly.
391 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype
392 type node to check the field.
393 (gfc_conv_descriptor_dtype): Access the rank field of dtype.
394 (duplicate_allocatable_coarray): Access the rank field of the
395 dtype descriptor rather than the dtype itself.
396 * trans-expr.c (get_scalar_to_descriptor_type): Store the type
397 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE
398 (ie. a character).
399 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to
400 get_scalar_to_descriptor_type if the actual expression is a
401 constant.
402 (gfc_trans_structure_assign): Assign the rank directly to the
403 dtype rank field.
404 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result
405 to default integer kind.
406 (gfc_conv_intrinsic_sizeof): Obtain the element size from the
407 'elem_len' field of the dtype.
408 * trans-io.c (gfc_build_io_library_fndecls): Replace
409 gfc_int4_type_node with dtype_type_node where necessary.
410 (transfer_namelist_element): Use gfc_get_dtype_rank_type for
411 scalars.
412 * trans-types.c : Provide 'get_dtype_type_node' to acces the
413 dtype_type_node and, if necessary, build it.
414 The maximum size of an array element is now determined by the
415 maximum value of size_t.
416 Update the description of the array descriptor, including the
417 type def for the dtype_type.
418 (gfc_get_dtype_rank_type): Build a constructor for the dtype.
419 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS.
420 (gfc_get_array_descriptor_base): Change the type of the dtype
421 field to dtype_type_node.
422 (gfc_get_array_descr_info): Get the offset to the rank field of
423 the dtype.
424 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'.
425 * trans.h : Define the indices of the dtype fields.
426
f59986b2
PT
4272018-23-01 Paul Thomas <pault@gcc.gnu.org>
428
429 PR fortran/83866
430 * decl.c (gfc_match_derived_decl): If eos not matched, recover
431 and emit error about garbage after declaration.
432
84ee745e
PT
4332018-23-01 Paul Thomas <pault@gcc.gnu.org>
434
435 PR fortran/83898
436 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor
437 for characters.
438
6b271a2e
JB
4392018-01-22 Janne Blomqvist <jb@gcc.gnu.org>
440
441 PR 78534
442 PR 83704
443 * arith.c (gfc_arith_concat): Use size_t for string length.
444 (gfc_compare_string): Likewise.
445 (gfc_compare_with_Cstring): Likewise.
446 * array.c (gfc_resolve_character_array_constructor): Use
447 HOST_WIDE_INT, gfc_mpz_get_hwi.
448 * check.c (gfc_check_fe_runtime_error): Use size_t.
449 * data.c (create_character_initializer): Use HOST_WIDE_INT,
450 gfc_extract_hwi.
451 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t.
452 (add_init_expr_to_sym): Use HOST_WIDE_INT.
453 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT,
454 gfc_extract_hwi.
455 (gfc_apply_init): Likewise.
456 * match.h (gfc_set_constant_character_len): Update prototype.
457 * primary.c (match_string_constant): Use size_t.
458 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT,
459 gfc_mpz_get_hwi.
460 * simplify.c (init_result_expr): Likewise.
461 (gfc_simplify_len_trim): Use size_t.
462 * target-memory.c (gfc_encode_character): Use size_t.
463 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi.
464 (interpret_array): Use size_t.
465 (gfc_interpret_character): Likewise.
466 * target-memory.h (gfc_encode_character): Update prototype.
467 (gfc_interpret_character): Likewise.
468 (gfc_target_interpret_expr): Likewise.
469 * trans-const.c (gfc_build_string_const): Use size_t for length
470 argument.
471 (gfc_build_wide_string_const): Likewise.
472 * trans-const.h (gfc_build_string_const): Likewise.
473 (gfc_build_wide_string_const): Likewise.
474
f5240750
SK
4752018-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
476
477 PR fortran/83900
478 * simplify.c (gfc_simplify_matmul): Set return type correctly.
479
f18fee82
SK
4802018-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
481
482 PR fortran/83900
483 * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
484
fcf79237
HA
4852018-01-17 Harald Anlauf <anlauf@gmx.de>
486
487 PR fortran/83864
488 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
489
c004a341
HA
4902018-01-17 Harald Anlauf <anlauf@gmx.de>
491
492 PR fortran/83874
493 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
494
75a3c61a
LK
4952018-01-15 Louis Krupp <louis.krupp@zoho.com>
496
497 PR fortran/82257
498 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA
499 from symbol marked unlimited polymorphic.
500 * resolve.c (resolve_structure_cons): Likewise.
501 * misc.c (gfc_typename): Don't dereference derived->components
502 if it's NULL.
503
64b1806b
TK
5042018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
505
506 PR fortran/54613
507 * gfortran.h (gfc_check_f): Rename f4ml to f5ml.
508 (gfc_logical_4_kind): New macro
509 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument.
510 (gfc_simplify_maxloc): Likewise.
511 (gfc_resolve_maxloc): Likewise.
512 (gfc_resolve_minloc): Likewise.
513 * check.c (gfc_check_minloc_maxloc): Add checking for "back"
514 argument; also raise error if it is used (for now). Add it
515 if it isn't present.
516 * intrinsic.c (add_sym_4ml): Rename to
517 (add_sym_5ml), adjust for extra argument.
518 (add_functions): Add "back" constant. Adjust maxloc and minloc
519 for back argument.
520 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is
521 not of gfc_logical_4_kind, convert.
522 (gfc_resolve_minloc): Likewise.
523 * simplify.c (gfc_simplify_minloc): Add back argument.
524 (gfc_simplify_maxloc): Likewise.
525 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last
526 argument to %VAL to ensure passing by value.
527 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc
528 also for library calls.
529
f208c5cc
JD
5302018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
531
532 PR fortran/82007
533 * resolve.c (resolve_transfer): Delete code looking for 'DT'
534 format specifiers in format strings. Set formatted to true if a
535 format string or format label is present.
536 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix
537 whitespace.
64b1806b 538
83d9be55 5392018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
39f309ac
TK
540
541 PR fortran/83744
542 * dump-parse-tree.c (get_c_type_name): Remove extra line.
543 Change for loop to use declaration in for loop. Handle BT_LOGICAL
544 and BT_CHARACTER.
545 (write_decl): Add where argument. Fix indentation. Replace
546 assert with error message. Add typename to warning
547 in comment.
548 (write_type): Adjust locus to call of write_decl.
549 (write_variable): Likewise.
550 (write_proc): Likewise. Replace assert with error message.
551
567a6e1c
PT
5522018-01-13 Paul Thomas <pault@gcc.gnu.org>
553
554 PR fortran/52162
555 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if
556 the rhs expression is neither an elemental nor a conversion
557 function.
558
559 PR fortran/83622
560 * trans-array.c (is_pointer_array): Remove unconditional return
561 of false for -fopenmp.
562
83d9be55 5632018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
700b62cc
TK
564 <emsr@gcc.gnu.org>
565
566 PR fortran/83803
567 * dump-parse-tree.c (write_proc): Always emit closing parenthesis
568 for functions.
569
bdd82c9b
SK
5702018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
571
572 PR fortran/82367
573 * resolve.c (resolve_allocate_expr): Check for NULL pointer.
574
266404a8
SK
5752018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
576
577 PR fortran/83093
578 * resolve.c (resolve_charlen): Check the type of cl->length
579 after resolution.
580
85c2c761
JB
5812018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
582
e10e60cb
JB
583 PR fortran/83740
584 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting.
585
5862018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
587
588 PR fortran/83740
85c2c761
JB
589 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the
590 LHS type when assigning.
591
d4319ef8
SK
5922018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
593
594 PR fortran/83742
595 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer.
596
8799df67
SK
5972018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
598
599 * match.c (gfc_match_allocate): Check for NULL pointer.
600
a4f759de
SK
6012018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
602
603 * expr.c (gfc_check_pointer_assign): Fix typo in comment.
604
0b627b58
PT
6052018-01-08 Paul Thomas <pault@gcc.gnu.org>
606
607 PR fortran/83611
608 * decl.c (gfc_get_pdt_instance): If parameterized arrays have
609 an initializer, convert the kind parameters and add to the
610 component if the instance.
611 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and
612 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable'
613 for parameterized arrays. Clean up typos in comments. Convert
614 parameterized array initializers and copy into the array.
615 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for
616 parameterized types.
617 *trans-stmt.c (trans_associate_var): Deallocate associate vars
618 as necessary, when they are PDT function results for example.
619
620 PR fortran/83731
621 * trans-array.c (structure_alloc_comps): Only compare len parms
622 when they are declared explicitly.
623
ee2d3987
JB
6242018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
625
626 PR fortran/50892
627 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to
628 lhs type.
629
f622221a
JB
6302018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
631
632 PR fortran/78534
633 PR fortran/66310
634 * array.c (got_charlen): Use gfc_charlen_int_kind.
635 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
636 hardcoded kind.
637 (find_intrinsic_vtab): Likewise.
638 * decl.c (match_char_length): Use gfc_charlen_int_kind.
639 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind.
640 (gfc_match_implicit): Use gfc_charlen_int_kind.
641 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t.
642 (show_expr): Use HOST_WIDE_INT_PRINT_DEC.
643 * expr.c (gfc_get_character_expr): Length parameter of type
644 gfc_charlen_t.
645 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
646 (gfc_extract_hwi): New function.
647 (simplify_const_ref): Make string_len of type gfc_charlen_t.
648 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
649 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind.
650 * gfortran.h (gfc_mpz_get_hwi): New prototype.
651 (gfc_mpz_set_hwi): Likewise.
652 (gfc_charlen_t): New typedef.
653 (gfc_expr): Use gfc_charlen_t for character lengths.
654 (gfc_size_kind): New extern variable.
655 (gfc_extract_hwi): New prototype.
656 (gfc_get_character_expr): Use gfc_charlen_t for character length.
657 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
658 * gfortran.texi: Update description of hidden string length argument.
659 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind.
660 (gfc_resolve_char_achar): Likewise.
661 (gfc_resolve_repeat): Pass string length directly without
662 temporary, use gfc_charlen_int_kind.
663 (gfc_resolve_transfer): Use gfc_charlen_int_kind.
664 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
665 * misc.c (gfc_mpz_get_hwi): New function.
666 (gfc_mpz_set_hwi): New function.
667 * module.c (atom_int): Change type from int to HOST_WIDE_INT.
668 (parse_integer): Don't complain about large integers.
669 (write_atom): Use HOST_WIDE_INT for integers.
670 (mio_integer): Handle integer type mismatch.
671 (mio_hwi): New function.
672 (mio_intrinsic_op): Use HOST_WIDE_INT.
673 (mio_array_ref): Likewise.
674 (mio_expr): Likewise.
675 * primary.c (match_substring): Use gfc_charlen_int_kind.
676 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind.
677 (resolve_character_operator): Likewise.
678 (resolve_assoc_var): Likewise.
679 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf.
680 (resolve_charlen): Use mpz_sgn to determine sign.
681 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
682 instead of long.
683 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind.
684 * target-memory.c (size_character): Length argument of type
685 gfc_charlen_t.
686 (gfc_encode_character): Likewise.
687 (gfc_interpret_character): Use gfc_charlen_t.
688 * target-memory.h (gfc_encode_character): Modify prototype.
689 * trans-array.c (gfc_trans_array_ctor_element): Use existing type.
690 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type.
691 (trans_array_constructor): Use existing type.
692 (get_array_charlen): Likewise.
693 * trans-const.c (gfc_conv_mpz_to_tree_type): New function.
694 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
695 * trans-decl.c (gfc_trans_deferred_vars): Use existing type.
696 (add_argument_checking): Likewise.
697 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type
698 gfc_charlen_type_node.
699 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
700 4, fold_convert to correct type.
701 (gfc_conv_class_to_class): Build const of type size_type_node for
702 size.
703 (gfc_copy_class_to_class): Likewise.
704 (gfc_conv_string_length): Use same type in expression.
705 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
706 (gfc_conv_string_tmp): Make sure len is of the right type.
707 (gfc_conv_concat_op): Use same type in expression.
708 (gfc_conv_procedure_call): Likewise.
709 (fill_with_spaces): Comment out memset() block due to spurious
710 -Wstringop-overflow warnings.
711 (gfc_trans_string_copy): Use gfc_charlen_type_node.
712 (alloc_scalar_allocatable_for_subcomponent_assignment):
713 fold_convert to right type.
714 (gfc_trans_subcomponent_assign): Likewise.
715 (trans_class_vptr_len_assignment): Build const of correct type.
716 (gfc_trans_pointer_assignment): Likewise.
717 (alloc_scalar_allocatable_for_assignment): fold_convert to right
718 type in expr.
719 (trans_class_assignment): Build const of correct type.
720 * trans-intrinsic.c (gfc_conv_associated): Likewise.
721 (gfc_conv_intrinsic_repeat): Do calculation in sizetype.
722 * trans-io.c (gfc_build_io_library_fndecls): Use
723 gfc_charlen_type_node for character lengths.
724 (set_string): Convert to right type in assignment.
725 * trans-stmt.c (gfc_trans_label_assign): Build const of
726 gfc_charlen_type_node.
727 (trans_associate_var): Likewise.
728 (gfc_trans_character_select): Likewise.
729 (gfc_trans_allocate): Likewise, don't typecast strlen result.
730 (gfc_trans_deallocate): Don't typecast strlen result.
731 * trans-types.c (gfc_size_kind): New variable.
732 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
733 from size_type_node.
734 * trans-types.h: Fix comment.
735
fbd35ba1
TK
7362018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
737
738 PR fortran/83683
739 PR fortran/45689
740 * check.c (gfc_check_eoshift): Check for string length and
741 for conformance of boundary.
742 * intrinsic.c (add_functions): Add gfc_simplify_eoshift.
743 * intrinsic.h: Add prototype for gfc_simplify_eoshift.
744 * simplify.c (gfc_simplify_eoshift): New function.
745
5c0caeb3
RS
7462018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
747 Alan Hayward <alan.hayward@arm.com>
748 David Sherwood <david.sherwood@arm.com>
749
750 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL.
751
928686b1
RS
7522018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
753 Alan Hayward <alan.hayward@arm.com>
754 David Sherwood <david.sherwood@arm.com>
755
756 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p.
757
8987beac
TK
7582018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
759
760 PR fortran/83664
761 * check.c (gfc_check_eoshift): Error for missing boundary if array
762 is not one of the standard types.
763
65e6aea3
JJ
7642018-01-03 Jakub Jelinek <jakub@redhat.com>
765
85ec4feb
JJ
766 Update copyright years.
767
65e6aea3
JJ
768 * gfortranspec.c (lang_specific_driver): Update copyright notice
769 dates.
770 * gfc-internals.texi: Bump @copying's copyright year.
771 * gfortran.texi: Ditto.
772 * intrinsic.texi: Ditto.
773 * invoke.texi: Ditto.
774
a1d6c052
TK
7752017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
776
777 PR fortran/45689
778 * intrinsic.c (add_function): Add gfc_simplify_maxloc and
779 gfc_simplify_minloc to maxloc and minloc, respectively.
780 * intrinsic.h: Add prototypes for gfc_simplify_minloc
781 and gfc_simplify_maxloc.
782 * simplify.c (min_max_chose): Adjust prototype. Modify function
783 to have a return value which indicates if the extremum was found.
784 (is_constant_array_expr): Fix typo in comment.
785 (simplify_minmaxloc_to_scalar): New function.
786 (simplify_minmaxloc_nodim): New function.
787 (new_array): New function.
788 (simplify_minmaxloc_to_array): New function.
789 (gfc_simplify_minmaxloc): New function.
790 (simplify_minloc): New function.
791 (simplify_maxloc): New function.
792
a9ec0cfc
TK
7932018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
794
795 PR fortran/45689
796 PR fortran/83650
797 * simplify.c (gfc_simplify_cshift): Re-implement to allow full
798 range of arguments.
799
f549bfb3
PT
8002018-01-01 Paul Thomas <pault@gcc.gnu.org>
801
802 PR fortran/83076
803 * resolve.c (resolve_fl_derived0): Add caf_token fields for
804 allocatable and pointer scalars, when -fcoarray selected.
805 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token
806 field as well as the backend_decl.
807 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module
808 derived types that are not vtypes. Components with caf_token
809 attribute are pvoid types. For a component requiring it, find
810 the caf_token field and have the component token field point to
811 its backend_decl.
812
813 PR fortran/83319
814 *trans-types.c (gfc_get_array_descriptor_base): Add the token
815 field to the descriptor even when codimen not set.
21fa2a29 816\f
65e6aea3 817Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
818
819Copying and distribution of this file, with or without modification,
820are permitted in any medium without royalty provided the copyright
821notice and this notice are preserved.
This page took 3.359216 seconds and 5 git commands to generate.