PR fortran/52865
[official-gcc.git] / gcc / fortran / ChangeLog
blobc7f2001f85a164ee12a162e2a21c14d08be5e455
1 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
3         PR fortran/52865
4         * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
5         and use value of countm1 before the decrement in the condition.
7 2013-01-15  Paul Thomas  <pault@gcc.gnu.org>
9         PR fortran/54286
10         * expr.c (gfc_check_pointer_assign): Check for presence of
11         's2' before using it.
13 2013-01-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
15         PR fortran/55806
16         * frontend-passes.c (optimize_reduction):  New function,
17         including prototype.
18         (callback_reduction):  Likewise.
19         (gfc_run_passes):  Also run optimize_reduction.
20         (copy_walk_reduction_arg):  New function.
21         (dummy_code_callback):  New function.
23 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
25         PR fortran/55935
26         * trans-expr.c (gfc_conv_structure): Call
27         unshare_expr_without_location on the ctor elements.
29 2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
31         PR fortran/54286
32         * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
33         and rvalue interfaces are presented to gfc_compare_interfaces.
34         Simplify references to interface names by using the symbols
35         themselves. Call gfc_compare_interfaces with s1 and s2 inter-
36         changed to overcome the asymmetry of this function. Do not
37         repeat the check for the presence of s1 and s2.
39 2013-01-12  Janus Weil  <janus@gcc.gnu.org>
41         PR fortran/55072
42         * trans-array.c (gfc_conv_array_parameter): No packing was done for
43         full arrays of derived type.
45 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
47         PR fortran/55868
48         * class.c (get_unique_type_string): Change $tar to STAR and
49         replace sprintf by strcpy where there is no formatting.
50         * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
52 2013-01-09  Mikael Morin  <mikael@gcc.gnu.org>
54         PR fortran/47203
55         * module.c (check_for_ambiguous): Get the current program unit using
56         gfc_current_ns.
58 2013-01-09  Tobias Burnus  <burnus@net-b.de>
60         PR fortran/55758
61         * resolve.c (resolve_symbol): Reject non-C_Bool logicals
62         in BIND(C) procedures with -std=f*.
64 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
66         PR fortran/55618
67         * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
68         character function arguments to elemental procedures in
69         scalarization loops.
71 2013-01-07  Tobias Burnus  <burnus@net-b.de>
73         PR fortran/55763
74         * gfortran.h (gfc_check_assign_symbol): Update prototype.
75         * decl.c (add_init_expr_to_sym, do_parm): Update call.
76         * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
77         improve error location; support components.
78         (gfc_check_pointer_assign): Handle component assignments.
79         * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
80         (resolve_values): Update call.
81         (resolve_structure_cons): Avoid double diagnostic.
83 2013-01-07  Tobias Burnus  <burnus@net-b.de>
84             Thomas Koenig  <tkoenig@gcc.gnu.org>
86         PR fortran/55852
87         * expr.c (gfc_build_intrinsic_call): Avoid clashes
88         with user's procedures.
89         * gfortran.h (gfc_build_intrinsic_call): Update prototype.
90         * simplify.c (gfc_simplify_size): Update call.
91         * class.c (finalization_scalarizer, finalization_get_offset,
92         finalizer_insert_packed_call, generate_finalization_wrapper):
93         Clean up by using gfc_build_intrinsic_call.
95 2012-01-07  Tobias Burnus  <burnus@net-b.de>
97         PR fortran/55763
98         * resolve.c (resolve_select_type): Reject intrinsic types for
99         a non-unlimited-polymorphic selector.
101 2013-01-06  Paul Thomas  <pault@gcc.gnu.org>
103         PR fortran/53876
104         PR fortran/54990
105         PR fortran/54992
106         * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
107         to see if it is GFC_CLASS_TYPE_P.
108         * trans-expr.c (gfc_get_vptr_from_expr): The same.
109         (gfc_conv_class_to_class): If the types are not the same,
110         cast parmese->expr to the type of ctree.
111         * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
112         CLASS components must be set.
114 2013-01-06  Mikael Morin  <mikael@gcc.gnu.org>
116         PR fortran/42769
117         PR fortran/45836
118         PR fortran/45900
119         * module.c (read_module): Don't reuse local symtree if the associated
120         symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
121         ambiguous.
122         * resolve.c (resolve_call): Use symtree's name instead of symbol's to
123         lookup the symtree.
125 2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
126             Mikael Morin  <mikael@gcc.gnu.org>
128         PR fortran/55827
129         * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
130         e->symtree == NULL.
131         * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
133 2013-01-05  Tobias Burnus  <burnus@net-b.de>
135         * class.c (finalize_component): Used passed offset expr.
136         (finalization_get_offset): New static function.
137         (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
138         to handle noncontiguous arrays.
140 2013-01-04  Tobias Burnus  <burnus@net-b.de>
142         * trans.c (gfc_build_final_call): New function.
143         * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
144         New function prototypes.
145         * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
146         conv_scalar_to_descriptor, removed static attribute.
147         (gfc_conv_procedure_call): Honor renaming.
149 2013-01-04  Tobias Burnus  <burnus@net-b.de>
151         * intrinsic.c (add_functions): New internal intrinsic
152         function GFC_PREFIX ("stride").
153         * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
154         * intrinsic.h (gfc_resolve_stride): New prototypes.
155         * iresolve.c (gfc_resolve_stride): New function.
156         * trans-intrinsic.c (conv_intrinsic_stride): New static
157         function.
158         (gfc_conv_intrinsic_function): Use it.
160 2013-01-04  Tobias Burnus  <burnus@net-b.de>
162         * class.c (gfc_find_intrinsic_vtab): Add _final
163         component.
164         * decl.c (gfc_match_null): Remove superfluous
165         variadic argument to gfc_match.
167 2013-01-04  Paul Thomas  <pault@gcc.gnu.org>
169         PR fortran/55172
170         * match.c (copy_ts_from_selector_to_associate): Remove call to
171         gfc_resolve_expr and replace it with explicit setting of the
172         array reference type.
173         * resolve.c (resolve_select_type): It is an error if the
174         selector is coindexed.
176 2013-01-04  Tobias Burnus  <burnus@net-b.de>
178         PR fortran/55763
179         * decl.c (gfc_match_null): Parse and reject MOLD.
181 2013-01-04  Tobias Burnus  <burnus@net-b.de>
183         PR fortran/55854
184         PR fortran/55763
185         * class.c (gfc_class_null_initializer): Fix finding the vtab.
186         (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
188 2013-01-03  Janus Weil  <janus@gcc.gnu.org>
190         PR fortran/55855
191         * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
192         of rvalue. Correct hyphenation in error message.
194 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
196         * gfortranspec.c (lang_specific_driver): Update copyright notice
197         dates.
199 Copyright (C) 2013 Free Software Foundation, Inc.
201 Copying and distribution of this file, with or without modification,
202 are permitted in any medium without royalty provided the copyright
203 notice and this notice are preserved.