OSDN Git Service

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