OSDN Git Service

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