OSDN Git Service

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