Merge from branches/gcc-4_8-branch up to rev 207411.
[official-gcc.git] / gcc-4_8-branch / gcc / fortran / ChangeLog
blob2ec8e7fa5e3923e5baacde5b9c0c0547cd7cefd3
1 2014-02-01  Paul Thomas  <pault@gcc.gnu.org>
3         PR fortran/59414
4         * trans-stmt.c (gfc_trans_allocate): Before the pointer
5         assignment to transfer the source _vptr to a class allocate
6         expression, the final class reference should be exposed. The
7         tail that includes the _data and array references is stored.
8         This reduced expression is transferred to 'lhs' and the _vptr
9         added. Then the tail is restored to the allocate expression.
11 2014-01-26  Mikael Morin  <mikael@gcc.gnu.org>
13         PR fortran/58007
14         * module.c
15         (fp2, find_pointer2): Remove.
16         (mio_component_ref): Don't forcedfully set the containing derived type
17         symbol for loading.  Remove unused argument.
18         (mio_ref): Update caller
19         (skip_list): New argument nest_level.  Initialize level with the new
20         argument.
21         (read_module): Add forced pointer components association for derived
22         type symbols.
24 2014-01-19  Paul Thomas  <pault@gcc.gnu.org>
26         Backport from mainline
27         2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
29         PR fortran/58410
30         * trans-array.c (gfc_alloc_allocatable_for_assignment): Do not
31         use the array bounds of an unallocated array but set its size
32         to zero instead.
34 2014-01-19  Paul Thomas  <pault@gcc.gnu.org>
36         Backport from mainline
37         2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
39         PR fortran/34547
40         * resolve.c (resolve_transfer): EXPR_NULL is always in an
41         invalid context in a transfer statement.
43 2014-01-11  Janus Weil  <janus@gcc.gnu.org>
45         Backport from mainline
46         2013-12-29  Janus Weil  <janus@gcc.gnu.org>
48         PR fortran/59612
49         PR fortran/57042
50         * dump-parse-tree.c (show_typespec): Check for charlen.
51         * invoke.texi: Fix documentation of -fdump-fortran-optimized and
52         -fdump-parse-tree.
54 2014-01-04  Janus Weil  <janus@gcc.gnu.org>
56         Backport from mainline
57         2014-01-02  Janus Weil  <janus@gcc.gnu.org>
59         PR fortran/59654
60         * resolve.c (resolve_typebound_procedures): No need to create the vtab
61         here.
63 2013-12-31  Janus Weil  <janus@gcc.gnu.org>
65         Backport from mainline
66         2013-12-30  Janus Weil  <janus@gcc.gnu.org>
68         PR fortran/58998
69         * resolve.c (resolve_symbol): Check that symbol is not only flavorless
70         but also untyped.
72 2013-12-18  Janus Weil  <janus@gcc.gnu.org>
74         Backport from mainline
75         2013-12-15  Janus Weil  <janus@gcc.gnu.org>
77         PR fortran/59493
78         * class.c (gfc_find_intrinsic_vtab): Handle BT_CLASS.
80 2013-11-30  Paul Thomas  <pault@gcc.gnu.org>
82         Backport from mainline
83         2013-11-04  Paul Thomas  <pault@gcc.gnu.org>
85         PR fortran/57445
86         * trans-expr.c (gfc_conv_class_to_class): Remove spurious
87         assert.
89 2013-11-17  Janus Weil  <janus@gcc.gnu.org>
91         Backport from mainline
92         2013-11-07  Janus Weil  <janus@gcc.gnu.org>
94         PR fortran/58471
95         * primary.c (gfc_expr_attr): Check for result symbol.
97 2013-11-16  Janus Weil  <janus@gcc.gnu.org>
99         Backport from mainline
100         2013-09-20  Janus Weil  <janus@gcc.gnu.org>
102         PR fortran/58099
103         * expr.c (gfc_check_pointer_assign): Remove second call to
104         'gfc_compare_interfaces' with swapped arguments.
105         * interface.c (gfc_compare_interfaces): Symmetrize the call to
106         'check_result_characteristics' by calling it with swapped arguments.
108 2013-11-16  Paul Thomas  <pault@gcc.gnu.org>
110         PR fortran/58771
111         * trans-io.c (transfer_expr): If the backend_decl for a derived
112         type is missing, build it with gfc_typenode_for_spec.
114 2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>
116         PR fortran/58989
117         * check.c (gfc_check_reshape): ensure that shape is a constant
118         expression.
120 2013-11-02  Janus Weil  <janus@gcc.gnu.org>
122         Backport from mainline
123         2013-09-23  Janus Weil  <janus@gcc.gnu.org>
125         PR fortran/58355
126         * decl.c (check_extended_derived_type): Prevent segfault, modify error
127         message.
129 2013-10-16  Release Manager
131         * GCC 4.8.2 released.
133 2013-10-04  Tobias Burnus  <burnus@net-b.de>
135         Backport from mainline
136         2013-09-25  Tobias Burnus  <burnus@net-b.de>
138         PR fortran/57697
139         PR fortran/58469
140         * resolve.c (generate_component_assignments): Avoid double free
141         at runtime and freeing a still-being used expr.
143 2013-08-24  Mikael Morin  <mikael@gcc.gnu.org>
145         PR fortran/57798
146         * trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
147         gfc_set_delta): Generate preliminary code before the outermost loop.
149 2013-08-24  Mikael Morin  <mikael@gcc.gnu.org>
151         * trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
152         to the callers.
153         (gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.
155 2013-08-24  Janus Weil  <janus@gcc.gnu.org>
157         Backport from trunk:
158         2013-08-22  Janus Weil  <janus@gcc.gnu.org>
160         PR fortran/58185
161         * match.c (copy_ts_from_selector_to_associate): Only build class
162         container for polymorphic selector. Some cleanup.
164 2013-08-11  Janus Weil  <janus@gcc.gnu.org>
166         Backport from trunk:
167         2013-08-09  Janus Weil  <janus@gcc.gnu.org>
169         PR fortran/58058
170         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
171         string, if necessary.
173 2013-07-28  Tobias Burnus  <burnus@net-b.de>
175         Backport from mainline
176         2013-05-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
178         PR fortran/57435
179         * module.c (check_for_ambiguous): Avoid null pointer deref.
181 2013-07-08  Tobias Burnus  <burnus@net-b.de>
183         PR fortran/57785
184         * simplify.c (compute_dot_product): Complex conjugate for
185         dot_product.
186         (gfc_simplify_dot_product, gfc_simplify_matmul): Update call.
188 2013-06-11  Tobias Burnus  <burnus@net-b.de>
190         PR fortran/57508
191         * resolve.c (get_temp_from_expr): Don't copy function
192         result attributes to temporary.
194 2013-06-04  Tobias Burnus  <burnus@net-b.de>
196         Backport from mainline
197         2013-05-22  Tobias Burnus  <burnus@net-b.de>
199         PR fortran/57364
200         * resolve.c (get_temp_from_expr): Commit created sym.
202 2013-05-31  Janus Weil  <janus@gcc.gnu.org>
203             Tobias Burnus  <burnus@net-b.de>
205         PR fortran/57217
206         * interface.c (check_dummy_characteristics): Symmetrize type check.
208 2013-05-31  Release Manager
210         * GCC 4.8.1 released.
212 2013-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
214         * intrinsic.texi (RANDOM_SEED): Improve example.
216 2013-05-07  Tobias Burnus  <burnus@net-b.de>
218         Backport from mainline
219         2013-05-02  Tobias Burnus  <burnus@net-b.de>
221         PR fortran/57142
222         * simplify.c (gfc_simplify_size): Renamed from
223         simplify_size; fix kind=8 handling.
224         (gfc_simplify_size): New function.
225         (gfc_simplify_shape): Add range check.
226         * resolve.c (resolve_function): Fix handling
227         for ISYM_SIZE.
229 2013-04-26  Janus Weil  <janus@gcc.gnu.org>
231         Backports from trunk:
233         PR fortran/56814
234         * interface.c (check_result_characteristics): Get result from interface
235         if present.
237         PR fortran/56968
238         * expr.c (gfc_check_pointer_assign): Handle generic functions returning
239         procedure pointers.
241         PR fortran/53685
242         PR fortran/57022
243         * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
244         expressions.
245         * target-memory.h (gfc_element_size): New prototype.
246         * target-memory.c (size_array): Remove.
247         (gfc_element_size): New function.
248         (gfc_target_expr_size): Modified to always return the full size of the
249         expression.
251 2013-04-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
252             Mikael Morin  <mikael@gcc.gnu.org>
254         PR fortran/56872
255         * frontend-passes.c (copy_walk_reduction_arg): Change argument type
256         to gfc_constructor.  If it has an iterator, wrap the copy of its
257         expression in an array constructor with that iterator.  Don't special
258         case function expressions.
259         (callback_reduction): Update caller.  Don't return early if there is
260         an iterator.
262 2013-04-18  Mikael Morin  <mikael@gcc.gnu.org>
264         PR fortran/56816
265         * match.c (gfc_match_select_type): Add syntax error. Move namespace
266         allocation and cleanup...
267         * parse.c (decode_statement): ... here.
269 2013-04-18  Tobias Burnus  <burnus@net-b.de>
271         PR fortran/56994
272         * invoke.texi (NEAREST): S argument is not optional.
274 2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
276         PR fortran/56782
277         Backport fron trunk.
278         * frontend-passes.c (callback_reduction):  Dont't do
279         any simplification if there is only a single element
280         which has an iterator.
282 2013-03-22  Release Manager
284         * GCC 4.8.0 released.
286 2013-03-15  Tobias Burnus  <burnus@net-b.de>
288         PR fortran/56615
289         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
290         if they are not simply contiguous.
292 2013-03-11  Tobias Burnus  <burnus@net-b.de>
294         * gfortran.texi (STRUCTURE and RECORD): State more clearly how
295         to convert them into derived types.
297 2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
299         PR fortran/56575
300         * expr.c (gfc_default_initializer): Check that a class declared
301         type has any components.
302         * resolve.c (resolve_fl_derived0): On failing the test for C437
303         set the type to BT_UNKNOWN to prevent repeat error messages.
305 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
307         PR fortran/56477
308         * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
310 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
312         PR fortran/54730
313         * array.c (gfc_match_array_constructor): Set a checkpoint before
314         matching a typespec.  Drop it on success, restore it otherwise.
316 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
318         PR fortran/54730
319         * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
320         (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
321         gfc_restore_last_undo_checkpoint): New prototypes.
322         * symbol.c (default_undo_chgset_var): Update initialization.
323         (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
324         free_undo_change_set_data, pop_undo_change_set,
325         gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
326         New functions.
327         (save_symbol_data): Handle multiple change sets.  Make sure old_symbol
328         field's previous value is not overwritten.  Clear gfc_new field.
329         (restore_old_symbol): Restore previous old_symbol field.
330         (gfc_restore_last_undo_checkpoint): New function, using body renamed
331         from gfc_undo_symbols.  Restore the previous change set as current one.
332         (gfc_undo_symbols): New body.
333         (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
334         Call enforce_single_undo_checkpoint.
335         (gfc_symbol_done_2): Ditto.  Free change set data.
337 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
339         * symbol.c (restore_old_symbol): Fix thinko.
341 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
343         * symbol.c (gfc_undo_symbols): Move code...
344         (restore_old_symbol): ... here as a new function.
346 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
348         * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
349         * gfortran.h: Include vec.h.
350         (gfc_undo_change_set): New struct.
351         * symbol.c (tentative_tbp): Remove struct.
352         (changed_syms, tentative_tbp_list): Remove variables.
353         (default_undo_chgset_var, latest_undo_chgset): New variables.
354         (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
355         gfc_commit_symbols, gfc_commit_symbol,
356         gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
357         Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
359 2013-03-01  Tobias Burnus  <burnus@net-b.de>
361         PR fortran/56491
362         * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
363         * symbol.c (free_components): Free proc-pointer components.
365 2013-03-01  Tobias Burnus  <burnus@net-b.de>
367         * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
368         * trans-io.c (build_dt): Ditto.
370 2013-02-24  Joseph Myers  <joseph@codesourcery.com>
372         * resolve.c (generate_component_assignments): Don't use UTF-8
373         ligature in diagnostic.
375 2013-02-21  Janus Weil  <janus@gcc.gnu.org>
377         PR fortran/56385
378         * trans-array.c (structure_alloc_comps): Handle procedure-pointer
379         components with allocatable result.
381 2012-02-21  Tobias Burnus  <burnus@net-b.de>
383         PR fortran/56416
384         * gfortran.texi (Part II: Language Reference, Extensions,
385         Non-Fortran Main Program): Sort @menu to match actual section order.
386         * intrinsic.texi (Intrinsic Procedures): Ditto.
387         (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
389 2013-02-15  Tobias Burnus  <burnus@net-b.de>
390             Mikael Morin  <mikael@gcc.gnu.org>
392         PR fortran/56318
393         * simplify.c (gfc_simplify_matmul): Fix result shape
394         and matmul result.
396 2013-02-15  Tobias Burnus  <burnus@net-b.de>
398         PR fortran/53818
399         * resolve.c (apply_default_init_local): Don't create an
400         initializer for a result variable.
402 2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
404         PR fortran/56224
405         * gfortran.h (gfc_add_include_path):  Add boolean argument
406         for warn.
407         * scanner.c (gfc_add_include_path):  Pass along warn argument
408         to add_path_to_list.
409         * options.c (gfc_post_options):  Add true warn argument to
410         gfc_add_include_path.
411         (gfc_handle_module_path_options):  Likewise.
412         (gfc_handle_option): Also gfc_add_include_path for intrinsic
413         modules, without warning.
415 2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
416             Tobias Burnus  <burnus@net-b.de>
418         PR testsuite/56138
419         * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
420         results for functions without extra result variable.
422         Revert:
423         2013-01-30  Tobias Burnus  <burnus@net-b.de>
425         PR fortran/56138
426         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
427         results for functions without extra result variable.
429 2013-02-12  Janus Weil  <janus@gcc.gnu.org>
431         PR fortran/46952
432         * resolve.c (resolve_call): Do not check deferred procedures for
433         recursiveness.
435 2013-02-09  Paul Thomas  <pault@gcc.gnu.org>
437         PR fortran/55362
438         * check.c (array_check): It is an error if a procedure is
439         passed.
441 2013-02-08  Mikael Morin  <mikael@gcc.gnu.org>
443         PR fortran/54107
444         * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
445         to error_mark_node on entry.  Detect recursive types.  Build a variadic
446         procedure type if the type is recursive.  Restore the initial
447         backend_decl.
449 2013-02-07  Tobias Burnus  <burnus@net-b.de>
451         PR fortran/54339
452         * gfortran.texi (Standards): Mention TS29113.
453         (Varying Length Character): Mention deferred-length
454         strings.
455         (Fortran 2003 Status): Add unlimited polymorphic.
456         (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
457         (C Interop): Update the section about TS29113.
459 2013-02-06 Paul Thomas  <pault@gcc.gnu.org>
461         PR fortran/55789
462         * trans-array.c (trans_array_constructor): Remove condition
463         'dynamic' = true if the loop ubound is a VAR_DECL.
465 2013-02-04  Paul Thomas  <pault@gcc.gnu.org>
467         PR fortran/56008
468         PR fortran/47517
469         * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
470         the lhs descriptor before it is modified for reallocation. Use
471         it to deallocate allocatable components in the reallocation
472         block.  Nullify allocatable components for newly (re)allocated
473         arrays.
475 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
477         PR fortran/54195
478         * resolve.c (resolve_typebound_procedures): Recurse through
479         resolve_symbol.
481 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
483         PR fortran/54107
484         PR fortran/54195
485         * gfortran.h (struct gfc_symbol): New field 'resolved'.
486         * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
487         (resolve_symbol): Skip duplicate calls.  Don't check the current
488         namespace.
490 2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
492         PR fortran/50627
493         PR fortran/56054
494         * decl.c (gfc_match_end):  Remove half-ready namespace
495         from parent if the end of a block is missing.
496         * parse.c (parse_module):  Do not put namespace into
497         gsymbol on error.
499 2013-01-30  Tobias Burnus  <burnus@net-b.de>
501         PR fortran/56138
502         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
503         results for functions without extra result variable.
505 2013-01-29  Janus Weil  <janus@gcc.gnu.org>
506             Mikael Morin <mikael@gcc.gnu.org>
508         PR fortran/54107
509         * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
510         (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
511         gfc_expr_replace_comp): Delete.
512         (gfc_sym_get_dummy_args): New prototype.
513         * dependency.c (gfc_check_fncall_dependency): Use
514         'gfc_sym_get_dummy_args'.
515         * expr.c (gfc_is_constant_expr): Ditto.
516         (replace_symbol,gfc_expr_replace_symbols,replace_comp,
517         gfc_expr_replace_comp): Deleted.
518         * frontend-passes.c (doloop_code,do_function): Use
519         'gfc_sym_get_dummy_args'.
520         * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
521         gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
522         gfc_check_typebound_override): Ditto.
523         * module.c (MOD_VERSION): Bump module version.
524         (mio_component): Do not read/write 'formal' and 'formal_ns'.
525         * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
526         copy formal args, but just keep a pointer to the interface.
527         (resolve_function,resolve_call,resolve_typebound_generic_call,
528         resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
529         resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
530         resolve_typebound_procedure,check_uop_procedure): Use
531         'gfc_sym_get_dummy_args'.
532         * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
533         (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
534         (gfc_sym_get_dummy_args): New function.
535         * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
536         Use 'gfc_sym_get_dummy_args'.
537         * trans-decl.c (build_function_decl,create_function_arglist,
538         build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
539         add_argument_checking): Ditto.
540         * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
541         gfc_conv_statement_function): Ditto.
542         * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
543         * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
545 2013-01-28  Tobias Burnus  <burnus@net-b.de>
546             Mikael Morin  <mikael@gcc.gnu.org>
548         PR fortran/53537
549         * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
550         interface block.
551         (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
552         * decl.c (gfc_match_data_decl): Ditto.
553         (variable_decl): Remove undeclared type error.
554         (gfc_match_import): Use renamed instead of original name.
556 2013-01-27 Paul Thomas  <pault@gcc.gnu.org>
558         PR fortran/55984
559         PR fortran/56047
560         * gfortran.h : Add associate_var to symbol_attr.
561         * resolve.c (resolve_assoc_var): Set associate_var attribute.
562         If the target class_ok is set, set it for the associate
563         variable.
564         * check.c (allocatable_check): Associate variables should not
565         have the allocatable attribute even if their symbols do.
566         * class.c (gfc_build_class_symbol): Symbols with associate_var
567         set will always have a good class container.
569 2013-01-23  Janus Weil  <janus@gcc.gnu.org>
571         PR fortran/56081
572         * resolve.c (resolve_select): Add argument 'select_type', reject
573         non-scalar expressions.
574         (resolve_select_type,resolve_code): Pass new argument to
575         'resolve_select'.
577 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
579         PR fortran/56052
580         * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
581         and DECL_IGNORED_P on select_type_temporary and don't set
582         DECL_BY_REFERENCE.
584 2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
586         PR fortran/55919
587         * scanner.c (add_path_to_list): Copy path to temporary and strip
588         trailing directory separators before calling stat().
590 2013-01-17  Richard Biener  <rguenther@suse.de>
592         * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
593         dependent on sign of step, avoids repeated evaluation of
594         step sign test.  Avoid undefined overflow issues by using unsigned
595         arithmetic.
597 2013-01-16  Janus Weil  <janus@gcc.gnu.org>
599         PR fortran/55983
600         * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
601         asserting it.
603 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
604             Tobias Burnus  <burnus@net-b.de>
606         PR driver/55884
607         * lang.opt (fintrinsic-modules-path): Don't accept Joined.
608         (fintrinsic-modules-path=): New.
609         * options.c (gfc_handle_option, gfc_get_option_string,
610         gfc_get_option_string): Handle the latter.
612 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
614         PR fortran/52865
615         * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
616         and use value of countm1 before the decrement in the condition.
618 2013-01-15  Paul Thomas  <pault@gcc.gnu.org>
620         PR fortran/54286
621         * expr.c (gfc_check_pointer_assign): Check for presence of
622         's2' before using it.
624 2013-01-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
626         PR fortran/55806
627         * frontend-passes.c (optimize_reduction):  New function,
628         including prototype.
629         (callback_reduction):  Likewise.
630         (gfc_run_passes):  Also run optimize_reduction.
631         (copy_walk_reduction_arg):  New function.
632         (dummy_code_callback):  New function.
634 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
636         PR fortran/55935
637         * trans-expr.c (gfc_conv_structure): Call
638         unshare_expr_without_location on the ctor elements.
640 2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
642         PR fortran/54286
643         * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
644         and rvalue interfaces are presented to gfc_compare_interfaces.
645         Simplify references to interface names by using the symbols
646         themselves. Call gfc_compare_interfaces with s1 and s2 inter-
647         changed to overcome the asymmetry of this function. Do not
648         repeat the check for the presence of s1 and s2.
650 2013-01-12  Janus Weil  <janus@gcc.gnu.org>
652         PR fortran/55072
653         * trans-array.c (gfc_conv_array_parameter): No packing was done for
654         full arrays of derived type.
656 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
658         PR fortran/55868
659         * class.c (get_unique_type_string): Change $tar to STAR and
660         replace sprintf by strcpy where there is no formatting.
661         * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
663 2013-01-09  Mikael Morin  <mikael@gcc.gnu.org>
665         PR fortran/47203
666         * module.c (check_for_ambiguous): Get the current program unit using
667         gfc_current_ns.
669 2013-01-09  Tobias Burnus  <burnus@net-b.de>
671         PR fortran/55758
672         * resolve.c (resolve_symbol): Reject non-C_Bool logicals
673         in BIND(C) procedures with -std=f*.
675 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
677         PR fortran/55618
678         * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
679         character function arguments to elemental procedures in
680         scalarization loops.
682 2013-01-07  Tobias Burnus  <burnus@net-b.de>
684         PR fortran/55763
685         * gfortran.h (gfc_check_assign_symbol): Update prototype.
686         * decl.c (add_init_expr_to_sym, do_parm): Update call.
687         * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
688         improve error location; support components.
689         (gfc_check_pointer_assign): Handle component assignments.
690         * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
691         (resolve_values): Update call.
692         (resolve_structure_cons): Avoid double diagnostic.
694 2013-01-07  Tobias Burnus  <burnus@net-b.de>
695             Thomas Koenig  <tkoenig@gcc.gnu.org>
697         PR fortran/55852
698         * expr.c (gfc_build_intrinsic_call): Avoid clashes
699         with user's procedures.
700         * gfortran.h (gfc_build_intrinsic_call): Update prototype.
701         * simplify.c (gfc_simplify_size): Update call.
702         * class.c (finalization_scalarizer, finalization_get_offset,
703         finalizer_insert_packed_call, generate_finalization_wrapper):
704         Clean up by using gfc_build_intrinsic_call.
706 2013-01-07  Tobias Burnus  <burnus@net-b.de>
708         PR fortran/55763
709         * resolve.c (resolve_select_type): Reject intrinsic types for
710         a non-unlimited-polymorphic selector.
712 2013-01-06  Paul Thomas  <pault@gcc.gnu.org>
714         PR fortran/53876
715         PR fortran/54990
716         PR fortran/54992
717         * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
718         to see if it is GFC_CLASS_TYPE_P.
719         * trans-expr.c (gfc_get_vptr_from_expr): The same.
720         (gfc_conv_class_to_class): If the types are not the same,
721         cast parmese->expr to the type of ctree.
722         * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
723         CLASS components must be set.
725 2013-01-06  Mikael Morin  <mikael@gcc.gnu.org>
727         PR fortran/42769
728         PR fortran/45836
729         PR fortran/45900
730         * module.c (read_module): Don't reuse local symtree if the associated
731         symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
732         ambiguous.
733         * resolve.c (resolve_call): Use symtree's name instead of symbol's to
734         lookup the symtree.
736 2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
737             Mikael Morin  <mikael@gcc.gnu.org>
739         PR fortran/55827
740         * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
741         e->symtree == NULL.
742         * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
744 2013-01-05  Tobias Burnus  <burnus@net-b.de>
746         * class.c (finalize_component): Used passed offset expr.
747         (finalization_get_offset): New static function.
748         (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
749         to handle noncontiguous arrays.
751 2013-01-04  Tobias Burnus  <burnus@net-b.de>
753         * trans.c (gfc_build_final_call): New function.
754         * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
755         New function prototypes.
756         * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
757         conv_scalar_to_descriptor, removed static attribute.
758         (gfc_conv_procedure_call): Honor renaming.
760 2013-01-04  Tobias Burnus  <burnus@net-b.de>
762         * intrinsic.c (add_functions): New internal intrinsic
763         function GFC_PREFIX ("stride").
764         * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
765         * intrinsic.h (gfc_resolve_stride): New prototypes.
766         * iresolve.c (gfc_resolve_stride): New function.
767         * trans-intrinsic.c (conv_intrinsic_stride): New static
768         function.
769         (gfc_conv_intrinsic_function): Use it.
771 2013-01-04  Tobias Burnus  <burnus@net-b.de>
773         * class.c (gfc_find_intrinsic_vtab): Add _final
774         component.
775         * decl.c (gfc_match_null): Remove superfluous
776         variadic argument to gfc_match.
778 2013-01-04  Paul Thomas  <pault@gcc.gnu.org>
780         PR fortran/55172
781         * match.c (copy_ts_from_selector_to_associate): Remove call to
782         gfc_resolve_expr and replace it with explicit setting of the
783         array reference type.
784         * resolve.c (resolve_select_type): It is an error if the
785         selector is coindexed.
787 2013-01-04  Tobias Burnus  <burnus@net-b.de>
789         PR fortran/55763
790         * decl.c (gfc_match_null): Parse and reject MOLD.
792 2013-01-04  Tobias Burnus  <burnus@net-b.de>
794         PR fortran/55854
795         PR fortran/55763
796         * class.c (gfc_class_null_initializer): Fix finding the vtab.
797         (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
799 2013-01-03  Janus Weil  <janus@gcc.gnu.org>
801         PR fortran/55855
802         * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
803         of rvalue. Correct hyphenation in error message.
805 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
807         * gfortranspec.c (lang_specific_driver): Update copyright notice
808         dates.
810 Copyright (C) 2013 Free Software Foundation, Inc.
812 Copying and distribution of this file, with or without modification,
813 are permitted in any medium without royalty provided the copyright
814 notice and this notice are preserved.