OSDN Git Service

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