OSDN Git Service

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