OSDN Git Service

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