OSDN Git Service

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