]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
* gimple.h: Remove all includes.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
bc61cadb 12013-11-22 Andrew MacLeod <amacleod@redhat.com>
2
3 * trans.c: Add required include files from gimple.h.
4 * trans-expr.c: Likewise
5 * trans-openmp.c: Likewise
6
3df42822 72013-11-22 David Malcolm <dmalcolm@redhat.com>
8
9 * trans.c (trans_runtime_error_vararg): Remove use of input_line
10 macro.
11
e797f49f 122013-11-17 Andrew MacLeod <amacleod@redhat.com>
13
14 * fortran/trans-intrinsic.c: Include tree-nested.h.
15
e795d6e1 162013-11-14 Andrew MacLeod <amacleod@redhat.com>
17
18 * trans-expr.c: Include only gimplify.h and gimple.h as needed.
19 * trans-openmp.c: Likewise.
20
9ed99284 212013-11-14 Diego Novillo <dnovillo@google.com>
22
23 * decl.c: Include stringpool.h.
24 * iresolve.c: Include stringpool.h.
25 * match.c: Include stringpool.h.
26 * module.c: Include stringpool.h.
27 * target-memory.c: Include stor-layout.h.
28 * trans-common.c: Include stringpool.h.
29 Include stor-layout.h.
30 Include varasm.h.
31 * trans-const.c: Include stor-layout.h.
32 * trans-decl.c: Include stringpool.h.
33 Include stor-layout.h.
34 Include varasm.h.
35 Include attribs.h.
36 * trans-expr.c: Include stringpool.h.
37 * trans-intrinsic.c: Include stringpool.h.
38 Include tree-nested.h.
39 Include stor-layout.h.
40 * trans-io.c: Include stringpool.h.
41 Include stor-layout.h.
42 * trans-openmp.c: Include stringpool.h.
43 * trans-stmt.c: Include stringpool.h.
44 * trans-types.c: Include stor-layout.h.
45 Include stringpool.h.
46 * trans.c: Include stringpool.h.
47
a8783bee 482013-11-12 Andrew MacLeod <amacleod@redhat.com>
49
e795d6e1 50 * f95-lang.c: Don't include gimple.h.
51 * trans-array.c: Include gimple-expr.h instead of gimple.h.
52 * trans.c: Likewise.
53 * trans-decl.c: Likewise.
54 * trans-expr.c: Include gimplify.h.
55 * trans-openmp.c: Likewise.
a8783bee 56
987c72d3 572013-11-07 Janus Weil <janus@gcc.gnu.org>
58
59 PR fortran/58471
60 * primary.c (gfc_expr_attr): Check for result symbol.
61
5689abf7 622013-11-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
63
64 * gfortran.texi: Fix typo.
65
9148bda3 662013-11-05 Tobias Burnus <burnus@net-b.de>
67
68 * lang.opt (-Wdate-time): New option
69 * cpp.c (gfc_cpp_option_data): Add warn_date_time.
70 (gfc_cpp_init_options, gfc_cpp_handle_option,
71 gfc_cpp_post_options): Handle it and pass on to libcpp.
72
063d85f4 732013-11-05 Steven G. Kargl <kargl@gcc.gnu.org>
74
75 PR fortran/58989
76 * check.c (gfc_check_reshape): ensure that shape is a constant
77 expression.
78
c630ef93 792013-11-05 Tobias Burnus <burnus@net-b.de>
80
81 * lang.opt (fopenmp-simd): New option.
82 * gfortran.h (gfc_option_t): Add gfc_flag_openmp_simd.
83 * options.c (gfc_handle_option): Handle it.
84
d45f0c2b 852013-11-04 Ian Lance Taylor <iant@google.com>
86
87 * f95-lang.c (ATTR_LEAF_LIST): Define.
88
4442e7ec 892013-11-04 Paul Thomas <pault@gcc.gnu.org>
90
91 PR fortran/58771
92 * trans-io.c (transfer_expr): If the backend_decl for a derived
93 type is missing, build it with gfc_typenode_for_spec.
94
83149426 952013-11-04 Paul Thomas <pault@gcc.gnu.org>
96
97 PR fortran/57445
98 * trans-expr.c (gfc_conv_class_to_class): Remove spurious
99 assert.
100
4a3e34f7 1012013-10-29 Tobias Burnus <burnus@net-b.de>
102
103 PR fortran/44350
104 * parse.c (parse_spec): Add C1116 constraint
105 check for BLOCK DATA.
106
e0084199 1072013-10-29 Paul Thomas <pault@gcc.gnu.org>
108
d0874f12 109 PR fortran/58793
e0084199 110 * trans-types.c (gfc_typenode_for_spec): Add typenode for
111 BT_HOLLERITH. Note that the length is incorrect but unusable.
112
d0874f12 113 PR fortran/58858
e0084199 114 * target-memory.c (gfc_element_size): Add element sizes for
115 BT_VOID and BT_ASSUMED, using gfc_typenode_for_spec.
116
bd31c4a2 1172013-10-24 Tobias Burnus <burnus@net-b.de>
118
119 PR fortran/44646
120 * trans-stmt.c (struct forall_info): Add do_concurrent field.
121 (gfc_trans_forall_1): Set it for do concurrent.
122 (gfc_trans_forall_loop): Mark those as annot_expr_ivdep_kind.
123
f6437a8c 1242013-10-23 Tobias Burnus <burnus@net-b.de>
125
126 PR fortran/58793
127 * interface.c (compare_parameter): Reject passing TYPE(*)
128 to CLASS(*).
129
08b79708 1302013-10-22 Paul Thomas <pault@gcc.gnu.org>
131
132 PR fortran 57893
133 * class.c : Include target-memory.h.
134 (gfc_find_intrinsic_vtab) Build a minimal expression so that
135 gfc_element_size can be used to obtain the storage size, rather
136 that the kind value.
137
99014f81 1382013-10-21 Tobias Burnus <burnus@net-b.de>
139
140 PR fortran/58803
141 * decl.c (match_ppc_decl): Prevent later
142 double free.
143
7740abd8 1442013-10-17 Andrew MacLeod <amacleod@redhat.com>
145
146 * trans-openmp.c: Include omp-low.h.
147
43d3a024 1482013-10-16 Tobias Burnus <burnus@net-b.de>
149
150 PR fortran/58652
151 * interface.c (compare_parameter): Accept passing CLASS(*)
152 to CLASS(*).
153
d9338249 1542013-10-16 Tobias Burnus <burnus@net-b.de>
155
156 * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
157 Document omp_proc_bind_kind.
158
66d4dd66 1592013-10-15 Tobias Burnus <burnus@net-b.de>
160
161 PR fortran/58652
162 * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
163 of CLASS(*) variables.
164
3597d081 1652013-10-14 Tobias Burnus <burnus@net-b.de>
166
167 PR fortran/58658
168 * expr.c (gfc_check_vardef_context): Fix pointer diagnostic
169 for CLASS(*).
170
bc7bff74 1712013-10-11 Jakub Jelinek <jakub@redhat.com>
172
173 * trans-openmp.c (gfc_omp_clause_default_ctor,
174 gfc_omp_clause_dtor): Return NULL for OMP_CLAUSE_REDUCTION.
175 * f95-lang.c (ATTR_NULL, DEF_FUNCTION_TYPE_8): Define.
176 * types.def (DEF_FUNCTION_TYPE_8): Document.
177 (BT_FN_VOID_OMPFN_PTR_UINT,
178 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
179 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
180 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove.
181 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
182 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
183 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
184 BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT,
185 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
186 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
187 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New.
188
90acbb6e 1892013-10-10 Tobias Burnus <burnus@net-b.de>
190
191 PR fortran/58226
192 * options.c (gfc_get_option_string): Handle zero arg case.
193
4e2f90c0 1942013-10-02 Tobias Burnus <burnus@net-b.de>
195
196 PR fortran/58593
197 * trans-expr.c (gfc_conv_string_tmp): Fix obtaining
198 the byte size of a single character.
199
7e97b371 2002013-10-01 Tobias Burnus <burnus@net-b.de>
201
202 PR fortran/58579
203 * trans-expr.c (gfc_conv_string_tmp): Correctly obtain
204 the byte size of a single character.
205
3725dcd1 2062013-09-27 Janne Blomqvist <jb@gcc.gnu.org>
207
208 * intrinsic.texi (DATE_AND_TIME): Fix example.
209
aa5031a0 2102013-09-25 Tobias Burnus <burnus@net-b.de>
211
212 PR fortran/58436
213 * class.c (generate_finalization_wrapper): Handle CLASS(*).
214
a6a783dd 2152013-09-25 Tobias Burnus <burnus@net-b.de>
216
217 PR fortran/57697
218 PR fortran/58469
219 * resolve.c (generate_component_assignments): Avoid double free
220 at runtime and freeing a still-being used expr.
221
d7bdd629 2222013-09-25 Tom Tromey <tromey@redhat.com>
223
224 * Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
225 (gfortranspec.o): Remove.
226 (CFLAGS-fortran/gfortranspec.o): New variable.
227 (GFORTRAN_D_OBJS): Update.
228 ($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS)
229 (fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o)
230 (fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o)
231 (fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o)
232 (fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o)
233 (fortran/trans-array.o, fortran/trans-intrinsic.o)
234 (fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o)
235 (fortran/data.o, fortran/options.o, fortran/cpp.o)
236 (fortran/scanner.o, fortran/module.o): Remove.
237
96da1c1d 2382013-09-25 Tom Tromey <tromey@redhat.com>
239
240 * Make-lang.in (gfortranspec.o): Don't use subshell.
241
7a99bc9b 2422013-09-23 Janus Weil <janus@gcc.gnu.org>
243
244 PR fortran/58355
245 * decl.c (check_extended_derived_type): Prevent segfault, modify error
246 message.
247
68fc0d2a 2482013-09-20 Janus Weil <janus@gcc.gnu.org>
249
250 PR fortran/58099
251 * expr.c (gfc_check_pointer_assign): Remove second call to
252 'gfc_compare_interfaces' with swapped arguments.
253 * interface.c (gfc_compare_interfaces): Symmetrize the call to
254 'check_result_characteristics' by calling it with swapped arguments.
255
9bb02a7e 2562013-09-18 Tobias Burnus <burnus@net-b.de>
257
258 * expr.c (gfc_check_assign_symbol): Free lvalue.ref.
259
94ce0fae 2602013-09-18 Tobias Burnus <burnus@net-b.de>
261
262 PR fortran/43366
263 * primary.c (gfc_variable_attr): Also handle codimension.
264 * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic for
265 polymorphic assignment.
266
259172b6 2672013-09-16 Tobias Burnus <burnus@net-b.de>
268
269 PR fortran/58356
270 * class.c (generate_finalization_wrapper): Init proc_tree if
271 not yet resolved.
272
e50c06f2 2732013-09-16 Tobias Burnus <burnus@net-b.de>
274
275 PR fortran/57697
276 * resolve.c (generate_component_assignments): Correctly handle the
277 case that the LHS is not allocated.
278
991e1cc6 2792013-09-15 Tobias Burnus <burnus@net-b.de>
280
281 PR fortran/57697
282 * resolve.c (generate_component_assignments): Handle unallocated
283 LHS with defined assignment of components.
284
955edcde 2852013-09-12 Brooks Moses <bmoses@google.com>
286
287 PR driver/42955
288 * Make-lang.in: Do not install driver binaries in $(target)/bin.
289
1975a3bb 2902013-09-09 Tobias Burnus <burnus@net-b.de>
291
292 * invoke.texi (Error and Warning Options): Add hyphen.
293
8b8cc022 2942013-09-02 Thomas Koenig <tkoenig@gcc.gnu.org>
295
296 PR fortran/PR56519
297 * gfortran.h: Declare gfc_do_concurrent_flag as extern.
298 * resolve.c: Rename do_concurrent_flag to gfc_do_concurrent_flag
299 and make non-static.
300 (resolve_function): Use gfc_do_concurrent_flag instead of
301 do_concurrent_flag.
302 (pure_subroutine): Likewise.
303 (resolve_code): Likewise.
304 (resolve_types): Likewise.
305 * intrinsic.c (gfc_intrinsic_sub_interface): Raise error for
306 non-pure intrinsic subroutines within DO CONCURRENT.
307
1c302f04 3082013-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
309
310 PR fortran/52243
311 * trans-expr.c (is_runtime_conformable): New function.
312 * gfc_trans_assignment_1: Use it.
313
02e6443e 3142013-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
315
316 PR fortran/58146
317 * array.c (gfc_ref_dimen_size): If possible, use
318 gfc_dep_difference to calculate array refrence
319 sizes. Fall back to integer code otherwise.
320 * dependency.c (discard_nops). Move up.
321 Also discarde widening integer conversions.
322 (gfc_dep_compare_expr): Use discard_nops.
323
2fe59507 3242013-08-23 Mikael Morin <mikael@gcc.gnu.org>
325
326 PR fortran/57798
327 * trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
328 gfc_set_delta): Generate preliminary code before the outermost loop.
329
a29cc450 3302013-08-23 Janus Weil <janus@gcc.gnu.org>
331
332 PR fortran/57843
333 * interface.c (gfc_extend_assign): Look for type-bound assignment
334 procedures before non-typebound.
335
8b4bfd8d 3362013-08-23 Mikael Morin <mikael@gcc.gnu.org>
337
338 * trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
339 to the callers.
340 (gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.
341
3e4e48bc 3422013-08-22 Janus Weil <janus@gcc.gnu.org>
343
344 PR fortran/58185
345 * match.c (copy_ts_from_selector_to_associate): Only build class
346 container for polymorphic selector. Some cleanup.
347
48cb4748 3482013-08-20 Janus Weil <janus@gcc.gnu.org>
349
350 PR fortran/53655
351 * trans-decl.c (generate_local_decl): Check if type has any components.
352
837c3aa3 3532013-08-19 Janus Weil <janus@gcc.gnu.org>
354
355 PR fortran/46271
356 * openmp.c (resolve_omp_clauses): Bugfix for procedure pointers.
357
bfdfb835 3582013-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
359
360 PR fortran/56666
361 * gfortran.h (gfc_option_t): Add warn_zerotrip.
362 * invoke.texi (-Wzerotrip): Document option.
363 * lang.opt (Wzerotrip): Add.
364 * options.c (gfc_init_options): Initialize warn_zerotrip.
365 (set_Wall): Add handling of warn_zerotrip.
366 (gfc_handle_option): Handle OPT_Wzerotrip.
367 * resolve.c (gfc_resolve_iterator): Honor
368 gfc_option.warn_zerotrip; update error message to show
369 how to suppress the warning.
370
f1ab83c6 3712013-08-09 Janus Weil <janus@gcc.gnu.org>
372
373 * gfortran.h (gfc_get_code): Modified prototype.
374 * class.c (finalize_component, finalization_scalarizer,
375 finalization_get_offset, finalizer_insert_packed_call,
376 generate_finalization_wrapper, gfc_find_derived_vtab,
377 gfc_find_intrinsic_vtab): Use 'gfc_get_code'.
378 * io.c (match_io_iterator, match_io_element, terminate_io, get_io_list,
379 gfc_match_inquire): Call 'gfc_get_code' with argument.
380 * match.c (match_simple_forall, gfc_match_forall, gfc_match_goto,
381 gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where):
382 Ditto.
383 * parse.c (new_level): Ditto.
384 (add_statement): Use XCNEW.
385 * resolve.c (resolve_entries, resolve_allocate_expr,
386 resolve_select_type, build_assignment, build_init_assign): Call
387 'gfc_get_code' with argument.
388 * st.c (gfc_get_code): Add argument 'op'.
389 * trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code'
390 with argument.
391 * trans-stmt.c (gfc_trans_allocate): Ditto.
392
5e75682e 3932013-08-09 Janus Weil <janus@gcc.gnu.org>
394
395 PR fortran/58058
396 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
397 string, if necessary.
398
1f7747bd 3992013-08-06 Martin Jambor <mjambor@suse.cz>
400
401 PR fortran/57987
402 * trans-decl.c (gfc_generate_function_code): Never call
403 cgraph_finalize_function on nested functions.
404
2e42c60f 4052013-08-06 Janus Weil <janus@gcc.gnu.org>
406
407 PR fortran/57306
408 * class.c (gfc_class_null_initializer): Rename to
409 'gfc_class_initializer'. Treat non-NULL init-exprs.
410 * gfortran.h (gfc_class_null_initializer): Update prototype.
411 * trans-decl.c (gfc_get_symbol_decl): Treat class variables.
412 * trans-expr.c (gfc_conv_initializer): Ditto.
413 (gfc_trans_subcomponent_assign): Renamed gfc_class_null_initializer.
414
8bf47dde 4152013-07-30 Tobias Burnus <burnus@net-b.de>
416
417 PR fortran/57530
418 * symbol.c (gfc_type_compatible): A type is type compatible with
419 a class if both have the same declared type.
420 * interface.c (compare_type): Reject CLASS/TYPE even if they
421 are type compatible.
422
9919de52 4232013-07-30 Tobias Burnus <burnus@net-b.de>
424
425 PR fortran/57530
426 * trans-expr.c (gfc_trans_class_assign): Handle CLASS array
427 functions.
428 (gfc_trans_pointer_assign): Ditto and support pointer assignment of
429 a polymorphic var to a nonpolymorphic var.
430
16e3c896 4312013-07-22 Po Chang <pchang9@cs.wisc.edu>
432
433 * match.c (gfc_match_call): Exit loop after setting i.
434
435 * resolve.c (resolve_variable): Exit loop after setting seen.
436
437 * expr.c (gfc_check_pointer_assign): Exit loop after setting warn.
438
439 * trans-array.c (set_loop_bounds): Exit loop after setting
440 nonoptional_arr.
441
442 * trans-io.c (gfc_trans_transfer): Exit loop after setting seen_vector.
443
9986d8ae 4442013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org>
445
446 PR fortran/58009
447 * expr.c (gfc_check_vardef_context): Check for same values in
448 vector expression subscripts.
449
4772256c 4502013-07-27 Tobias Burnus <burnus@net-b.de>
451
452 PR fortran/57991
453 * interface.c (check_some_aliasing): Also warn for intent OUT/OUT.
454
324ff991 4552013-07-27 Janus Weil <janus@gcc.gnu.org>
456
457 PR fortran/57285
458 * check.c (dim_rank_check): Re-enable this check for CLASS arrays.
459
9ce53a40 4602013-07-25 Janus Weil <janus@gcc.gnu.org>
461
462 PR fortran/57966
463 * resolve.c (resolve_typebound_function): Make sure the declared type,
464 including its type-bound procedures, is resolved before resolving the
465 actual type-bound call.
466
149a9006 4672013-07-25 Janus Weil <janus@gcc.gnu.org>
468
469 PR fortran/57639
470 * interface.c (compare_parameter): Check for class_ok.
471 * simplify.c (gfc_simplify_same_type_as): Ditto.
472
9834e1b6 4732013-07-23 Ondřej Bílka <neleai@seznam.cz>
474
475 * decl.c: Fix comment typos.
476 * interface.c: Likewise.
477 * trans-array.c: Likewise.
478 * trans.c: Likewise.
479
2b0fbfde 4802013-07-22 Tobias Burnus <burnus@net-b.de>
481
482 PR fortran/57906
483 PR fortran/52052
484 * class.c (gfc_build_class_symbol): Set coarray_comp.
485 * trans-array.c (structure_alloc_comps): For coarrays,
486 directly use the data pointer address.
487
73bd65ab 4882013-07-22 Chang <pchang9@cs.wisc.edu>
489
490 * trans-decl.c (gfc_build_dummy_array_decl): Exit loop after
491 setting PACKED_PARTIAL.
492
a9f31558 4932013-07-22 Tobias Burnus <burnus@net-b.de>
494
495 * trans-array.c (gfc_array_allocate): Correct memory-leak patch.
496
415c1420 4972013-07-22 Tobias Burnus <burnus@net-b.de>
498
499 * trans-array.c (gfc_array_allocate,
500 gfc_trans_deferred_array): Plug memory leak.
501
9834e1b6 5022013-07-21 Ondřej Bílka <neleai@seznam.cz>
1cdfcee9 503
504 * trans-decl.c: Fix comment typos.
505 * trans-expr.c: Ditto.
506
7243e979 5072013-07-21 Thomas Koenig <tkoenig@gcc.gnu.org>
508
509 PR fortran/56937
510 * dependency.c (gfc_dep_resolver): Treat identical
511 array subscripts as identical; don't unconditionally
512 return a dependency if an array subscript is found.
513
eb429e06 5142013-07-21 Tobias Burnus <burnus@net-b.de>
515
516 PR fortran/35862
517 * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST,
518 GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines.
519
9e8bea80 5202013-07-21 Tobias Burnus <burnus@net-b.de>
521
522 PR fortran/57894
523 * check.c (min_max_args): Add keyword= check.
524
17d26abc 5252013-07-17 Mikael Morin <mikael@gcc.gnu.org>
526 Tobias Burnus <burnus@net-b.de>
527
528 PR fortran/57895
529 * match.c (gfc_match_name): Ensure that the error
530 message regarding -fdollar-ok gets printed.
531 (gfc_match_common): Avoid multiple freeing.
532
73e1d634 5332013-07-16 Tobias Burnus <burnus@net-b.de>
534
535 PR fortran/57912
536 * trans-expr.c (gfc_trans_scalar_assign): Correct if
537 condition for caf realloc.
538
2dec1d1b 5392013-07-15 Tobias Burnus <burnus@net-b.de>
540
541 * trans-array.h (gfc_deallocate_alloc_comp_no_caf,
542 gfc_reassign_alloc_comp_caf): New prototype.
543 * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF
544 and COPY_ALLOC_COMP_CAF.
545 (structure_alloc_comps): Handle it.
546 (gfc_reassign_alloc_comp_caf,
547 gfc_deallocate_alloc_comp_no_caf): New function.
548 (gfc_alloc_allocatable_for_assignment): Call it.
549 * trans-expr.c (gfc_trans_scalar_assign,
550 gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto.
551 * parse.c (parse_derived): Correctly set coarray_comp.
552 * resolve.c (resolve_symbol): Improve error wording.
553
77405744 5542013-07-15 Tobias Burnus <burnus@net-b.de>
555
556 PR fortran/37336
557 * trans.c (gfc_add_comp_finalizer_call): New function.
558 * trans.h (gfc_add_comp_finalizer_call): New prototype.
559 * trans-array.c (structure_alloc_comps): Call it.
560
92983bfd 5612013-07-14 Thomas Koenig <tkoenig@gcc.gnu.org>
562 Tobias Burnus <burnus@gcc.gnu.org>
563
564 PR fortran/52669
565 * trans-decl.c (gfc_finish_var_decl): Move setting of
566 PRIVATE for a module variable if the module has a private
567 default or -fmodule-private is given to...
568 (gfc_create_module_variable): here. Optionally
569 warn about private module variable which is not used.
570
c1482a32 5712013-07-08 Tobias Burnus <burnus@net-b.de>
572
573 PR fortran/57834
574 * check.c (is_c_interoperable): Add special case for c_f_pointer.
575 (explicit-size, gfc_check_c_f_pointer, gfc_check_c_loc): Update
576 call.
577
33c76bea 5782013-07-08 Tobias Burnus <burnus@net-b.de>
579
580 PR fortran/50554
581 * io.c (match_inquire_element): Add missing do-var check.
582
71ff9385 5832013-07-08 Tobias Burnus <burnus@net-b.de>
584
585 PR fortran/57785
586 * simplify.c (compute_dot_product): Complex conjugate for
587 dot_product.
588 (gfc_simplify_dot_product, gfc_simplify_matmul): Update call.
589
6992b8c8 5902013-07-08 Tobias Burnus <burnus@net-b.de>
591
592 PR fortran/57469
593 * trans-decl.c (generate_local_decl): Don't warn that
594 a dummy is unused, when it is in a namelist.
595
eec0c388 5962013-07-01 Dominique d'Humieres <dominiq@lps.ens.fr>
597
598 PR fortran/54788
599 * array.c (spec_size): handle the case as==NULL.
600
3a5a6289 6012013-06-26 Tobias Burnus <burnus@net-b.de>
602
603 PR fortran/29800
604 * trans-array.c (gfc_conv_array_ref): Improve out-of-bounds
605 diagnostic message.
606 * trans-array.c (gfc_conv_array_ref): Update prototype.
607 * trans-expr.c (gfc_conv_variable): Update call.
608
ef1adaf2 6092013-06-24 Steven G. Kargl <sgk@troutmask.apl.washington.edu>
610 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
611 Dominique d'Humieres <dominiq@lps.ens.fr>
612
613 PR fortran/52413
614 * simplify.c (gfc_simplify_fraction): Fix the sign of negative values.
615
6b3ceb4e 6162013-06-21 Tobias Burnus <burnus@net-b.de>
617
ef1adaf2 618 PR fortran/37336
6b3ceb4e 619 * trans-array.c (gfc_trans_deferred_array): Call the
620 finalizer for nonallocatable local variables.
621 * trans-decl.c (gfc_get_symbol_decl): Add local
622 finalizable vars to the deferred list.
623 (gfc_trans_deferred_vars): Call gfc_trans_deferred_array
624 for those.
625
be613ac9 6262013-06-21 Tobias Burnus <burnus@net-b.de>
627
628 * trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate
629 at least one byte.
630 * trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto.
631
7403e67b 6322013-06-20 Tobias Burnus <burnus@net-b.de>
633
634 * resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.
635
553e7cef 6362013-06-17 Tobias Burnus <burnus@net-b.de>
637
638 * gfortran.h (gfc_option_t): Add fpe_summary.
639 * gfortran.texi (_gfortran_set_options): Update.
640 * invoke.texi (-ffpe-summary): Add doc.
641 * lang.opt (ffpe-summary): Add flag.
642 * options.c (gfc_init_options, gfc_handle_option): Handle it.
643 (gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option,
644 also handle fpe_summary.
645 * trans-decl.c (create_main_function): Update
646 _gfortran_set_options call.
647
14460286 6482013-06-15 Mikael Morin <mikael@gcc.gnu.org>
649
650 PR fortran/49074
651 PR fortran/56136
652 * dependency.c (gfc_check_argument_var_dependency): Return 0 in the
653 array constructor case.
654
0e1d2bb3 6552013-06-14 Tobias Burnus <burnus@net-b.de>
656
657 PR fortran/57508
658 * resolve.c (get_temp_from_expr): Don't copy function
659 result attributes to temporary.
660
883d6776 6612013-06-14 Tobias Burnus <burnus@net-b.de>
662
663 PR fortran/57596
664 * trans-decl.c (gfc_trans_deferred_vars): Honor OPTIONAL
665 for nullify and deferred-strings' length variable.
666
b8351c16 6672013-06-13 Mikael Morin <mikael@gcc.gnu.org>
668
669 PR fortran/49074
670 * trans-expr.c (gfc_conv_variable): Don't walk the reference chain.
671 Handle NULL array references.
672 (gfc_conv_procedure_call): Remove code handling NULL array references.
673
86721945 6742013-06-11 Tobias Burnus <burnus@net-b.de>
675
676 PR fortran/57535
677 * trans-array.c (build_class_array_ref): Fix ICE for
678 function result variables.
679
942ba353 6802013-06-08 Tobias Burnus <burnus@net-b.de>
681
682 PR fortran/37336
683 * trans-decl.c (init_intent_out_dt): Call finalizer
17d26abc 684 when appropriate.
942ba353 685
b3453f4d 6862013-06-08 Tobias Burnus <burnus@net-b.de>
687
688 PR fortran/57553
689 * simplify.c (gfc_simplify_storage_size): Handle literal
690 strings.
691 * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
692 Add missing fold_convert.
693
aa21bb5d 6942013-06-07 Tobias Burnus <burnus@net-b.de>
695
696 PR fortran/57549
697 * array.c (gfc_match_array_constructor): Call
698 gfc_match_type_spec instead of gfc_match_decl_type_spec.
699 * match.c (gfc_match_type_spec): Renamed from match_type_spec.
700 (gfc_match_type_is, gfc_match_allocate): Update call.
701 * match.h (gfc_match_type_spec): Add prototype.
702
2dfe32eb 7032013-06-07 Tobias Burnus <burnus@net-b.de>
704
705 PR fortran/57556
706 * trans.c (gfc_build_final_call): Init block before use.
707
44b1f833 7082013-06-06 Tobias Burnus <burnus@net-b.de>
709
710 PR fortran/57542
711 * trans.c (gfc_build_final_call): Add se.pre to the block
712 and modify the assert.
713
afb69dbf 7142013-06-04 Tobias Burnus <burnus@net-b.de>
715
716 PR fortran/37336
717 * trans.h (gfc_build_final_call): Remove prototype.
718 (gfc_add_finalizer_call): Add prototype.
719 * trans-array.c (gfc_trans_dealloc_allocated): Support finalization.
720 (structure_alloc_comps): Update caller.
721 (gfc_trans_deferred_array): Call finalizer.
722 * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
723 * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize
724 variables of the main program.
725 * trans-expr.c (gfc_conv_procedure_call): Support finalization.
726 * trans-openmp.c (gfc_omp_clause_dtor,
727 gfc_trans_omp_array_reduction): Update calls.
728 * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
729 of alloc components.
730 * trans.c (gfc_add_finalizer_call): New function.
731 (gfc_deallocate_with_status,
732 gfc_deallocate_scalar_with_status): Call it
733 (gfc_build_final_call): Fix handling of scalar coarrays,
734 move up in the file and make static.
735
f3b719b3 7362013-06-01 Janus Weil <janus@gcc.gnu.org>
737 Mikael Morin <mikael@gcc.gnu.org>
738
739 * error.c (get_terminal_width): Only limit the width if we're
740 outputting to a terminal. Try to determine width via ioctl.
741
8d779aef 7422013-06-01 Tobias Burnus <burnus@net-b.de>
743
744 * decl.c (add_global_entry): Take locus.
745 (gfc_match_entry): Update call.
746 (gfc_match_end): Better error location.
747 * parse.c (parse_block_data, parse_module, add_global_procedure,
748 add_global_program): Use better locus data.
749
ab90be9c 7502013-05-31 Tobias Burnus <burnus@net-b.de>
751
752 PR fortran/57456
753 * trans-array.c (gfc_array_init_size): Use passed type spec,
754 when available.
755 (gfc_array_allocate): Pass typespec on.
756 * trans-array.h (gfc_array_allocate): Update prototype.
757 * trans-stmt.c (gfc_trans_allocate): Pass typespec on.
758
ee73dd7b 7592013-05-31 Janus Weil <janus@gcc.gnu.org>
760
761 PR fortran/54190
762 PR fortran/57217
763 * gfortran.h (gfc_terminal_width): Remove prototype.
764 * error.c (get_terminal_width): Moved here from misc.c. Renamed.
765 Try to determine terminal width from environment variable.
766 * interface.c (compare_type, compare_rank): New functions. Fix assumed
767 type/rank handling.
768 (compare_type_rank, check_dummy_characteristics,
769 check_result_characteristics, gfc_compare_interfaces): Use them.
770 (symbol_rank): Slightly modified and moved.
771 * misc.c (gfc_terminal_width): Moved to error.c.
772
72cf5e11 7732013-05-30 Janus Weil <janus@gcc.gnu.org>
774
775 PR fortran/54189
776 * resolve.c (check_assumed_size_reference): Check for e->ref.
777
89ba6b9b 7782013-05-30 Tobias Burnus <burnus@net-b.de>
779
780 PR fortran/57458
781 * interface.c (compare_parameter): Update C1239/C1240 constraint
782 check for assumed-rank/TS29113.
783
7842013-05-29 Tobias Burnus <burnus@net-b.de>
ac9929f1 785
786 PR fortran/37336
787 * class.c (finalize_component): Fix coarray array refs.
788 (generate_finalization_wrapper): Only gfc_convert_type_warn
789 when the kind value is different.
790 (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
791 (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
792 generation.
793 * module.c (MOD_VERSION): Bump.
794 (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
795 * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted
796 void pointer.
797 (gfc_array_allocate, structure_alloc_comps): Don't nullify for
798 BT_CLASS allocations.
799 * trans-stmt.c (gfc_trans_allocate): Ditto.
800
89ba6b9b 8012013-05-29 Tobias Burnus <burnus@net-b.de>
979283e6 802
803 PR fortran/37336
804 * resolve.c (gfc_resolve_finalizers): Remove not implemented error.
805
b8a601dd 8062013-05-28 Tobias Burnus <burnus@net-b.de>
807
808 * trans-expr.c (gfc_conv_procedure_call): Deallocate
809 polymorphic arrays for allocatable intent(out) dummies.
810 (gfc_reset_vptr): New function, moved from trans-stmt.c
811 and extended.
812 * trans-stmt.c (reset_vptr): Remove.
813 (gfc_trans_deallocate): Update calls.
814 * trans.h (gfc_reset_vptr): New prototype.
815
d4500202 8162013-05-28 Dominique d'Humieres <dominiq@lps.ens.fr>
817
818 PR fortran/57435
819 * module.c (check_for_ambiguous): Avoid null pointer deref.
820
a47586af 8212013-05-28 Janus Weil <janus@gcc.gnu.org>
822 Tobias Burnus <burnus@net-b.de>
823
824 PR fortran/57217
825 * interface.c (check_dummy_characteristics): Symmetrize type check.
826
2d472c22 8272013-05-27 Bud Davis <jmdavis@link.com>
828
829 PR fortran/50405
830 * resolve.c (resolve_formal_arglist): Detect error when an argument
831 has the same name as the function.
832
cefcf73f 8332013-05-27 Tobias Burnus <burnus@net-b.de>
834
835 * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial.
836 * intrinsic.c (gfc_is_intrinsic): Disable std check for those.
837
fa003ed3 8382013-05-22 Tobias Burnus <burnus@net-b.de>
839
840 * resolve.c (get_temp_from_expr): Change mangling to
841 start always with a _.
842
9211e90f 8432013-05-22 Tobias Burnus <burnus@net-b.de>
844
845 * resolve.c (get_temp_from_expr): Fix temp var mangling.
846
d989a9cc 8472013-05-22 Tobias Burnus <burnus@net-b.de>
848
849 PR fortran/57364
850 * resolve.c (get_temp_from_expr): Commit created sym.
851
293dffca 8522013-05-22 Tobias Burnus <burnus@net-b.de>
853
854 PR fortran/57338
855 * intrinsic.c (do_check): Move some checks to ...
856 (do_ts29113_check): ... this new function.
857 (check_specific, gfc_intrinsic_sub_interface): Call it.
858
c5b45cc5 8592013-05-22 Janne Blomqvist <jb@gcc.gnu.org>
860
861 * intrinsic.texi (RANDOM_SEED): Improve example.
862
e3356069 8632013-05-21 Tobias Burnus <burnus@net-b.de>
864
865 PR fortran/57035
293dffca 866 * intrinsic.c (do_check): Add constraint check for
e3356069 867 NO_ARG_CHECK, assumed rank and assumed type.
868 * gfortran.texi (NO_ARG_CHECK): Minor wording change,
869 allow PRESENT intrinsic.
870
c8b913ab 8712013-05-20 Tobias Burnus <burnus@net-b.de>
872
873 PR fortran/48858
874 PR fortran/55465
875 * decl.c (add_global_entry): Add sym_name.
876 * parse.c (add_global_procedure): Ditto.
877 * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
878 a procedure.
879 (resolve_global_procedure): Handle gsym->ns pointing to a module.
880 * trans-decl.c (gfc_get_extern_function_decl): Ditto.
881
da5c730d 8822013-05-20 Tobias Burnus <burnus@net-b.de>
883
884 PR fortran/48858
885 * decl.c (add_global_entry): Use nonbinding name
886 only for F2003 or if no binding label exists.
887 (gfc_match_entry): Update calls.
888 * parse.c (gfc_global_used): Improve error message.
889 (add_global_procedure): Use nonbinding name
890 only for F2003 or if no binding label exists.
891 (gfc_parse_file): Update call.
892 * resolve.c (resolve_global_procedure): Use binding
893 name when available.
894 * trans-decl.c (gfc_get_extern_function_decl): Ditto.
895
7a914593 8962013-05-20 Tobias Burnus <burnus@net-b.de>
897
898 PR fortran/48858
899 * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
900 * match.c (gfc_match_common): Don't add commons to gsym.
901 * resolve.c (resolve_common_blocks): Add to gsym and
902 add checks.
903 (resolve_bind_c_comms): Remove.
904 (resolve_types): Remove call to the latter.
905 * trans-common.c (gfc_common_ns): Remove static var.
906 (gfc_map_of_all_commons): Add static var.
907 (build_common_decl): Correctly handle binding label.
908
be5f9e46 9092013-05-16 Jason Merrill <jason@redhat.com>
910
911 * Make-lang.in (f951$(exeext)): Use link mutex.
912
7431b56c 9132013-05-05 Tobias Burnus <burnus@net-b.de>
914
915 * resolve.c (conformable_arrays): Avoid segfault
916 when ar.start[i] == NULL.
917
ddf8ce2d 9182013-05-05 Tobias Burnus <burnus@net-b.de>
919
920 PR fortran/57141
921 * decl.c (gfc_match_null): Permit use-associated
922 NULL intrinsic.
923
a435dc3a 9242013-05-04 Tobias Burnus <burnus@net-b.de>
925
926 * decl.c (gfc_verify_c_interop_param): Permit allocatable
927 and pointer with -std=f2008ts.
928
f782f3fd 9292013-05-02 Tobias Burnus <burnus@net-b.de>
930
931 PR fortran/57142
932 * simplify.c (gfc_simplify_size): Renamed from
933 simplify_size; fix kind=8 handling.
934 (gfc_simplify_size): New function.
935 (gfc_simplify_shape): Add range check.
936 * resolve.c (resolve_function): Fix handling
937 for ISYM_SIZE.
938
ad219f67 9392013-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
940
941 * frontend-passes.c (optimize_power): Fix typo
942 in comment.
943
3c73c0fb 9442013-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
945
946 PR fortran/57071
947 * frontend-passes.c (optimize_power): Simplify
948 1**k to 1.
949
16f6b2f9 9502013-04-28 Tobias Burnus <burnus@net-b.de>
951
952 PR fortran/57114
953 * intrinsic.texi (RANK): Correct syntax description and
954 expected result.
955
0c0d2660 9562013-04-28 Tobias Burnus <burnus@net-b.de>
957
958 PR fortran/57093
959 * trans-types.c (gfc_get_element_type): Fix handling
960 of scalar coarrays of type character.
961 * intrinsic.texi (PACK): Add missing ")".
962
6dc982b9 9632013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
964
965 PR fortran/57071
966 * frontend-passes (optimize_power): New function.
967 (optimize_op): Use it.
968
7de05b7d 9692013-04-25 Janne Blomqvist <jb@gcc.gnu.org>
970
0c0d2660 971 PR bootstrap/57028
972 * Make-lang.in (f951): Link in ZLIB.
973 (CFLAGS-fortran/module.o): Add zlib include directory.
7de05b7d 974
0d41f475 9752013-04-22 Janus Weil <janus@gcc.gnu.org>
976
977 PR fortran/53685
978 PR fortran/57022
979 * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
980 expressions.
981 * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
982 of special treatment for EXPR_ARRAY.
983 * target-memory.h (gfc_element_size): New prototype.
984 * target-memory.c (size_array): Remove.
985 (gfc_element_size): New function.
986 (gfc_target_expr_size): Modified to always return the full size of the
987 expression.
988
09d9523d 9892013-04-20 Tobias Burnus <burnus@net-b.de>
990
991 PR fortran/56907
992 * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
993 passed to C_LOC
994
2b73b7b9 9952013-04-19 Thomas Koenig <tkoenig@gcc.gnu.org>
996 Mikael Morin <mikael@gcc.gnu.org>
997
998 PR fortran/56872
999 * frontend-passes.c (copy_walk_reduction_arg): Change argument type
1000 to gfc_constructor. If it has an iterator, wrap the copy of its
1001 expression in an array constructor with that iterator. Don't special
1002 case function expressions.
1003 (callback_reduction): Update caller. Don't return early if there is
1004 an iterator.
1005
f48281e6 10062013-04-18 Tobias Burnus <burnus@net-b.de>
1007
1008 * expr.c (find_array_element): Don't copy expr.
1009 * data.c (create_character_initializer): Free expr.
1010 * frontend-passes.c (combine_array_constructor): Ditto.
1011 * match.c (match_typebound_call, gfc_match_select_type): Ditto.
1012 * resolve.c (resolve_typebound_function): Free gfc_ref.
1013
02e9ea3e 10142013-04-18 Tobias Burnus <burnus@net-b.de>
1015
1016 PR fortran/56994
1017 * invoke.texi (NEAREST): S argument is not optional.
1018
51c040f8 10192013-04-17 Janus Weil <janus@gcc.gnu.org>
1020
1021 PR fortran/56814
1022 * interface.c (check_result_characteristics): Get result from interface
1023 if present.
1024
3e7a28e8 10252013-04-17 Janne Blomqvist <jb@gcc.gnu.org>
1026
1027 PR fortran/40958
1028 * scanner.h: New file.
1029 * Make-lang.in: Dependencies on scanner.h.
1030 * scanner.c (gfc_directorylist): Move to scanner.h.
1031 * module.c: Don't include md5.h, include scanner.h and zlib.h.
1032 (MOD_VERSION): Add comment about backwards compatibility.
1033 (module_fp): Change type to gzFile.
1034 (ctx): Remove.
1035 (gzopen_included_file_1): New function.
1036 (gzopen_included_file): New function.
1037 (gzopen_intrinsic_module): New function.
1038 (write_char): Use gzputc.
1039 (read_crc32_from_module_file): New function.
1040 (read_md5_from_module_file): Remove.
1041 (gfc_dump_module): Use gz* functions instead of stdio, check gzip
1042 crc32 instead of md5.
1043 (read_module_to_tmpbuf): Use gz* functions instead of stdio.
1044 (gfc_use_module): Use gz* functions.
1045
fa76a552 10462013-04-16 Tobias Burnus <burnus@net-b.de>
1047
1048 PR fortran/39505
1049 * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
1050 * gfortran.h (ext_attr_id_t): Ditto.
1051 * gfortran.texi (GNU Fortran Compiler Directives):
1052 Document it.
1053 * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
1054 (compare_parameter): Ditto - and regard as unlimited polymorphic.
1055 * resolve.c (resolve_symbol, resolve_variable): Add same constraint
1056 checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
1057 (gfc_explicit_interface_required): Require explicit interface
1058 for NO_ARG_CHECK.
1059
9d66f5d5 10602013-04-16 Janus Weil <janus@gcc.gnu.org>
1061
1062 PR fortran/56968
1063 * expr.c (gfc_check_pointer_assign): Handle generic functions returning
1064 procedure pointers.
1065
f6c9c56e 10662013-04-16 Tobias Burnus <burnus@net-b.de>
1067
1068 PR fortran/56969
1069 * intrinsic.c (gfc_intrinsic_func_interface): Don't set
1070 module name to "(intrinsic)" for intrinsics from intrinsic
1071 modules.
1072
1795649b 10732013-04-15 Tobias Burnus <burnus@net-b.de>
1074
1075 * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
1076
56910d86 10772013-04-15 Janne Blomqvist <jb@gcc.gnu.org>
1078
1079 PR fortran/56919
1080 * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
1081
68cc384e 10822013-04-15 Tobias Burnus <burnus@net-b.de>
1083
1084 * class.c (gfc_find_intrinsic_vtab): Removed unused var.
1085 * dependency.c (check_data_pointer_types): Fix check.
1086 * frontend-passes.c (check_data_pointer_types): Remove
1087 superfluous statement.
1088 * parse.c (decode_omp_directive): Add missing break.
1089 * resolve.c (resolve_typebound_subroutine: Free variable.
1090 * trans-decl.c (create_function_arglist): Correct condition.
1091
0bc0e432 10922013-04-14 Mikael Morin <mikael@gcc.gnu.org>
1093
1094 PR fortran/56816
1095 * match.c (gfc_match_select_type): Add syntax error. Move namespace
1096 allocation and cleanup...
1097 * parse.c (decode_statement): ... here.
1098
0a500375 10992013-04-13 Janus Weil <janus@gcc.gnu.org>
1100
1101 PR fortran/55959
1102 * expr.c (gfc_simplify_expr): Branch is not unreachable.
1103
15fb628e 11042013-04-12 Janus Weil <janus@gcc.gnu.org>
1105
1106 PR fortran/56266
1107 * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
1108
ef2bf5eb 11092013-04-12 Tobias Burnus <burnus@net-b.de>
1110
1111 PR fortran/56929
1112 * trans-array.c (duplicate_allocatable): Fix handling
1113 of scalar coarrays.
1114
b596030c 11152013-04-12 Janus Weil <janus@gcc.gnu.org>
1116
1117 PR fortran/56261
1118 * gfortran.h (gfc_explicit_interface_required): New prototype.
1119 * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
1120 required in a proc-ptr assignment.
1121 * interface.c (check_result_characteristics): Extra check.
1122 * resolve.c (gfc_explicit_interface_required): New function.
1123 (resolve_global_procedure): Use new function
1124 'gfc_explicit_interface_required'. Do a full interface check.
1125
85ae3cab 11262013-04-12 Tobias Burnus <burnus@net-b.de>
1127
1128 PR fortran/56845
1129 * trans-decl.c (gfc_trans_deferred_vars): Restrict
1130 static CLASS init to SAVE and -fno-automatic.
1131
fb139b21 11322013-04-12 Tobias Burnus <burnus@net-b.de>
1133
1134 PR fortran/56845
1135 * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
1136 allocatable static BT_CLASS.
1137 * trans-expr.c (gfc_class_set_static_fields): New function.
1138 * trans.h (gfc_class_set_static_fields): New prototype.
1139
60e19868 11402013-04-11 Janne Blomqvist <jb@gcc.gnu.org>
1141
fb139b21 1142 * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
1143 * arith.c: Replace gfc_try with bool type.
1144 * array.c: Likewise.
1145 * check.c: Likewise.
1146 * class.c: Likewise.
1147 * cpp.c: Likewise.
1148 * cpp.h: Likewise.
1149 * data.c: Likewise.
1150 * data.h: Likewise.
1151 * decl.c: Likewise.
1152 * error.c: Likewise.
1153 * expr.c: Likewise.
1154 * f95-lang.c: Likewise.
1155 * interface.c: Likewise.
1156 * intrinsic.c: Likewise.
1157 * intrinsic.h: Likewise.
1158 * io.c: Likewise.
1159 * match.c: Likewise.
1160 * match.h: Likewise.
1161 * module.c: Likewise.
1162 * openmp.c: Likewise.
1163 * parse.c: Likewise.
1164 * parse.h: Likewise.
1165 * primary.c: Likewise.
1166 * resolve.c: Likewise.
1167 * scanner.c: Likewise.
1168 * simplify.c: Likewise.
1169 * symbol.c: Likewise.
1170 * trans-intrinsic.c: Likewise.
1171 * trans-openmp.c: Likewise.
1172 * trans-stmt.c: Likewise.
1173 * trans-types.c: Likewise.
60e19868 1174
9e941492 11752013-04-09 Tobias Burnus <burnus@net-b.de>
1176
1177 * gfortran.texi (KIND Type Parameters,
1178 Internal representation of LOGICAL variables): Add crossrefs.
1179 (Intrinsic Types): Mention issues with _Bool interop.
1180 (Naming and argument-passing conventions): New section.
1181
c761b6a4 11822013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
1183
1184 PR fortran/56782
17d26abc 1185 * frontend-passes.c (callback_reduction): Don't do
c761b6a4 1186 any simplification if there is only a single element
1187 which has an iterator.
1188
936763cc 11892013-04-07 Tobias Burnus <burnus@net-b.de>
1190
1191 PR fortran/56849
1192 * iresolve.c (gfc_resolve_reshape): Set shape also
1193 with order=.
1194
13b86afc 11952013-04-04 Janus Weil <janus@gcc.gnu.org>
1196
1197 PR fortran/40881
1198 * match.c (gfc_match_return): Remove standard notification.
1199 * primary.c (gfc_match_actual_arglist): Add standard notification.
1200
56a31e8f 12012013-04-04 Tobias Burnus <burnus@net-b.de>
1202
1203 PR fortran/50269
1204 * gcc/fortran/check.c (is_c_interoperable,
1205 gfc_check_c_loc): Correct c_loc array checking
1206 for Fortran 2003 and Fortran 2008.
1207
a5d831e5 12082013-04-03 Janus Weil <janus@gcc.gnu.org>
1209
1210 PR fortran/56284
1211 PR fortran/40881
1212 * decl.c (gfc_match_formal_arglist): Warn about alternate-return
1213 arguments.
1214 * interface.c (check_dummy_characteristics): Return if symbols are NULL.
1215
0397fcdb 12162013-04-01 Janus Weil <janus@gcc.gnu.org>
1217
1218 PR fortran/56500
1219 * symbol.c (gfc_set_default_type): Build class container for
1220 IMPLICIT CLASS.
1221
4332ce67 12222013-03-31 Tobias Burnus <burnus@net-b.de>
1223
1224 * class.c (finalization_scalarizer, finalizer_insert_packed_call,
1225 generate_finalization_wrapper): Avoid segfault with absent SIZE=
6992b8c8 1226 argument to TRANSFER and use correct result kind for SIZE.
4332ce67 1227 * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
1228 nonmodules.
1229 * trans.c (gfc_build_final_call): Handle coarrays.
1230
fc233a99 12312013-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1232
1233 * trans-expr.c (build_memcmp_call): New function.
1234 (gfc_build_compare_string): If the strings
1235 compared have constant and equal lengths and
1236 the strings are kind=1, or, for kind=4 strings,
1237 the test is for (in)equality, use memcmp().
1238
532c2d79 12392013-03-29 Tobias Burnus <burnus@net-b.de>
1240
1241 PR fortran/35203
1242 * trans-decl.c (create_function_arglist): Pass hidden argument
1243 for passed-by-value optional+value dummies.
1244 * trans-expr.c (gfc_conv_expr_present,
1245 gfc_conv_procedure_call): Handle those.
1246
a642efd6 12472013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
1248
1249 PR fortran/45159
1250 * gfortran.h (gfc_dep_difference): Add prototype.
1251 * dependency.c (discard_nops): New function.
1252 (gfc_dep_difference): New function.
1253 (check_section_vs_section): Use gfc_dep_difference
1254 to calculate the difference of starting indices.
1255 * trans-expr.c (gfc_conv_substring): Use
1256 gfc_dep_difference to calculate the length of
1257 substrings where possible.
1258
d9bf1d74 12592013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
1260
1261 PR fortran/55806
1262 * frontend-passes.c (optimize_code): Keep track of
1263 current code to make code insertion possible.
1264 (combine_array_constructor): New function.
1265 (optimize_op): Call it.
1266
6bf5e54c 12672013-03-27 Tobias Burnus <burnus@net-b.de>
1268
1269 PR fortran/56650
1270 PR fortran/36437
1271 * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
1272 gfc_check_storage_size): Update checks.
1273 * intrinsic.texi (SIZEOF): Correct class.
1274 * intrinsic.h (gfc_simplify_sizeof,
1275 gfc_simplify_storage_size): New prototypes.
1276 * intrinsic.c (add_functions): Use them.
1277 * simplify.c (gfc_simplify_sizeof,
1278 gfc_simplify_storage_size): New functions.
1279
ddffe3bc 12802013-03-27 Janne Blomqvist <jb@gcc.gnu.org>
1281
1282 PR fortran/25708
6bf5e54c 1283 * module.c (module_locus): Use long for position.
1284 (module_content): New variable.
1285 (module_pos): Likewise.
1286 (prev_character): Remove.
1287 (bad_module): Free data instead of closing mod file.
1288 (set_module_locus): Use module_pos.
1289 (get_module_locus): Likewise.
1290 (module_char): use buffer rather than stdio file.
1291 (module_unget_char): Likewise.
1292 (read_module_to_tmpbuf): New function.
1293 (gfc_use_module): Call read_module_to_tmpbuf.
ddffe3bc 1294
e42f9e9f 12952013-03-26 Tobias Burnus <burnus@net-b.de>
1296
1297 PR fortran/56649
1298 * simplify.c (gfc_simplify_merge): Simplify more.
1299
07f0c434 13002013-03-25 Tobias Burnus <burnus@net-b.de>
1301
1302 PR fortran/38536
1303 PR fortran/38813
1304 PR fortran/38894
1305 PR fortran/39288
1306 PR fortran/40963
1307 PR fortran/45824
1308 PR fortran/47023
1309 PR fortran/47034
1310 PR fortran/49023
1311 PR fortran/50269
1312 PR fortran/50612
1313 PR fortran/52426
1314 PR fortran/54263
1315 PR fortran/55343
1316 PR fortran/55444
1317 PR fortran/55574
1318 PR fortran/56079
1319 PR fortran/56378
1320 * check.c (gfc_var_strlen): Properly handle 0-sized string.
1321 (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
1322 (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
1323 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
1324 functions.
1325 * expr.c (check_inquiry): Add c_sizeof, compiler_version and
1326 compiler_options.
1327 (gfc_check_pointer_assign): Refine function result check.
1328 gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
1329 GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
1330 GFC_ISYM_C_LOC.
1331 (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
1332 NAMED_SUBROUTINE.
1333 (generate_isocbinding_symbol): Update prototype.
1334 (get_iso_c_sym): Remove.
1335 (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
1336 * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
1337 (gfc_intrinsic_sub_interface): Use it.
1338 (add_functions, add_subroutines): Add missing C-binding intrinsics.
1339 (gfc_intrinsic_func_interface): Add special case for c_loc.
1340 gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
1341 (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
1342 * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
1343 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
1344 gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
1345 * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
1346 functions.
1347 * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
1348 NAMED_FUNCTION.
1349 * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
1350 * module.c (create_intrinsic_function): Support subroutines and
1351 derived-type results.
1352 (use_iso_fortran_env_module): Update calls.
1353 (import_iso_c_binding_module): Ditto; update calls to
1354 generate_isocbinding_symbol.
1355 * resolve.c (find_arglists): Skip for intrinsic symbols.
1356 (gfc_resolve_intrinsic): Find intrinsic subs via id.
1357 (is_scalar_expr_ptr, gfc_iso_c_func_interface,
1358 set_name_and_label, gfc_iso_c_sub_interface): Remove.
1359 (resolve_function, resolve_specific_s0): Remove calls to those.
1360 (resolve_structure_cons): Fix handling.
1361 * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
1362 generation.
1363 (gen_cptr_param, gen_fptr_param, gen_shape_param,
1364 build_formal_args, get_iso_c_sym): Remove.
1365 (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
1366 (generate_isocbinding_symbol): Support hidden symbols and
1367 using c_ptr/c_funptr symtrees for nullptr defs.
1368 * target-memory.c (gfc_target_encode_expr): Fix handling
1369 of c_ptr/c_funptr.
1370 * trans-expr.c (conv_isocbinding_procedure): Remove.
1371 (gfc_conv_procedure_call): Remove call to it.
1372 (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
1373 of c_ptr/c_funptr.
1374 * trans-intrinsic.c (conv_isocbinding_function,
1375 conv_isocbinding_subroutine): New.
1376 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
1377 Call them.
1378 * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
1379 * trans-types.c (gfc_typenode_for_spec,
1380 gfc_get_derived_type): Ditto.
1381 (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
1382
044bbd71 13832013-03-18 Tobias Burnus <burnus@net-b.de>
1384
1385 * gfortran.h (gfc_option_t): Remove flag_whole_file.
1386 * invoke.texi (-fno-whole-file): Remove.
1387 * lang.opt (fwhole-file): Change to Ignore.
1388 * options.c (gfc_init_options, gfc_post_options,
1389 gfc_handle_option): Remove !flag_whole_file handling
1390 * parse.c (resolve_all_program_units, translate_all_program_units,
1391 gfc_parse_file): Ditto.
1392 * resolve.c (resolve_global_procedure): Ditto.
1393 * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
1394 gfc_create_module_variable): Ditto.
1395 * trans-types.c (gfc_get_derived_type): Ditto.
1396
11972221 13972013-03-15 Tobias Burnus <burnus@net-b.de>
1398
1399 PR fortran/56615
1400 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
1401 if they are not simply contiguous.
1402
9a49b9c0 14032013-03-11 Tobias Burnus <burnus@net-b.de>
1404
1405 * gfortran.texi (STRUCTURE and RECORD): State more clearly how
1406 to convert them into derived types.
1407
0377ee78 14082013-03-10 Paul Thomas <pault@gcc.gnu.org>
1409
1410 PR fortran/56575
1411 * expr.c (gfc_default_initializer): Check that a class declared
1412 type has any components.
1413 * resolve.c (resolve_fl_derived0): On failing the test for C437
1414 set the type to BT_UNKNOWN to prevent repeat error messages.
1415
35366896 14162013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1417
1418 PR fortran/56477
1419 * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
1420
ef110138 14212013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1422
1423 PR fortran/54730
1424 * array.c (gfc_match_array_constructor): Set a checkpoint before
1425 matching a typespec. Drop it on success, restore it otherwise.
1426
1d3a7eeb 14272013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1428
1429 PR fortran/54730
1430 * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
1431 (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
1432 gfc_restore_last_undo_checkpoint): New prototypes.
1433 * symbol.c (default_undo_chgset_var): Update initialization.
1434 (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
1435 free_undo_change_set_data, pop_undo_change_set,
1436 gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
1437 New functions.
1438 (save_symbol_data): Handle multiple change sets. Make sure old_symbol
1439 field's previous value is not overwritten. Clear gfc_new field.
1440 (restore_old_symbol): Restore previous old_symbol field.
1441 (gfc_restore_last_undo_checkpoint): New function, using body renamed
1442 from gfc_undo_symbols. Restore the previous change set as current one.
1443 (gfc_undo_symbols): New body.
1444 (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
1445 Call enforce_single_undo_checkpoint.
1446 (gfc_symbol_done_2): Ditto. Free change set data.
1447
65dd3014 14482013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1449
1450 * symbol.c (restore_old_symbol): Fix thinko.
1451
a2dcff19 14522013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1453
2ba401fc 1454 * symbol.c (gfc_undo_symbols): Move code...
1455 (restore_old_symbol): ... here as a new function.
1456
14572013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1458
1459 * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
1460 * gfortran.h: Include vec.h.
a2dcff19 1461 (gfc_undo_change_set): New struct.
1462 * symbol.c (tentative_tbp): Remove struct.
1463 (changed_syms, tentative_tbp_list): Remove variables.
1464 (default_undo_chgset_var, latest_undo_chgset): New variables.
1465 (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
1466 gfc_commit_symbols, gfc_commit_symbol,
1467 gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
1468 Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
1469
23df2a57 14702013-03-01 Tobias Burnus <burnus@net-b.de>
1471
32ddc0d1 1472 PR fortran/56491
23df2a57 1473 * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
1474 * symbol.c (free_components): Free proc-pointer components.
1475
c23adf93 14762013-03-01 Tobias Burnus <burnus@net-b.de>
1477
1478 * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
1479 * trans-io.c (build_dt): Ditto.
1480
37a09d86 14812013-02-24 Joseph Myers <joseph@codesourcery.com>
1482
1483 * resolve.c (generate_component_assignments): Don't use UTF-8
1484 ligature in diagnostic.
1485
f8f29ba2 14862013-02-21 Janus Weil <janus@gcc.gnu.org>
1487
1488 PR fortran/56385
1489 * trans-array.c (structure_alloc_comps): Handle procedure-pointer
1490 components with allocatable result.
1491
56a31e8f 14922013-02-21 Tobias Burnus <burnus@net-b.de>
c7d3219f 1493
1494 PR fortran/56416
1495 * gfortran.texi (Part II: Language Reference, Extensions,
1496 Non-Fortran Main Program): Sort @menu to match actual section order.
1497 * intrinsic.texi (Intrinsic Procedures): Ditto.
1498 (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
1499
2ce05815 15002013-02-15 Tobias Burnus <burnus@net-b.de>
1501 Mikael Morin <mikael@gcc.gnu.org>
1502
1503 PR fortran/56318
1504 * simplify.c (gfc_simplify_matmul): Fix result shape
1505 and matmul result.
1506
dbbb84de 15072013-02-15 Tobias Burnus <burnus@net-b.de>
1508
1509 PR fortran/53818
1510 * resolve.c (apply_default_init_local): Don't create an
1511 initializer for a result variable.
1512
db24420f 15132013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1514
1515 PR fortran/56224
1516 * gfortran.h (gfc_add_include_path): Add boolean argument
1517 for warn.
1518 * scanner.c (gfc_add_include_path): Pass along warn argument
1519 to add_path_to_list.
1520 * options.c (gfc_post_options): Add true warn argument to
1521 gfc_add_include_path.
1522 (gfc_handle_module_path_options): Likewise.
1523 (gfc_handle_option): Also gfc_add_include_path for intrinsic
1524 modules, without warning.
1525
8b9eb27e 15262013-02-14 Paul Thomas <pault@gcc.gnu.org>
1527 Tobias Burnus <burnus@net-b.de>
1528
1529 PR testsuite/56138
1530 * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
1531 results for functions without extra result variable.
1532
1533 Revert:
1534 2013-01-30 Tobias Burnus <burnus@net-b.de>
1535
1536 PR fortran/56138
1537 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
1538 results for functions without extra result variable.
1539
9d2264a0 15402013-02-12 Janus Weil <janus@gcc.gnu.org>
1541
1542 PR fortran/46952
1543 * resolve.c (resolve_call): Do not check deferred procedures for
1544 recursiveness.
1545
37b00fc7 15462013-02-09 Paul Thomas <pault@gcc.gnu.org>
1547
1548 PR fortran/55362
1549 * check.c (array_check): It is an error if a procedure is
1550 passed.
1551
d8daa19e 15522013-02-08 Mikael Morin <mikael@gcc.gnu.org>
1553
1554 PR fortran/54107
1555 * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
1556 to error_mark_node on entry. Detect recursive types. Build a variadic
1557 procedure type if the type is recursive. Restore the initial
1558 backend_decl.
1559
e8a41997 15602013-02-07 Tobias Burnus <burnus@net-b.de>
1561
37b00fc7 1562 PR fortran/54339
e8a41997 1563 * gfortran.texi (Standards): Mention TS29113.
1564 (Varying Length Character): Mention deferred-length
1565 strings.
1566 (Fortran 2003 Status): Add unlimited polymorphic.
1567 (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
1568 (C Interop): Update the section about TS29113.
1569
21ebaa24 15702013-02-06 Paul Thomas <pault@gcc.gnu.org>
c1cb26ae 1571
1572 PR fortran/55789
1573 * trans-array.c (trans_array_constructor): Remove condition
1574 'dynamic' = true if the loop ubound is a VAR_DECL.
1575
921080ae 15762013-02-04 Paul Thomas <pault@gcc.gnu.org>
1577
1578 PR fortran/56008
1579 PR fortran/47517
1580 * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
1581 the lhs descriptor before it is modified for reallocation. Use
1582 it to deallocate allocatable components in the reallocation
1583 block. Nullify allocatable components for newly (re)allocated
1584 arrays.
1585
d82a3a02 15862013-02-04 Mikael Morin <mikael@gcc.gnu.org>
1587
1588 PR fortran/54195
1589 * resolve.c (resolve_typebound_procedures): Recurse through
1590 resolve_symbol.
1591
acd1bde2 15922013-02-04 Mikael Morin <mikael@gcc.gnu.org>
1593
1594 PR fortran/54107
1595 PR fortran/54195
1596 * gfortran.h (struct gfc_symbol): New field 'resolved'.
1597 * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
1598 (resolve_symbol): Skip duplicate calls. Don't check the current
1599 namespace.
1600
9e5e87d9 16012013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1602
1603 PR fortran/50627
1604 PR fortran/56054
1605 * decl.c (gfc_match_end): Remove half-ready namespace
1606 from parent if the end of a block is missing.
1607 * parse.c (parse_module): Do not put namespace into
1608 gsymbol on error.
1609
acd1bde2 16102013-01-30 Tobias Burnus <burnus@net-b.de>
d0cfec1c 1611
1612 PR fortran/56138
1613 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
1614 results for functions without extra result variable.
1615
6777213b 16162013-01-29 Janus Weil <janus@gcc.gnu.org>
aaae64e1 1617 Mikael Morin <mikael@gcc.gnu.org>
6777213b 1618
1619 PR fortran/54107
1620 * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
1621 (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
1622 gfc_expr_replace_comp): Delete.
1623 (gfc_sym_get_dummy_args): New prototype.
1624 * dependency.c (gfc_check_fncall_dependency): Use
1625 'gfc_sym_get_dummy_args'.
1626 * expr.c (gfc_is_constant_expr): Ditto.
1627 (replace_symbol,gfc_expr_replace_symbols,replace_comp,
1628 gfc_expr_replace_comp): Deleted.
1629 * frontend-passes.c (doloop_code,do_function): Use
1630 'gfc_sym_get_dummy_args'.
1631 * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
1632 gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
1633 gfc_check_typebound_override): Ditto.
1634 * module.c (MOD_VERSION): Bump module version.
1635 (mio_component): Do not read/write 'formal' and 'formal_ns'.
1636 * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
1637 copy formal args, but just keep a pointer to the interface.
1638 (resolve_function,resolve_call,resolve_typebound_generic_call,
1639 resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
1640 resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
1641 resolve_typebound_procedure,check_uop_procedure): Use
1642 'gfc_sym_get_dummy_args'.
1643 * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
1644 (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
1645 (gfc_sym_get_dummy_args): New function.
1646 * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
1647 Use 'gfc_sym_get_dummy_args'.
1648 * trans-decl.c (build_function_decl,create_function_arglist,
1649 build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
1650 add_argument_checking): Ditto.
1651 * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
1652 gfc_conv_statement_function): Ditto.
1653 * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
1654 * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
1655
d67dd34f 16562013-01-28 Tobias Burnus <burnus@net-b.de>
1657 Mikael Morin <mikael@gcc.gnu.org>
1658
1659 PR fortran/53537
1660 * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
1661 interface block.
1662 (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
1663 * decl.c (gfc_match_data_decl): Ditto.
1664 (variable_decl): Remove undeclared type error.
1665 (gfc_match_import): Use renamed instead of original name.
1666
21ebaa24 16672013-01-27 Paul Thomas <pault@gcc.gnu.org>
20bdca22 1668
67e8ab17 1669 PR fortran/55984
20bdca22 1670 PR fortran/56047
1671 * gfortran.h : Add associate_var to symbol_attr.
1672 * resolve.c (resolve_assoc_var): Set associate_var attribute.
1673 If the target class_ok is set, set it for the associate
1674 variable.
1675 * check.c (allocatable_check): Associate variables should not
1676 have the allocatable attribute even if their symbols do.
1677 * class.c (gfc_build_class_symbol): Symbols with associate_var
1678 set will always have a good class container.
1679
c58ba4b2 16802013-01-23 Janus Weil <janus@gcc.gnu.org>
1681
1682 PR fortran/56081
1683 * resolve.c (resolve_select): Add argument 'select_type', reject
1684 non-scalar expressions.
1685 (resolve_select_type,resolve_code): Pass new argument to
1686 'resolve_select'.
1687
bc5663df 16882013-01-23 Jakub Jelinek <jakub@redhat.com>
1689
1690 PR fortran/56052
1691 * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
1692 and DECL_IGNORED_P on select_type_temporary and don't set
1693 DECL_BY_REFERENCE.
1694
86af97bd 16952013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1696
1697 PR fortran/55919
b8eae306 1698 * scanner.c (add_path_to_list): Copy path to temporary and strip
1699 trailing directory separators before calling stat().
86af97bd 1700
2f182143 17012013-01-17 Richard Biener <rguenther@suse.de>
1702
1703 * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
1704 dependent on sign of step, avoids repeated evaluation of
1705 step sign test. Avoid undefined overflow issues by using unsigned
1706 arithmetic.
1707
cd8bd19d 17082013-01-16 Janus Weil <janus@gcc.gnu.org>
1709
1710 PR fortran/55983
1711 * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
1712 asserting it.
1713
7cb1cb52 17142013-01-16 Jakub Jelinek <jakub@redhat.com>
1715 Tobias Burnus <burnus@net-b.de>
1716
1717 PR driver/55884
1718 * lang.opt (fintrinsic-modules-path): Don't accept Joined.
1719 (fintrinsic-modules-path=): New.
1720 * options.c (gfc_handle_option, gfc_get_option_string,
1721 gfc_get_option_string): Handle the latter.
1722
80efc1bc 17232013-01-16 Jakub Jelinek <jakub@redhat.com>
1724
1725 PR fortran/52865
1726 * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
1727 and use value of countm1 before the decrement in the condition.
1728
210d1d7e 17292013-01-15 Paul Thomas <pault@gcc.gnu.org>
1730
1731 PR fortran/54286
1732 * expr.c (gfc_check_pointer_assign): Check for presence of
1733 's2' before using it.
1734
d400d3d1 17352013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1736
1737 PR fortran/55806
1738 * frontend-passes.c (optimize_reduction): New function,
1739 including prototype.
1740 (callback_reduction): Likewise.
1741 (gfc_run_passes): Also run optimize_reduction.
1742 (copy_walk_reduction_arg): New function.
1743 (dummy_code_callback): New function.
1744
8f266cd9 17452013-01-13 Jakub Jelinek <jakub@redhat.com>
1746
1747 PR fortran/55935
1748 * trans-expr.c (gfc_conv_structure): Call
1749 unshare_expr_without_location on the ctor elements.
1750
9991edd9 17512013-01-13 Paul Thomas <pault@gcc.gnu.org>
1752
1753 PR fortran/54286
1754 * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
1755 and rvalue interfaces are presented to gfc_compare_interfaces.
1756 Simplify references to interface names by using the symbols
1757 themselves. Call gfc_compare_interfaces with s1 and s2 inter-
1758 changed to overcome the asymmetry of this function. Do not
1759 repeat the check for the presence of s1 and s2.
1760
32ba2e2a 17612013-01-12 Janus Weil <janus@gcc.gnu.org>
1762
1763 PR fortran/55072
1764 * trans-array.c (gfc_conv_array_parameter): No packing was done for
1765 full arrays of derived type.
1766
8db94b3b 17672013-01-08 Paul Thomas <pault@gcc.gnu.org>
1768
1769 PR fortran/55868
1770 * class.c (get_unique_type_string): Change $tar to STAR and
1771 replace sprintf by strcpy where there is no formatting.
1772 * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
1773
33d6ae7a 17742013-01-09 Mikael Morin <mikael@gcc.gnu.org>
1775
1776 PR fortran/47203
1777 * module.c (check_for_ambiguous): Get the current program unit using
1778 gfc_current_ns.
1779
3bbb71ba 17802013-01-09 Tobias Burnus <burnus@net-b.de>
1781
1782 PR fortran/55758
1783 * resolve.c (resolve_symbol): Reject non-C_Bool logicals
1784 in BIND(C) procedures with -std=f*.
1785
e018fe4a 17862013-01-08 Paul Thomas <pault@gcc.gnu.org>
1787
1788 PR fortran/55618
1789 * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
1790 character function arguments to elemental procedures in
1791 scalarization loops.
1792
16f7554b 17932013-01-07 Tobias Burnus <burnus@net-b.de>
1794
1795 PR fortran/55763
1796 * gfortran.h (gfc_check_assign_symbol): Update prototype.
1797 * decl.c (add_init_expr_to_sym, do_parm): Update call.
1798 * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
1799 improve error location; support components.
1800 (gfc_check_pointer_assign): Handle component assignments.
1801 * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
1802 (resolve_values): Update call.
1803 (resolve_structure_cons): Avoid double diagnostic.
1804
2dbe0f4c 18052013-01-07 Tobias Burnus <burnus@net-b.de>
1806 Thomas Koenig <tkoenig@gcc.gnu.org>
1807
1808 PR fortran/55852
1809 * expr.c (gfc_build_intrinsic_call): Avoid clashes
1810 with user's procedures.
1811 * gfortran.h (gfc_build_intrinsic_call): Update prototype.
1812 * simplify.c (gfc_simplify_size): Update call.
1813 * class.c (finalization_scalarizer, finalization_get_offset,
1814 finalizer_insert_packed_call, generate_finalization_wrapper):
1815 Clean up by using gfc_build_intrinsic_call.
1816
acd1bde2 18172013-01-07 Tobias Burnus <burnus@net-b.de>
3facfa3c 1818
1819 PR fortran/55763
1820 * resolve.c (resolve_select_type): Reject intrinsic types for
1821 a non-unlimited-polymorphic selector.
1822
383f9c66 18232013-01-06 Paul Thomas <pault@gcc.gnu.org>
1824
7a772596 1825 PR fortran/53876
1826 PR fortran/54990
1827 PR fortran/54992
383f9c66 1828 * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
1829 to see if it is GFC_CLASS_TYPE_P.
1830 * trans-expr.c (gfc_get_vptr_from_expr): The same.
1831 (gfc_conv_class_to_class): If the types are not the same,
1832 cast parmese->expr to the type of ctree.
1833 * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
1834 CLASS components must be set.
1835
830f3dcc 18362013-01-06 Mikael Morin <mikael@gcc.gnu.org>
1837
1838 PR fortran/42769
1839 PR fortran/45836
1840 PR fortran/45900
1841 * module.c (read_module): Don't reuse local symtree if the associated
1842 symbol isn't exactly the one wanted. Don't reuse local symtree if it is
1843 ambiguous.
1844 * resolve.c (resolve_call): Use symtree's name instead of symbol's to
1845 lookup the symtree.
1846
69833406 18472013-01-05 Steven G. Kargl <kargl@gcc.gnu.org>
1848 Mikael Morin <mikael@gcc.gnu.org>
1849
26ca5cfa 1850 PR fortran/55827
69833406 1851 * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
1852 e->symtree == NULL.
1853 * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
1854
1bedd962 18552013-01-05 Tobias Burnus <burnus@net-b.de>
1856
1857 * class.c (finalize_component): Used passed offset expr.
1858 (finalization_get_offset): New static function.
1859 (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
1860 to handle noncontiguous arrays.
1861
71204405 18622013-01-04 Tobias Burnus <burnus@net-b.de>
1863
1864 * trans.c (gfc_build_final_call): New function.
1865 * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
1866 New function prototypes.
1867 * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
1868 conv_scalar_to_descriptor, removed static attribute.
1869 (gfc_conv_procedure_call): Honor renaming.
1870
f9606ba3 18712013-01-04 Tobias Burnus <burnus@net-b.de>
1872
1873 * intrinsic.c (add_functions): New internal intrinsic
1874 function GFC_PREFIX ("stride").
1875 * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
1876 * intrinsic.h (gfc_resolve_stride): New prototypes.
1877 * iresolve.c (gfc_resolve_stride): New function.
1878 * trans-intrinsic.c (conv_intrinsic_stride): New static
1879 function.
1880 (gfc_conv_intrinsic_function): Use it.
1881
d780a64b 18822013-01-04 Tobias Burnus <burnus@net-b.de>
1883
1884 * class.c (gfc_find_intrinsic_vtab): Add _final
1885 component.
f9606ba3 1886 * decl.c (gfc_match_null): Remove superfluous
1887 variadic argument to gfc_match.
d780a64b 1888
2082cd0b 18892013-01-04 Paul Thomas <pault@gcc.gnu.org>
1890
1891 PR fortran/55172
1892 * match.c (copy_ts_from_selector_to_associate): Remove call to
1893 gfc_resolve_expr and replace it with explicit setting of the
1894 array reference type.
1895 * resolve.c (resolve_select_type): It is an error if the
1896 selector is coindexed.
1897
f9d34e9a 18982013-01-04 Tobias Burnus <burnus@net-b.de>
1899
1900 PR fortran/55763
1901 * decl.c (gfc_match_null): Parse and reject MOLD.
1902
798ba30c 19032013-01-04 Tobias Burnus <burnus@net-b.de>
1904
1905 PR fortran/55854
1906 PR fortran/55763
1907 * class.c (gfc_class_null_initializer): Fix finding the vtab.
1908 (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
1909
c44e2519 19102013-01-03 Janus Weil <janus@gcc.gnu.org>
1911
1912 PR fortran/55855
1913 * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
1914 of rvalue. Correct hyphenation in error message.
1915
1f3894c9 19162013-01-03 Jakub Jelinek <jakub@redhat.com>
1917
1918 * gfortranspec.c (lang_specific_driver): Update copyright notice
1919 dates.
7dfbd804 1920\f
b3c5d881 1921Copyright (C) 2013 Free Software Foundation, Inc.
7dfbd804 1922
1923Copying and distribution of this file, with or without modification,
1924are permitted in any medium without royalty provided the copyright
1925notice and this notice are preserved.