OSDN Git Service

2008-01-22 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2008-01-22  Tobias Burnus  <burnus@net-b.de>
2
3         PR fortran/34899
4         * scanner.c (load_line): Support <tab><digit> continuation lines.
5         * invoke.texi (-Wtabs): Document this.
6
7 2008-01-22  Paul Thomas  <pault@gcc.gnu.org>
8
9         PR fortran/34896
10         * module.c (read_module): Set use_rename attribute.
11
12 2007-01-21  Tobias Burnus  <burnus@net-b.de>
13
14         PR fortran/34901
15         * interface.c (compare_parameter): Improved error message
16         for arguments of same type and mismatched kinds.
17
18 2008-01-20  Paul Thomas  <pault@gcc.gnu.org>
19
20         PR fortran/34861
21         * resolve.c (resolve_entries): Do not do an array bounds check
22         if the result symbols are the same.
23
24         PR fortran/34854
25         * module.c (read_module) : Hide the symtree of the previous
26         version of the symbol if this symbol is renamed.
27
28 2008-01-20  Paul Thomas  <pault@gcc.gnu.org>
29
30         PR fortran/34784
31         * array.c (gfc_check_constructor_type): Clear the expression ts
32         so that the checking starts from the deepest level of array
33         constructor.
34         * primary.c (match_varspec): If an unknown type is changed to
35         default character and the attempt to match a substring fails,
36         change it back to unknown.
37
38         PR fortran/34785
39         * trans-array.c (gfc_add_loop_ss_code) : If ss->string_length is
40         NULL for an array constructor, use the cl.length expression to
41         build it.
42         (gfc_conv_array_parameter): Change call to gfc_evaluate_now to
43         a tree assignment.
44
45 2008-01-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
46
47         PR fortran/34817
48         PR fortran/34838
49         * iresolve.c (gfc_resolve_all):  Remove conversion of mask
50         argument to kind=1 by removing call to resolve_mask_arg().
51         (gfc_resolve_any):  Likewise.
52
53 2008-01-19  Tobias Burnus  <burnus@net-b.de>
54
55         PR fortran/34760
56         * primary.c (match_variable): Handle FL_UNKNOWN without
57         uneducated guessing.
58         (match_variable): Improve error message.
59
60 2008-01-18  Tobias Burnus  <burnus@net-b.de>
61
62         PR fortran/32616
63         * interface.c (get_expr_storage_size): Return storage size
64         for array element designators.
65         (compare_actual_formal): Reject unequal string sizes for
66         assumed-shape dummy arguments. And fix error message for
67         array-sections with vector subscripts.
68
69 2008-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
70
71         PR fortran/34556
72         * simplify.c (is_constant_array_expr): New static function that returns
73         true if the given expression is an array and is constant.
74         (gfc_simplify_reshape): Use new function.
75
76 2008-01-17  H.J. Lu  <hongjiu.lu@intel.com>
77
78         PR fortran/33375
79         * symbol.c (free_common_tree): Renamed to ...
80         (gfc_free_common_tree): This.  Remove static.
81         (gfc_free_namespace): Updated.
82
83         * gfortran.h (gfc_free_common_tree): New.
84
85         * match.c (gfc_match_common): Call gfc_free_common_tree () with
86         gfc_current_ns->common_root and set gfc_current_ns->common_root
87         to NULL on syntax error.
88
89 2008-01-18  Richard Sandiford  <rsandifo@nildram.co.uk>
90
91         PR fortran/34686
92         * trans-expr.c (gfc_conv_function_call): Use proper
93         type for returned character pointers.
94
95 2008-01-17  Paul Thomas  <pault@gcc.gnu.org>
96
97         PR fortran/34429
98         PR fortran/34431
99         PR fortran/34471
100         * decl.c : Remove gfc_function_kind_locus and
101         gfc_function_type_locus. Add gfc_matching_function.
102         (match_char_length): If matching a function and the length
103         does not match, return MATCH_YES and try again later.
104         (gfc_match_kind_spec): The same.
105         (match_char_kind): The same.
106         (gfc_match_type_spec): The same for numeric and derived types.
107         (match_prefix): Rename as gfc_match_prefix.
108         (gfc_match_function_decl): Except for function valued character
109         lengths, defer applying kind, type and charlen info until the
110         end of specification block.
111         gfortran.h (gfc_statement): Add ST_GET_FCN_CHARACTERISTICS.
112         parse.c (decode_specification_statement): New function.
113         (decode_statement): Call it when a function has kind = -1. Set
114         and reset gfc_matching function, as function statement is being
115         matched.
116         (match_deferred_characteristics): Simplify with a single call
117         to gfc_match_prefix. Do appropriate error handling. In any
118         case, make sure that kind = -1 is reset or corrected.
119         (parse_spec): Call above on seeing ST_GET_FCN_CHARACTERISTICS.
120         Throw an error if kind = -1 after last specification statement.
121         parse.h : Prototype for gfc_match_prefix.
122
123 2008-01-16  Tobias Burnus  <burnus@net-b.de>
124
125         PR fortran/34796
126         * interface.c (compare_parameter): Allow AS_DEFERRED array
127         elements and reject attr.pointer array elemenents.
128         (get_expr_storage_size): Return storage size of elements of
129         assumed-shape and pointer arrays.
130
131 2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
132
133         * f95-lang.c (gfc_init_builtin_functions): Initialize GOMP builtins
134         for flag_tree_parallelize_loops.
135
136 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
137
138         PR libfortran/34671
139         * iresolve.c (gfc_resolve_all):  Call resolve_mask_arg.
140         (gfc_resolve_any):  Likewise.
141         (gfc_resolve_count):  Likewise.  Don't append kind of
142         argument to function name.
143
144 2008-01-13  Tobias Burnus  <burnus@net-b.de>
145
146         PR fortran/34665
147         * resolve.c (resolve_actual_arglist): For expressions,
148         also check for assume-sized arrays.
149         * interface.c (compare_parameter): Move F2003 character checks
150         here, print error messages here, reject elements of
151         assumed-shape array as argument to dummy arrays.
152         (compare_actual_formal): Update for the changes above.
153
154 2008-01-13  Tobias Burnus  <burnus@net-b.de>
155
156         PR fortran/34763
157         * decl.c (contained_procedure): Only check directly preceeding state.
158
159 2008-01-13  Tobias Burnus  <burnus@net-b.de>
160
161         PR fortran/34759
162         * check.c (gfc_check_shape): Accept array ranges of
163         assumed-size arrays.
164
165 2008-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
166
167         PR fortran/34432
168         * match.c (gfc_match_name): Don't error if leading character is a '(',
169         just return MATCH_NO.
170
171 2008-01-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
172
173         PR fortran/34722
174         * trans-io.c (create_dummy_iostat): Commit the symbol.
175
176 2008-01-11  Paul Thomas  <pault@gcc.gnu.org>
177
178         PR fortran/34537
179         * simplify.c (gfc_simplify_transfer): Return NULL if the size
180         of the element is unavailable and only assign character length
181         to the result, if 'mold' is constant.
182
183 2008-01-10  Paul Thomas  <pault@gcc.gnu.org>
184
185         PR fortran/34396
186         * trans-array.c (gfc_trans_array_ctor_element):  Use gfc_trans_string_copy
187         to assign strings and perform bounds checks on the string length.
188         (get_array_ctor_strlen): Remove bounds checking.
189         (gfc_trans_array_constructor): Initialize string length checking.
190         * trans-array.h : Add prototype for gfc_trans_string_copy.
191
192 2008-01-08  Richard Guenther  <rguenther@suse.de>
193
194         PR fortran/34706
195         PR tree-optimization/34683
196         * trans-types.c (gfc_get_array_type_bounds): Use an array type
197         with known size for accesses if that is known.
198
199 2008-01-08  Paul Thomas  <pault@gcc.gnu.org>
200
201         PR fortran/34476
202         * expr.c (find_array_element): Check that the array bounds are
203         constant before using them.  Use lower, as well as upper bound.
204         (check_restricted): Allow implied index variable.
205
206 2008-01-08  Paul Thomas  <pault@gcc.gnu.org>
207
208         PR fortran/34681
209         * trans_array.c (gfc_trans_deferred_array): Do not null the
210         data pointer on entering scope, nor deallocate it on leaving
211         scope, if the symbol has the 'save' attribute.
212
213         PR fortran/34704
214         * trans_decl.c (gfc_finish_var_decl): Derived types with
215         allocatable components and an initializer must be TREE_STATIC.
216
217 2008-01-07  Paul Thomas  <pault@gcc.gnu.org>
218
219         PR fortran/34672
220         * module.c (write_generic): Rewrite completely.
221         (write_module): Change call to write_generic.
222
223 2008-01-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
224
225         PR fortran/34659
226         * scanner.c (load_line): Do not count ' ' as printable when checking for
227         continuations.
228
229 2008-01-06  Paul Thomas  <pault@gcc.gnu.org>
230
231         PR fortran/34545
232         * module.c (load_needed): If the namespace has no proc_name
233         give it the module symbol.
234
235 2008-01-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
236
237         PR fortran/34387
238         * trans-expr.c (gfc_conv_missing_dummy): Use a temporary to type convert
239         the dummy variable expression, test for NULL, and pass the variable
240         address to the called function.
241
242 2007-01-06  Tobias Burnus  <burnus@net-b.de>
243
244         PR fortran/34658
245         * match.c (gfc_match_common): Remove blank common in
246         DATA BLOCK warning.
247         * resolve.c (resolve_common_vars): New function.
248         (resolve_common_blocks): Move checks to resolve_common_vars
249         and invoke that function.
250         (resolve_types): Call resolve_common_vars for blank commons.
251
252 2008-01-06  Tobias Burnus  <burnus@net-b.de>
253
254         PR fortran/34655
255         * resolve.c (resolve_equivalence_derived): Reject derived types with
256         default initialization if equivalenced with COMMON variable.
257
258 2008-01-06  Tobias Burnus  <burnus@net-b.de>
259
260         PR fortran/34654
261         * io.c (check_io_constraints): Disallow unformatted I/O for
262         internal units.
263
264 2008-01-06  Tobias Burnus  <burnus@net-b.de>
265
266         PR fortran/34660
267         * resolve.c (resolve_formal_arglist): Reject dummy procedure in
268         ELEMENTAL functions.
269
270 2008-01-06  Tobias Burnus  <burnus@net-b.de>
271
272         PR fortran/34662
273         * interface.c (compare_actual_formal): Reject parameter
274         actual to intent(out) dummy.
275
276 2008-01-04  Tobias Burnus  <burnus@net-b.de>
277
278         PR fortran/34557
279         * primary.c (match_varspec): Gobble whitespace before
280         checking for '('.