OSDN Git Service

2007-01-17 Paul Thomas <pault@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2007-01-17  Paul Thomas  <pault@gcc.gnu.org>
2
3         PR fortran/30476
4         * module.c (load_generic_interfaces): Make the marking of the
5         symbol as ambiguous conditional on the module names being
6         different.
7         (write_generic): Ensure that the generic interface has a
8         non-NULL module field.
9
10 2007-01-16  Roger Sayle  <roger@eyesopen.com>
11
12         PR fortran/30404
13         * trans-stmt.c (forall_info): Remove pmask field.
14         (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
15         NVAR covers all the interation variables in the current forall_info.
16         Add an extra OUTER parameter, which specified the loop header in
17         which to place mask index initializations.
18         (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
19         Change the semantics of MASK_FLAG to only control the mask in the
20         innermost loop.
21         (compute_overall_iter_number): Optimize the trivial case of a
22         top-level loop having a constant number of iterations.  Update
23         call to gfc_trans_nested_forall_loop.  Calculate the number of
24         times the inner loop will be executed, not to size of the 
25         iteration space.
26         (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
27         sizeof(type) == 1.  Tidy up.
28         (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
29         to gfc_trans_nested_forall_loop.
30         (gfc_trans_pointer_assign_need_temp): Likewise.
31         (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
32         LENVAR local variables.  Split mask allocation into a separate
33         hunk/pass from mask population.  Use allocate_temp_for_forall_nest
34         to allocate the FORALL mask with the correct size.  Update calls
35         to gfc_trans_nested_forall_loop.
36         (gfc_evaluate_where_mask): Update call to
37         gfc_trans_nested_forall_loop.
38         (gfc_trans_where_2): Likewise.
39
40 2007-01-15  Paul Thomas  <pault@gcc.gnu.org>
41
42         PR fortran/28172
43         * trans-stmt.c (gfc_trans_call): If it does not have one, get
44         a backend_decl for an alternate return.
45
46         PR fortran/29389
47         * resolve.c (pure_function): Statement functions are pure. Note
48         that this will have to recurse to comply fully with F95.
49
50         PR fortran/29712
51         * resolve.c (resolve_function): Only a reference to the final
52         dimension of an assumed size array is an error in an inquiry
53         function.
54
55         PR fortran/30283
56         * resolve.c (resolve_function): Make sure that the function
57         expression has a type.
58
59 2007-01-14  Paul Thomas  <pault@gcc.gnu.org>
60
61         PR fortran/30410
62         * trans-decl.c (gfc_sym_mangled_function_id): Module, external
63         symbols must not have the module name prepended.
64
65 2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
66
67         PR libfortran/30415
68         * iresolve.c (gfc_resolve_maxloc):  If the rank
69         of the return array is nonzero and we process an
70         integer array smaller than default kind, coerce
71         the array to default integer.
72         * iresolve.c (gfc_resolve_minloc):  Likewise.
73
74 2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>
75
76         * simplify.c: Update copyright to 2007.
77         * scanner.c: Same.
78
79 2007-01-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
80
81         PR fortran/30430
82         * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
83         only once!
84
85 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
86
87         * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
88         (gfc_simplify_ibset): Same.
89
90 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
91
92         PR 30381
93         PR 30420
94         * simplify.c (convert_mpz_to_unsigned): New function.
95         (convert_mpz_to_signed): New function, largely based on
96         twos_complement().
97         (twos_complement): Removed.
98         (gfc_simplify_ibclr): Add conversions to and from an
99         unsigned representation before bit-twiddling.
100         (gfc_simplify_ibset): Same.
101         (gfc_simplify_ishftc): Add checks for overly large
102         constant arguments, only check the third argument if
103         it's present, carry over high bits into the result as
104         appropriate, and perform the final conversion back to
105         a signed representation using the correct sign bit.
106         (gfc_simplify_not): Removed unnecessary masking.
107
108 2007-01-09  Paul Thomas  <pault@gcc.gnu.org>
109
110         PR fortran/30408
111         * resolve.c (resolve_code): Use the code->expr character length
112         directly to set length of llen.
113
114 2007-01-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
115
116         PR fortran/30408
117         * lang.opt: Add Wcharacter_truncation option.
118         * options.c (gfc_init_options): Initialize
119         gfc_option.warn_character_truncation to zero.
120         (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
121
122 2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
123
124         * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
125         iresolve.c, match.c:  Update Copyright years.  Whitespace.
126
127 2007-01-08  Richard Guenther  <rguenther@suse.de>
128
129         * trans-io.c (transfer_array_desc): Use build_int_cst instead
130         of build_int_cstu.
131
132 2007-01-08  Roger Sayle  <roger@eyesopen.com>
133
134         * trans-array.c (constant_array_constructor_p): New function to
135         determine whether an array constructor consists only of constant
136         elements, and if so return it's size.
137         (gfc_build_constant_array_constructor): Construct a statically
138         initialized gfortran array for a given EXPR_ARRAY.
139         (gfc_trans_constant_array_constructor): Efficiently scalarize
140         a constant array constructor.
141         (gfc_trans_array_constructor):  Tidy up use of CONST_STRING.
142         Special case scalarization of constant array constructors, all of
143         whose elements are specified, using constant_array_constructor_p 
144         and gfc_trans_constant_array_constructor.
145         (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
146         before adding it to index, to avoid creating a NON_LVALUE_EXPR.
147
148 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
149
150         gfortran.texi: Fix typos.
151
152 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
153
154         * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
155         convert.c:  Update Copyright dates.  Fix whitespace.
156
157 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
158
159         * data.c (gfc_assign_data_value): Fix whitespace.
160
161 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
162
163         * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
164         Commentary typo fix.
165
166 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
167
168         PR fortran/27698
169         * match.c (gfc_match_name): Print diagnostics for invalid
170         character in names.
171
172 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
173
174         * array.c: Fix whitespace in comment table.
175
176 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
177
178         * array.c, bbt.c, check.c:  Update copyright years.  Whitespace.
179
180 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
181
182         * arith.c: Update copyright years.  Whitespace.
183
184 2007-01-05  Roger Sayle  <roger@eyesopen.com>
185
186         * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
187         array assignments split out from gfc_trans_assignment.
188         (gfc_trans_array_copy): New function to implement array to array
189         copies via calls to __builtin_memcpy.
190         (copyable_array_p): New helper function to identify an array of
191         simple/POD types, that may be copied/assigned using memcpy.
192         (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
193         whole array assignments considered suitable by copyable_array_p.
194         Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
195
196 2007-01-05  Roger Sayle  <roger@eyesopen.com>
197
198         * trans-array.c (gfc_trans_array_constructor_value): Make the
199         static const "data" array as TREE_READONLY.
200         * trans-stmt.c (gfc_trans_character_select): Likewise.
201
202 2007-01-05  Roger Sayle  <roger@eyesopen.com>
203
204         * trans-array.c (gfc_conv_loop_setup):  Test whether the loop
205         stride is one, to avoid fold_build2 introducing a useless
206         NON_LVALUE_EXPR node.
207
208 2007-01-05  Tobias Burnus  <burnus@net-b.de>
209
210         * symbol.c (check_conflict): Fix error message.
211
212 2007-01-05  Paul Thomas  <pault@gcc.gnu.org>
213
214         PR fortran/23232
215         * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
216         functions to signal that a DATA statement is being matched.
217         (gfc_match_data): Call gfc_set_in_match_data on entry and on
218         exit.
219         * gfortran.h : Add prototypes for above.
220         * expr.c (check_init_expr): Avoid check on parameter or
221         variable if gfc_in_match_data is true.
222         (gfc_match_init_expr): Do not call error on non-reduction of
223         expression if gfc_in_match_data is true.
224
225         PR fortran/27996
226         PR fortran/27998
227         * decl.c (gfc_set_constant_character_len): Add boolean arg to
228         flag array constructor resolution.  Warn if string is being
229         truncated.  Standard dependent error if string is padded. Set
230         new arg to false for all three calls to
231         gfc_set_constant_character_len.
232         * match.h : Add boolean arg to prototype for
233         gfc_set_constant_character_len.
234         * gfortran.h : Add warn_character_truncation to gfc_options.
235         * options.c (set_Wall): Set warn_character_truncation if -Wall
236         is set.
237         * resolve.c (resolve_code): Warn if rhs string in character
238         assignment has to be truncated.
239         * array.c (gfc_resolve_character_array_constructor): Set new
240         argument to true for call to gfc_set_constant_character_len.
241
242 2007-01-05  Tobias Burnus  <burnus@net-b.de>
243
244         PR fortran/29624
245         * interface.c (compare_parameter_intent): New function.
246           (check_intents): Support pointer intents.
247         * symbol.c (check_conflict): Support pointer intents,
248           better conflict_std message.
249         * expr.c (gfc_check_assign,gfc_check_pointer_assign):
250           Support pointer intents.
251         * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
252           Support pointer intents.
253
254 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
255
256         PR 30371
257         * check.c (gfc_check_kill_sub): Add checks for non-scalar
258         arguments.
259
260 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
261
262         * intrinsic.texi: Minor cleanup, reflowing overlong
263         paragraphs, and correcting whitespace.
264
265 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
266
267         * intrinsic.texi (LBOUND): Add documentation.
268         (LGE): Add documentation.
269         (LGT): Add documentation.
270         (LINK): Add documentation.
271         (LLE): Add documentation.
272         (LLT): Add documentation.
273         (LNBLNK): Add documentation.
274         (UBOUND): Add documentation.
275         (UNLINK): Add documentation.
276
277 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
278
279         * intrinsic.texi (IAND): Clarify argument specifications.
280         (IBCLR): Add documentation.
281         (IBITS): Add documentation.
282         (IBSET): Add documentation.
283         (IEOR): Add documentation.
284         (IERRNO): Add documentation.
285         (INDEX): Add documentation.
286         (IOR): Add documentation.
287         (ISHFT): Add documentation.
288         (ISHFTC): Add documentation.
289         (KILL): Add documentation.
290         (LEN_TRIM): Add documentation.
291
292 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
293
294         PR 30235
295         * interface.c (compare_actual_formal): check for
296         alternate returns when iterating over non-present
297         arguments.
298
299 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
300
301         * invoke.texi: Update manpage copyright to include 2007.
302
303 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
304
305         * gfortran.texi: Update copyright to include 2007.
306         * intrinsic.texi: Update copyright to include 2007.
307         * invoke.texi: Update copyright to include 2007.
308
309 2007-01-02  Tobias Burnus  <burnus@net-b.de>
310             Jakub Jelinek  <jakub@redhat.com>
311
312         PR fortran/30276
313         * scanner.c (open_included_file): Revert patch.
314           (gfc_open_included_file): Support absolute pathnames.
315           (gfc_open_intrinsic_module): Support absolute pathnames.
316
317 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
318
319         * gfortran.texi (GNU Fortran and GCC): Rewrite
320
321 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
322
323         * gfortran.texi (Introduction): Lower "Part I:
324         Introduction" to a chapter, renumber Parts II and III to
325         Parts I and II.
326         * intrinsic.texi (Introduction): Rename to "Introduction
327         to Intrinsics" to avoid conflict with the new chapter.
328
329 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
330
331         * intrinsic.texi (Introduction): Rewrite first paragraph.
332
333 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
334
335         * invoke.texi (OpenMP): Added index entry.
336         * gfortran.texi (title page): Removed erroneous '*'.
337
338 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
339
340         * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
341         to description.
342         (Extensions): Miscellaneous minor rewriting and copyediting.
343         (BOZ-literal constants): Renamed from Hexadecimal constants.
344         (Hollerith constants support): Added explanation and 
345         suggestions for standard-conforming modern equivalents.
346
347 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
348
349         * intrinsic.texi: Improvements to index entries; change
350         @findex entries to @cindex entries.
351         * invoke.texi: Standardize and improve index entries.
352         * gfortran.texi: Fix @code in one index entry.
353
354 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
355
356         * invoke.texi: Change @code-type macros to appropriate
357         variants (@command, @option, etc.)
358         * gfortran.texi: Same.
359
360 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
361
362         * intrinsic.texi: Various minor cleanups.
363
364 2007-01-02  Steven G. Kargl  <kargls@comcast.net>
365
366         * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
367         build_int_cst.
368
369 2007-01-02  Tobias Burnus  <burnus@net-b.de>
370
371         PR fortran/30276
372         * scanner.c (open_included_file): Support full-path filenames.
373
374 2007-01-02  Paul Thomas  <pault@gcc.gnu.org>
375
376         PR fortran/20896
377         * interface.c (check_sym_interfaces): Remove call to
378         resolve_global_procedure.
379         gfortran.h : Remove prototype for resolve_global_procedure.
380         resolve.c (resolve_global_procedure): Add static attribute
381         to function declaration.
382
383 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
384
385         * ChangeLog: Copy to ...
386         * ChangeLog-2006: here.