OSDN Git Service

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