]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
re PR fortran/82049 (ICE with character(*),parameter array constructor)
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
52b16cb3
SK
12018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
2
3 PR fortran/82049
4 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then
5 try to resolve it. While here return early if possible.
6
26f822c2
PT
72018-02-04 Paul Thomas <pault@gcc.gnu.org>
8
9 PR fortran/84115
10 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of
11 'length' if the symbol charlen backend_decl is an indirect ref.
12
2c536ce7
PT
132018-02-03 Paul Thomas <pault@gcc.gnu.org>
14
15 PR fortran/84141
16 PR fortran/84155
17 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype
18 use gfc_get_dtype_rank_type.
19
ae976c33
JB
202018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
21
22 PR 83975
23 PR 83344
24 * resolve.c (resolve_assoc_var): Generate an error if
25 target length unknown.
26
eae4d8fb
JB
272018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
28
29 PR fortran/83705
30 * simplify.c (gfc_simplify_repeat): Increase limit for deferring
31 to runtime, print a warning message.
32
c9243c04
JJ
332018-01-31 Jakub Jelinek <jakub@redhat.com>
34
35 PR fortran/84116
36 * openmp.c (gfc_match_omp_clauses): If all the linear
37 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist
38 nor set *head = NULL. Formatting fixes.
39
1af73491
PT
402018-01-31 Paul Thomas <pault@gcc.gnu.org>
41
42 PR fortran/84088
43 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is
44 an address expression passed to an assumed rank dummy, convert
45 to an indirect reference.
46
125a677d
TK
472018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
48
49 * dump-parse-tree.c (write_proc): Use sym_name (which may
50 be sym->binding_label) instead of sym->name.
51
949b40a4
JB
522018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
53
54 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead
55 of int for slen.
56
9f3dcd14
JB
572018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
58
59 PR fortran/78534
60 * trans-expr.c (fill_with_spaces): Use memset instead of
61 generating loop.
62 (gfc_trans_string_copy): Improve opportunity to use builtins with
63 constant lengths.
64
f2adfb89
JJ
652018-01-30 Jakub Jelinek <jakub@redhat.com>
66
67 PR debug/84131
68 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off
69 to DATA_FIELD's offset rather than OFFSET_FIELD's offset.
70
125a677d 712018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
8fb2cc6b
TK
72
73 PR fortran/84134
74 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is
75 zero, return false.
76
dca9e8be
TK
772018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
78
79 PR fortran/84133
80 * frontend-passes (matmul_to_var_expr): Return early if
81 in association list.
82 (inline_matmul_assign): Likewise.
83
3be34c0b
TK
842017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
85
86 PR fortran/84073
87 * resolve.c (resolve_component): Ensure BIND(C) character
88 components have length one.
89 (resolve_symbol): Likewise for variables.
90
aeb8c028
JJ
912018-01-27 Jakub Jelinek <jakub@redhat.com>
92
93 PR fortran/84065
94 * decl.c (add_init_expr_to_sym): Ignore initializers for too large
95 lengths.
96
f8862a1b 972018-01-26 Damian Rouson <damian@sourceryinstitute.org>
aeb8c028
JJ
98 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
99 Soren Rasmussen <s.c.rasmussen@gmail.com>
f8862a1b
DR
100
101 Partial support for Fortran 2018 teams features.
102
103 * array.c (gfc_match_array_ref): add team attribute in coarray
104 transfers.
105 * check.c (gfc_check_get_team, gfc_check_team_number): add new
106 functions for get_team and team_number.
107 * dump-parse-tree.c (show_code_node): add new statements: form team,
108 change team, end team, and sync team.
109 * expr.c (gfc_find_team_co): add new function.
110 * gfortran.h: add new statements.
111 * intrinsic.c (add_functions): add get_team and team_number functions.
112 * intrinsic.h: add get_team and team_number prototypes for check,
113 simplify, and resolve.
114 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new
115 functions.
116 * iso-fortran-env.def: add the team_type derived type.
117 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number)
118 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team):
119 add change team, end team, form team, sync team match and functions.
120 * match.h: add new prototypes for change team, end team, form team,
121 and sync team.
122 * parse.c (decode_statement): add cases for change team, end team,
123 form team, and sync team.
124 * resolve.c: add cases for exec form team, change team, end team, and
125 sync team.
126 * simplify.c (gfc_simplify_get_team): add new function for get team.
127 * st.c (gfc_free_statement): add cases exec for change team, end team,
128 form team, sync team.
129 * trans-decl.c (gfor_fndecl_caf_form_team)
130 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team)
131 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team)
132 (gfor_fndecl_caf_team_number): add functions and definitions.
133 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add
134 new function and team_type argument support.
135 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team)
136 (gfc_trans_end_team, gfc_trans_sync_team): add new functions.
137 * trans-stmt.h: add new prototypes.
138 * trans-types.c (gfc_get_derived_type): check condition for team_type.
139 * trans.c (trans_code): new exec cases for form team, change team, end
140 team, and sync team.
141 * trans.h: add new prototypes.
142
deece1aa
SK
1432018-01-26 Steven G. Kargl <kargl@gcc.gnu.org>
144
145 PR fortran/83998
146 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0
147 or .false. The summation does the correct type conversion.
148 (gfc_simplify_dot_product): Special case zero-sized arrays.
149
7fb43006
PT
1502018-25-01 Paul Thomas <pault@gcc.gnu.org>
151
152 PR fortran/37577
153 * array.c (gfc_match_array_ref): If standard earlier than F2008
154 it is an error if the reference dimension is greater than 7.
155 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the
156 dtype masks and shifts accordingly.
157 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype
158 type node to check the field.
159 (gfc_conv_descriptor_dtype): Access the rank field of dtype.
160 (duplicate_allocatable_coarray): Access the rank field of the
161 dtype descriptor rather than the dtype itself.
162 * trans-expr.c (get_scalar_to_descriptor_type): Store the type
163 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE
164 (ie. a character).
165 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to
166 get_scalar_to_descriptor_type if the actual expression is a
167 constant.
168 (gfc_trans_structure_assign): Assign the rank directly to the
169 dtype rank field.
170 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result
171 to default integer kind.
172 (gfc_conv_intrinsic_sizeof): Obtain the element size from the
173 'elem_len' field of the dtype.
174 * trans-io.c (gfc_build_io_library_fndecls): Replace
175 gfc_int4_type_node with dtype_type_node where necessary.
176 (transfer_namelist_element): Use gfc_get_dtype_rank_type for
177 scalars.
178 * trans-types.c : Provide 'get_dtype_type_node' to acces the
179 dtype_type_node and, if necessary, build it.
180 The maximum size of an array element is now determined by the
181 maximum value of size_t.
182 Update the description of the array descriptor, including the
183 type def for the dtype_type.
184 (gfc_get_dtype_rank_type): Build a constructor for the dtype.
185 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS.
186 (gfc_get_array_descriptor_base): Change the type of the dtype
187 field to dtype_type_node.
188 (gfc_get_array_descr_info): Get the offset to the rank field of
189 the dtype.
190 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'.
191 * trans.h : Define the indices of the dtype fields.
192
f59986b2
PT
1932018-23-01 Paul Thomas <pault@gcc.gnu.org>
194
195 PR fortran/83866
196 * decl.c (gfc_match_derived_decl): If eos not matched, recover
197 and emit error about garbage after declaration.
198
84ee745e
PT
1992018-23-01 Paul Thomas <pault@gcc.gnu.org>
200
201 PR fortran/83898
202 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor
203 for characters.
204
6b271a2e
JB
2052018-01-22 Janne Blomqvist <jb@gcc.gnu.org>
206
207 PR 78534
208 PR 83704
209 * arith.c (gfc_arith_concat): Use size_t for string length.
210 (gfc_compare_string): Likewise.
211 (gfc_compare_with_Cstring): Likewise.
212 * array.c (gfc_resolve_character_array_constructor): Use
213 HOST_WIDE_INT, gfc_mpz_get_hwi.
214 * check.c (gfc_check_fe_runtime_error): Use size_t.
215 * data.c (create_character_initializer): Use HOST_WIDE_INT,
216 gfc_extract_hwi.
217 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t.
218 (add_init_expr_to_sym): Use HOST_WIDE_INT.
219 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT,
220 gfc_extract_hwi.
221 (gfc_apply_init): Likewise.
222 * match.h (gfc_set_constant_character_len): Update prototype.
223 * primary.c (match_string_constant): Use size_t.
224 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT,
225 gfc_mpz_get_hwi.
226 * simplify.c (init_result_expr): Likewise.
227 (gfc_simplify_len_trim): Use size_t.
228 * target-memory.c (gfc_encode_character): Use size_t.
229 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi.
230 (interpret_array): Use size_t.
231 (gfc_interpret_character): Likewise.
232 * target-memory.h (gfc_encode_character): Update prototype.
233 (gfc_interpret_character): Likewise.
234 (gfc_target_interpret_expr): Likewise.
235 * trans-const.c (gfc_build_string_const): Use size_t for length
236 argument.
237 (gfc_build_wide_string_const): Likewise.
238 * trans-const.h (gfc_build_string_const): Likewise.
239 (gfc_build_wide_string_const): Likewise.
240
f5240750
SK
2412018-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
242
243 PR fortran/83900
244 * simplify.c (gfc_simplify_matmul): Set return type correctly.
245
f18fee82
SK
2462018-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
247
248 PR fortran/83900
249 * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
250
fcf79237
HA
2512018-01-17 Harald Anlauf <anlauf@gmx.de>
252
253 PR fortran/83864
254 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
255
c004a341
HA
2562018-01-17 Harald Anlauf <anlauf@gmx.de>
257
258 PR fortran/83874
259 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
260
75a3c61a
LK
2612018-01-15 Louis Krupp <louis.krupp@zoho.com>
262
263 PR fortran/82257
264 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA
265 from symbol marked unlimited polymorphic.
266 * resolve.c (resolve_structure_cons): Likewise.
267 * misc.c (gfc_typename): Don't dereference derived->components
268 if it's NULL.
269
64b1806b
TK
2702018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
271
272 PR fortran/54613
273 * gfortran.h (gfc_check_f): Rename f4ml to f5ml.
274 (gfc_logical_4_kind): New macro
275 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument.
276 (gfc_simplify_maxloc): Likewise.
277 (gfc_resolve_maxloc): Likewise.
278 (gfc_resolve_minloc): Likewise.
279 * check.c (gfc_check_minloc_maxloc): Add checking for "back"
280 argument; also raise error if it is used (for now). Add it
281 if it isn't present.
282 * intrinsic.c (add_sym_4ml): Rename to
283 (add_sym_5ml), adjust for extra argument.
284 (add_functions): Add "back" constant. Adjust maxloc and minloc
285 for back argument.
286 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is
287 not of gfc_logical_4_kind, convert.
288 (gfc_resolve_minloc): Likewise.
289 * simplify.c (gfc_simplify_minloc): Add back argument.
290 (gfc_simplify_maxloc): Likewise.
291 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last
292 argument to %VAL to ensure passing by value.
293 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc
294 also for library calls.
295
f208c5cc
JD
2962018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
297
298 PR fortran/82007
299 * resolve.c (resolve_transfer): Delete code looking for 'DT'
300 format specifiers in format strings. Set formatted to true if a
301 format string or format label is present.
302 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix
303 whitespace.
64b1806b 304
39f309ac
TK
3052018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
306
307 PR fortran/83744
308 * dump-parse-tree.c (get_c_type_name): Remove extra line.
309 Change for loop to use declaration in for loop. Handle BT_LOGICAL
310 and BT_CHARACTER.
311 (write_decl): Add where argument. Fix indentation. Replace
312 assert with error message. Add typename to warning
313 in comment.
314 (write_type): Adjust locus to call of write_decl.
315 (write_variable): Likewise.
316 (write_proc): Likewise. Replace assert with error message.
317
567a6e1c
PT
3182018-01-13 Paul Thomas <pault@gcc.gnu.org>
319
320 PR fortran/52162
321 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if
322 the rhs expression is neither an elemental nor a conversion
323 function.
324
325 PR fortran/83622
326 * trans-array.c (is_pointer_array): Remove unconditional return
327 of false for -fopenmp.
328
700b62cc
TK
3292018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
330 <emsr@gcc.gnu.org>
331
332 PR fortran/83803
333 * dump-parse-tree.c (write_proc): Always emit closing parenthesis
334 for functions.
335
bdd82c9b
SK
3362018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
337
338 PR fortran/82367
339 * resolve.c (resolve_allocate_expr): Check for NULL pointer.
340
266404a8
SK
3412018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
342
343 PR fortran/83093
344 * resolve.c (resolve_charlen): Check the type of cl->length
345 after resolution.
346
85c2c761
JB
3472018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
348
e10e60cb
JB
349 PR fortran/83740
350 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting.
351
3522018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
353
354 PR fortran/83740
85c2c761
JB
355 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the
356 LHS type when assigning.
357
d4319ef8
SK
3582018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
359
360 PR fortran/83742
361 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer.
362
8799df67
SK
3632018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
364
365 * match.c (gfc_match_allocate): Check for NULL pointer.
366
a4f759de
SK
3672018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
368
369 * expr.c (gfc_check_pointer_assign): Fix typo in comment.
370
0b627b58
PT
3712018-01-08 Paul Thomas <pault@gcc.gnu.org>
372
373 PR fortran/83611
374 * decl.c (gfc_get_pdt_instance): If parameterized arrays have
375 an initializer, convert the kind parameters and add to the
376 component if the instance.
377 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and
378 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable'
379 for parameterized arrays. Clean up typos in comments. Convert
380 parameterized array initializers and copy into the array.
381 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for
382 parameterized types.
383 *trans-stmt.c (trans_associate_var): Deallocate associate vars
384 as necessary, when they are PDT function results for example.
385
386 PR fortran/83731
387 * trans-array.c (structure_alloc_comps): Only compare len parms
388 when they are declared explicitly.
389
ee2d3987
JB
3902018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
391
392 PR fortran/50892
393 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to
394 lhs type.
395
f622221a
JB
3962018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
397
398 PR fortran/78534
399 PR fortran/66310
400 * array.c (got_charlen): Use gfc_charlen_int_kind.
401 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
402 hardcoded kind.
403 (find_intrinsic_vtab): Likewise.
404 * decl.c (match_char_length): Use gfc_charlen_int_kind.
405 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind.
406 (gfc_match_implicit): Use gfc_charlen_int_kind.
407 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t.
408 (show_expr): Use HOST_WIDE_INT_PRINT_DEC.
409 * expr.c (gfc_get_character_expr): Length parameter of type
410 gfc_charlen_t.
411 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
412 (gfc_extract_hwi): New function.
413 (simplify_const_ref): Make string_len of type gfc_charlen_t.
414 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
415 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind.
416 * gfortran.h (gfc_mpz_get_hwi): New prototype.
417 (gfc_mpz_set_hwi): Likewise.
418 (gfc_charlen_t): New typedef.
419 (gfc_expr): Use gfc_charlen_t for character lengths.
420 (gfc_size_kind): New extern variable.
421 (gfc_extract_hwi): New prototype.
422 (gfc_get_character_expr): Use gfc_charlen_t for character length.
423 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
424 * gfortran.texi: Update description of hidden string length argument.
425 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind.
426 (gfc_resolve_char_achar): Likewise.
427 (gfc_resolve_repeat): Pass string length directly without
428 temporary, use gfc_charlen_int_kind.
429 (gfc_resolve_transfer): Use gfc_charlen_int_kind.
430 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
431 * misc.c (gfc_mpz_get_hwi): New function.
432 (gfc_mpz_set_hwi): New function.
433 * module.c (atom_int): Change type from int to HOST_WIDE_INT.
434 (parse_integer): Don't complain about large integers.
435 (write_atom): Use HOST_WIDE_INT for integers.
436 (mio_integer): Handle integer type mismatch.
437 (mio_hwi): New function.
438 (mio_intrinsic_op): Use HOST_WIDE_INT.
439 (mio_array_ref): Likewise.
440 (mio_expr): Likewise.
441 * primary.c (match_substring): Use gfc_charlen_int_kind.
442 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind.
443 (resolve_character_operator): Likewise.
444 (resolve_assoc_var): Likewise.
445 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf.
446 (resolve_charlen): Use mpz_sgn to determine sign.
447 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
448 instead of long.
449 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind.
450 * target-memory.c (size_character): Length argument of type
451 gfc_charlen_t.
452 (gfc_encode_character): Likewise.
453 (gfc_interpret_character): Use gfc_charlen_t.
454 * target-memory.h (gfc_encode_character): Modify prototype.
455 * trans-array.c (gfc_trans_array_ctor_element): Use existing type.
456 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type.
457 (trans_array_constructor): Use existing type.
458 (get_array_charlen): Likewise.
459 * trans-const.c (gfc_conv_mpz_to_tree_type): New function.
460 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
461 * trans-decl.c (gfc_trans_deferred_vars): Use existing type.
462 (add_argument_checking): Likewise.
463 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type
464 gfc_charlen_type_node.
465 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
466 4, fold_convert to correct type.
467 (gfc_conv_class_to_class): Build const of type size_type_node for
468 size.
469 (gfc_copy_class_to_class): Likewise.
470 (gfc_conv_string_length): Use same type in expression.
471 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
472 (gfc_conv_string_tmp): Make sure len is of the right type.
473 (gfc_conv_concat_op): Use same type in expression.
474 (gfc_conv_procedure_call): Likewise.
475 (fill_with_spaces): Comment out memset() block due to spurious
476 -Wstringop-overflow warnings.
477 (gfc_trans_string_copy): Use gfc_charlen_type_node.
478 (alloc_scalar_allocatable_for_subcomponent_assignment):
479 fold_convert to right type.
480 (gfc_trans_subcomponent_assign): Likewise.
481 (trans_class_vptr_len_assignment): Build const of correct type.
482 (gfc_trans_pointer_assignment): Likewise.
483 (alloc_scalar_allocatable_for_assignment): fold_convert to right
484 type in expr.
485 (trans_class_assignment): Build const of correct type.
486 * trans-intrinsic.c (gfc_conv_associated): Likewise.
487 (gfc_conv_intrinsic_repeat): Do calculation in sizetype.
488 * trans-io.c (gfc_build_io_library_fndecls): Use
489 gfc_charlen_type_node for character lengths.
490 (set_string): Convert to right type in assignment.
491 * trans-stmt.c (gfc_trans_label_assign): Build const of
492 gfc_charlen_type_node.
493 (trans_associate_var): Likewise.
494 (gfc_trans_character_select): Likewise.
495 (gfc_trans_allocate): Likewise, don't typecast strlen result.
496 (gfc_trans_deallocate): Don't typecast strlen result.
497 * trans-types.c (gfc_size_kind): New variable.
498 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
499 from size_type_node.
500 * trans-types.h: Fix comment.
501
fbd35ba1
TK
5022018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
503
504 PR fortran/83683
505 PR fortran/45689
506 * check.c (gfc_check_eoshift): Check for string length and
507 for conformance of boundary.
508 * intrinsic.c (add_functions): Add gfc_simplify_eoshift.
509 * intrinsic.h: Add prototype for gfc_simplify_eoshift.
510 * simplify.c (gfc_simplify_eoshift): New function.
511
5c0caeb3
RS
5122018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
513 Alan Hayward <alan.hayward@arm.com>
514 David Sherwood <david.sherwood@arm.com>
515
516 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL.
517
928686b1
RS
5182018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
519 Alan Hayward <alan.hayward@arm.com>
520 David Sherwood <david.sherwood@arm.com>
521
522 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p.
523
8987beac
TK
5242018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
525
526 PR fortran/83664
527 * check.c (gfc_check_eoshift): Error for missing boundary if array
528 is not one of the standard types.
529
65e6aea3
JJ
5302018-01-03 Jakub Jelinek <jakub@redhat.com>
531
85ec4feb
JJ
532 Update copyright years.
533
65e6aea3
JJ
534 * gfortranspec.c (lang_specific_driver): Update copyright notice
535 dates.
536 * gfc-internals.texi: Bump @copying's copyright year.
537 * gfortran.texi: Ditto.
538 * intrinsic.texi: Ditto.
539 * invoke.texi: Ditto.
540
a1d6c052
TK
5412017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
542
543 PR fortran/45689
544 * intrinsic.c (add_function): Add gfc_simplify_maxloc and
545 gfc_simplify_minloc to maxloc and minloc, respectively.
546 * intrinsic.h: Add prototypes for gfc_simplify_minloc
547 and gfc_simplify_maxloc.
548 * simplify.c (min_max_chose): Adjust prototype. Modify function
549 to have a return value which indicates if the extremum was found.
550 (is_constant_array_expr): Fix typo in comment.
551 (simplify_minmaxloc_to_scalar): New function.
552 (simplify_minmaxloc_nodim): New function.
553 (new_array): New function.
554 (simplify_minmaxloc_to_array): New function.
555 (gfc_simplify_minmaxloc): New function.
556 (simplify_minloc): New function.
557 (simplify_maxloc): New function.
558
a9ec0cfc
TK
5592018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
560
561 PR fortran/45689
562 PR fortran/83650
563 * simplify.c (gfc_simplify_cshift): Re-implement to allow full
564 range of arguments.
565
f549bfb3
PT
5662018-01-01 Paul Thomas <pault@gcc.gnu.org>
567
568 PR fortran/83076
569 * resolve.c (resolve_fl_derived0): Add caf_token fields for
570 allocatable and pointer scalars, when -fcoarray selected.
571 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token
572 field as well as the backend_decl.
573 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module
574 derived types that are not vtypes. Components with caf_token
575 attribute are pvoid types. For a component requiring it, find
576 the caf_token field and have the component token field point to
577 its backend_decl.
578
579 PR fortran/83319
580 *trans-types.c (gfc_get_array_descriptor_base): Add the token
581 field to the descriptor even when codimen not set.
21fa2a29 582\f
65e6aea3 583Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
584
585Copying and distribution of this file, with or without modification,
586are permitted in any medium without royalty provided the copyright
587notice and this notice are preserved.
This page took 3.286923 seconds and 5 git commands to generate.