]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/fortran/ChangeLog
tree-flow.h (struct omp_region): Move to omp-low.c.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
1 2013-10-17 Andrew MacLeod <amacleod@redhat.com>
2
3 * trans-openmp.c: Include omp-low.h.
4
5 2013-10-16 Tobias Burnus <burnus@net-b.de>
6
7 PR fortran/58652
8 * interface.c (compare_parameter): Accept passing CLASS(*)
9 to CLASS(*).
10
11 2013-10-16 Tobias Burnus <burnus@net-b.de>
12
13 * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
14 Document omp_proc_bind_kind.
15
16 2013-10-15 Tobias Burnus <burnus@net-b.de>
17
18 PR fortran/58652
19 * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
20 of CLASS(*) variables.
21
22 2013-10-14 Tobias Burnus <burnus@net-b.de>
23
24 PR fortran/58658
25 * expr.c (gfc_check_vardef_context): Fix pointer diagnostic
26 for CLASS(*).
27
28 2013-10-11 Jakub Jelinek <jakub@redhat.com>
29
30 * trans-openmp.c (gfc_omp_clause_default_ctor,
31 gfc_omp_clause_dtor): Return NULL for OMP_CLAUSE_REDUCTION.
32 * f95-lang.c (ATTR_NULL, DEF_FUNCTION_TYPE_8): Define.
33 * types.def (DEF_FUNCTION_TYPE_8): Document.
34 (BT_FN_VOID_OMPFN_PTR_UINT,
35 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
36 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
37 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove.
38 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
39 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
40 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
41 BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT,
42 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
43 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
44 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New.
45
46 2013-10-10 Tobias Burnus <burnus@net-b.de>
47
48 PR fortran/58226
49 * options.c (gfc_get_option_string): Handle zero arg case.
50
51 2013-10-02 Tobias Burnus <burnus@net-b.de>
52
53 PR fortran/58593
54 * trans-expr.c (gfc_conv_string_tmp): Fix obtaining
55 the byte size of a single character.
56
57 2013-10-01 Tobias Burnus <burnus@net-b.de>
58
59 PR fortran/58579
60 * trans-expr.c (gfc_conv_string_tmp): Correctly obtain
61 the byte size of a single character.
62
63 2013-09-27 Janne Blomqvist <jb@gcc.gnu.org>
64
65 * intrinsic.texi (DATE_AND_TIME): Fix example.
66
67 2013-09-25 Tobias Burnus <burnus@net-b.de>
68
69 PR fortran/58436
70 * class.c (generate_finalization_wrapper): Handle CLASS(*).
71
72 2013-09-25 Tobias Burnus <burnus@net-b.de>
73
74 PR fortran/57697
75 PR fortran/58469
76 * resolve.c (generate_component_assignments): Avoid double free
77 at runtime and freeing a still-being used expr.
78
79 2013-09-25 Tom Tromey <tromey@redhat.com>
80
81 * Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
82 (gfortranspec.o): Remove.
83 (CFLAGS-fortran/gfortranspec.o): New variable.
84 (GFORTRAN_D_OBJS): Update.
85 ($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS)
86 (fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o)
87 (fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o)
88 (fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o)
89 (fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o)
90 (fortran/trans-array.o, fortran/trans-intrinsic.o)
91 (fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o)
92 (fortran/data.o, fortran/options.o, fortran/cpp.o)
93 (fortran/scanner.o, fortran/module.o): Remove.
94
95 2013-09-25 Tom Tromey <tromey@redhat.com>
96
97 * Make-lang.in (gfortranspec.o): Don't use subshell.
98
99 2013-09-23 Janus Weil <janus@gcc.gnu.org>
100
101 PR fortran/58355
102 * decl.c (check_extended_derived_type): Prevent segfault, modify error
103 message.
104
105 2013-09-20 Janus Weil <janus@gcc.gnu.org>
106
107 PR fortran/58099
108 * expr.c (gfc_check_pointer_assign): Remove second call to
109 'gfc_compare_interfaces' with swapped arguments.
110 * interface.c (gfc_compare_interfaces): Symmetrize the call to
111 'check_result_characteristics' by calling it with swapped arguments.
112
113 2013-09-18 Tobias Burnus <burnus@net-b.de>
114
115 * expr.c (gfc_check_assign_symbol): Free lvalue.ref.
116
117 2013-09-18 Tobias Burnus <burnus@net-b.de>
118
119 PR fortran/43366
120 * primary.c (gfc_variable_attr): Also handle codimension.
121 * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic for
122 polymorphic assignment.
123
124 2013-09-16 Tobias Burnus <burnus@net-b.de>
125
126 PR fortran/58356
127 * class.c (generate_finalization_wrapper): Init proc_tree if
128 not yet resolved.
129
130 2013-09-16 Tobias Burnus <burnus@net-b.de>
131
132 PR fortran/57697
133 * resolve.c (generate_component_assignments): Correctly handle the
134 case that the LHS is not allocated.
135
136 2013-09-15 Tobias Burnus <burnus@net-b.de>
137
138 PR fortran/57697
139 * resolve.c (generate_component_assignments): Handle unallocated
140 LHS with defined assignment of components.
141
142 2013-09-12 Brooks Moses <bmoses@google.com>
143
144 PR driver/42955
145 * Make-lang.in: Do not install driver binaries in $(target)/bin.
146
147 2013-09-09 Tobias Burnus <burnus@net-b.de>
148
149 * invoke.texi (Error and Warning Options): Add hyphen.
150
151 2013-09-02 Thomas Koenig <tkoenig@gcc.gnu.org>
152
153 PR fortran/PR56519
154 * gfortran.h: Declare gfc_do_concurrent_flag as extern.
155 * resolve.c: Rename do_concurrent_flag to gfc_do_concurrent_flag
156 and make non-static.
157 (resolve_function): Use gfc_do_concurrent_flag instead of
158 do_concurrent_flag.
159 (pure_subroutine): Likewise.
160 (resolve_code): Likewise.
161 (resolve_types): Likewise.
162 * intrinsic.c (gfc_intrinsic_sub_interface): Raise error for
163 non-pure intrinsic subroutines within DO CONCURRENT.
164
165 2013-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
166
167 PR fortran/52243
168 * trans-expr.c (is_runtime_conformable): New function.
169 * gfc_trans_assignment_1: Use it.
170
171 2013-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
172
173 PR fortran/58146
174 * array.c (gfc_ref_dimen_size): If possible, use
175 gfc_dep_difference to calculate array refrence
176 sizes. Fall back to integer code otherwise.
177 * dependency.c (discard_nops). Move up.
178 Also discarde widening integer conversions.
179 (gfc_dep_compare_expr): Use discard_nops.
180
181 2013-08-23 Mikael Morin <mikael@gcc.gnu.org>
182
183 PR fortran/57798
184 * trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
185 gfc_set_delta): Generate preliminary code before the outermost loop.
186
187 2013-08-23 Janus Weil <janus@gcc.gnu.org>
188
189 PR fortran/57843
190 * interface.c (gfc_extend_assign): Look for type-bound assignment
191 procedures before non-typebound.
192
193 2013-08-23 Mikael Morin <mikael@gcc.gnu.org>
194
195 * trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
196 to the callers.
197 (gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.
198
199 2013-08-22 Janus Weil <janus@gcc.gnu.org>
200
201 PR fortran/58185
202 * match.c (copy_ts_from_selector_to_associate): Only build class
203 container for polymorphic selector. Some cleanup.
204
205 2013-08-20 Janus Weil <janus@gcc.gnu.org>
206
207 PR fortran/53655
208 * trans-decl.c (generate_local_decl): Check if type has any components.
209
210 2013-08-19 Janus Weil <janus@gcc.gnu.org>
211
212 PR fortran/46271
213 * openmp.c (resolve_omp_clauses): Bugfix for procedure pointers.
214
215 2013-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
216
217 PR fortran/56666
218 * gfortran.h (gfc_option_t): Add warn_zerotrip.
219 * invoke.texi (-Wzerotrip): Document option.
220 * lang.opt (Wzerotrip): Add.
221 * options.c (gfc_init_options): Initialize warn_zerotrip.
222 (set_Wall): Add handling of warn_zerotrip.
223 (gfc_handle_option): Handle OPT_Wzerotrip.
224 * resolve.c (gfc_resolve_iterator): Honor
225 gfc_option.warn_zerotrip; update error message to show
226 how to suppress the warning.
227
228 2013-08-09 Janus Weil <janus@gcc.gnu.org>
229
230 * gfortran.h (gfc_get_code): Modified prototype.
231 * class.c (finalize_component, finalization_scalarizer,
232 finalization_get_offset, finalizer_insert_packed_call,
233 generate_finalization_wrapper, gfc_find_derived_vtab,
234 gfc_find_intrinsic_vtab): Use 'gfc_get_code'.
235 * io.c (match_io_iterator, match_io_element, terminate_io, get_io_list,
236 gfc_match_inquire): Call 'gfc_get_code' with argument.
237 * match.c (match_simple_forall, gfc_match_forall, gfc_match_goto,
238 gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where):
239 Ditto.
240 * parse.c (new_level): Ditto.
241 (add_statement): Use XCNEW.
242 * resolve.c (resolve_entries, resolve_allocate_expr,
243 resolve_select_type, build_assignment, build_init_assign): Call
244 'gfc_get_code' with argument.
245 * st.c (gfc_get_code): Add argument 'op'.
246 * trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code'
247 with argument.
248 * trans-stmt.c (gfc_trans_allocate): Ditto.
249
250 2013-08-09 Janus Weil <janus@gcc.gnu.org>
251
252 PR fortran/58058
253 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
254 string, if necessary.
255
256 2013-08-06 Martin Jambor <mjambor@suse.cz>
257
258 PR fortran/57987
259 * trans-decl.c (gfc_generate_function_code): Never call
260 cgraph_finalize_function on nested functions.
261
262 2013-08-06 Janus Weil <janus@gcc.gnu.org>
263
264 PR fortran/57306
265 * class.c (gfc_class_null_initializer): Rename to
266 'gfc_class_initializer'. Treat non-NULL init-exprs.
267 * gfortran.h (gfc_class_null_initializer): Update prototype.
268 * trans-decl.c (gfc_get_symbol_decl): Treat class variables.
269 * trans-expr.c (gfc_conv_initializer): Ditto.
270 (gfc_trans_subcomponent_assign): Renamed gfc_class_null_initializer.
271
272 2013-07-30 Tobias Burnus <burnus@net-b.de>
273
274 PR fortran/57530
275 * symbol.c (gfc_type_compatible): A type is type compatible with
276 a class if both have the same declared type.
277 * interface.c (compare_type): Reject CLASS/TYPE even if they
278 are type compatible.
279
280 2013-07-30 Tobias Burnus <burnus@net-b.de>
281
282 PR fortran/57530
283 * trans-expr.c (gfc_trans_class_assign): Handle CLASS array
284 functions.
285 (gfc_trans_pointer_assign): Ditto and support pointer assignment of
286 a polymorphic var to a nonpolymorphic var.
287
288 2013-07-22 Po Chang <pchang9@cs.wisc.edu>
289
290 * match.c (gfc_match_call): Exit loop after setting i.
291
292 * resolve.c (resolve_variable): Exit loop after setting seen.
293
294 * expr.c (gfc_check_pointer_assign): Exit loop after setting warn.
295
296 * trans-array.c (set_loop_bounds): Exit loop after setting
297 nonoptional_arr.
298
299 * trans-io.c (gfc_trans_transfer): Exit loop after setting seen_vector.
300
301 2013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org>
302
303 PR fortran/58009
304 * expr.c (gfc_check_vardef_context): Check for same values in
305 vector expression subscripts.
306
307 2013-07-27 Tobias Burnus <burnus@net-b.de>
308
309 PR fortran/57991
310 * interface.c (check_some_aliasing): Also warn for intent OUT/OUT.
311
312 2013-07-27 Janus Weil <janus@gcc.gnu.org>
313
314 PR fortran/57285
315 * check.c (dim_rank_check): Re-enable this check for CLASS arrays.
316
317 2013-07-25 Janus Weil <janus@gcc.gnu.org>
318
319 PR fortran/57966
320 * resolve.c (resolve_typebound_function): Make sure the declared type,
321 including its type-bound procedures, is resolved before resolving the
322 actual type-bound call.
323
324 2013-07-25 Janus Weil <janus@gcc.gnu.org>
325
326 PR fortran/57639
327 * interface.c (compare_parameter): Check for class_ok.
328 * simplify.c (gfc_simplify_same_type_as): Ditto.
329
330 2013-07-23 Ondřej Bílka <neleai@seznam.cz>
331
332 * decl.c: Fix comment typos.
333 * interface.c: Likewise.
334 * trans-array.c: Likewise.
335 * trans.c: Likewise.
336
337 2013-07-22 Tobias Burnus <burnus@net-b.de>
338
339 PR fortran/57906
340 PR fortran/52052
341 * class.c (gfc_build_class_symbol): Set coarray_comp.
342 * trans-array.c (structure_alloc_comps): For coarrays,
343 directly use the data pointer address.
344
345 2013-07-22 Chang <pchang9@cs.wisc.edu>
346
347 * trans-decl.c (gfc_build_dummy_array_decl): Exit loop after
348 setting PACKED_PARTIAL.
349
350 2013-07-22 Tobias Burnus <burnus@net-b.de>
351
352 * trans-array.c (gfc_array_allocate): Correct memory-leak patch.
353
354 2013-07-22 Tobias Burnus <burnus@net-b.de>
355
356 * trans-array.c (gfc_array_allocate,
357 gfc_trans_deferred_array): Plug memory leak.
358
359 2013-07-21 Ondřej Bílka <neleai@seznam.cz>
360
361 * trans-decl.c: Fix comment typos.
362 * trans-expr.c: Ditto.
363
364 2013-07-21 Thomas Koenig <tkoenig@gcc.gnu.org>
365
366 PR fortran/56937
367 * dependency.c (gfc_dep_resolver): Treat identical
368 array subscripts as identical; don't unconditionally
369 return a dependency if an array subscript is found.
370
371 2013-07-21 Tobias Burnus <burnus@net-b.de>
372
373 PR fortran/35862
374 * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST,
375 GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines.
376
377 2013-07-21 Tobias Burnus <burnus@net-b.de>
378
379 PR fortran/57894
380 * check.c (min_max_args): Add keyword= check.
381
382 2013-07-17 Mikael Morin <mikael@gcc.gnu.org>
383 Tobias Burnus <burnus@net-b.de>
384
385 PR fortran/57895
386 * match.c (gfc_match_name): Ensure that the error
387 message regarding -fdollar-ok gets printed.
388 (gfc_match_common): Avoid multiple freeing.
389
390 2013-07-16 Tobias Burnus <burnus@net-b.de>
391
392 PR fortran/57912
393 * trans-expr.c (gfc_trans_scalar_assign): Correct if
394 condition for caf realloc.
395
396 2013-07-15 Tobias Burnus <burnus@net-b.de>
397
398 * trans-array.h (gfc_deallocate_alloc_comp_no_caf,
399 gfc_reassign_alloc_comp_caf): New prototype.
400 * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF
401 and COPY_ALLOC_COMP_CAF.
402 (structure_alloc_comps): Handle it.
403 (gfc_reassign_alloc_comp_caf,
404 gfc_deallocate_alloc_comp_no_caf): New function.
405 (gfc_alloc_allocatable_for_assignment): Call it.
406 * trans-expr.c (gfc_trans_scalar_assign,
407 gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto.
408 * parse.c (parse_derived): Correctly set coarray_comp.
409 * resolve.c (resolve_symbol): Improve error wording.
410
411 2013-07-15 Tobias Burnus <burnus@net-b.de>
412
413 PR fortran/37336
414 * trans.c (gfc_add_comp_finalizer_call): New function.
415 * trans.h (gfc_add_comp_finalizer_call): New prototype.
416 * trans-array.c (structure_alloc_comps): Call it.
417
418 2013-07-14 Thomas Koenig <tkoenig@gcc.gnu.org>
419 Tobias Burnus <burnus@gcc.gnu.org>
420
421 PR fortran/52669
422 * trans-decl.c (gfc_finish_var_decl): Move setting of
423 PRIVATE for a module variable if the module has a private
424 default or -fmodule-private is given to...
425 (gfc_create_module_variable): here. Optionally
426 warn about private module variable which is not used.
427
428 2013-07-08 Tobias Burnus <burnus@net-b.de>
429
430 PR fortran/57834
431 * check.c (is_c_interoperable): Add special case for c_f_pointer.
432 (explicit-size, gfc_check_c_f_pointer, gfc_check_c_loc): Update
433 call.
434
435 2013-07-08 Tobias Burnus <burnus@net-b.de>
436
437 PR fortran/50554
438 * io.c (match_inquire_element): Add missing do-var check.
439
440 2013-07-08 Tobias Burnus <burnus@net-b.de>
441
442 PR fortran/57785
443 * simplify.c (compute_dot_product): Complex conjugate for
444 dot_product.
445 (gfc_simplify_dot_product, gfc_simplify_matmul): Update call.
446
447 2013-07-08 Tobias Burnus <burnus@net-b.de>
448
449 PR fortran/57469
450 * trans-decl.c (generate_local_decl): Don't warn that
451 a dummy is unused, when it is in a namelist.
452
453 2013-07-01 Dominique d'Humieres <dominiq@lps.ens.fr>
454
455 PR fortran/54788
456 * array.c (spec_size): handle the case as==NULL.
457
458 2013-06-26 Tobias Burnus <burnus@net-b.de>
459
460 PR fortran/29800
461 * trans-array.c (gfc_conv_array_ref): Improve out-of-bounds
462 diagnostic message.
463 * trans-array.c (gfc_conv_array_ref): Update prototype.
464 * trans-expr.c (gfc_conv_variable): Update call.
465
466 2013-06-24 Steven G. Kargl <sgk@troutmask.apl.washington.edu>
467 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
468 Dominique d'Humieres <dominiq@lps.ens.fr>
469
470 PR fortran/52413
471 * simplify.c (gfc_simplify_fraction): Fix the sign of negative values.
472
473 2013-06-21 Tobias Burnus <burnus@net-b.de>
474
475 PR fortran/37336
476 * trans-array.c (gfc_trans_deferred_array): Call the
477 finalizer for nonallocatable local variables.
478 * trans-decl.c (gfc_get_symbol_decl): Add local
479 finalizable vars to the deferred list.
480 (gfc_trans_deferred_vars): Call gfc_trans_deferred_array
481 for those.
482
483 2013-06-21 Tobias Burnus <burnus@net-b.de>
484
485 * trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate
486 at least one byte.
487 * trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto.
488
489 2013-06-20 Tobias Burnus <burnus@net-b.de>
490
491 * resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.
492
493 2013-06-17 Tobias Burnus <burnus@net-b.de>
494
495 * gfortran.h (gfc_option_t): Add fpe_summary.
496 * gfortran.texi (_gfortran_set_options): Update.
497 * invoke.texi (-ffpe-summary): Add doc.
498 * lang.opt (ffpe-summary): Add flag.
499 * options.c (gfc_init_options, gfc_handle_option): Handle it.
500 (gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option,
501 also handle fpe_summary.
502 * trans-decl.c (create_main_function): Update
503 _gfortran_set_options call.
504
505 2013-06-15 Mikael Morin <mikael@gcc.gnu.org>
506
507 PR fortran/49074
508 PR fortran/56136
509 * dependency.c (gfc_check_argument_var_dependency): Return 0 in the
510 array constructor case.
511
512 2013-06-14 Tobias Burnus <burnus@net-b.de>
513
514 PR fortran/57508
515 * resolve.c (get_temp_from_expr): Don't copy function
516 result attributes to temporary.
517
518 2013-06-14 Tobias Burnus <burnus@net-b.de>
519
520 PR fortran/57596
521 * trans-decl.c (gfc_trans_deferred_vars): Honor OPTIONAL
522 for nullify and deferred-strings' length variable.
523
524 2013-06-13 Mikael Morin <mikael@gcc.gnu.org>
525
526 PR fortran/49074
527 * trans-expr.c (gfc_conv_variable): Don't walk the reference chain.
528 Handle NULL array references.
529 (gfc_conv_procedure_call): Remove code handling NULL array references.
530
531 2013-06-11 Tobias Burnus <burnus@net-b.de>
532
533 PR fortran/57535
534 * trans-array.c (build_class_array_ref): Fix ICE for
535 function result variables.
536
537 2013-06-08 Tobias Burnus <burnus@net-b.de>
538
539 PR fortran/37336
540 * trans-decl.c (init_intent_out_dt): Call finalizer
541 when appropriate.
542
543 2013-06-08 Tobias Burnus <burnus@net-b.de>
544
545 PR fortran/57553
546 * simplify.c (gfc_simplify_storage_size): Handle literal
547 strings.
548 * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
549 Add missing fold_convert.
550
551 2013-06-07 Tobias Burnus <burnus@net-b.de>
552
553 PR fortran/57549
554 * array.c (gfc_match_array_constructor): Call
555 gfc_match_type_spec instead of gfc_match_decl_type_spec.
556 * match.c (gfc_match_type_spec): Renamed from match_type_spec.
557 (gfc_match_type_is, gfc_match_allocate): Update call.
558 * match.h (gfc_match_type_spec): Add prototype.
559
560 2013-06-07 Tobias Burnus <burnus@net-b.de>
561
562 PR fortran/57556
563 * trans.c (gfc_build_final_call): Init block before use.
564
565 2013-06-06 Tobias Burnus <burnus@net-b.de>
566
567 PR fortran/57542
568 * trans.c (gfc_build_final_call): Add se.pre to the block
569 and modify the assert.
570
571 2013-06-04 Tobias Burnus <burnus@net-b.de>
572
573 PR fortran/37336
574 * trans.h (gfc_build_final_call): Remove prototype.
575 (gfc_add_finalizer_call): Add prototype.
576 * trans-array.c (gfc_trans_dealloc_allocated): Support finalization.
577 (structure_alloc_comps): Update caller.
578 (gfc_trans_deferred_array): Call finalizer.
579 * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
580 * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize
581 variables of the main program.
582 * trans-expr.c (gfc_conv_procedure_call): Support finalization.
583 * trans-openmp.c (gfc_omp_clause_dtor,
584 gfc_trans_omp_array_reduction): Update calls.
585 * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
586 of alloc components.
587 * trans.c (gfc_add_finalizer_call): New function.
588 (gfc_deallocate_with_status,
589 gfc_deallocate_scalar_with_status): Call it
590 (gfc_build_final_call): Fix handling of scalar coarrays,
591 move up in the file and make static.
592
593 2013-06-01 Janus Weil <janus@gcc.gnu.org>
594 Mikael Morin <mikael@gcc.gnu.org>
595
596 * error.c (get_terminal_width): Only limit the width if we're
597 outputting to a terminal. Try to determine width via ioctl.
598
599 2013-06-01 Tobias Burnus <burnus@net-b.de>
600
601 * decl.c (add_global_entry): Take locus.
602 (gfc_match_entry): Update call.
603 (gfc_match_end): Better error location.
604 * parse.c (parse_block_data, parse_module, add_global_procedure,
605 add_global_program): Use better locus data.
606
607 2013-05-31 Tobias Burnus <burnus@net-b.de>
608
609 PR fortran/57456
610 * trans-array.c (gfc_array_init_size): Use passed type spec,
611 when available.
612 (gfc_array_allocate): Pass typespec on.
613 * trans-array.h (gfc_array_allocate): Update prototype.
614 * trans-stmt.c (gfc_trans_allocate): Pass typespec on.
615
616 2013-05-31 Janus Weil <janus@gcc.gnu.org>
617
618 PR fortran/54190
619 PR fortran/57217
620 * gfortran.h (gfc_terminal_width): Remove prototype.
621 * error.c (get_terminal_width): Moved here from misc.c. Renamed.
622 Try to determine terminal width from environment variable.
623 * interface.c (compare_type, compare_rank): New functions. Fix assumed
624 type/rank handling.
625 (compare_type_rank, check_dummy_characteristics,
626 check_result_characteristics, gfc_compare_interfaces): Use them.
627 (symbol_rank): Slightly modified and moved.
628 * misc.c (gfc_terminal_width): Moved to error.c.
629
630 2013-05-30 Janus Weil <janus@gcc.gnu.org>
631
632 PR fortran/54189
633 * resolve.c (check_assumed_size_reference): Check for e->ref.
634
635 2013-05-30 Tobias Burnus <burnus@net-b.de>
636
637 PR fortran/57458
638 * interface.c (compare_parameter): Update C1239/C1240 constraint
639 check for assumed-rank/TS29113.
640
641 2013-05-29 Tobias Burnus <burnus@net-b.de>
642
643 PR fortran/37336
644 * class.c (finalize_component): Fix coarray array refs.
645 (generate_finalization_wrapper): Only gfc_convert_type_warn
646 when the kind value is different.
647 (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
648 (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
649 generation.
650 * module.c (MOD_VERSION): Bump.
651 (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
652 * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted
653 void pointer.
654 (gfc_array_allocate, structure_alloc_comps): Don't nullify for
655 BT_CLASS allocations.
656 * trans-stmt.c (gfc_trans_allocate): Ditto.
657
658 2013-05-29 Tobias Burnus <burnus@net-b.de>
659
660 PR fortran/37336
661 * resolve.c (gfc_resolve_finalizers): Remove not implemented error.
662
663 2013-05-28 Tobias Burnus <burnus@net-b.de>
664
665 * trans-expr.c (gfc_conv_procedure_call): Deallocate
666 polymorphic arrays for allocatable intent(out) dummies.
667 (gfc_reset_vptr): New function, moved from trans-stmt.c
668 and extended.
669 * trans-stmt.c (reset_vptr): Remove.
670 (gfc_trans_deallocate): Update calls.
671 * trans.h (gfc_reset_vptr): New prototype.
672
673 2013-05-28 Dominique d'Humieres <dominiq@lps.ens.fr>
674
675 PR fortran/57435
676 * module.c (check_for_ambiguous): Avoid null pointer deref.
677
678 2013-05-28 Janus Weil <janus@gcc.gnu.org>
679 Tobias Burnus <burnus@net-b.de>
680
681 PR fortran/57217
682 * interface.c (check_dummy_characteristics): Symmetrize type check.
683
684 2013-05-27 Bud Davis <jmdavis@link.com>
685
686 PR fortran/50405
687 * resolve.c (resolve_formal_arglist): Detect error when an argument
688 has the same name as the function.
689
690 2013-05-27 Tobias Burnus <burnus@net-b.de>
691
692 * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial.
693 * intrinsic.c (gfc_is_intrinsic): Disable std check for those.
694
695 2013-05-22 Tobias Burnus <burnus@net-b.de>
696
697 * resolve.c (get_temp_from_expr): Change mangling to
698 start always with a _.
699
700 2013-05-22 Tobias Burnus <burnus@net-b.de>
701
702 * resolve.c (get_temp_from_expr): Fix temp var mangling.
703
704 2013-05-22 Tobias Burnus <burnus@net-b.de>
705
706 PR fortran/57364
707 * resolve.c (get_temp_from_expr): Commit created sym.
708
709 2013-05-22 Tobias Burnus <burnus@net-b.de>
710
711 PR fortran/57338
712 * intrinsic.c (do_check): Move some checks to ...
713 (do_ts29113_check): ... this new function.
714 (check_specific, gfc_intrinsic_sub_interface): Call it.
715
716 2013-05-22 Janne Blomqvist <jb@gcc.gnu.org>
717
718 * intrinsic.texi (RANDOM_SEED): Improve example.
719
720 2013-05-21 Tobias Burnus <burnus@net-b.de>
721
722 PR fortran/57035
723 * intrinsic.c (do_check): Add constraint check for
724 NO_ARG_CHECK, assumed rank and assumed type.
725 * gfortran.texi (NO_ARG_CHECK): Minor wording change,
726 allow PRESENT intrinsic.
727
728 2013-05-20 Tobias Burnus <burnus@net-b.de>
729
730 PR fortran/48858
731 PR fortran/55465
732 * decl.c (add_global_entry): Add sym_name.
733 * parse.c (add_global_procedure): Ditto.
734 * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
735 a procedure.
736 (resolve_global_procedure): Handle gsym->ns pointing to a module.
737 * trans-decl.c (gfc_get_extern_function_decl): Ditto.
738
739 2013-05-20 Tobias Burnus <burnus@net-b.de>
740
741 PR fortran/48858
742 * decl.c (add_global_entry): Use nonbinding name
743 only for F2003 or if no binding label exists.
744 (gfc_match_entry): Update calls.
745 * parse.c (gfc_global_used): Improve error message.
746 (add_global_procedure): Use nonbinding name
747 only for F2003 or if no binding label exists.
748 (gfc_parse_file): Update call.
749 * resolve.c (resolve_global_procedure): Use binding
750 name when available.
751 * trans-decl.c (gfc_get_extern_function_decl): Ditto.
752
753 2013-05-20 Tobias Burnus <burnus@net-b.de>
754
755 PR fortran/48858
756 * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
757 * match.c (gfc_match_common): Don't add commons to gsym.
758 * resolve.c (resolve_common_blocks): Add to gsym and
759 add checks.
760 (resolve_bind_c_comms): Remove.
761 (resolve_types): Remove call to the latter.
762 * trans-common.c (gfc_common_ns): Remove static var.
763 (gfc_map_of_all_commons): Add static var.
764 (build_common_decl): Correctly handle binding label.
765
766 2013-05-16 Jason Merrill <jason@redhat.com>
767
768 * Make-lang.in (f951$(exeext)): Use link mutex.
769
770 2013-05-05 Tobias Burnus <burnus@net-b.de>
771
772 * resolve.c (conformable_arrays): Avoid segfault
773 when ar.start[i] == NULL.
774
775 2013-05-05 Tobias Burnus <burnus@net-b.de>
776
777 PR fortran/57141
778 * decl.c (gfc_match_null): Permit use-associated
779 NULL intrinsic.
780
781 2013-05-04 Tobias Burnus <burnus@net-b.de>
782
783 * decl.c (gfc_verify_c_interop_param): Permit allocatable
784 and pointer with -std=f2008ts.
785
786 2013-05-02 Tobias Burnus <burnus@net-b.de>
787
788 PR fortran/57142
789 * simplify.c (gfc_simplify_size): Renamed from
790 simplify_size; fix kind=8 handling.
791 (gfc_simplify_size): New function.
792 (gfc_simplify_shape): Add range check.
793 * resolve.c (resolve_function): Fix handling
794 for ISYM_SIZE.
795
796 2013-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
797
798 * frontend-passes.c (optimize_power): Fix typo
799 in comment.
800
801 2013-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
802
803 PR fortran/57071
804 * frontend-passes.c (optimize_power): Simplify
805 1**k to 1.
806
807 2013-04-28 Tobias Burnus <burnus@net-b.de>
808
809 PR fortran/57114
810 * intrinsic.texi (RANK): Correct syntax description and
811 expected result.
812
813 2013-04-28 Tobias Burnus <burnus@net-b.de>
814
815 PR fortran/57093
816 * trans-types.c (gfc_get_element_type): Fix handling
817 of scalar coarrays of type character.
818 * intrinsic.texi (PACK): Add missing ")".
819
820 2013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
821
822 PR fortran/57071
823 * frontend-passes (optimize_power): New function.
824 (optimize_op): Use it.
825
826 2013-04-25 Janne Blomqvist <jb@gcc.gnu.org>
827
828 PR bootstrap/57028
829 * Make-lang.in (f951): Link in ZLIB.
830 (CFLAGS-fortran/module.o): Add zlib include directory.
831
832 2013-04-22 Janus Weil <janus@gcc.gnu.org>
833
834 PR fortran/53685
835 PR fortran/57022
836 * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
837 expressions.
838 * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
839 of special treatment for EXPR_ARRAY.
840 * target-memory.h (gfc_element_size): New prototype.
841 * target-memory.c (size_array): Remove.
842 (gfc_element_size): New function.
843 (gfc_target_expr_size): Modified to always return the full size of the
844 expression.
845
846 2013-04-20 Tobias Burnus <burnus@net-b.de>
847
848 PR fortran/56907
849 * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
850 passed to C_LOC
851
852 2013-04-19 Thomas Koenig <tkoenig@gcc.gnu.org>
853 Mikael Morin <mikael@gcc.gnu.org>
854
855 PR fortran/56872
856 * frontend-passes.c (copy_walk_reduction_arg): Change argument type
857 to gfc_constructor. If it has an iterator, wrap the copy of its
858 expression in an array constructor with that iterator. Don't special
859 case function expressions.
860 (callback_reduction): Update caller. Don't return early if there is
861 an iterator.
862
863 2013-04-18 Tobias Burnus <burnus@net-b.de>
864
865 * expr.c (find_array_element): Don't copy expr.
866 * data.c (create_character_initializer): Free expr.
867 * frontend-passes.c (combine_array_constructor): Ditto.
868 * match.c (match_typebound_call, gfc_match_select_type): Ditto.
869 * resolve.c (resolve_typebound_function): Free gfc_ref.
870
871 2013-04-18 Tobias Burnus <burnus@net-b.de>
872
873 PR fortran/56994
874 * invoke.texi (NEAREST): S argument is not optional.
875
876 2013-04-17 Janus Weil <janus@gcc.gnu.org>
877
878 PR fortran/56814
879 * interface.c (check_result_characteristics): Get result from interface
880 if present.
881
882 2013-04-17 Janne Blomqvist <jb@gcc.gnu.org>
883
884 PR fortran/40958
885 * scanner.h: New file.
886 * Make-lang.in: Dependencies on scanner.h.
887 * scanner.c (gfc_directorylist): Move to scanner.h.
888 * module.c: Don't include md5.h, include scanner.h and zlib.h.
889 (MOD_VERSION): Add comment about backwards compatibility.
890 (module_fp): Change type to gzFile.
891 (ctx): Remove.
892 (gzopen_included_file_1): New function.
893 (gzopen_included_file): New function.
894 (gzopen_intrinsic_module): New function.
895 (write_char): Use gzputc.
896 (read_crc32_from_module_file): New function.
897 (read_md5_from_module_file): Remove.
898 (gfc_dump_module): Use gz* functions instead of stdio, check gzip
899 crc32 instead of md5.
900 (read_module_to_tmpbuf): Use gz* functions instead of stdio.
901 (gfc_use_module): Use gz* functions.
902
903 2013-04-16 Tobias Burnus <burnus@net-b.de>
904
905 PR fortran/39505
906 * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
907 * gfortran.h (ext_attr_id_t): Ditto.
908 * gfortran.texi (GNU Fortran Compiler Directives):
909 Document it.
910 * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
911 (compare_parameter): Ditto - and regard as unlimited polymorphic.
912 * resolve.c (resolve_symbol, resolve_variable): Add same constraint
913 checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
914 (gfc_explicit_interface_required): Require explicit interface
915 for NO_ARG_CHECK.
916
917 2013-04-16 Janus Weil <janus@gcc.gnu.org>
918
919 PR fortran/56968
920 * expr.c (gfc_check_pointer_assign): Handle generic functions returning
921 procedure pointers.
922
923 2013-04-16 Tobias Burnus <burnus@net-b.de>
924
925 PR fortran/56969
926 * intrinsic.c (gfc_intrinsic_func_interface): Don't set
927 module name to "(intrinsic)" for intrinsics from intrinsic
928 modules.
929
930 2013-04-15 Tobias Burnus <burnus@net-b.de>
931
932 * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
933
934 2013-04-15 Janne Blomqvist <jb@gcc.gnu.org>
935
936 PR fortran/56919
937 * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
938
939 2013-04-15 Tobias Burnus <burnus@net-b.de>
940
941 * class.c (gfc_find_intrinsic_vtab): Removed unused var.
942 * dependency.c (check_data_pointer_types): Fix check.
943 * frontend-passes.c (check_data_pointer_types): Remove
944 superfluous statement.
945 * parse.c (decode_omp_directive): Add missing break.
946 * resolve.c (resolve_typebound_subroutine: Free variable.
947 * trans-decl.c (create_function_arglist): Correct condition.
948
949 2013-04-14 Mikael Morin <mikael@gcc.gnu.org>
950
951 PR fortran/56816
952 * match.c (gfc_match_select_type): Add syntax error. Move namespace
953 allocation and cleanup...
954 * parse.c (decode_statement): ... here.
955
956 2013-04-13 Janus Weil <janus@gcc.gnu.org>
957
958 PR fortran/55959
959 * expr.c (gfc_simplify_expr): Branch is not unreachable.
960
961 2013-04-12 Janus Weil <janus@gcc.gnu.org>
962
963 PR fortran/56266
964 * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
965
966 2013-04-12 Tobias Burnus <burnus@net-b.de>
967
968 PR fortran/56929
969 * trans-array.c (duplicate_allocatable): Fix handling
970 of scalar coarrays.
971
972 2013-04-12 Janus Weil <janus@gcc.gnu.org>
973
974 PR fortran/56261
975 * gfortran.h (gfc_explicit_interface_required): New prototype.
976 * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
977 required in a proc-ptr assignment.
978 * interface.c (check_result_characteristics): Extra check.
979 * resolve.c (gfc_explicit_interface_required): New function.
980 (resolve_global_procedure): Use new function
981 'gfc_explicit_interface_required'. Do a full interface check.
982
983 2013-04-12 Tobias Burnus <burnus@net-b.de>
984
985 PR fortran/56845
986 * trans-decl.c (gfc_trans_deferred_vars): Restrict
987 static CLASS init to SAVE and -fno-automatic.
988
989 2013-04-12 Tobias Burnus <burnus@net-b.de>
990
991 PR fortran/56845
992 * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
993 allocatable static BT_CLASS.
994 * trans-expr.c (gfc_class_set_static_fields): New function.
995 * trans.h (gfc_class_set_static_fields): New prototype.
996
997 2013-04-11 Janne Blomqvist <jb@gcc.gnu.org>
998
999 * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
1000 * arith.c: Replace gfc_try with bool type.
1001 * array.c: Likewise.
1002 * check.c: Likewise.
1003 * class.c: Likewise.
1004 * cpp.c: Likewise.
1005 * cpp.h: Likewise.
1006 * data.c: Likewise.
1007 * data.h: Likewise.
1008 * decl.c: Likewise.
1009 * error.c: Likewise.
1010 * expr.c: Likewise.
1011 * f95-lang.c: Likewise.
1012 * interface.c: Likewise.
1013 * intrinsic.c: Likewise.
1014 * intrinsic.h: Likewise.
1015 * io.c: Likewise.
1016 * match.c: Likewise.
1017 * match.h: Likewise.
1018 * module.c: Likewise.
1019 * openmp.c: Likewise.
1020 * parse.c: Likewise.
1021 * parse.h: Likewise.
1022 * primary.c: Likewise.
1023 * resolve.c: Likewise.
1024 * scanner.c: Likewise.
1025 * simplify.c: Likewise.
1026 * symbol.c: Likewise.
1027 * trans-intrinsic.c: Likewise.
1028 * trans-openmp.c: Likewise.
1029 * trans-stmt.c: Likewise.
1030 * trans-types.c: Likewise.
1031
1032 2013-04-09 Tobias Burnus <burnus@net-b.de>
1033
1034 * gfortran.texi (KIND Type Parameters,
1035 Internal representation of LOGICAL variables): Add crossrefs.
1036 (Intrinsic Types): Mention issues with _Bool interop.
1037 (Naming and argument-passing conventions): New section.
1038
1039 2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
1040
1041 PR fortran/56782
1042 * frontend-passes.c (callback_reduction): Don't do
1043 any simplification if there is only a single element
1044 which has an iterator.
1045
1046 2013-04-07 Tobias Burnus <burnus@net-b.de>
1047
1048 PR fortran/56849
1049 * iresolve.c (gfc_resolve_reshape): Set shape also
1050 with order=.
1051
1052 2013-04-04 Janus Weil <janus@gcc.gnu.org>
1053
1054 PR fortran/40881
1055 * match.c (gfc_match_return): Remove standard notification.
1056 * primary.c (gfc_match_actual_arglist): Add standard notification.
1057
1058 2013-04-04 Tobias Burnus <burnus@net-b.de>
1059
1060 PR fortran/50269
1061 * gcc/fortran/check.c (is_c_interoperable,
1062 gfc_check_c_loc): Correct c_loc array checking
1063 for Fortran 2003 and Fortran 2008.
1064
1065 2013-04-03 Janus Weil <janus@gcc.gnu.org>
1066
1067 PR fortran/56284
1068 PR fortran/40881
1069 * decl.c (gfc_match_formal_arglist): Warn about alternate-return
1070 arguments.
1071 * interface.c (check_dummy_characteristics): Return if symbols are NULL.
1072
1073 2013-04-01 Janus Weil <janus@gcc.gnu.org>
1074
1075 PR fortran/56500
1076 * symbol.c (gfc_set_default_type): Build class container for
1077 IMPLICIT CLASS.
1078
1079 2013-03-31 Tobias Burnus <burnus@net-b.de>
1080
1081 * class.c (finalization_scalarizer, finalizer_insert_packed_call,
1082 generate_finalization_wrapper): Avoid segfault with absent SIZE=
1083 argument to TRANSFER and use correct result kind for SIZE.
1084 * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
1085 nonmodules.
1086 * trans.c (gfc_build_final_call): Handle coarrays.
1087
1088 2013-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1089
1090 * trans-expr.c (build_memcmp_call): New function.
1091 (gfc_build_compare_string): If the strings
1092 compared have constant and equal lengths and
1093 the strings are kind=1, or, for kind=4 strings,
1094 the test is for (in)equality, use memcmp().
1095
1096 2013-03-29 Tobias Burnus <burnus@net-b.de>
1097
1098 PR fortran/35203
1099 * trans-decl.c (create_function_arglist): Pass hidden argument
1100 for passed-by-value optional+value dummies.
1101 * trans-expr.c (gfc_conv_expr_present,
1102 gfc_conv_procedure_call): Handle those.
1103
1104 2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
1105
1106 PR fortran/45159
1107 * gfortran.h (gfc_dep_difference): Add prototype.
1108 * dependency.c (discard_nops): New function.
1109 (gfc_dep_difference): New function.
1110 (check_section_vs_section): Use gfc_dep_difference
1111 to calculate the difference of starting indices.
1112 * trans-expr.c (gfc_conv_substring): Use
1113 gfc_dep_difference to calculate the length of
1114 substrings where possible.
1115
1116 2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
1117
1118 PR fortran/55806
1119 * frontend-passes.c (optimize_code): Keep track of
1120 current code to make code insertion possible.
1121 (combine_array_constructor): New function.
1122 (optimize_op): Call it.
1123
1124 2013-03-27 Tobias Burnus <burnus@net-b.de>
1125
1126 PR fortran/56650
1127 PR fortran/36437
1128 * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
1129 gfc_check_storage_size): Update checks.
1130 * intrinsic.texi (SIZEOF): Correct class.
1131 * intrinsic.h (gfc_simplify_sizeof,
1132 gfc_simplify_storage_size): New prototypes.
1133 * intrinsic.c (add_functions): Use them.
1134 * simplify.c (gfc_simplify_sizeof,
1135 gfc_simplify_storage_size): New functions.
1136
1137 2013-03-27 Janne Blomqvist <jb@gcc.gnu.org>
1138
1139 PR fortran/25708
1140 * module.c (module_locus): Use long for position.
1141 (module_content): New variable.
1142 (module_pos): Likewise.
1143 (prev_character): Remove.
1144 (bad_module): Free data instead of closing mod file.
1145 (set_module_locus): Use module_pos.
1146 (get_module_locus): Likewise.
1147 (module_char): use buffer rather than stdio file.
1148 (module_unget_char): Likewise.
1149 (read_module_to_tmpbuf): New function.
1150 (gfc_use_module): Call read_module_to_tmpbuf.
1151
1152 2013-03-26 Tobias Burnus <burnus@net-b.de>
1153
1154 PR fortran/56649
1155 * simplify.c (gfc_simplify_merge): Simplify more.
1156
1157 2013-03-25 Tobias Burnus <burnus@net-b.de>
1158
1159 PR fortran/38536
1160 PR fortran/38813
1161 PR fortran/38894
1162 PR fortran/39288
1163 PR fortran/40963
1164 PR fortran/45824
1165 PR fortran/47023
1166 PR fortran/47034
1167 PR fortran/49023
1168 PR fortran/50269
1169 PR fortran/50612
1170 PR fortran/52426
1171 PR fortran/54263
1172 PR fortran/55343
1173 PR fortran/55444
1174 PR fortran/55574
1175 PR fortran/56079
1176 PR fortran/56378
1177 * check.c (gfc_var_strlen): Properly handle 0-sized string.
1178 (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
1179 (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
1180 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
1181 functions.
1182 * expr.c (check_inquiry): Add c_sizeof, compiler_version and
1183 compiler_options.
1184 (gfc_check_pointer_assign): Refine function result check.
1185 gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
1186 GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
1187 GFC_ISYM_C_LOC.
1188 (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
1189 NAMED_SUBROUTINE.
1190 (generate_isocbinding_symbol): Update prototype.
1191 (get_iso_c_sym): Remove.
1192 (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
1193 * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
1194 (gfc_intrinsic_sub_interface): Use it.
1195 (add_functions, add_subroutines): Add missing C-binding intrinsics.
1196 (gfc_intrinsic_func_interface): Add special case for c_loc.
1197 gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
1198 (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
1199 * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
1200 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
1201 gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
1202 * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
1203 functions.
1204 * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
1205 NAMED_FUNCTION.
1206 * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
1207 * module.c (create_intrinsic_function): Support subroutines and
1208 derived-type results.
1209 (use_iso_fortran_env_module): Update calls.
1210 (import_iso_c_binding_module): Ditto; update calls to
1211 generate_isocbinding_symbol.
1212 * resolve.c (find_arglists): Skip for intrinsic symbols.
1213 (gfc_resolve_intrinsic): Find intrinsic subs via id.
1214 (is_scalar_expr_ptr, gfc_iso_c_func_interface,
1215 set_name_and_label, gfc_iso_c_sub_interface): Remove.
1216 (resolve_function, resolve_specific_s0): Remove calls to those.
1217 (resolve_structure_cons): Fix handling.
1218 * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
1219 generation.
1220 (gen_cptr_param, gen_fptr_param, gen_shape_param,
1221 build_formal_args, get_iso_c_sym): Remove.
1222 (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
1223 (generate_isocbinding_symbol): Support hidden symbols and
1224 using c_ptr/c_funptr symtrees for nullptr defs.
1225 * target-memory.c (gfc_target_encode_expr): Fix handling
1226 of c_ptr/c_funptr.
1227 * trans-expr.c (conv_isocbinding_procedure): Remove.
1228 (gfc_conv_procedure_call): Remove call to it.
1229 (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
1230 of c_ptr/c_funptr.
1231 * trans-intrinsic.c (conv_isocbinding_function,
1232 conv_isocbinding_subroutine): New.
1233 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
1234 Call them.
1235 * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
1236 * trans-types.c (gfc_typenode_for_spec,
1237 gfc_get_derived_type): Ditto.
1238 (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
1239
1240 2013-03-18 Tobias Burnus <burnus@net-b.de>
1241
1242 * gfortran.h (gfc_option_t): Remove flag_whole_file.
1243 * invoke.texi (-fno-whole-file): Remove.
1244 * lang.opt (fwhole-file): Change to Ignore.
1245 * options.c (gfc_init_options, gfc_post_options,
1246 gfc_handle_option): Remove !flag_whole_file handling
1247 * parse.c (resolve_all_program_units, translate_all_program_units,
1248 gfc_parse_file): Ditto.
1249 * resolve.c (resolve_global_procedure): Ditto.
1250 * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
1251 gfc_create_module_variable): Ditto.
1252 * trans-types.c (gfc_get_derived_type): Ditto.
1253
1254 2013-03-15 Tobias Burnus <burnus@net-b.de>
1255
1256 PR fortran/56615
1257 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
1258 if they are not simply contiguous.
1259
1260 2013-03-11 Tobias Burnus <burnus@net-b.de>
1261
1262 * gfortran.texi (STRUCTURE and RECORD): State more clearly how
1263 to convert them into derived types.
1264
1265 2013-03-10 Paul Thomas <pault@gcc.gnu.org>
1266
1267 PR fortran/56575
1268 * expr.c (gfc_default_initializer): Check that a class declared
1269 type has any components.
1270 * resolve.c (resolve_fl_derived0): On failing the test for C437
1271 set the type to BT_UNKNOWN to prevent repeat error messages.
1272
1273 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1274
1275 PR fortran/56477
1276 * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
1277
1278 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1279
1280 PR fortran/54730
1281 * array.c (gfc_match_array_constructor): Set a checkpoint before
1282 matching a typespec. Drop it on success, restore it otherwise.
1283
1284 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1285
1286 PR fortran/54730
1287 * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
1288 (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
1289 gfc_restore_last_undo_checkpoint): New prototypes.
1290 * symbol.c (default_undo_chgset_var): Update initialization.
1291 (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
1292 free_undo_change_set_data, pop_undo_change_set,
1293 gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
1294 New functions.
1295 (save_symbol_data): Handle multiple change sets. Make sure old_symbol
1296 field's previous value is not overwritten. Clear gfc_new field.
1297 (restore_old_symbol): Restore previous old_symbol field.
1298 (gfc_restore_last_undo_checkpoint): New function, using body renamed
1299 from gfc_undo_symbols. Restore the previous change set as current one.
1300 (gfc_undo_symbols): New body.
1301 (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
1302 Call enforce_single_undo_checkpoint.
1303 (gfc_symbol_done_2): Ditto. Free change set data.
1304
1305 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1306
1307 * symbol.c (restore_old_symbol): Fix thinko.
1308
1309 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1310
1311 * symbol.c (gfc_undo_symbols): Move code...
1312 (restore_old_symbol): ... here as a new function.
1313
1314 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
1315
1316 * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
1317 * gfortran.h: Include vec.h.
1318 (gfc_undo_change_set): New struct.
1319 * symbol.c (tentative_tbp): Remove struct.
1320 (changed_syms, tentative_tbp_list): Remove variables.
1321 (default_undo_chgset_var, latest_undo_chgset): New variables.
1322 (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
1323 gfc_commit_symbols, gfc_commit_symbol,
1324 gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
1325 Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
1326
1327 2013-03-01 Tobias Burnus <burnus@net-b.de>
1328
1329 PR fortran/56491
1330 * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
1331 * symbol.c (free_components): Free proc-pointer components.
1332
1333 2013-03-01 Tobias Burnus <burnus@net-b.de>
1334
1335 * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
1336 * trans-io.c (build_dt): Ditto.
1337
1338 2013-02-24 Joseph Myers <joseph@codesourcery.com>
1339
1340 * resolve.c (generate_component_assignments): Don't use UTF-8
1341 ligature in diagnostic.
1342
1343 2013-02-21 Janus Weil <janus@gcc.gnu.org>
1344
1345 PR fortran/56385
1346 * trans-array.c (structure_alloc_comps): Handle procedure-pointer
1347 components with allocatable result.
1348
1349 2013-02-21 Tobias Burnus <burnus@net-b.de>
1350
1351 PR fortran/56416
1352 * gfortran.texi (Part II: Language Reference, Extensions,
1353 Non-Fortran Main Program): Sort @menu to match actual section order.
1354 * intrinsic.texi (Intrinsic Procedures): Ditto.
1355 (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
1356
1357 2013-02-15 Tobias Burnus <burnus@net-b.de>
1358 Mikael Morin <mikael@gcc.gnu.org>
1359
1360 PR fortran/56318
1361 * simplify.c (gfc_simplify_matmul): Fix result shape
1362 and matmul result.
1363
1364 2013-02-15 Tobias Burnus <burnus@net-b.de>
1365
1366 PR fortran/53818
1367 * resolve.c (apply_default_init_local): Don't create an
1368 initializer for a result variable.
1369
1370 2013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1371
1372 PR fortran/56224
1373 * gfortran.h (gfc_add_include_path): Add boolean argument
1374 for warn.
1375 * scanner.c (gfc_add_include_path): Pass along warn argument
1376 to add_path_to_list.
1377 * options.c (gfc_post_options): Add true warn argument to
1378 gfc_add_include_path.
1379 (gfc_handle_module_path_options): Likewise.
1380 (gfc_handle_option): Also gfc_add_include_path for intrinsic
1381 modules, without warning.
1382
1383 2013-02-14 Paul Thomas <pault@gcc.gnu.org>
1384 Tobias Burnus <burnus@net-b.de>
1385
1386 PR testsuite/56138
1387 * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
1388 results for functions without extra result variable.
1389
1390 Revert:
1391 2013-01-30 Tobias Burnus <burnus@net-b.de>
1392
1393 PR fortran/56138
1394 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
1395 results for functions without extra result variable.
1396
1397 2013-02-12 Janus Weil <janus@gcc.gnu.org>
1398
1399 PR fortran/46952
1400 * resolve.c (resolve_call): Do not check deferred procedures for
1401 recursiveness.
1402
1403 2013-02-09 Paul Thomas <pault@gcc.gnu.org>
1404
1405 PR fortran/55362
1406 * check.c (array_check): It is an error if a procedure is
1407 passed.
1408
1409 2013-02-08 Mikael Morin <mikael@gcc.gnu.org>
1410
1411 PR fortran/54107
1412 * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
1413 to error_mark_node on entry. Detect recursive types. Build a variadic
1414 procedure type if the type is recursive. Restore the initial
1415 backend_decl.
1416
1417 2013-02-07 Tobias Burnus <burnus@net-b.de>
1418
1419 PR fortran/54339
1420 * gfortran.texi (Standards): Mention TS29113.
1421 (Varying Length Character): Mention deferred-length
1422 strings.
1423 (Fortran 2003 Status): Add unlimited polymorphic.
1424 (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
1425 (C Interop): Update the section about TS29113.
1426
1427 2013-02-06 Paul Thomas <pault@gcc.gnu.org>
1428
1429 PR fortran/55789
1430 * trans-array.c (trans_array_constructor): Remove condition
1431 'dynamic' = true if the loop ubound is a VAR_DECL.
1432
1433 2013-02-04 Paul Thomas <pault@gcc.gnu.org>
1434
1435 PR fortran/56008
1436 PR fortran/47517
1437 * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
1438 the lhs descriptor before it is modified for reallocation. Use
1439 it to deallocate allocatable components in the reallocation
1440 block. Nullify allocatable components for newly (re)allocated
1441 arrays.
1442
1443 2013-02-04 Mikael Morin <mikael@gcc.gnu.org>
1444
1445 PR fortran/54195
1446 * resolve.c (resolve_typebound_procedures): Recurse through
1447 resolve_symbol.
1448
1449 2013-02-04 Mikael Morin <mikael@gcc.gnu.org>
1450
1451 PR fortran/54107
1452 PR fortran/54195
1453 * gfortran.h (struct gfc_symbol): New field 'resolved'.
1454 * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
1455 (resolve_symbol): Skip duplicate calls. Don't check the current
1456 namespace.
1457
1458 2013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1459
1460 PR fortran/50627
1461 PR fortran/56054
1462 * decl.c (gfc_match_end): Remove half-ready namespace
1463 from parent if the end of a block is missing.
1464 * parse.c (parse_module): Do not put namespace into
1465 gsymbol on error.
1466
1467 2013-01-30 Tobias Burnus <burnus@net-b.de>
1468
1469 PR fortran/56138
1470 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
1471 results for functions without extra result variable.
1472
1473 2013-01-29 Janus Weil <janus@gcc.gnu.org>
1474 Mikael Morin <mikael@gcc.gnu.org>
1475
1476 PR fortran/54107
1477 * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
1478 (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
1479 gfc_expr_replace_comp): Delete.
1480 (gfc_sym_get_dummy_args): New prototype.
1481 * dependency.c (gfc_check_fncall_dependency): Use
1482 'gfc_sym_get_dummy_args'.
1483 * expr.c (gfc_is_constant_expr): Ditto.
1484 (replace_symbol,gfc_expr_replace_symbols,replace_comp,
1485 gfc_expr_replace_comp): Deleted.
1486 * frontend-passes.c (doloop_code,do_function): Use
1487 'gfc_sym_get_dummy_args'.
1488 * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
1489 gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
1490 gfc_check_typebound_override): Ditto.
1491 * module.c (MOD_VERSION): Bump module version.
1492 (mio_component): Do not read/write 'formal' and 'formal_ns'.
1493 * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
1494 copy formal args, but just keep a pointer to the interface.
1495 (resolve_function,resolve_call,resolve_typebound_generic_call,
1496 resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
1497 resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
1498 resolve_typebound_procedure,check_uop_procedure): Use
1499 'gfc_sym_get_dummy_args'.
1500 * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
1501 (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
1502 (gfc_sym_get_dummy_args): New function.
1503 * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
1504 Use 'gfc_sym_get_dummy_args'.
1505 * trans-decl.c (build_function_decl,create_function_arglist,
1506 build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
1507 add_argument_checking): Ditto.
1508 * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
1509 gfc_conv_statement_function): Ditto.
1510 * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
1511 * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
1512
1513 2013-01-28 Tobias Burnus <burnus@net-b.de>
1514 Mikael Morin <mikael@gcc.gnu.org>
1515
1516 PR fortran/53537
1517 * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
1518 interface block.
1519 (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
1520 * decl.c (gfc_match_data_decl): Ditto.
1521 (variable_decl): Remove undeclared type error.
1522 (gfc_match_import): Use renamed instead of original name.
1523
1524 2013-01-27 Paul Thomas <pault@gcc.gnu.org>
1525
1526 PR fortran/55984
1527 PR fortran/56047
1528 * gfortran.h : Add associate_var to symbol_attr.
1529 * resolve.c (resolve_assoc_var): Set associate_var attribute.
1530 If the target class_ok is set, set it for the associate
1531 variable.
1532 * check.c (allocatable_check): Associate variables should not
1533 have the allocatable attribute even if their symbols do.
1534 * class.c (gfc_build_class_symbol): Symbols with associate_var
1535 set will always have a good class container.
1536
1537 2013-01-23 Janus Weil <janus@gcc.gnu.org>
1538
1539 PR fortran/56081
1540 * resolve.c (resolve_select): Add argument 'select_type', reject
1541 non-scalar expressions.
1542 (resolve_select_type,resolve_code): Pass new argument to
1543 'resolve_select'.
1544
1545 2013-01-23 Jakub Jelinek <jakub@redhat.com>
1546
1547 PR fortran/56052
1548 * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
1549 and DECL_IGNORED_P on select_type_temporary and don't set
1550 DECL_BY_REFERENCE.
1551
1552 2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1553
1554 PR fortran/55919
1555 * scanner.c (add_path_to_list): Copy path to temporary and strip
1556 trailing directory separators before calling stat().
1557
1558 2013-01-17 Richard Biener <rguenther@suse.de>
1559
1560 * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
1561 dependent on sign of step, avoids repeated evaluation of
1562 step sign test. Avoid undefined overflow issues by using unsigned
1563 arithmetic.
1564
1565 2013-01-16 Janus Weil <janus@gcc.gnu.org>
1566
1567 PR fortran/55983
1568 * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
1569 asserting it.
1570
1571 2013-01-16 Jakub Jelinek <jakub@redhat.com>
1572 Tobias Burnus <burnus@net-b.de>
1573
1574 PR driver/55884
1575 * lang.opt (fintrinsic-modules-path): Don't accept Joined.
1576 (fintrinsic-modules-path=): New.
1577 * options.c (gfc_handle_option, gfc_get_option_string,
1578 gfc_get_option_string): Handle the latter.
1579
1580 2013-01-16 Jakub Jelinek <jakub@redhat.com>
1581
1582 PR fortran/52865
1583 * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
1584 and use value of countm1 before the decrement in the condition.
1585
1586 2013-01-15 Paul Thomas <pault@gcc.gnu.org>
1587
1588 PR fortran/54286
1589 * expr.c (gfc_check_pointer_assign): Check for presence of
1590 's2' before using it.
1591
1592 2013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1593
1594 PR fortran/55806
1595 * frontend-passes.c (optimize_reduction): New function,
1596 including prototype.
1597 (callback_reduction): Likewise.
1598 (gfc_run_passes): Also run optimize_reduction.
1599 (copy_walk_reduction_arg): New function.
1600 (dummy_code_callback): New function.
1601
1602 2013-01-13 Jakub Jelinek <jakub@redhat.com>
1603
1604 PR fortran/55935
1605 * trans-expr.c (gfc_conv_structure): Call
1606 unshare_expr_without_location on the ctor elements.
1607
1608 2013-01-13 Paul Thomas <pault@gcc.gnu.org>
1609
1610 PR fortran/54286
1611 * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
1612 and rvalue interfaces are presented to gfc_compare_interfaces.
1613 Simplify references to interface names by using the symbols
1614 themselves. Call gfc_compare_interfaces with s1 and s2 inter-
1615 changed to overcome the asymmetry of this function. Do not
1616 repeat the check for the presence of s1 and s2.
1617
1618 2013-01-12 Janus Weil <janus@gcc.gnu.org>
1619
1620 PR fortran/55072
1621 * trans-array.c (gfc_conv_array_parameter): No packing was done for
1622 full arrays of derived type.
1623
1624 2013-01-08 Paul Thomas <pault@gcc.gnu.org>
1625
1626 PR fortran/55868
1627 * class.c (get_unique_type_string): Change $tar to STAR and
1628 replace sprintf by strcpy where there is no formatting.
1629 * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
1630
1631 2013-01-09 Mikael Morin <mikael@gcc.gnu.org>
1632
1633 PR fortran/47203
1634 * module.c (check_for_ambiguous): Get the current program unit using
1635 gfc_current_ns.
1636
1637 2013-01-09 Tobias Burnus <burnus@net-b.de>
1638
1639 PR fortran/55758
1640 * resolve.c (resolve_symbol): Reject non-C_Bool logicals
1641 in BIND(C) procedures with -std=f*.
1642
1643 2013-01-08 Paul Thomas <pault@gcc.gnu.org>
1644
1645 PR fortran/55618
1646 * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
1647 character function arguments to elemental procedures in
1648 scalarization loops.
1649
1650 2013-01-07 Tobias Burnus <burnus@net-b.de>
1651
1652 PR fortran/55763
1653 * gfortran.h (gfc_check_assign_symbol): Update prototype.
1654 * decl.c (add_init_expr_to_sym, do_parm): Update call.
1655 * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
1656 improve error location; support components.
1657 (gfc_check_pointer_assign): Handle component assignments.
1658 * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
1659 (resolve_values): Update call.
1660 (resolve_structure_cons): Avoid double diagnostic.
1661
1662 2013-01-07 Tobias Burnus <burnus@net-b.de>
1663 Thomas Koenig <tkoenig@gcc.gnu.org>
1664
1665 PR fortran/55852
1666 * expr.c (gfc_build_intrinsic_call): Avoid clashes
1667 with user's procedures.
1668 * gfortran.h (gfc_build_intrinsic_call): Update prototype.
1669 * simplify.c (gfc_simplify_size): Update call.
1670 * class.c (finalization_scalarizer, finalization_get_offset,
1671 finalizer_insert_packed_call, generate_finalization_wrapper):
1672 Clean up by using gfc_build_intrinsic_call.
1673
1674 2013-01-07 Tobias Burnus <burnus@net-b.de>
1675
1676 PR fortran/55763
1677 * resolve.c (resolve_select_type): Reject intrinsic types for
1678 a non-unlimited-polymorphic selector.
1679
1680 2013-01-06 Paul Thomas <pault@gcc.gnu.org>
1681
1682 PR fortran/53876
1683 PR fortran/54990
1684 PR fortran/54992
1685 * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
1686 to see if it is GFC_CLASS_TYPE_P.
1687 * trans-expr.c (gfc_get_vptr_from_expr): The same.
1688 (gfc_conv_class_to_class): If the types are not the same,
1689 cast parmese->expr to the type of ctree.
1690 * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
1691 CLASS components must be set.
1692
1693 2013-01-06 Mikael Morin <mikael@gcc.gnu.org>
1694
1695 PR fortran/42769
1696 PR fortran/45836
1697 PR fortran/45900
1698 * module.c (read_module): Don't reuse local symtree if the associated
1699 symbol isn't exactly the one wanted. Don't reuse local symtree if it is
1700 ambiguous.
1701 * resolve.c (resolve_call): Use symtree's name instead of symbol's to
1702 lookup the symtree.
1703
1704 2013-01-05 Steven G. Kargl <kargl@gcc.gnu.org>
1705 Mikael Morin <mikael@gcc.gnu.org>
1706
1707 PR fortran/55827
1708 * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
1709 e->symtree == NULL.
1710 * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
1711
1712 2013-01-05 Tobias Burnus <burnus@net-b.de>
1713
1714 * class.c (finalize_component): Used passed offset expr.
1715 (finalization_get_offset): New static function.
1716 (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
1717 to handle noncontiguous arrays.
1718
1719 2013-01-04 Tobias Burnus <burnus@net-b.de>
1720
1721 * trans.c (gfc_build_final_call): New function.
1722 * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
1723 New function prototypes.
1724 * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
1725 conv_scalar_to_descriptor, removed static attribute.
1726 (gfc_conv_procedure_call): Honor renaming.
1727
1728 2013-01-04 Tobias Burnus <burnus@net-b.de>
1729
1730 * intrinsic.c (add_functions): New internal intrinsic
1731 function GFC_PREFIX ("stride").
1732 * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
1733 * intrinsic.h (gfc_resolve_stride): New prototypes.
1734 * iresolve.c (gfc_resolve_stride): New function.
1735 * trans-intrinsic.c (conv_intrinsic_stride): New static
1736 function.
1737 (gfc_conv_intrinsic_function): Use it.
1738
1739 2013-01-04 Tobias Burnus <burnus@net-b.de>
1740
1741 * class.c (gfc_find_intrinsic_vtab): Add _final
1742 component.
1743 * decl.c (gfc_match_null): Remove superfluous
1744 variadic argument to gfc_match.
1745
1746 2013-01-04 Paul Thomas <pault@gcc.gnu.org>
1747
1748 PR fortran/55172
1749 * match.c (copy_ts_from_selector_to_associate): Remove call to
1750 gfc_resolve_expr and replace it with explicit setting of the
1751 array reference type.
1752 * resolve.c (resolve_select_type): It is an error if the
1753 selector is coindexed.
1754
1755 2013-01-04 Tobias Burnus <burnus@net-b.de>
1756
1757 PR fortran/55763
1758 * decl.c (gfc_match_null): Parse and reject MOLD.
1759
1760 2013-01-04 Tobias Burnus <burnus@net-b.de>
1761
1762 PR fortran/55854
1763 PR fortran/55763
1764 * class.c (gfc_class_null_initializer): Fix finding the vtab.
1765 (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
1766
1767 2013-01-03 Janus Weil <janus@gcc.gnu.org>
1768
1769 PR fortran/55855
1770 * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
1771 of rvalue. Correct hyphenation in error message.
1772
1773 2013-01-03 Jakub Jelinek <jakub@redhat.com>
1774
1775 * gfortranspec.c (lang_specific_driver): Update copyright notice
1776 dates.
1777 \f
1778 Copyright (C) 2013 Free Software Foundation, Inc.
1779
1780 Copying and distribution of this file, with or without modification,
1781 are permitted in any medium without royalty provided the copyright
1782 notice and this notice are preserved.