OSDN Git Service

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