OSDN Git Service

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