OSDN Git Service

2010-02-09 Paul Thomas <pault@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2010-02-09  Paul Thomas  <pault@gcc.gnu.org>
2
3         PR fortran/41869
4         * module.c (fix_mio_expr): Fix for private generic procedures.
5
6 2010-02-09  Daniel Kraft  <d@domob.eu>
7
8         PR fortran/39171
9         * resolve.c (resolve_charlen): Change warning about negative CHARACTER
10         length to be correct and issue only with -Wsurprising.
11         * invoke.texi (Wsurprising): Mention this new warning that is
12         turned on by -Wsurprising.
13
14 2010-02-09  Daniel Kraft  <d@domob.eu>
15
16         PR fortran/41507
17         * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
18         can be CHARACTER type.
19         (MINVAL), (MAXLOC), (MINLOC): Ditto.
20
21 2010-02-05  Paul Thomas  <pault@gcc.gnu.org>
22
23         PR fortran/42309
24         * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
25         'formal_ptr'. If this is true, give returned descriptor unity
26         lbounds, in all dimensions, and the appropriate offset.
27         (gfc_conv_procedure_call); If formal is a pointer, set the last
28         argument of gfc_conv_subref_array_arg to true.
29         * trans.h : Add last argument for gfc_conv_subref_array_arg.
30         * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
31         new arg of gfc_conv_subref_array_arg to false.
32         * trans-stmt.c (forall_make_variable_temp): The same.
33
34 2010-02-03  Tobias Burnus  <burnus@net-b.de>
35
36         PR fortran/42936
37         * interface.c (compare_parameter): Disable rank-checking
38         for NULL().
39
40 2010-02-02  Tobias Burnus  <burnus@net-b.de>
41
42         PR fortran/42650
43         * parse.c (decode_specification_statement): Use sym->result not sym.
44
45 2010-02-01  Tobias Burnus  <burnus@net-b.de>
46
47         PR fortran/42922
48         * decl.c (variable_decl): Allow default initializer in
49         TYPE declarations in PURE functions.
50
51 2010-01-31  Janus Weil  <janus@gcc.gnu.org>
52
53         PR fortran/42888
54         * resolve.c (resolve_allocate_expr): Move default initialization code
55         here from gfc_trans_allocate.
56         * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
57         EXEC_INIT_ASSIGN.
58         * trans-expr.c (gfc_trans_class_assign): Handle default initialization
59         of CLASS variables via memcpy.
60         * trans-stmt.c (gfc_trans_allocate): Move default initialization code
61         to resolve_allocate_expr.
62
63 2010-01-31  Paul Thomas  <pault@gcc.gnu.org>
64
65         PR fortran/38324
66         * expr.c (gfc_get_full_arrayspec_from_expr): New function.
67         * gfortran.h : Add prototype for above.
68         * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
69         (gfc_trans_subcomponent_assign): Call new function to replace
70         the code to deal with allocatable components.
71         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
72         gfc_get_full_arrayspec_from_expr to replace existing code.
73
74 2010-01-25  Tobias Burnus  <burnus@net-b.de>
75
76         PR fortran/42858
77         * array.c (gfc_array_dimen_size): Fix intrinsic procedure
78         check.
79
80 2010-01-24  Paul Thomas  <pault@gcc.gnu.org>
81
82         PR fortran/41044
83         PR fortran/41167
84         * expr.c (remove_subobject_ref): If the constructor is NULL use
85         the expression as the source.
86         (simplify_const_ref): Change the type of expression if
87         there are component references.  Allow for substring to be at
88         the end of an arbitrarily long chain of references.  If an
89         element is found that is not in an EXPR_ARRAY, assume that this
90         is scalar initialization of array. Call remove_subobject_ref in
91         this case with NULL second argument.
92
93 2010-01-24  Tobias Burnus  <burnus@net-b.de>
94
95         PR fortran/39304
96         * array.c (gfc_array_dimen_size): Use correct specific
97         function in the check.
98
99 2010-01-21  Paul Thomas  <pault@gcc.gnu.org>
100
101         PR fortran/42736
102         * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
103         is required, turn any trailing array elements after a range
104         into ranges so that offsets can be calculated.
105
106 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
107
108         * module.c (mio_f2k_derived): Use enumerator as initializer of
109         enum variable.
110
111         PR bootstrap/42812
112         * gfortran.h  (struct gfc_namespace) <resolved>: Change to signed
113         bitfield of width 2.
114
115 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
116
117         PR fortran/42804
118         * resolve.c (extract_compcall_passed_object): Set locus for
119         passed-object argument.
120         (extract_ppc_passed_object): Set locus and correctly remove PPC
121         reference.
122
123 2010-01-19  Paul Thomas  <pault@gcc.gnu.org>
124
125         PR fortran/42783
126         * trans-decl.c (add_argument_checking): Do not use the backend
127         decl directly to test for the presence of an optional dummy
128         argument.  Use gfc_conv_expr_present, remembering to set the
129         symbol referenced.
130
131         PR fortran/42772
132         * trans-decl.c (gfc_generate_function_code): Small white space
133         changes. If 'recurcheckvar' is NULL do not try to reset it.
134
135 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
136
137         PR fortran/42545
138         * resolve.c (resolve_fl_derived): Set the accessibility of the parent
139         component for extended types.
140         * symbol.c (gfc_find_component): Remove a wrongly-worded error message
141         and take care of parent component accessibility.
142
143 2010-01-17  Janus Weil  <janus@gcc.gnu.org>
144
145         PR fortran/42677
146         * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
147         * interface.c (check_interface1): Move a warning message here from
148         resolve_fl_procedure.
149         (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
150         * module.c (read_module): Remove call to gfc_check_interfaces, since
151         this comes too early here.
152         * resolve.c (resolve_fl_procedure): Move warning message to
153         check_interface1.
154
155 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
156
157         PR fortran/42684
158         * interface.c (check_interface1): Pass symbol name rather than NULL to
159         gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
160         trap MULL.
161         * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
162         than NULL to gfc_compare_interfaces.
163
164 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
165
166         PR fortran/41478
167         * trans-array.c (duplicate_allocatable):  Static version of
168         gfc_duplicate_allocatable with provision to handle scalar
169         components. New boolean argument to switch off call to malloc
170         if true.
171         (gfc_duplicate_allocatable): New function to call above with
172         new argument false.
173         (gfc_copy_allocatable_data): New function to call above with
174         new argument true.
175         (structure_alloc_comps): Do not apply indirect reference to
176         scalar pointers. Add new section to copy allocatable components
177         of arrays. Extend copying of allocatable components to include
178         scalars.
179         (gfc_copy_only_alloc_comp): New function to copy allocatable
180         component derived types, without allocating the base structure.
181         * trans-array.h : Add primitive for gfc_copy_allocatable_data.
182         Add primitive for gfc_copy_only_alloc_comp.
183         * trans-expr.c (gfc_conv_procedure_call): After calls to
184         transformational functions with results that are derived types
185         with allocatable components, copy the components in the result.
186         (gfc_trans_arrayfunc_assign): Deallocate allocatable components
187         of lhs derived types before allocation.
188         
189 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
190
191         PR fortran/42481
192         * module.c (load_generic_interfaces): If a procedure that is
193         use associated but not generic is given an interface that
194         includes itself, then make it generic.
195
196 2010-01-11  Joseph Myers  <joseph@codesourcery.com>  
197             Shujing Zhao  <pearly.zhao@oracle.com>
198
199         PR translation/42469
200         * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
201         finit-logical=, finit-real=, fmax-array-constructor=): Use tab
202         character between option name and help text.
203
204 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
205
206         PR fortran/20923
207         PR fortran/32489
208         * trans-array.c (gfc_conv_array_initializer): Change call to
209         gfc_error_now to call to gfc_fatal_error.
210         * array.c (count_elements): Whitespace. (extract_element): Whitespace.
211         (is_constant_element): Changed name from constant_element.
212         (gfc_constant_ac): Only use expand_construuctor for expression
213         types of EXPR_ARRAY.  If expression type is EXPR_CONSTANT, no need to
214         call gfc_is_constant_expr.
215         * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
216         message.
217         * resolve.c (gfc_is_expandable_expr): New function that determiners if
218         array expressions should have their constructors expanded.
219         (gfc_resolve_expr): Use new function to determine whether or not to call
220         gfc_expand_constructor.
221
222 2010-01-09  Tobias Burnus  <burnus@net-b.de>
223
224         PR fortran/41298
225         * trans-expr.c (gfc_trans_structure_assign): Handle
226         c_null_(fun)ptr.
227         * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
228         to the constructor for c_null_(fun)ptr.
229         * resolve.c (resolve_structure_cons): Add special case
230         for c_null_(fun)ptr.
231
232 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
233
234         * gfortranspec.c (lang_specific_driver): Update copyright notice
235         dates.
236
237 2010-01-08  Tobias Burnus  <burnus@net-b.de>
238
239         PR/fortran 25829
240         * symbol.c (check_conflict, gfc_copy_attr): Add
241         ASYNCHRONOUS support.
242         (gfc_add_asynchronous): New function.
243         * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
244         (gfc_match_asynchronous): New function.
245         * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
246         * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
247         (gfc_add_asynchronous): New Prototype.
248         * module.c (ab_attribute, mio_symbol_attribute): Add
249         ASYNCHRONOUS support.
250         * resolve.c (was_declared): Ditto.
251         * match.h (gfc_match_asynchronous): New prototype.
252         * parse.c (decode_specification_statement,decode_statement):
253         Add ASYNCHRONOUS support.
254
255 2010-01-07  Tobias Burnus  <burnus@net-b.de>
256
257         PR fortran/42597
258         * trans-decl.c (get_proc_pointer_decl): Fix call to
259         gfc_conv_initializer for array-valued proc-pointer funcs.
260
261 2010-01-07  Tobias Burnus  <burnus@net-b.de>
262
263         PR fortran/41872
264         * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
265         allocatable scalars with SAVE attribute.
266
267 2010-01-05  Tobias Burnus  <burnus@net-b.de>
268
269         PR fortran/42517
270         * options.c (gfc_post_options): Set -frecursion
271         when -fopenmp is used.
272
273 2010-01-05  Tobias Burnus  <burnus@net-b.de>
274
275         PR fortran/41872
276         * trans-expr.c (gfc_conv_procedure_call): Nullify
277         return value for allocatable-scalar character functions.
278
279 2010-01-04  Tobias Burnus  <burnus@net-b.de>
280
281         PR fortran/36161
282         * error.c (error_printf, gfc_warning, gfc_notify_std,
283         gfc_warning_now, gfc_error, gfc_error_now,
284         gfc_fatal_error): Change argument name from nocmsgid to
285         gmsgid to enable (x)gettext's % checking.
286
287 2010-01-04  Tobias Burnus  <burnus@net-b.de>
288         
289         * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
290
291 2010-01-04  Tobias Burnus  <burnus@net-b.de>
292
293         PR fortran/41872
294         * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
295         for functions returning allocatable scalars.
296         * trans-stmt.c (gfc_trans_allocate): Emmit error when
297         reallocating an allocatable scalar.
298         * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
299         in comment.
300         * trans-decl.c (gfc_trans_deferred_vars): Nullify local
301         allocatable scalars.
302         (gfc_generate_function_code): Nullify result variable for
303         allocatable scalars.
304         
305         PR fortran/40849
306         * module.c (gfc_use_module): Fix warning string to allow
307         for translation.
308
309         PR fortran/42517
310         * invoke.texi (-fcheck=recursion): Mention that the checking
311         is also disabled for -frecursive.
312         * trans-decl.c (gfc_generate_function_code): Disable
313         -fcheck=recursion when -frecursive is used.
314
315         * intrinsic.texi (iso_c_binding): Improve wording.
316
317 \f
318 Copyright (C) 2010 Free Software Foundation, Inc.
319
320 Copying and distribution of this file, with or without modification,
321 are permitted in any medium without royalty provided the copyright
322 notice and this notice are preserved.