OSDN Git Service

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