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