]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
Backport fix for PR libstdc++/64883.
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
31dc21eb
PT
12018-12-21 Paul Thomas <pault@gcc.gnu.org>
2
3 PR fortran/87359
4 * trans-array.c (gfc_is_reallocatable_lhs): Correct the problem
5 introduced by r264358, which prevented components of associate
6 names from being reallocated on assignment.
7
a2bf1fd7
SK
82018-12-16 Steven G. Kargl <kargl@gcc.gnu.org>
9
10 PR fortran/88116
11 PR fortran/88467
12 * array.c (gfc_match_array_constructor): Check return value of
13 gfc_convert_type(). Skip constructor elements with BT_UNKNOWN,
14 which need to go through resolution.
15 * intrinsic.c (gfc_convert_type_warn): Return early if the types
16 martch (i.e., no conversion is required).
17 * simplify.c (gfc_convert_constant): Remove a gfc_internal_error,
18 and return gfc_bad_expr.
19
c0b003d0
SK
202018-12-15 Steven G. Kargl <kargl@gcc.gnu.org>
21
22 PR fortran/88138
23 * decl.c (variable_decl): Check that a derived isn't being assigned
24 an incompatible entity in an initialization.
31dc21eb 25
1e8efa75
SK
262018-12-11 Steven G. Kargl <kargl@gcc.gnu.org>
27
28 PR fortran/88155
29 * primary.c (gfc_match_structure_constructor): Set the locus of
30 an expression to avoid a NULL pointer dereference.
31
03897611
SK
322018-12-11 Steven G. Kargl <kargl@gcc.gnu.org>
33
34 PR fortran/88249
35 * gfortran.h: Update prototype for gfc_resolve_filepos().
36 * io.c (gfc_resolve_filepos): Check for UNIT number if ERR= is present.
37 Use passed in locus for error message.
38 * resolve.c (gfc_resolve_code): Pass locus in gfc_resolve_filepos()
39 call.
40
6a87be76
SK
412018-12-10 Steven G. Kargl <kargl@gcc.gnu.org>
42
43 PR fortran/87922
44 * io.c (gfc_match_open): Additional checks on ASYNCHRONOUS.
45
64ea4808
SK
462018-12-10 Steven G. Kargl <kargl@gcc.gnu.org>
47
48 PR fortran/88269
49 * io.c (io_constraint): Update macro. If locus line buffer is NULL,
50 use gfc_current_locus in error messages.
51 (check_io_constraints): Catch missing IO UNIT in write and read
52 statements. io_constraint macro is incompatible here.
53
f5cf6059
SK
542018-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
55
56 PR fortran/88205
57 * io.c (gfc_match_open): Move NEWUNIT checks to after STATUS checks.
58
9537adfe
SK
592018-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
60
61 PR fortran/88206
62 * match.c (gfc_match_type_spec): REAL can be an intrinsic function.
63
923d7e39
SK
642018-12-09 Fritz Reese <fritzoreese@gmail.com>
65
66 PR fortran/88228
67 * resolve.c (resolve_operator): Do not call resolve_function.
68 Break like other cases.
69
a6027f8c
SK
702018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
71
72 PR fortran/88048
73 * resolve.c (check_data_variable): Named constant cannot be a
74 data object.
75
b3f5cadb
SK
762018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
77
78 PR fortran/88025
79 * expr.c (gfc_apply_init): Remove asserts that cannot trigger.
80 Check for a NULL pointer.
81
74487f5c
TK
822018-11-25 Thomas Koenig <tkoenig@gcc.gnu.org>
83
84 Backport from trunk
85 PR fortran/88073
86 * frontend-passes.c (combine_array_constructor): Do not do
87 anything if in a WHERE statement.
88
bbdef456
PT
892018-11-24 Paul Thomas <pault@gcc.gnu.org>
90
91 Backport from trunk
92 PR fortran/88143
93 * resolve.c (resolve_variable): Check for associate names with
94 NULL target.
95
19349207
JJ
962018-11-05 Jakub Jelinek <jakub@redhat.com>
97
98 Backported from mainline
99 2018-10-25 Jakub Jelinek <jakub@redhat.com>
100
101 PR fortran/87725
102 * openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and
103 nonmonotonic modifiers regardless of if they have been parsed
104 already or if the opposite one has. Fix up check whether
105 comma after modifier should be parsed.
106 (resolve_omp_clauses): Diagnose schedule modifier restrictions.
107
2af2edf9 1082019-11-03 Tobias Burnus <burnus@net-b.de>
19349207 109 Thomas Koenig <tkoenig@gcc.gnu.org>
2af2edf9
TB
110
111 Backport from trunk
112 PR fortran/87597
113 * expr.c (gfc_simplify_expr): Avoid simplifying
114 the 'array' argument to lbound/ubound/lcobound/
115 ucobound.
116
4867d759
PT
1172018-10-08 Paul Thomas <pault@gcc.gnu.org>
118
119 PR fortran/83999
120 Backport from trunk
121 * resolve.c (resolve_fl_procedure): Include class functions in
122 the test that elemental function results be scalar.
123
7b6eeffd
PT
1242018-10-08 Paul Thomas <pault@gcc.gnu.org>
125
126 Backport from trunk
127 PR fortran/86372
128 * trans-stmt.c (trans_associate_var): Character associate names
129 with variable string length do not have to be deferred length
130 for the string length to be set, if variable.
131
42105025
TK
1322018-10-06 Thomas Koenig <tkoenig@gcc.gnu.org>
133
7b6eeffd 134 PR fortran/86111
42105025 135 Backport from trunk
7b6eeffd
PT
136 * gfortran.h (enum arith): Add ARITH_WRONGCONCAT.
137 * arith.h (gfc_arith_error): Issue error for ARITH_WRONGCONCAT.
138 (gfc_arith_concat): If the types of op1 and op2 are not
139 character of if their kinds do not match, issue ARITH_WRONGCONCAT.
42105025 140
dd71307f
JW
1412018-09-18 Janus Weil <janus@gcc.gnu.org>
142
143 Backport from trunk
144 PR fortran/85395
145 * decl.c (match_binding_attributes): Use correct default accessibility
146 for procedure pointer components.
147
fa2128cb
JW
1482018-09-18 Janus Weil <janus@gcc.gnu.org>
149
150 Backport from trunk
151 PR fortran/86830
152 * expr.c (gfc_is_simply_contiguous): Handle type-bound procedure calls
153 with non-polymorphic objects.
154
9856bb90
PT
1552018-09-18 Paul Thomas <pault@gcc.gnu.org>
156
157 Backported from trunk
158 PR fortran/85954
159 * resolve.c (resolve_assoc_var): If the target expression is a
160 deferred charlen dummy and the associate name shares the
161 charlen, generate a new one. Make sure that new charlens are in
162 the namespace list so that they get cleaned up.
163 * trans-array.c (gfc_is_reallocatable_lhs): Associate names are
164 not reallocatable.
165 * trans-decl.c (gfc_get_symbol_decl): Put deferred character
166 length dummy and result arrays on the deferred initialization
167 list so that the variable length arrays can be correctly dealt
168 with.
169 * trans-expr.c (gfc_conv_string_length): Return if 'expr' is
170 NULL rather than ICEing.
171
c09bc715
PT
1722018-09-12 Paul Thomas <pault@gcc.gnu.org>
173
174 Backported from trunk
175 PR fortran/87284
176 * trans-expr.c (gfc_trans_class_init_assign): Access to
177 to array elements of the dynamic type requires that the array
178 reference be added to the class expression and not the _data
179 component, unlike scalar expressions.
180
c4d38471
PT
1812018-09-11 Paul Thomas <pault@gcc.gnu.org>
182
183 Backported from trunk
184 PR fortran/87277
185 * expr.c (is_subref_array): Add the check of dimensionality for
186 class, dummy, pointer arrays.
187
a0fff4c4
JW
1882018-09-05 Janus Weil <janus@gcc.gnu.org>
189
190 Backported from trunk
191 PR fortran/86116
192 * interface.c (compare_type): Remove a CLASS/TYPE check.
193 (compare_type_characteristics): New function that behaves like the old
194 'compare_type'.
195 (gfc_check_dummy_characteristics, gfc_check_result_characteristics):
196 Call 'compare_type_characteristics' instead of 'compare_type'.
197
afe13a41
JD
1982018-09-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
199
200 * simplify.c (gfc_simplify_modulo): Re-arrange code to test
201 whether 'P' is zero and issue an error if it is.
202
bc35aae0
PT
2032018-09-01 Paul Thomas <pault@gcc.gnu.org>
204
205 PR fortran/86328
206 PR fortran/86760
207 * trans-array.c (gfc_conv_scalarized_array_ref): Do not fix
208 info->descriptor but pass it directly to gfc_build_array_ref.
209 (gfc_conv_array_ref): Likewise for se->expr.
210 * trans.c (gfc_build_array_ref): If 'decl' is a COMPONENT_REF
211 obtain the span field directly from it.
212
3911571d
TK
2132018-08-24 Thomas Koenig <tkoenig@gcc.gnu.org>
214
215 Backport from trunk
216 PR fortran/86837
217 * frontend-passes.c (var_in_expr_callback): New function.
218 (var_in_expr): New function.
219 (traverse_io_block): Use var_in_expr instead of
220 gfc_check_dependency for checking if the variable depends on the
221 previous interators.
222
5efd6bce
PT
2232018-08-12 Paul Thomas <pault@gcc.gnu.org>
224
225 Backported from trunk
226 PR fortran/86906
227 * resolve.c (resolve_fl_variable_derived): Check if the derived
228 type is use associated before checking for the host association
229 error.
230
b1f88ff2
JJ
2312018-07-26 Jakub Jelinek <jakub@redhat.com>
232
233 Backported from mainline
234 2018-07-10 Jakub Jelinek <jakub@redhat.com>
235
236 PR fortran/86421
237 * module.c (omp_declare_simd_clauses): Add LINEAR with _REF, _VAL and
238 _UVAL suffixes.
239 (mio_omp_declare_simd): Save and restore ref, val and uval modifiers
240 on linear clauses. Initialize n->where to gfc_current_locus.
241
ddeb81e7
GA
2422018-07-26 Release Manager
243
244 * GCC 8.2.0 released.
245
0036d193
FR
2462018-07-16 Fritz Reese <fritzoreese@gmail.com>
247
248 PR fortran/83184
249 Backport from trunk.
250 * decl.c (match_old_style_init): Initialize locus of variable expr when
251 creating a data variable.
252 (match_clist_expr): Verify array is explicit shape/size before
253 attempting to allocate constant array constructor.
254
674c2cac
FR
2552018-07-16 Fritz Reese <fritzoreese@gmail.com>
256
257 Backport from trunk:
258
259 PR fortran/86417
260 * module.c (mio_component): Set component->loc when loading from module.
261
262 PR fortran/83183
263 PR fortran/86325
264 * expr.c (class_allocatable, class_pointer, comp_allocatable,
265 comp_pointer): New helpers.
266 (component_initializer): Generate EXPR_NULL for allocatable or pointer
267 components. Do not generate initializers for components within BT_CLASS.
268 Do not assign to comp->initializer.
269 (gfc_generate_initializer): Use new helpers; move code to generate
270 EXPR_NULL for class allocatable components into component_initializer().
271
ff9b55e2
PT
2722018-07-02 Paul Thomas <pault@gcc.gnu.org>
273
274 PR fortran/82969
275 PR fortran/86242
276 * trans-array.c (structure_alloc_comps): Do not explicitly copy
277 procedure pointer components.
278
945b9c9e
FR
2792018-06-28 Fritz Reese <fritzoreese@gmail.com>
280
281 PR fortran/82865
282 Backport from trunk.
283 * decl.c (gfc_match_type): Refactor and check for PDT declarations.
284
40a4fc21
FR
2852018-06-25 Fritz Reese <fritzoreese@gmail.com>
286
287 PR fortran/82972
288 PR fortran/83088
289 PR fortran/85851
290 Backport from trunk.
291 * expr.c (component_initializer): Assign init expr to c->initializer.
292 (generate_isocbinding_initializer): New.
293 (gfc_generate_initializer): Call generate_isocbinding_initializer to
294 generate initializers for c_ptr and c_funptr with -finit-derived.
295
0ea08d38
PT
2962018-06-25 Paul Thomas <pault@gcc.gnu.org>
297
298 PR fortran/83118
299 Back port from trunk
300 * resolve.c (resolve_ordinary_assign): Force the creation of a
301 vtable for assignment of non-polymorphic expressions to an
302 unlimited polymorphic object.
303 * trans-array.c (gfc_alloc_allocatable_for_assignment): Use the
304 size of the rhs type for such assignments. Set the dtype, _len
305 and vptrs appropriately.
306 * trans-expr.c (gfc_trans_assignment): Force the use of the
307 _copy function for these assignments.
308
53f37cfe
CP
3092018-06-15 Cesar Philippidis <cesar@codesourcery.com>
310
311 Backport from mainline
312 2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
313
314 PR fortran/85703
315 * parse.c (decode_oacc_directive): Set gfc_matching_function
316 to false.
317 (decode_omp_directive): Likewise.
318
3a8d6494
CP
3192018-06-15 Cesar Philippidis <cesar@codesourcery.com>
320
321 Backport from mainline
322 2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
323
324 PR fortran/85702
325 * openmp.c (gfc_match_oacc_wait): Use %C to report error location.
326
26a5c9ea
CP
3272018-06-15 Cesar Philippidis <cesar@codesourcery.com>
328
329 Backport from mainline
330 2018-06-05 Cesar Philippidis <cesar@codesourcery.com>
331
332 PR fortran/85701
333 * openmp.c (gfc_resolve_oacc_declare): Error on functions and
334 subroutine data clause arguments.
335
c575c6d2
SK
3362018-06-13 Steven G. Kargl <kargl@gcc.gnu.org>
337
338 PR fortran/86110
0ea08d38 339 * array.c (gfc_resolve_character_array_constructor): Avoid NULL
c575c6d2
SK
340 pointer dereference.
341
09c6ee64
SK
3422018-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
343
344 PR fortran/44491
345 * expr.c (gfc_check_assign): Select non-NULL locus.
346
04d26d0e
SK
3472018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
348
349 PR fortran/85138
350 PR fortran/85996
351 PR fortran/86051
352 * decl.c (gfc_match_char_spec): Use private namespace in attempt to
353 reduce a charlen to a constant.
354
994774fc
SK
3552018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
356
357 PR fortran/86059
358 * array.c (match_array_cons_element): NULL() cannot be in an
359 array constructor.
360
3068f997
SK
3612018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
362
363 PR fortran/63514
364 * symbol.c (gfc_add_volatile): Enforce F2008:C1282 and F2018:C1588.
365
211f93e3
SK
3662018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
367
368 PR fortran/78278
369 Committed as part of r261364
370 * data.c (gfc_assign_data_value): Re-arrange code to allow for
371 an error for double initialization of CHARACTER entities.
372
68d2262f
SK
3732018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
374
375 PR fortran/38351
376 * resolve.c (resolve_operator): Provide better error message for
377 derived type entity used in an binary intrinsic numeric operator.
378
fe4f79c0
SK
3792018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
380
381 PR fortran/78571
382 * data.c (create_character_initializer): Return early if type is
383 incompatible with CHARACTER.
384
84f486e7
TK
3852018-06-09 Thomas Koenig <tkoenig@gcc.gnu.org>
386
387 PR fortran/85631
388 Backport from trunk.
389 * trans.h (gfc_ss): Add field no_bounds_check.
390 * trans-array.c (gfc_conv_ss_startstride): If flag_realloc_lhs and
391 ss->no_bounds_check is set, do not use runtime checks.
392 * trans-expr.c (gfc_trans_assignment_1): Set lss->no_bounds_check
393 for reallocatable lhs.
394
638fab73
SK
3952018-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
396
397 PR fortran/86045
398 Backport from trunk.
399 * simplify.c (gfc_simplify_mod): Re-arrange code to test whether
400 'P' is zero and issue an error if it is.
401
83b578b1
TK
4022018-06-07 Thomas Koenig <tkoenig@gcc.gnu.org>
403
404 PR fortran/85641
405 Backport from trunk.
406 * frontend-passes.c (is_fe_temp): Add prototype.
407 (realloc_string_callback): Early return for frontend-generated
408 temporary.
409
463f60d0
SK
4102018-06-04 Steven G. Kargl <kargl@gcc.gnu.org>
411
412 PR fortran/85981
413 * resolve.c (resolve_allocate_deallocate): Check errmsg is default
414 character kind.
415
ad0fbf0d
SK
4162018-05-25 Steven G. Kargl <kargl@gcc.gnu.org>
417
418 PR fortran/85786
419 * trans-intrinsic.c (gfc_conv_associated): Add arg1se to the block.
420
43de19a6
SK
4212018-05-25 Steven G. Kargl <kargl@gcc.gnu.org>
422
423 PR fortran/85895
424 Backport from trunk
425 * resolve.c (resolve_sync): Resolve expression before checking for
426 an error.
427
16d584b3
SK
4282018-05-25 Steven G. Kargl <kargl@gcc.gnu.org>
429
430 PR fortran/85780
431 Backport from trunk
432 * resolve.c (resolve_fl_procedure): Avoid NULL dereference.
433
6505ea02
SK
4342018-05-25 Steven G. Kargl <kargl@gcc.gnu.org>
435
436 PR fortran/85779
437 Backport from trunk
438 * decl.c (gfc_match_derived_decl): Fix NULL point dereference.
439
d7a19075
SK
4402018-05-25 Steven G. Kargl <kargl@gcc.gnu.org>
441
442 PR fortran/85543
443 Backport from trunk
444 * resolve.c (update_current_proc_array_outer_dependency): Avoid NULL
445 pointer dereference.
446
9d7cd37c
PT
4472018-05-20 Paul Thomas <pault@gcc.gnu.org>
448
449 PR fortran/80657
450 Backport from trunk
451 * resolve.c (flag_fn_result_spec): Use the 'sym' argument to
452 test for self refs to the function result in the character len
453 expression. If a self reference is found, emit an error and
454 return true.
455 (resolve_fntype): Use the function symbol in the calls to the
456 above.
457
9b2b4766
PT
4582018-05-20 Paul Thomas <pault@gcc.gnu.org>
459
460 PR fortran/49636
461 Backport from trunk
462 * trans-array.c (gfc_get_array_span): Renamed from
463 'get_array_span'.
464 (gfc_conv_expr_descriptor): Change references to above.
465 * trans-array.h : Add prototype for 'gfc_get_array_span'.
466 * trans-stmt.c (trans_associate_var): If the associate name is
467 a subref array pointer, use gfc_get_array_span for the span.
468
3ddfcb23
PT
4692018-05-20 Paul Thomas <pault@gcc.gnu.org>
470
471 PR fortran/82275
472 Backport from trunk
473 * match.c (gfc_match_type_spec): Go through the array ref and
474 decrement 'rank' for every dimension that is an element.
475
65e3cafd
PT
4762018-05-19 Paul Thomas <pault@gcc.gnu.org>
477
478 PR fortran/82923
479 PR fortran/66694
480 PR fortran/82617
481 Backport from trunk
482 * trans-array.c (gfc_alloc_allocatable_for_assignment): Set the
483 charlen backend_decl of the rhs expr to ss->info->string_length
484 so that the value in the current scope is used.
485
491f0d87
PT
4862018-05-13 Paul Thomas <pault@gcc.gnu.org>
487
488 PR fortran/85742
489 * trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation
490 of 'size'. If the element type is a pointer use the size of the
491 TREE_TYPE of the type, unless it is VOID_TYPE. In this latter
492 case, set the size to zero.
493
02e4b9e1
SK
4942018-05-12 Steven G. Kargl <kargl@gcc.gnu.org>
495
496 PR fortran/85542
497 Backport from trunk
498 * expr.c (check_inquiry): Avoid NULL pointer dereference.
491f0d87 499
e41047ce
SK
5002018-05-11 Steven G. Kargl <kargl@gcc.gnu.org>
501
502 PR fortran/70870
503 Backport from trunk
504 * data.c (gfc_assign_data_value): Check that a data object does
505 not also have default initialization.
506
3eee1299
SK
5072018-05-11 Steven G. Kargl <kargl@gcc.gnu.org>
508
509 PR fortran/85521
510 Backport from trunk
511 * array.c (gfc_resolve_character_array_constructor): Substrings
512 with upper bound smaller than lower bound are zero length strings.
513
c46d6cbb
SK
5142018-05-11 Steven G. Kargl <kargl@gcc.gnu.org>
515
516 PR fortran/85687
517 Backport from trunk
518 * check.c (gfc_check_rank): Check that the argument is a data object.
519
408be5fc
PT
5202018-05-11 Paul Thomas <pault@gcc.gnu.org>
521
522 PR fortran/68846
523 PR fortran/70864
524 Backport from trunk
525 * resolve.c (get_temp_from_expr): The temporary must not have
526 dummy or intent attributes.
527
238b4836
AV
5282018-05-06 Andre Vehreschild <vehre@gcc.gnu.org>
529
530 PR fortran/85507
531 Backport from trunk.
532 * dependency.c (gfc_dep_resolver): Revert looking at coarray dimension
533 introduced by r259385.
534 * trans-intrinsic.c (conv_caf_send): Always report a dependency for
535 same variables in coarray assignments.
536
730af511
GA
5372018-05-02 Release Manager
538
539 * GCC 8.1.0 released.
540
58da192e
SK
5412018-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
542
543 PR fortran/85520
544 * decl.c (gfc_match_char_spec): Check for negative length and set to 0.
545
2368eaf9
AV
5462018-04-14 Andre Vehreschild <vehre@gcc.gnu.org>
547
548 PR fortran/81773
549 PR fortran/83606
550 * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored
551 during dependency computation. They define no data dependency.
552 * trans-array.c (conv_array_index_offset): The stride can not be set
553 here, prevent fail.
554 * trans-intrinsic.c (conv_caf_send): Add creation of temporary array
555 for caf_get's result and copying to the array with vectorial
556 indexing.
557
acd1559a
TK
5582018-04-14 Thomas Koenig <tkoenig@gcc.gnu.org>
559
560 PR fortran/85387
561 * frontend-passes.c (traverse_io_block): Check for start, end or
562 stride being defined by an outer implied DO loop.
563
bc436e10
TK
5642018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
565
566 PR fortran/83064
567 PR testsuite/85346
568 * trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind
569 for annotation and remove dependence on -ftree-parallelize-loops.
570
24f80aa4
JJ
5712018-04-10 Jakub Jelinek <jakub@redhat.com>
572
573 PR fortran/85313
574 * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;.
575 (resolve_oacc_nested_loops): Likewise. Formatting fix.
576
f0caea48
TK
5772018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
578
579 PR fortran/83064
580 * trans-stmt.c (gfc_trans_forall_loop): Remove annotation for
581 parallell processing of DO CONCURRENT -ftree-parallelize-loops
582 is set.
583
06e8d82e
TK
5842018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
585
586 PR fortran/51260
587 * resolve.c (resolve_variable): Simplify cases where access to a
588 parameter array results in a single constant.
589
078c5aff
TK
5902018-04-02 Thomas Koenig <tkoenig@gcc.gnu.org>
591
592 PR fortran/85102
593 * decl.c (variable_decl): If upper or lower bounds simplify
594 to a constant, use that.
595
0ada0dc0
PT
5962018-03-30 Paul Thomas <pault@gcc.gnu.org>
597
598 PR fortran/84931
599 * simplify.c (gfc_convert_constant): Handle case of array
600 constructors within an array that has no iterator and improve
601 the conciseness of this section of code.
602
cd6094bf
TK
6032017-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
604
605 PR fortran/85111
606 * array.c (gfc_resolve_character_array_constructor): Early
607 exit for zero-size arrays.
608 * simplify.c (simplify_transformation_to_array): Exit early
609 if the result size is zero.
610 (simplify_minmaxloc_to_array): Likewise.
611
9b0588e9
MM
6122018-03-28 Mikael Morin <mikael@gcc.gnu.org>
613
614 PR fortran/69497
615 * symbol.c (gfc_symbol_done_2): Start freeing namespaces
616 from the root.
0ada0dc0 617 (gfc_free_namespace): Restore assert (revert r258839).
9b0588e9 618
7ee4f6f3
JJ
6192018-03-28 Jakub Jelinek <jakub@redhat.com>
620
621 * gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
622 * ioparm.def (IOPARM_dt_default_exp): Rename to ...
623 (IOPARM_dt_dec_ext): ... this.
624 * trans-io.c (build_dt): Adjust for default_exp renaming to
625 dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
626 * io.c (match_io): Likewise.
627
ef22816c
TK
6282018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
629
630 PR fortran/85084
631 * frontend-passes.c (gfc_run_passes): Do not run front-end
632 optimizations if a previous error occurred.
633
13a7688f
TK
6342018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
635 Harald Anlauf <anlauf@gmx.de>
636
637 PR fortran/85083
638 * primary.c (gfc_convert_to_structure_constructor): Check
639 conformance of argument types in structure constructor.
640
a48718a2
TK
6412018-03-26 Thomas Koenig <tkoenig@gcc.gnu.org>
642
643 PR fortran/66709
644 * io.c: Include constructor.h.
645 (resolve_tag_format): For a constant character array, concatenate
646 into a single character expression.
647
a2b471e4
SJ
6482018-03-25 Seth Johnson <johnsonsr@ornl.gov>
649 Dominique d'Humieres <dominiq@gcc.gnu.org>
650
651 PR fortran/84924
652 * check.c (gfc_check_c_f_pointer): Allow scalar noninteroperable
653 scalar derived type with -std=f2003 and -std=f2008.
654
8954606d
JD
6552018-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
656 Dominique d'Humieres <dominiq@gcc.gnu.org>
657
12056b7c 658 PR fortran/69497
8954606d
JD
659 * symbol.c (gfc_free_namespace): Delete the assert and only if
660 refs count is equals zero, free the namespace. Otherwise,
661 something is halfway and other errors will resound.
662
335d0338
TK
6632018-03-24 Thomas Koenig <tkoenig@gcc.gnu.org>
664
665 PR fortran/70068
666 * expr.c (find_substring_ref): Change types of start, end
667 and length variables to gfc_charlen_t. Set length to zero
668 for empty substring.
669
ba77f7ba
SK
6702018-03-24 Steven G. Kargl <kargl@gcc.gnu.org>
671
672 PR fortran/42651
673 * decl.c (check_function_name): Improved error message
674 (gfc_match_volatile, gfc_match_asynchronous) Use check_function_name.
675
b74fa126
SK
6762018-03-22 Steven G. Kargl <kargl@gcc.gnu.org>
677
678 PR fortran/84922
679 * decl.c (get_proc_name): If the MODULE prefix appears in interface
680 body, then it must appear on the contained subroutine or function.
681 While here, fix nearby mis-indented code.
682
482768bd
TK
6832018-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
684 Harald Anlauf <anlauf@gmx.de>
685
686 PR fortran/84957
687 * trans-types.c (gfc_sym_type): Do not dereference NULL pointer.
688
983d49dd
JB
6892018-03-21 Janne Blomqvist <jb@gcc.gnu.org>
690
691 PR fortran/84615
692 * trans-expr.c (gfc_conv_procedure_call): Convert charlen to
693 gfc_charlen_type_node when calling procedure.
694
f11600c9
SK
6952018-03-20 Steven G. Kargl <kargl@gcc.gnu.org>
696
697 PR fortran/85001
698 * interface.c (symbol_rank): Remove bogus null pointer check that
983d49dd 699 crept in when translating a ternary operator into an if-else
f11600c9
SK
700 constructor.
701
949d0060
TK
7022018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
703
704 PR fortran/84931
705 * simplify.c (gfc_convert_constant): Correctly handle iterators
706 for type conversion.
707
96c8b253
SK
7082018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
709
710 PR fortran/77414
711 * decl.c (get_proc_name): Check for a subroutine re-defined in
712 the contain portion of a subroutine. Change language of existing
713 error message to better describe the issue. While here fix whitespace
714 issues.
715
81ea7c11
SK
7162018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
717
718 PR fortran/65453
719 * decl.c (get_proc_name): Catch clash between a procedure statement
720 and a contained subprogram
721
299ab1b2
SK
7222018-03-16 Steven G. Kargl <kargl@gcc.gnu.org>
723
724 PR fortran/69395
725 * decl.c (merge_array_spec): Correct the error condition.
726
64300da7
SK
7272018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
728
729 PR fortran/78741
730 * decl.c (get_proc_name): Check for clash of entry name with
731 subroutine name.
732
93d1ab50
SK
7332018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
734
735 PR fortran/69395
736 * decl.c (merge_array_spec): Limit the merging to maximum allowed
737 dimensions, and issue error message if limit is exceeded.
738
17164de4
SK
7392018-03-13 Steven G. Kargl <kargl@gcc.gnu.org>
740
741 * check.c (gfc_check_kill_sub): Remove check for INTEGER(4) or (8).
742 * intrinsic.c (add_functions): Remove reference to gfc_resolve_kill.
743 (add_subroutines): Remove reference to gfc_resolve_kill_sub.
744 * intrinsic.texi: Update documentation.
745 * iresolve.c (gfc_resolve_kill, gfc_resolve_kill_sub): Remove.
746 * trans-decl.c (gfc_build_intrinsic_function_decls): Add
747 gfor_fndecl_kill and gfor_fndecl_kill_sub
748 * trans-intrinsic.c (conv_intrinsic_kill, conv_intrinsic_kill_sub): new
749 functions.
750 (gfc_conv_intrinsic_function): Use conv_intrinsic_kill.
751 (gfc_conv_intrinsic_subroutine): Use conv_intrinsic_kill_sub.
752 * trans.h: Declare gfor_fndecl_kill and gfor_fndecl_kill_sub.
753
26219cee
PT
7542018-03-11 Paul Thomas <pault@gcc.gnu.org>
755
756 PR fortran/84546
757 * trans-array.c (structure_alloc_comps): Make sure that the
758 vptr is copied and that the unlimited polymorphic _len is used
759 to compute the size to be allocated.
760 * trans-expr.c (gfc_get_class_array_ref): If unlimited, use the
761 unlimited polymorphic _len for the offset to the element.
762 (gfc_copy_class_to_class): Set the new 'unlimited' argument.
763 * trans.h : Add the boolean 'unlimited' to the prototype.
1813c97a
SK
764
7652018-03-11 Steven G. Kargl <kargl@gcc.gnu.org>
766
767 PR fortran/83939
768 * resolve.c (resolve_fl_procedure): Enforce F2018:C15100.
769
fbe1f017
SK
7702018-03-11 Steven G. Kargl <kargls@gcc.gnu.org>
771
772 * check.c (gfc_check_kill): Check pid and sig are scalar.
773 (gfc_check_kill_sub): Restrict kind to 4 and 8.
774 * intrinsic.c (add_function): Sort keyword list. Add pid and sig
775 keywords for KILL. Remove redundant *back="back" in favor of the
776 original *bck="back".
777 (add_subroutines): Sort keyword list. Add pid and sig keywords
778 for KILL.
779 * intrinsic.texi: Fix documentation to consistently use pid and sig.
780 * iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8. Choose the
781 correct function.
782 (gfc_resolve_rename_sub): Add comment.
783
7842018-03-11 Thomas Koenig <tkoenig@gcc.gnu.org>
6f76317a
TK
785
786 PR fortran/66128
787 * simplify.c (simplify_transformation): Return default result for
788 empty array argument.
789 (gfc_simplify_all): Remove special-case handling for zerosize.
790 (gfc_simplify_any): Likewise.
791 (gfc_simplify_count): Likewise.
792 (gfc_simplify_iall): Likewise.
793 (gfc_simplify_iany): Likewise.
794 (gfc_simplify_iparity): Likewise.
795 (gfc_simplify_minval): Likewise.
796 (gfc_simplify_maxval): Likewise.
797 (gfc_simplify_norm2): Likewise.
798 (gfc_simplify_product): Likewise.
799 (gfc_simplify_sum): Likewise.
800
7d2fb01c
SK
8012018-03-10 Steven G. Kargl <kargl@gcc.gnu.org>
802
803 PR fortran/84734
804 * arith.c (check_result, eval_intrinsic): If result overflows, pass
805 the expression up the chain instead of a NULL pointer.
806
00df7c36
SK
8072018-03-07 Steven G. Kargl <kargl@gcc.gnu.org>
808
809 PR fortran/64124
810 PR fortran/70409
811 * decl.c (gfc_match_char_spec): Try to reduce a charlen to a constant.
812
5867bb9a
TK
8132017-03-06 Thomas Koenig <tkoenig@gcc.gnu.org>
814
815 PR fortran/84697
816 PR fortran/66128
817 * expr.c (simplify_parameter_variable): If p is a size zero array
818 and not an ARRAY_EXPR insert an empty array constructor and
819 return.
820 * gfortran.h: Add prototype for gfc_is_size_zero_array.
821 * simplify.c (is_size_zero_array): Make non-static and rename into
822 (gfc_is_size_zero_array): Check for parameter arrays of zero
823 size by comparing shape and absence of constructor.
824 (gfc_simplify_all): Use gfc_is_size_zero_array instead of
825 is_size_zero_array.
826 (gfc_simplify_count): Likewise.
827 (gfc_simplify_iall): Likewise.
828 (gfc_simplify_iany): Likewise.
829 (gfc_simplify_iparity): Likewise.
830 (gfc_simplify_minval): Likewise.
831 (gfc_simplify_maxval): Likewise.
832 (gfc_simplify_product): Likewise.
833 (gfc_simplify_sum): Likewise.
834
284ee475
SK
8352018-03-06 Steven G. Kargl <kargl@gcc.gnu.org>
836
837 PR fortran/56667
838 * primary.c (match_sym_complex_part): Give the matcher for an implied
839 do-loop a chance to run.
840
ac80378f
HA
8412018-03-03 Harald Anlauf <anlauf@gmx.de>
842
843 PR fortran/71085
844 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not
845 dereference NULL pointer.
846
94e6b5e5
SK
8472018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
848
849 PR fortran/66128
850 * simplify.c (is_size_zero_array): New function to check for size
851 zero array.
26219cee 852 (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
94e6b5e5
SK
853 gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity,
854 gfc_simplify_minval, gfc_simplify_maxval, gfc_simplify_norm2,
855 gfc_simplify_product, gfc_simplify_sum): Use it, and implement
856 requirements from F2018.
857
a900a060
SK
8582018-03-03 Steven G. Kargl <kargl@gcc.gnu.org>
859
860 PR fortran/51434
861 * simplify.c (gfc_simplify_transfer): Resolve mold.
862
c8bd326c
PT
8632018-03-03 Paul Thomas <pault@gcc.gnu.org>
864
865 PR fortran/80965
866 * resolve.c (build_loc_call): Change symtree name from 'loc' to
867 '_loc'.
868
71a93e81
PT
8692018-03-01 Paul Thomas <pault@gcc.gnu.org>
870
871 PR fortran/84219
872 * target-memory.c (gfc_interpret_derived): Assert that BT_VOID
873 components are caf tokens.
874 (gfc_target_interpret_expr): Treat BT_VOID expressions as
875 integers.
876
b120c8b2
PT
8772018-03-01 Paul Thomas <pault@gcc.gnu.org>
878
879 PR fortran/84538
880 * class.c (class_array_ref_detected): Remove the condition that
881 there be no reference after the array reference.
882 (find_intrinsic_vtab): Remove excess whitespace.
883 * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp'
884 as 'base and call build_class_array_ref earlier.
885
b14a13fa
PT
8862018-02-28 Paul Thomas <pault@gcc.gnu.org>
887
888 PR fortran/83901
889 * trans-stmt.c (trans_associate_var): Make sure that the se
890 expression is a pointer type before converting it to the symbol
891 backend_decl type.
892
09ef33c1
SK
8932018-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
894
895 PR fortran/83633
896 * decl.c (variable_decl): Check that an explicit-shape-array with
897 nonconstant bounds is allowed.
898
8fba26f4
PT
8992018-02-25 Paul Thomas <pault@gcc.gnu.org>
900
901 PR fortran/84523
902 * trans-intrinsic.c (gfc_conv_allocated): If the argument se
903 has a pre block, add it to the expression pre block.
904
6ef1366a
TK
9052018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org>
906
907 PR fortran/78238
908 * gfortran.h (gfc_integer_4_kind): Define.
909 * resolve.c (resolve_select_type): Make sure that the
910 kind of c->high is gfc_integer_4_kind.
911
c034c38f
SK
9122018-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
913
914 PR fortran/30792
915 * decl.c (gfc_match_data): Check for invalid substring in
916 data-implied-do
917
161ac473
SK
9182018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
919
920 * intrinsic.texi: Arguments to MATMUL cannot both be rank one.
921
a26f63a8
SK
9222018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
923
924 PR fortran/84511
925 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement.
926
3453b6aa
SK
9272018-02-23 Steven G. Kargl <kargl@gcc.gnu.org>
928
929 PR fortran/84346
930 * interface.c (compare_actual_formal): Issue error if keyword is
931 used in a statement function.
932
55ebc31f
JD
9332018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
934
935 PR fortran/84506
936 * trans-io.c (set_parameter_value_inquire): Adjust range check of
937 negative unit values for kind=8 units to the kind=4 negative limit.
938
1996c75e
PT
9392018-02-23 Paul Thomas <pault@gcc.gnu.org>
940
941 PR fortran/83149
942 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before
943 accessing its components.
944
6869c12d
PT
9452018-02-23 Paul Thomas <pault@gcc.gnu.org>
946
947 PR fortran/83149
948 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name
949 before accessing its components.
950
c287dea0
PT
9512018-02-23 Paul Thomas <pault@gcc.gnu.org>
952
953 PR fortran/83148
954 * trans-const.c : Clean up some whitespace issues.
955 * trans-expr.c (gfc_conv_initializer): If an iso_c_binding
956 derived type has a kind value of zero, set it to the default
957 integer kind.
958
dffb1e22
JB
9592018-02-23 Janne Blomqvist <jb@gcc.gnu.org>
960
961 PR fortran/84519
962 * trans-decl.c (gfc_build_builtin_function_decls): Add bool
963 argument to stop and error stop decls.
964 * trans-stmt.c (gfc_trans_stop): Add false value to argument
965 lists.
966
6cc22cf4
JB
9672018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
968
969 PR 78534
970 PR 84509
971 * trans-decl.c (gfc_build_builtin_function_decls): Pass
972 gfc_int8_type node to pause_numeric, size_type_node to
973 pause_string.
974 * trans-stmt.c (gfc_trans_pause): Likewise.
975
3f5fabc0
JB
9762018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
977
978 * gfortran.texi: Update Coarray API description.
979 * trans-decl.c (gfc_build_builtin_function_decls): Use size_t for
980 character lengths, int for exit codes.
981 (generate_coarray_sym_init): Use size_t for character length.
982 * trans-intrinsic.c (conv_co_collective): Likewise.
983 * trans-stmt.c (gfc_trans_lock_unlock): Likewise.
984 (gfc_trans_event_post_wait): Likewise.
985 (gfc_trans_sync): Likewise.
986 (gfc_trans_stop): Use size_t for character lengths, int for exit
987 codes.
988
04946c6b
TK
9892018-02-20 Thomas Koenig <tkoenig@gcc.gnu.org>
990
991 PR fortran/48890
992 PR fortran/83823
993 * primary.c (gfc_convert_to_structure_constructor):
994 For a constant string constructor, make sure the length
995 is correct.
996
5c60dbc1
PT
9972018-02-19 Paul Thomas <pault@gcc.gnu.org>
998
999 PR fortran/83344
1000 PR fortran/83975
1001 * resolve.c (resolve_assoc_var): Rearrange the logic for the
1002 determination of the character length of associate names. If
1003 the associate name is missing a length expression or the length
1004 expression is not a constant and the target is not a variable,
1005 make the associate name allocatable and deferred length.
1006 * trans-decl.c (gfc_get_symbol_decl): Null the character length
1007 backend_decl for deferred length associate names that are not
1008 variables. Set 'length' to gfc_index_zero_node for character
1009 associate names, whose character length is a PARM_DECL.
1010
d48fc34a
TK
10112018-02-19 Thomas Koenig <tkoenig@gcc.gnu.org>
1012
1013 PR fortran/35339
1014 * frontend-passes.c (traverse_io_block): Remove workaround for
1015 PR 80945.
1016
87e8aa3b
AV
10172018-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
1018
1019 * gfortran.texi: Document additional src/dst_type. Fix some typos.
1020 * trans-decl.c (gfc_build_builtin_function_decls): Declare the new
1021 argument of _caf_*_by_ref () with * e { get, send, sendget }.
1022 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Add the type of the
1023 data referenced when generating a call to caf_get_by_ref ().
1024 (conv_caf_send): Same but for caf_send_by_ref () and
1025 caf_sendget_by_ref ().
1026
26eacfe8
JD
10272018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1028
1029 PR fortran/84389
1030 * io.c (check_format): Allow FMT_COLON.
1031
d5ace305
PT
10322018-02-18 Paul Thomas <pault@gcc.gnu.org>
1033
1034 PR fortran/80945
1035 * trans-array.c (gfc_conv_expr_descriptor): Set parmtype from
1036 the typenode in the case of deferred length characters.
1037
aab20638
TK
10382018-02-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1039
1040 PR fortran/84270
1041 * frontend-passes (scalarized_expr): If the expression
1042 is an assumed size array, leave in the last reference
1043 and pass AR_SECTION instead of AR_FULL to gfc_resolve
1044 in order to avoid an error.
1045
a8399af8
PT
10462018-02-17 Paul Thomas <pault@gcc.gnu.org>
1047
1048 PR fortran/84115
1049 * resolve.c (resolve_assoc_var): If a non-constant target expr.
1050 has no string length expression, make the associate variable
1051 into a deferred length, allocatable symbol.
1052 * trans-decl.c (gfc_is_reallocatable_lhs): Add and use a ptr to
1053 the symbol.
1054 * trans-stmt.c (trans_associate_var): Null and free scalar
1055 associate names that are allocatable. After assignment, remove
1056 the allocatable attribute to prevent reallocation.
1057
83d9be55
JJ
10582018-02-16 Jakub Jelinek <jakub@redhat.com>
1059
1060 PR fortran/84418
1061 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF
1062 kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step.
1063
10642018-02-16 Dominique d'Humieres <dominiq@gcc.gnu.org>
71a21b9e
DH
1065
1066 PR fortran/84354
1067 * decl.c (gfc_get_pdt_instance): Replace '%qs' with %qs.
1068
f3ad8745
JW
10692018-02-15 Janus Weil <janus@gcc.gnu.org>
1070
1071 PR fortran/84409
1072 * interface.c (check_dtio_arg_TKR_intent): Add a check for character
1073 length.
1074
ee3bb1b7
JW
10752018-02-14 Janus Weil <janus@gcc.gnu.org>
1076
1077 PR fortran/84385
1078 * match.c (gfc_match_select_type): Fix check for selector in
1079 SELECT TYPE statement.
1080
4155fafc
JW
10812018-02-13 Janus Weil <janus@gcc.gnu.org>
1082
1083 PR fortran/84313
1084 * symbol.c (check_conflict): Reject procedure pointers in common blocks.
1085
7b47686d
AM
10862018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie>
1087 Janne Blomqvist <jb@gcc.gnu.org>
1088
1089 * module.c (dump_module): Use lbasename to ensure that module
1090 files are reproducible.
1091
24abcc44
JW
10922018-02-12 Janus Weil <janus@gcc.gnu.org>
1093
1094 PR fortran/84273
1095 * resolve.c (resolve_component): Fix checks of passed argument in
1096 procedure-pointer components.
1097
6a793a8d
FXC
10982018-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1099
1100 PR fortran/35299
1101 * resolve.c (resolve_formal_arglist): Update error message.
1102
61fad608
AV
11032018-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
1104
1105 * gfortran.texi: Fix typos in documentation of caf_register ().
1106 * trans-array.c (structure_alloc_comps): Only register a component of
1107 a derived typed corray, not of an ultimate component coarray.
1108
f3883269
SK
11092018-02-11 Steven G. Kargl <kargl@gcc.gnu.org>
1110
1111 PR fortran/54223
1112 PR fortran/84276
1113 * interface.c (compare_actual_formal): Add in_statement_function
1114 bool parameter. Skip check of INTENT attribute for statement
1115 functions. Arguments to a statement function cannot be optional,
1116 issue error for missing argument.
1117 (gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use
1118 in_statement_function.
1119
e519d2e8
PT
11202018-02-11 Paul Thomas <pault@gcc.gnu.org>
1121
1122 PR fortran/84074
1123 * trans-expr.c (gfc_conv_derived_to_class): Set the use_offset
1124 flag. If the is a vector subscript or the expression is not a
1125 variable, make the descriptor one-based.
1126
950ab3f1
PT
11272018-02-10 Paul Thomas <pault@gcc.gnu.org>
1128
1129 PR fortran/84141
1130 PR fortran/84155
1131 * trans-array.c (gfc_array_init_size): Revert the change made
1132 in revision 257356 setting the dtype.
1133 * trans-types.c (gfc_get_dtype): Do not use the cached dtype.
1134 Call gfc_get_dtype_rank_type every time.
1135
1136 PR fortran/56691
1137 * trans-array.c (gfc_conv_expr_descriptor): If the source array
1138 is a descriptor type, use its offset, removing the condition
1139 that is be a class expression.
1140
b35a0ccd
SK
11412018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
1142
1143 PR fortran/82994
1144 * match.c (gfc_match_deallocate): Check for NULL pointer.
1145
82e259b8
TK
11462018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org>
1147
1148 PR fortran/68560
1149 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function.
1150 (gfc_conv_intrinsic_function): Call it.
1151
52b16cb3
SK
11522018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
1153
1154 PR fortran/82049
1155 * match.c (gfc_match_type_spec): If the charlen is non-NULL, then
1156 try to resolve it. While here return early if possible.
1157
26f822c2
PT
11582018-02-04 Paul Thomas <pault@gcc.gnu.org>
1159
1160 PR fortran/84115
1161 * trans-decl.c (gfc_get_symbol_decl): Do not finish the decl of
1162 'length' if the symbol charlen backend_decl is an indirect ref.
1163
2c536ce7
PT
11642018-02-03 Paul Thomas <pault@gcc.gnu.org>
1165
1166 PR fortran/84141
1167 PR fortran/84155
1168 * trans-array.c (gfc_array_init_size): Instead of gfc_get_dtype
1169 use gfc_get_dtype_rank_type.
1170
ae976c33
JB
11712018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
1172
1173 PR 83975
1174 PR 83344
1175 * resolve.c (resolve_assoc_var): Generate an error if
1176 target length unknown.
1177
eae4d8fb
JB
11782018-02-01 Janne Blomqvist <jb@gcc.gnu.org>
1179
1180 PR fortran/83705
1181 * simplify.c (gfc_simplify_repeat): Increase limit for deferring
1182 to runtime, print a warning message.
1183
c9243c04
JJ
11842018-01-31 Jakub Jelinek <jakub@redhat.com>
1185
1186 PR fortran/84116
1187 * openmp.c (gfc_match_omp_clauses): If all the linear
1188 gfc_match_omp_variable_list calls failed, don't gfc_free_omp_namelist
1189 nor set *head = NULL. Formatting fixes.
1190
1af73491
PT
11912018-01-31 Paul Thomas <pault@gcc.gnu.org>
1192
1193 PR fortran/84088
1194 * trans-expr.c (gfc_conv_procedure_call): If the parm expr is
1195 an address expression passed to an assumed rank dummy, convert
1196 to an indirect reference.
1197
125a677d
TK
11982018-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
1199
1200 * dump-parse-tree.c (write_proc): Use sym_name (which may
1201 be sym->binding_label) instead of sym->name.
1202
949b40a4
JB
12032018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
1204
1205 * trans-const.c (gfc_conv_string_init): Use gfc_charlen_t instead
1206 of int for slen.
1207
9f3dcd14
JB
12082018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
1209
1210 PR fortran/78534
1211 * trans-expr.c (fill_with_spaces): Use memset instead of
1212 generating loop.
1213 (gfc_trans_string_copy): Improve opportunity to use builtins with
1214 constant lengths.
1215
f2adfb89
JJ
12162018-01-30 Jakub Jelinek <jakub@redhat.com>
1217
1218 PR debug/84131
1219 * trans-array.c (gfc_get_descriptor_offsets_for_info): Set *data_off
1220 to DATA_FIELD's offset rather than OFFSET_FIELD's offset.
1221
125a677d 12222018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
8fb2cc6b
TK
1223
1224 PR fortran/84134
1225 * array.c (gfc_ref_dimen_size): Whitespace fixes. If stride is
1226 zero, return false.
1227
dca9e8be
TK
12282018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1229
1230 PR fortran/84133
1231 * frontend-passes (matmul_to_var_expr): Return early if
1232 in association list.
1233 (inline_matmul_assign): Likewise.
1234
3be34c0b
TK
12352017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
1236
1237 PR fortran/84073
1238 * resolve.c (resolve_component): Ensure BIND(C) character
1239 components have length one.
1240 (resolve_symbol): Likewise for variables.
1241
aeb8c028
JJ
12422018-01-27 Jakub Jelinek <jakub@redhat.com>
1243
1244 PR fortran/84065
1245 * decl.c (add_init_expr_to_sym): Ignore initializers for too large
1246 lengths.
1247
f8862a1b 12482018-01-26 Damian Rouson <damian@sourceryinstitute.org>
aeb8c028
JJ
1249 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
1250 Soren Rasmussen <s.c.rasmussen@gmail.com>
f8862a1b
DR
1251
1252 Partial support for Fortran 2018 teams features.
1253
1254 * array.c (gfc_match_array_ref): add team attribute in coarray
1255 transfers.
1256 * check.c (gfc_check_get_team, gfc_check_team_number): add new
1257 functions for get_team and team_number.
1258 * dump-parse-tree.c (show_code_node): add new statements: form team,
1259 change team, end team, and sync team.
1260 * expr.c (gfc_find_team_co): add new function.
1261 * gfortran.h: add new statements.
1262 * intrinsic.c (add_functions): add get_team and team_number functions.
1263 * intrinsic.h: add get_team and team_number prototypes for check,
1264 simplify, and resolve.
1265 * iresolve.c (gfc_resolve_get_team, gfc_resolve_team_number): add new
1266 functions.
1267 * iso-fortran-env.def: add the team_type derived type.
1268 * match.c (gfc_match_if, gfc_match_form_team, gfc_match_team_number)
1269 (gfc_match_end_team, gfc_match_sync_team, gfc_match_change_team):
1270 add change team, end team, form team, sync team match and functions.
1271 * match.h: add new prototypes for change team, end team, form team,
1272 and sync team.
1273 * parse.c (decode_statement): add cases for change team, end team,
1274 form team, and sync team.
1275 * resolve.c: add cases for exec form team, change team, end team, and
1276 sync team.
1277 * simplify.c (gfc_simplify_get_team): add new function for get team.
1278 * st.c (gfc_free_statement): add cases exec for change team, end team,
1279 form team, sync team.
1280 * trans-decl.c (gfor_fndecl_caf_form_team)
1281 (gfor_fndecl_caf_change_team, gfor_fndecl_caf_end_team)
1282 (gfor_fndecl_caf_sync_team, gfor_fndecl_caf_get_team)
1283 (gfor_fndecl_caf_team_number): add functions and definitions.
1284 * trans-intrinsic.c (conv_caf_send, conv_intrinsic_team_number): add
1285 new function and team_type argument support.
1286 * trans-stmt.c (gfc_trans_form_team, gfc_trans_change_team)
1287 (gfc_trans_end_team, gfc_trans_sync_team): add new functions.
1288 * trans-stmt.h: add new prototypes.
1289 * trans-types.c (gfc_get_derived_type): check condition for team_type.
1290 * trans.c (trans_code): new exec cases for form team, change team, end
1291 team, and sync team.
1292 * trans.h: add new prototypes.
1293
deece1aa
SK
12942018-01-26 Steven G. Kargl <kargl@gcc.gnu.org>
1295
1296 PR fortran/83998
1297 * simplify.c (compute_dot_product): Initialize result to INTEGER(1) 0
1298 or .false. The summation does the correct type conversion.
1299 (gfc_simplify_dot_product): Special case zero-sized arrays.
1300
7fb43006
PT
13012018-25-01 Paul Thomas <pault@gcc.gnu.org>
1302
1303 PR fortran/37577
1304 * array.c (gfc_match_array_ref): If standard earlier than F2008
1305 it is an error if the reference dimension is greater than 7.
1306 libgfortran.h : Increase GFC_MAX_DIMENSIONS to 15. Change the
1307 dtype masks and shifts accordingly.
1308 * trans-array.c (gfc_conv_descriptor_dtype): Use the dtype
1309 type node to check the field.
1310 (gfc_conv_descriptor_dtype): Access the rank field of dtype.
1311 (duplicate_allocatable_coarray): Access the rank field of the
1312 dtype descriptor rather than the dtype itself.
1313 * trans-expr.c (get_scalar_to_descriptor_type): Store the type
1314 of 'scalar' on entry and use its TREE_TYPE if it is ARRAY_TYPE
1315 (ie. a character).
1316 (gfc_conv_procedure_call): Pass TREE_OPERAND (tmp,0) to
1317 get_scalar_to_descriptor_type if the actual expression is a
1318 constant.
1319 (gfc_trans_structure_assign): Assign the rank directly to the
1320 dtype rank field.
1321 * trans-intrinsic.c (gfc_conv_intrinsic_rank): Cast the result
1322 to default integer kind.
1323 (gfc_conv_intrinsic_sizeof): Obtain the element size from the
1324 'elem_len' field of the dtype.
1325 * trans-io.c (gfc_build_io_library_fndecls): Replace
1326 gfc_int4_type_node with dtype_type_node where necessary.
1327 (transfer_namelist_element): Use gfc_get_dtype_rank_type for
1328 scalars.
1329 * trans-types.c : Provide 'get_dtype_type_node' to acces the
1330 dtype_type_node and, if necessary, build it.
1331 The maximum size of an array element is now determined by the
1332 maximum value of size_t.
1333 Update the description of the array descriptor, including the
1334 type def for the dtype_type.
1335 (gfc_get_dtype_rank_type): Build a constructor for the dtype.
1336 Distinguish RECORD_TYPEs that are BT_DERIVED or BT_CLASS.
1337 (gfc_get_array_descriptor_base): Change the type of the dtype
1338 field to dtype_type_node.
1339 (gfc_get_array_descr_info): Get the offset to the rank field of
1340 the dtype.
1341 * trans-types.h : Add a prototype for 'get_dtype_type_node ()'.
1342 * trans.h : Define the indices of the dtype fields.
1343
f59986b2
PT
13442018-23-01 Paul Thomas <pault@gcc.gnu.org>
1345
1346 PR fortran/83866
1347 * decl.c (gfc_match_derived_decl): If eos not matched, recover
1348 and emit error about garbage after declaration.
1349
84ee745e
PT
13502018-23-01 Paul Thomas <pault@gcc.gnu.org>
1351
1352 PR fortran/83898
1353 * trans-stmt.c (trans_associate_var): Do not set cst_array_ctor
1354 for characters.
1355
6b271a2e
JB
13562018-01-22 Janne Blomqvist <jb@gcc.gnu.org>
1357
1358 PR 78534
1359 PR 83704
1360 * arith.c (gfc_arith_concat): Use size_t for string length.
1361 (gfc_compare_string): Likewise.
1362 (gfc_compare_with_Cstring): Likewise.
1363 * array.c (gfc_resolve_character_array_constructor): Use
1364 HOST_WIDE_INT, gfc_mpz_get_hwi.
1365 * check.c (gfc_check_fe_runtime_error): Use size_t.
1366 * data.c (create_character_initializer): Use HOST_WIDE_INT,
1367 gfc_extract_hwi.
1368 * decl.c (gfc_set_constant_character_len): Use gfc_charlen_t.
1369 (add_init_expr_to_sym): Use HOST_WIDE_INT.
1370 * expr.c (gfc_build_init_expr): Use HOST_WIDE_INT,
1371 gfc_extract_hwi.
1372 (gfc_apply_init): Likewise.
1373 * match.h (gfc_set_constant_character_len): Update prototype.
1374 * primary.c (match_string_constant): Use size_t.
1375 * resolve.c (resolve_ordinary_assign): Use HOST_WIDE_INT,
1376 gfc_mpz_get_hwi.
1377 * simplify.c (init_result_expr): Likewise.
1378 (gfc_simplify_len_trim): Use size_t.
1379 * target-memory.c (gfc_encode_character): Use size_t.
1380 (gfc_target_encode_expr): Use HOST_WIDE_INT, gfc_mpz_get_hwi.
1381 (interpret_array): Use size_t.
1382 (gfc_interpret_character): Likewise.
1383 * target-memory.h (gfc_encode_character): Update prototype.
1384 (gfc_interpret_character): Likewise.
1385 (gfc_target_interpret_expr): Likewise.
1386 * trans-const.c (gfc_build_string_const): Use size_t for length
1387 argument.
1388 (gfc_build_wide_string_const): Likewise.
1389 * trans-const.h (gfc_build_string_const): Likewise.
1390 (gfc_build_wide_string_const): Likewise.
1391
f5240750
SK
13922018-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
1393
1394 PR fortran/83900
1395 * simplify.c (gfc_simplify_matmul): Set return type correctly.
1396
f18fee82
SK
13972018-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
1398
1399 PR fortran/83900
1400 * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
1401
fcf79237
HA
14022018-01-17 Harald Anlauf <anlauf@gmx.de>
1403
1404 PR fortran/83864
1405 * expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
1406
c004a341
HA
14072018-01-17 Harald Anlauf <anlauf@gmx.de>
1408
1409 PR fortran/83874
1410 * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
1411
75a3c61a
LK
14122018-01-15 Louis Krupp <louis.krupp@zoho.com>
1413
1414 PR fortran/82257
1415 * interface.c (compare_rank): Don't try to retrieve CLASS_DATA
1416 from symbol marked unlimited polymorphic.
1417 * resolve.c (resolve_structure_cons): Likewise.
1418 * misc.c (gfc_typename): Don't dereference derived->components
1419 if it's NULL.
1420
64b1806b
TK
14212018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
1422
1423 PR fortran/54613
1424 * gfortran.h (gfc_check_f): Rename f4ml to f5ml.
1425 (gfc_logical_4_kind): New macro
1426 * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument.
1427 (gfc_simplify_maxloc): Likewise.
1428 (gfc_resolve_maxloc): Likewise.
1429 (gfc_resolve_minloc): Likewise.
1430 * check.c (gfc_check_minloc_maxloc): Add checking for "back"
1431 argument; also raise error if it is used (for now). Add it
1432 if it isn't present.
1433 * intrinsic.c (add_sym_4ml): Rename to
1434 (add_sym_5ml), adjust for extra argument.
1435 (add_functions): Add "back" constant. Adjust maxloc and minloc
1436 for back argument.
1437 * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is
1438 not of gfc_logical_4_kind, convert.
1439 (gfc_resolve_minloc): Likewise.
1440 * simplify.c (gfc_simplify_minloc): Add back argument.
1441 (gfc_simplify_maxloc): Likewise.
1442 * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last
1443 argument to %VAL to ensure passing by value.
1444 (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc
1445 also for library calls.
1446
f208c5cc
JD
14472018-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1448
1449 PR fortran/82007
1450 * resolve.c (resolve_transfer): Delete code looking for 'DT'
1451 format specifiers in format strings. Set formatted to true if a
1452 format string or format label is present.
1453 * trans-io.c (get_dtio_proc): Likewise. (transfer_expr): Fix
1454 whitespace.
64b1806b 1455
83d9be55 14562018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
39f309ac
TK
1457
1458 PR fortran/83744
1459 * dump-parse-tree.c (get_c_type_name): Remove extra line.
1460 Change for loop to use declaration in for loop. Handle BT_LOGICAL
1461 and BT_CHARACTER.
1462 (write_decl): Add where argument. Fix indentation. Replace
1463 assert with error message. Add typename to warning
1464 in comment.
1465 (write_type): Adjust locus to call of write_decl.
1466 (write_variable): Likewise.
1467 (write_proc): Likewise. Replace assert with error message.
1468
567a6e1c
PT
14692018-01-13 Paul Thomas <pault@gcc.gnu.org>
1470
1471 PR fortran/52162
1472 * trans-expr.c (gfc_trans_scalar_assign): Flag is_alloc_lhs if
1473 the rhs expression is neither an elemental nor a conversion
1474 function.
1475
1476 PR fortran/83622
1477 * trans-array.c (is_pointer_array): Remove unconditional return
1478 of false for -fopenmp.
1479
83d9be55 14802018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
700b62cc
TK
1481 <emsr@gcc.gnu.org>
1482
1483 PR fortran/83803
1484 * dump-parse-tree.c (write_proc): Always emit closing parenthesis
1485 for functions.
1486
bdd82c9b
SK
14872018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
1488
1489 PR fortran/82367
1490 * resolve.c (resolve_allocate_expr): Check for NULL pointer.
1491
266404a8
SK
14922018-01-10 Steven G. Kargl <kargl@gcc.gnu.org>
1493
1494 PR fortran/83093
1495 * resolve.c (resolve_charlen): Check the type of cl->length
1496 after resolution.
1497
85c2c761
JB
14982018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
1499
e10e60cb
JB
1500 PR fortran/83740
1501 * trans-array.c (gfc_trans_array_ctor_element): Fix formatting.
1502
15032018-01-10 Janne Blomqvist <jb@gcc.gnu.org>
1504
1505 PR fortran/83740
85c2c761
JB
1506 * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the
1507 LHS type when assigning.
1508
d4319ef8
SK
15092018-01-09 Steven G. Kargl <kargl@gcc.gnu.org>
1510
1511 PR fortran/83742
1512 * expr.c (gfc_is_simply_contiguous): Check for NULL pointer.
1513
8799df67
SK
15142018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
1515
1516 * match.c (gfc_match_allocate): Check for NULL pointer.
1517
a4f759de
SK
15182018-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
1519
1520 * expr.c (gfc_check_pointer_assign): Fix typo in comment.
1521
0b627b58
PT
15222018-01-08 Paul Thomas <pault@gcc.gnu.org>
1523
1524 PR fortran/83611
1525 * decl.c (gfc_get_pdt_instance): If parameterized arrays have
1526 an initializer, convert the kind parameters and add to the
1527 component if the instance.
1528 * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and
1529 use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable'
1530 for parameterized arrays. Clean up typos in comments. Convert
1531 parameterized array initializers and copy into the array.
1532 * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for
1533 parameterized types.
1534 *trans-stmt.c (trans_associate_var): Deallocate associate vars
1535 as necessary, when they are PDT function results for example.
1536
1537 PR fortran/83731
1538 * trans-array.c (structure_alloc_comps): Only compare len parms
1539 when they are declared explicitly.
1540
ee2d3987
JB
15412018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
1542
1543 PR fortran/50892
1544 * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to
1545 lhs type.
1546
f622221a
JB
15472018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
1548
1549 PR fortran/78534
1550 PR fortran/66310
1551 * array.c (got_charlen): Use gfc_charlen_int_kind.
1552 * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
1553 hardcoded kind.
1554 (find_intrinsic_vtab): Likewise.
1555 * decl.c (match_char_length): Use gfc_charlen_int_kind.
1556 (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind.
1557 (gfc_match_implicit): Use gfc_charlen_int_kind.
1558 * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t.
1559 (show_expr): Use HOST_WIDE_INT_PRINT_DEC.
1560 * expr.c (gfc_get_character_expr): Length parameter of type
1561 gfc_charlen_t.
1562 (gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
1563 (gfc_extract_hwi): New function.
1564 (simplify_const_ref): Make string_len of type gfc_charlen_t.
1565 (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
1566 * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind.
1567 * gfortran.h (gfc_mpz_get_hwi): New prototype.
1568 (gfc_mpz_set_hwi): Likewise.
1569 (gfc_charlen_t): New typedef.
1570 (gfc_expr): Use gfc_charlen_t for character lengths.
1571 (gfc_size_kind): New extern variable.
1572 (gfc_extract_hwi): New prototype.
1573 (gfc_get_character_expr): Use gfc_charlen_t for character length.
1574 (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
1575 * gfortran.texi: Update description of hidden string length argument.
1576 * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind.
1577 (gfc_resolve_char_achar): Likewise.
1578 (gfc_resolve_repeat): Pass string length directly without
1579 temporary, use gfc_charlen_int_kind.
1580 (gfc_resolve_transfer): Use gfc_charlen_int_kind.
1581 * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
1582 * misc.c (gfc_mpz_get_hwi): New function.
1583 (gfc_mpz_set_hwi): New function.
1584 * module.c (atom_int): Change type from int to HOST_WIDE_INT.
1585 (parse_integer): Don't complain about large integers.
1586 (write_atom): Use HOST_WIDE_INT for integers.
1587 (mio_integer): Handle integer type mismatch.
1588 (mio_hwi): New function.
1589 (mio_intrinsic_op): Use HOST_WIDE_INT.
1590 (mio_array_ref): Likewise.
1591 (mio_expr): Likewise.
1592 * primary.c (match_substring): Use gfc_charlen_int_kind.
1593 * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind.
1594 (resolve_character_operator): Likewise.
1595 (resolve_assoc_var): Likewise.
1596 (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf.
1597 (resolve_charlen): Use mpz_sgn to determine sign.
1598 * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
1599 instead of long.
1600 * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind.
1601 * target-memory.c (size_character): Length argument of type
1602 gfc_charlen_t.
1603 (gfc_encode_character): Likewise.
1604 (gfc_interpret_character): Use gfc_charlen_t.
1605 * target-memory.h (gfc_encode_character): Modify prototype.
1606 * trans-array.c (gfc_trans_array_ctor_element): Use existing type.
1607 (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type.
1608 (trans_array_constructor): Use existing type.
1609 (get_array_charlen): Likewise.
1610 * trans-const.c (gfc_conv_mpz_to_tree_type): New function.
1611 * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
1612 * trans-decl.c (gfc_trans_deferred_vars): Use existing type.
1613 (add_argument_checking): Likewise.
1614 * trans-expr.c (gfc_class_len_or_zero_get): Build const of type
1615 gfc_charlen_type_node.
1616 (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
1617 4, fold_convert to correct type.
1618 (gfc_conv_class_to_class): Build const of type size_type_node for
1619 size.
1620 (gfc_copy_class_to_class): Likewise.
1621 (gfc_conv_string_length): Use same type in expression.
1622 (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
1623 (gfc_conv_string_tmp): Make sure len is of the right type.
1624 (gfc_conv_concat_op): Use same type in expression.
1625 (gfc_conv_procedure_call): Likewise.
1626 (fill_with_spaces): Comment out memset() block due to spurious
1627 -Wstringop-overflow warnings.
1628 (gfc_trans_string_copy): Use gfc_charlen_type_node.
1629 (alloc_scalar_allocatable_for_subcomponent_assignment):
1630 fold_convert to right type.
1631 (gfc_trans_subcomponent_assign): Likewise.
1632 (trans_class_vptr_len_assignment): Build const of correct type.
1633 (gfc_trans_pointer_assignment): Likewise.
1634 (alloc_scalar_allocatable_for_assignment): fold_convert to right
1635 type in expr.
1636 (trans_class_assignment): Build const of correct type.
1637 * trans-intrinsic.c (gfc_conv_associated): Likewise.
1638 (gfc_conv_intrinsic_repeat): Do calculation in sizetype.
1639 * trans-io.c (gfc_build_io_library_fndecls): Use
1640 gfc_charlen_type_node for character lengths.
1641 (set_string): Convert to right type in assignment.
1642 * trans-stmt.c (gfc_trans_label_assign): Build const of
1643 gfc_charlen_type_node.
1644 (trans_associate_var): Likewise.
1645 (gfc_trans_character_select): Likewise.
1646 (gfc_trans_allocate): Likewise, don't typecast strlen result.
1647 (gfc_trans_deallocate): Don't typecast strlen result.
1648 * trans-types.c (gfc_size_kind): New variable.
1649 (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
1650 from size_type_node.
1651 * trans-types.h: Fix comment.
1652
fbd35ba1
TK
16532018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
1654
1655 PR fortran/83683
1656 PR fortran/45689
1657 * check.c (gfc_check_eoshift): Check for string length and
1658 for conformance of boundary.
1659 * intrinsic.c (add_functions): Add gfc_simplify_eoshift.
1660 * intrinsic.h: Add prototype for gfc_simplify_eoshift.
1661 * simplify.c (gfc_simplify_eoshift): New function.
1662
5c0caeb3
RS
16632018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1664 Alan Hayward <alan.hayward@arm.com>
1665 David Sherwood <david.sherwood@arm.com>
1666
1667 * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL.
1668
928686b1
RS
16692018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1670 Alan Hayward <alan.hayward@arm.com>
1671 David Sherwood <david.sherwood@arm.com>
1672
1673 * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p.
1674
8987beac
TK
16752018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
1676
1677 PR fortran/83664
1678 * check.c (gfc_check_eoshift): Error for missing boundary if array
1679 is not one of the standard types.
1680
65e6aea3
JJ
16812018-01-03 Jakub Jelinek <jakub@redhat.com>
1682
85ec4feb
JJ
1683 Update copyright years.
1684
65e6aea3
JJ
1685 * gfortranspec.c (lang_specific_driver): Update copyright notice
1686 dates.
1687 * gfc-internals.texi: Bump @copying's copyright year.
1688 * gfortran.texi: Ditto.
1689 * intrinsic.texi: Ditto.
1690 * invoke.texi: Ditto.
1691
a1d6c052
TK
16922017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1693
1694 PR fortran/45689
1695 * intrinsic.c (add_function): Add gfc_simplify_maxloc and
1696 gfc_simplify_minloc to maxloc and minloc, respectively.
1697 * intrinsic.h: Add prototypes for gfc_simplify_minloc
1698 and gfc_simplify_maxloc.
1699 * simplify.c (min_max_chose): Adjust prototype. Modify function
1700 to have a return value which indicates if the extremum was found.
1701 (is_constant_array_expr): Fix typo in comment.
1702 (simplify_minmaxloc_to_scalar): New function.
1703 (simplify_minmaxloc_nodim): New function.
1704 (new_array): New function.
1705 (simplify_minmaxloc_to_array): New function.
1706 (gfc_simplify_minmaxloc): New function.
1707 (simplify_minloc): New function.
1708 (simplify_maxloc): New function.
1709
a9ec0cfc
TK
17102018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1711
1712 PR fortran/45689
1713 PR fortran/83650
1714 * simplify.c (gfc_simplify_cshift): Re-implement to allow full
1715 range of arguments.
1716
f549bfb3
PT
17172018-01-01 Paul Thomas <pault@gcc.gnu.org>
1718
1719 PR fortran/83076
1720 * resolve.c (resolve_fl_derived0): Add caf_token fields for
1721 allocatable and pointer scalars, when -fcoarray selected.
1722 * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token
1723 field as well as the backend_decl.
1724 (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module
1725 derived types that are not vtypes. Components with caf_token
1726 attribute are pvoid types. For a component requiring it, find
1727 the caf_token field and have the component token field point to
1728 its backend_decl.
1729
1730 PR fortran/83319
1731 *trans-types.c (gfc_get_array_descriptor_base): Add the token
1732 field to the descriptor even when codimen not set.
21fa2a29 1733\f
65e6aea3 1734Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
1735
1736Copying and distribution of this file, with or without modification,
1737are permitted in any medium without royalty provided the copyright
1738notice and this notice are preserved.
This page took 3.330507 seconds and 5 git commands to generate.