OSDN Git Service

2008-02-19 Daniel Franke <franke.daniel@gmail.com>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2008-02-19  Daniel Franke  <franke.daniel@gmail.com>
2
3         PR fortran/35030
4         * expr.c (gfc_check_pointer_assign): Add type and kind information
5         to type-mismatch message.
6         (gfc_check_assign): Unify error messages.
7
8 2008-02-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9
10         PR fortran/34952
11         * gfortran.texi: Create new section for unimplemented extensions.
12         Add "STRUCTURE and RECORD" and "ENCODE and DECODE statements".
13         Remove "smaller projects" list. Fix a few typos.
14
15 2008-02-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
16
17         * intrinsic.texi: Rename INDEX node to avoid clashing with
18         index.html on case-insensitive systems.
19
20 2008-02-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
21
22         PR fortran/35150
23         * trans-expr.c (gfc_conv_function_call): Force evaluation of
24         se->expr.
25
26 2008-02-10  Daniel Franke  <franke.daniel@gmail.com>
27
28         PR fortran/35019
29         * lang.opt: Allow '-J<dir>' next to '-J <dir>', 
30         likewise '-I <dir>' and '-I<dir>'.
31
32 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
33
34         PR other/35107
35         * Make-lang.in (f951): Add $(GMPLIBS).
36
37 2008-02-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
38
39         PR fortran/35037
40         * trans-common.c (build_field): Mark fields as volatile when needed.
41
42 2008-02-05  Tobias Burnus  <burnus@net-b.de>
43
44         PR fortran/35093
45         * data.c (gfc_assign_data_value): Only free "size" if
46         it has not already been freed.
47
48 2008-02-05  Paul Thomas  <pault@gcc.gnu.org>
49
50         PR fortran/34945
51         * array.c (match_array_element_spec): Remove check for negative
52         array size.
53         (gfc_resolve_array_spec): Add check for negative size.
54
55 2008-02-05  Paul Thomas  <pault@gcc.gnu.org>
56
57         PR fortran/32315
58         * data.c (gfc_assign_data_value): Add bounds check for array
59         references.
60
61 2008-02-04  Daniel Franke  <franke.daniel@gmail.com>
62
63         * resolve.c (resolve_where): Fix typo.
64         (gfc_resolve_where_code_in_forall): Likewise.
65
66 2008-02-03  Paul Thomas  <pault@gcc.gnu.org>
67
68         PR fortran/32760
69         * resolve.c (resolve_allocate_deallocate): New function.
70         (resolve_code): Call it for allocate and deallocate.
71         * match.c (gfc_match_allocate, gfc_match_deallocate) : Remove
72         the checking of the STAT tag and put in above new function.
73         * primary,c (match_variable): Do not fix flavor of host
74         associated symbols yet if the type is not known.
75
76 2008-01-31  Paul Thomas  <pault@gcc.gnu.org>
77
78         PR fortran/34910
79         * expr.c (gfc_check_assign): It is an error to assign
80         to a sibling procedure.
81
82 2008-01-30  Paul Thomas  <pault@gcc.gnu.org>
83
84         PR fortran/34975
85         * symbol.c (gfc_delete_symtree, gfc_undo_symbols): Rename
86         delete_symtree to gfc_delete_symtree.
87         * gfortran.h : Add prototype for gfc_delete_symtree.
88         * module.c (load_generic_interfaces): Transfer symbol to a
89         unique symtree and delete old symtree, instead of renaming.
90         (read_module): The rsym and the found symbol are the same, so
91         the found symtree can be deleted.
92
93         PR fortran/34429
94         * decl.c (match_char_spec): Remove the constraint on deferred
95         matching of functions and free the length expression.
96         delete_symtree to gfc_delete_symtree.
97         (gfc_match_type_spec): Whitespace.
98         (gfc_match_function_decl): Defer characteristic association for
99         all types except BT_UNKNOWN.
100         * parse.c (decode_specification_statement): Only derived type
101         function matching is delayed to the end of specification.
102
103 2008-01-28  Tobias Burnus  <burnus@net-b.de>
104
105         PR libfortran/34980
106         * simplify.c (gfc_simplify_shape): Simplify rank zero arrays.
107
108 2008-01-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
109
110         PR fortran/34990
111         * array.c (gfc_check_constructor_type): Revert clearing the expression.
112
113 2008-01-26  Tobias Burnus  <burnus@net-b.de>
114
115         PR fortran/34848
116         * trans-expr.c (gfc_conv_function_call): Don't call
117         gfc_add_interface_mapping if the expression is NULL.
118
119 2008-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
120
121         PR fortran/31610
122         * trans-array.c (gfc_trans_create_temp_array): Remove call to
123         gcc_assert (integer_zerop (loop->from[n])).
124
125 2008-01-25  Daniel Franke  <franke.daniel@gmail.com>
126
127         PR fortran/34661
128         * resolve.c (resolve_where): Added check if user-defined assignment 
129         operator is an elemental subroutine.
130         (gfc_resolve_where_code_in_forall): Likewise.
131
132 2008-01-24  Daniel Franke  <franke.daniel@gmail.com>
133
134         PR fortran/33375
135         PR fortran/34858
136         * gfortran.h: Revert changes from 2008-01-17.
137         * match.c: Likewise.
138         * symbol.c: Likewise.
139         (gfc_undo_symbols): Undo namespace changes related to common blocks.
140
141 2008-01-24  Daniel Franke  <franke.daniel@gmail.com>
142
143         PR fortran/34202
144         * data.c (formalize_structure_cons): Skip formalization on
145         empty structures.
146
147 2008-01-24  Daniel Franke  <franke.daniel@gmail.com>
148
149         * gfortran.texi (OpenMP): Extended existing documentation.
150         (contributors): Added major contributors of 2008 that were
151         not listed yet.
152         (proposed extensions): Removed implemented items.
153
154 2008-01-24  Paul Thomas  <pault@gcc.gnu.org>
155
156         PR fortran/34872
157         * parse.c (next_statement) : If ST_GET_FCN_CHARACTERISTICS  is
158         seen, check for a statement label and, if present, delete it
159         and set the locus to the start of the statement.
160
161 2008-01-22  Paul Thomas  <pault@gcc.gnu.org>
162
163         PR fortran/34875
164         * trans-io.c (gfc_trans_transfer): If the array reference in a
165         read has a vector subscript, use gfc_conv_subref_array_arg to
166         copy back the temporary.
167
168 2008-01-22  Tobias Burnus  <burnus@net-b.de>
169
170         PR fortran/34848
171         * interface.c (compare_actual_formal): Fix adding type
172         to missing_arg_type for absent optional arguments.
173
174 2008-01-22  Tobias Burnus  <burnus@net-b.de>
175
176         PR fortran/34907
177         * parse.c (parse_spec): Change = into ==.
178
179 2008-01-22  Daniel Franke  <franke.daniel@gmail.com>
180
181         PR fortran/34915
182         * expr.c (check_elemental): Fix check for valid data types.
183
184 2008-01-22  Tobias Burnus  <burnus@net-b.de>
185
186         PR fortran/34899
187         * scanner.c (load_line): Support <tab><digit> continuation lines.
188         * invoke.texi (-Wtabs): Document this.
189
190 2008-01-22  Paul Thomas  <pault@gcc.gnu.org>
191
192         PR fortran/34896
193         * module.c (read_module): Set use_rename attribute.
194
195 2007-01-21  Tobias Burnus  <burnus@net-b.de>
196
197         PR fortran/34901
198         * interface.c (compare_parameter): Improved error message
199         for arguments of same type and mismatched kinds.
200
201 2008-01-20  Paul Thomas  <pault@gcc.gnu.org>
202
203         PR fortran/34861
204         * resolve.c (resolve_entries): Do not do an array bounds check
205         if the result symbols are the same.
206
207         PR fortran/34854
208         * module.c (read_module) : Hide the symtree of the previous
209         version of the symbol if this symbol is renamed.
210
211 2008-01-20  Paul Thomas  <pault@gcc.gnu.org>
212
213         PR fortran/34784
214         * array.c (gfc_check_constructor_type): Clear the expression ts
215         so that the checking starts from the deepest level of array
216         constructor.
217         * primary.c (match_varspec): If an unknown type is changed to
218         default character and the attempt to match a substring fails,
219         change it back to unknown.
220
221         PR fortran/34785
222         * trans-array.c (gfc_add_loop_ss_code) : If ss->string_length is
223         NULL for an array constructor, use the cl.length expression to
224         build it.
225         (gfc_conv_array_parameter): Change call to gfc_evaluate_now to
226         a tree assignment.
227
228 2008-01-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
229
230         PR fortran/34817
231         PR fortran/34838
232         * iresolve.c (gfc_resolve_all):  Remove conversion of mask
233         argument to kind=1 by removing call to resolve_mask_arg().
234         (gfc_resolve_any):  Likewise.
235
236 2008-01-19  Tobias Burnus  <burnus@net-b.de>
237
238         PR fortran/34760
239         * primary.c (match_variable): Handle FL_UNKNOWN without
240         uneducated guessing.
241         (match_variable): Improve error message.
242
243 2008-01-18  Tobias Burnus  <burnus@net-b.de>
244
245         PR fortran/32616
246         * interface.c (get_expr_storage_size): Return storage size
247         for array element designators.
248         (compare_actual_formal): Reject unequal string sizes for
249         assumed-shape dummy arguments. And fix error message for
250         array-sections with vector subscripts.
251
252 2008-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
253
254         PR fortran/34556
255         * simplify.c (is_constant_array_expr): New static function that returns
256         true if the given expression is an array and is constant.
257         (gfc_simplify_reshape): Use new function.
258
259 2008-01-17  H.J. Lu  <hongjiu.lu@intel.com>
260
261         PR fortran/33375
262         * symbol.c (free_common_tree): Renamed to ...
263         (gfc_free_common_tree): This.  Remove static.
264         (gfc_free_namespace): Updated.
265
266         * gfortran.h (gfc_free_common_tree): New.
267
268         * match.c (gfc_match_common): Call gfc_free_common_tree () with
269         gfc_current_ns->common_root and set gfc_current_ns->common_root
270         to NULL on syntax error.
271
272 2008-01-18  Richard Sandiford  <rsandifo@nildram.co.uk>
273
274         PR fortran/34686
275         * trans-expr.c (gfc_conv_function_call): Use proper
276         type for returned character pointers.
277
278 2008-01-17  Paul Thomas  <pault@gcc.gnu.org>
279
280         PR fortran/34429
281         PR fortran/34431
282         PR fortran/34471
283         * decl.c : Remove gfc_function_kind_locus and
284         gfc_function_type_locus. Add gfc_matching_function.
285         (match_char_length): If matching a function and the length
286         does not match, return MATCH_YES and try again later.
287         (gfc_match_kind_spec): The same.
288         (match_char_kind): The same.
289         (gfc_match_type_spec): The same for numeric and derived types.
290         (match_prefix): Rename as gfc_match_prefix.
291         (gfc_match_function_decl): Except for function valued character
292         lengths, defer applying kind, type and charlen info until the
293         end of specification block.
294         gfortran.h (gfc_statement): Add ST_GET_FCN_CHARACTERISTICS.
295         parse.c (decode_specification_statement): New function.
296         (decode_statement): Call it when a function has kind = -1. Set
297         and reset gfc_matching function, as function statement is being
298         matched.
299         (match_deferred_characteristics): Simplify with a single call
300         to gfc_match_prefix. Do appropriate error handling. In any
301         case, make sure that kind = -1 is reset or corrected.
302         (parse_spec): Call above on seeing ST_GET_FCN_CHARACTERISTICS.
303         Throw an error if kind = -1 after last specification statement.
304         parse.h : Prototype for gfc_match_prefix.
305
306 2008-01-16  Tobias Burnus  <burnus@net-b.de>
307
308         PR fortran/34796
309         * interface.c (compare_parameter): Allow AS_DEFERRED array
310         elements and reject attr.pointer array elemenents.
311         (get_expr_storage_size): Return storage size of elements of
312         assumed-shape and pointer arrays.
313
314 2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
315
316         * f95-lang.c (gfc_init_builtin_functions): Initialize GOMP builtins
317         for flag_tree_parallelize_loops.
318
319 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
320
321         PR libfortran/34671
322         * iresolve.c (gfc_resolve_all):  Call resolve_mask_arg.
323         (gfc_resolve_any):  Likewise.
324         (gfc_resolve_count):  Likewise.  Don't append kind of
325         argument to function name.
326
327 2008-01-13  Tobias Burnus  <burnus@net-b.de>
328
329         PR fortran/34665
330         * resolve.c (resolve_actual_arglist): For expressions,
331         also check for assume-sized arrays.
332         * interface.c (compare_parameter): Move F2003 character checks
333         here, print error messages here, reject elements of
334         assumed-shape array as argument to dummy arrays.
335         (compare_actual_formal): Update for the changes above.
336
337 2008-01-13  Tobias Burnus  <burnus@net-b.de>
338
339         PR fortran/34763
340         * decl.c (contained_procedure): Only check directly preceeding state.
341
342 2008-01-13  Tobias Burnus  <burnus@net-b.de>
343
344         PR fortran/34759
345         * check.c (gfc_check_shape): Accept array ranges of
346         assumed-size arrays.
347
348 2008-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
349
350         PR fortran/34432
351         * match.c (gfc_match_name): Don't error if leading character is a '(',
352         just return MATCH_NO.
353
354 2008-01-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
355
356         PR fortran/34722
357         * trans-io.c (create_dummy_iostat): Commit the symbol.
358
359 2008-01-11  Paul Thomas  <pault@gcc.gnu.org>
360
361         PR fortran/34537
362         * simplify.c (gfc_simplify_transfer): Return NULL if the size
363         of the element is unavailable and only assign character length
364         to the result, if 'mold' is constant.
365
366 2008-01-10  Paul Thomas  <pault@gcc.gnu.org>
367
368         PR fortran/34396
369         * trans-array.c (gfc_trans_array_ctor_element):  Use gfc_trans_string_copy
370         to assign strings and perform bounds checks on the string length.
371         (get_array_ctor_strlen): Remove bounds checking.
372         (gfc_trans_array_constructor): Initialize string length checking.
373         * trans-array.h : Add prototype for gfc_trans_string_copy.
374
375 2008-01-08  Richard Guenther  <rguenther@suse.de>
376
377         PR fortran/34706
378         PR tree-optimization/34683
379         * trans-types.c (gfc_get_array_type_bounds): Use an array type
380         with known size for accesses if that is known.
381
382 2008-01-08  Paul Thomas  <pault@gcc.gnu.org>
383
384         PR fortran/34476
385         * expr.c (find_array_element): Check that the array bounds are
386         constant before using them.  Use lower, as well as upper bound.
387         (check_restricted): Allow implied index variable.
388
389 2008-01-08  Paul Thomas  <pault@gcc.gnu.org>
390
391         PR fortran/34681
392         * trans_array.c (gfc_trans_deferred_array): Do not null the
393         data pointer on entering scope, nor deallocate it on leaving
394         scope, if the symbol has the 'save' attribute.
395
396         PR fortran/34704
397         * trans_decl.c (gfc_finish_var_decl): Derived types with
398         allocatable components and an initializer must be TREE_STATIC.
399
400 2008-01-07  Paul Thomas  <pault@gcc.gnu.org>
401
402         PR fortran/34672
403         * module.c (write_generic): Rewrite completely.
404         (write_module): Change call to write_generic.
405
406 2008-01-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
407
408         PR fortran/34659
409         * scanner.c (load_line): Do not count ' ' as printable when checking for
410         continuations.
411
412 2008-01-06  Paul Thomas  <pault@gcc.gnu.org>
413
414         PR fortran/34545
415         * module.c (load_needed): If the namespace has no proc_name
416         give it the module symbol.
417
418 2008-01-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
419
420         PR fortran/34387
421         * trans-expr.c (gfc_conv_missing_dummy): Use a temporary to type convert
422         the dummy variable expression, test for NULL, and pass the variable
423         address to the called function.
424
425 2007-01-06  Tobias Burnus  <burnus@net-b.de>
426
427         PR fortran/34658
428         * match.c (gfc_match_common): Remove blank common in
429         DATA BLOCK warning.
430         * resolve.c (resolve_common_vars): New function.
431         (resolve_common_blocks): Move checks to resolve_common_vars
432         and invoke that function.
433         (resolve_types): Call resolve_common_vars for blank commons.
434
435 2008-01-06  Tobias Burnus  <burnus@net-b.de>
436
437         PR fortran/34655
438         * resolve.c (resolve_equivalence_derived): Reject derived types with
439         default initialization if equivalenced with COMMON variable.
440
441 2008-01-06  Tobias Burnus  <burnus@net-b.de>
442
443         PR fortran/34654
444         * io.c (check_io_constraints): Disallow unformatted I/O for
445         internal units.
446
447 2008-01-06  Tobias Burnus  <burnus@net-b.de>
448
449         PR fortran/34660
450         * resolve.c (resolve_formal_arglist): Reject dummy procedure in
451         ELEMENTAL functions.
452
453 2008-01-06  Tobias Burnus  <burnus@net-b.de>
454
455         PR fortran/34662
456         * interface.c (compare_actual_formal): Reject parameter
457         actual to intent(out) dummy.
458
459 2008-01-04  Tobias Burnus  <burnus@net-b.de>
460
461         PR fortran/34557
462         * primary.c (match_varspec): Gobble whitespace before
463         checking for '('.