OSDN Git Service

* trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2007-02-08  Roger Sayle  <roger@eyesopen.com>
2
3         * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
4         mask expression is a compile-time constant (".true." or ".false.").
5
6 2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
7
8         PR fortran/30611
9         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
10         arguments only once. Generate check that NCOPIES argument is not
11         negative.
12
13 2007-02-04  Steven G. Kargl <kargl@gcc.gnu.org>
14
15         PR fortran/30605
16         * fortran/invoke.texi: Update documentation.
17         * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
18         and -pedantic.
19
20 2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
21
22         * trans-array.c: Fix a comment typo.
23
24 2007-02-03  Paul Thomas  <pault@gcc.gnu.org>
25
26         PR fortran/30514
27         * array.c (match_array_element_spec): If the length of an array is
28         negative, adjust the upper limit to make it zero length.
29
30         PR fortran/30660
31         * resolve.c (pure_function, resolve_function): Initialize name to
32         null to clear up build warnings.
33         (resolve_fl_variable): Look at components explicitly to check for
34         default initializer, rather than using gfc_default_initializer.
35
36 2007-02-02  Steven G. Kargl <kargl@gcc.gnu.org>
37
38         PR fortran/30683
39         * resolve.c (resolve_generic_f): Check for non-NULL sym.
40
41 2007-02-02  Roger Sayle  <roger@eyesopen.com>
42
43         * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
44         NON_LVALUE_EXPR nodes and useless type conversions.
45
46 2007-02-02  Paul Thomas  <pault@gcc.gnu.org>
47
48         PR fortran/30284
49         PR fortran/30626
50         * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
51         from function and make sure that substring lengths are
52         translated.
53         (is_aliased_array): Remove static attribute.
54         * trans.c : Add prototypes for gfc_conv_aliased_arg and
55         is_aliased_array.
56         * trans-io.c (set_internal_unit): Add the post block to the
57         arguments of the function.  Use is_aliased_array to check if
58         temporary is needed; if so call gfc_conv_aliased_arg.
59         (build_dt): Pass the post block to set_internal_unit and
60         add to the block after all io activiy is done.
61
62 2007-02-01  Roger Sayle  <roger@eyesopen.com>
63
64         * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
65         a temporary array to pass a constant non-character array constructor.
66         Generalize the descriptor generation code to handle scalarizer
67         "info" without an array reference.
68
69 2007-02-01  Roger Sayle  <roger@eyesopen.com>
70
71         * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
72         dependency checking for array constructors.
73
74 2007-02-01  Roger Sayle  <roger@eyesopen.com>
75
76         * trans-stmt.c (compute_overall_iter_number): Document function
77         arguments.  Generalize "unconditional forall nest with constant
78         bounds" optimization to eliminate unconditional inner loops with
79         constant bounds.
80
81 2007-01-31  Tobias Burnus  <burnus@net-b.de>
82
83         PR fortran/30520
84         * interface.c (compare_actual_formal): Check conformance between
85           actual and VOLATILE dummy arguments.
86         * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
87           multiple times in different scopes.
88         * decl.c (gfc_match_volatile): Search symbol in host association.
89
90 2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
91
92         * simplify.c, trans-array.c: Fix comment typos.
93
94 2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95
96         * invoke.texi (Code Gen Options): Fix abbreviation typo.
97         * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
98
99 2007-01-30  Steve Ellcey  <sje@cup.hp.com>
100
101         PR fortran/30432
102         * trans-types.c (gfc_get_function_type):  Do not add void_type_node
103         to empty arg list.
104         * trans-decl.c (create_function_arglist): Change assert.
105
106 2007-01-29  Paul Thomas  <pault@gcc.gnu.org>
107
108         PR fortran/30554
109         * module.c (read_module): If a symbol is excluded by an ONLY
110         clause, check to see if there is a symtree already loaded. If
111         so, attach the symtree to the pointer_info.
112
113 2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
114
115         PR libfortran/30389
116         * gfortran.h:  Remove gfc_simplify_init_1.
117         * arith.h:  Remove third argument from gfc_compare_string.
118         * arith.c(gfc_compare_expression):  Remove third argument
119         from call to gfc_compare_string.
120         (gfc_compare_string):  Remove third argument xcoll_table.
121         Remove use of xcoll_table.
122         * misc.c(gfc_init_1):  Remove call to gfc_simplify_init_1.
123         * simplify.c(ascii_table):  Remove.
124         (xascii_table): Likewise.
125         (gfc_simplify_achar):  ICE if extract_int fails.  Remove use of
126         ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
127         (gfc_simplify_char):  ICE if extract_int fails. Error if
128         value < 0 or value > 255.
129         (gfc_simplify_iachar):  Remove use of xascii_table.
130         Char values outside of 0..255 are an ICE.
131         (gfc_simplify_lge):  Remove use of xascii_table.
132         (gfc_simplify_lgt):  Likewise.
133         (gfc_simplify_lle):  Likewise.
134         (gfc_simplify_llt):  Likewise.
135         (invert_table):  Remove.
136         (gfc_simplify_init_1):  Remove.
137
138 2007-01-27  Roger Sayle  <roger@eyesopen.com>
139
140         * trans-stmt.c (forall_info): Replace the next_nest and outer
141         fields that previously implemented a doubly-linked list with a
142         single prev_nest field (singly-linked list).
143         (gfc_trans_nested_forall_loop): The nested_forall_info argument
144         now denotes the innermost FORALL in the loop nest.
145         (compute_overall_iter_number): Use prev_nest instead of next_nest.
146         (gfc_trans_forall_1): Link/cons the new "info" to the head of the
147         nested_forall_info linked list.  Free the current "info" when done.
148
149 2007-01-27  Paul Thomas  <pault@gcc.gnu.org>
150
151         PR fortran/30407
152         * trans-expr.c (gfc_conv_operator_assign): New function.
153         * trans.h : Add prototype for gfc_conv_operator_assign.
154         * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
155         a potential operator assignment subroutine.  If it is non-NULL
156         call gfc_conv_operator_assign instead of the first assignment.
157         ( gfc_trans_where_2): In the case of an operator assignment,
158         extract the argument expressions from the code for the
159         subroutine call and pass the symbol to gfc_trans_where_assign.
160         resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
161         gfc_resolve_forall_body): Resolve the subroutine call for
162         operator assignments.
163
164 2007-01-26  Steven Bosscher  <stevenb.gcc@gmail.com>
165             Steven G. Kargl <kargl@gcc.gnu.org>
166
167         PR fortran/30278
168         * fortran/io.c (next_char): Deal with backslash escaped characters.
169         Issue warnings in non -std=gnu cases.
170         * fortran/primary.c (next_string_char): Issue warnings in non
171
172 2007-01-26  Tobias Burnus  <burnus@net-b.de>
173
174         * lang-specs.h: Add support for .f03 and .F03 extensions.
175         * gfortran.texi: Document .f03 extension.
176         * options.c (form_from_filename): Recognize .f03.
177
178 2007-01-25  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
179
180         PR fortran/30437
181         * lang.opt (Wall): Remove RejectNegative.
182         * options.c (gfc_handle_option): Wall can be disabled.
183         (set_Wall): Add a parameter for disabling Wall.
184         
185 2007-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
186
187         PR fortran/30532
188         * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
189         
190 2007-01-23  Paul Thomas  <pault@gcc.gnu.org>
191
192         PR fortran/30481
193         * match.c (gfc_match_namelist): Add check for assumed size character
194         in namelist and provide error if found.
195
196 2007-01-21  Brooks Moses  <brooks.moses@codesourcery.com>
197
198         * intrinsic.texi (ACHAR): Added cross-references.
199         (CHAR): Put cross-references in alphabetical order.
200         (IACHAR): Added cross-references.
201         (ICHAR): Added cross-references.
202
203 2007-01-20  Brooks Moses  <brooks.moses@codesourcery.com>
204
205         * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
206         (MAXVAL): Corrected description of result characteristics.
207         (MINVAL): Same.
208         (UMASK): Added documentation.
209
210 2007-01-20  Steven G. Kargl  <kargl@gcc.gnu.org>
211
212         * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
213         parse.c, primary.c, options.c, misc.c, simplify.c:  Next installment
214         in the massive whitespace patch.
215
216 2007-01-20  Roger Sayle  <roger@eyesopen.com>
217
218         * module.c (mio_array_ref): The dimen_type fields of an array ref
219         are an enumerated type and can't be read/written directly with a
220         call to mio_integer.  Instead loop over and cast each element.
221
222 2007-01-20  Roger Sayle  <roger@eyesopen.com>
223
224         * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
225         i.e. that the ARRAY_REF doesn't mention components.
226         * trans-array.c (gfc_constant_array_constructor_p): Export external
227         function renamed from constant_array_constructor_p.
228         (gfc_build_constant_array_constructor): Export.
229         (gfc_trans_array_constructor): Update call to the renamed function
230         constant_array_constructor_p.
231         * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
232         (gfc_build_constant_array_constructor): Likewise.
233         * trans-expr.c (gfc_build_memcpy_call): New helper function split
234         out from gfc_trans_array_copy.
235         (gfc_trans_array_copy): Use gfc_build_memcpy_call.
236         (gfc_trans_array_constructor_copy): New function to optimize
237         assigning an entire array from a constant array constructor.
238         (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
239         when appropriate.
240
241 2007-01-20  Roger Sayle  <roger@eyesopen.com>
242
243         * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
244         implementation for the SIGN intrinsic with integral operands.
245         (gfc_conv_intrinsic_minmax): Fix whitespace.
246
247 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
248
249         * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
250         * lang.opt: Add -fallow-leading-underscore.
251         * match.c (gfc_match_name): Allow leading underscore in symbol
252         name if -fallow-leading-underscore is used.
253         * symbol.c (gfc_get_default_type): Add special case for symbol
254         names beginning with an underscore.
255         * trans-decl.c (gfc_get_extern_function_decl,
256         gfc_build_intrinsic_function_decls): Add _gfortran prefix to
257         library symbols selected_int_kind, selected_real_kind and 
258         all specifics.
259         * options.c (gfc_init_options, gfc_handle_option): Handle the
260         new -fallow-leading-underscore option.
261
262 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
263
264         PR fortran/30446
265         * options.c (gfc_handle_module_path_options): Path used in -J
266         option is now added to the module search path.
267
268 2007-01-20  Richard Guenther  <rguenther@suse.de>
269
270         PR fortran/30223
271         * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
272         cexpi builtins if we have TARGET_C99_FUNCTIONS.  Provide
273         sincos builtins if the target has sincos.
274
275 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
276
277         * intrinsic.texi (MATMUL): Corrected a typo.
278         (MAX): Separated @var arguments.
279         (MIN): Separated @var arguments.
280
281 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
282
283         * intrinsic.texi: general whitespace cleanup.
284         (menu): Added TIME8, removed UNMASK.
285         (AINT): Clarified argument requirement.
286         (ANINT): Clarified argument requirement.
287         (CEILING): Clarified argument requirement.
288         (CHAR): Clarified argument requirement.
289         (CMPLX): Clarified argument requirement.
290         (DCMPLX): Clarified argument requirement.
291         (FGET): Line rewrapping.
292         (FLOOR): Clarified argument requirement.
293         (GMTIME): Added documentation.
294         (IAND): Added cross-reference.
295         (IBCLR): Added cross-reference.
296         (IBSET): Added cross-reference.
297         (IEOR): Added cross-reference.
298         (INT): Collapsed examples, clarified argument requirement.
299         (IOR): Added cross-references.
300         (LEN_TRIM): Corrected result kind.
301         (LINK): Added cross-reference.
302         (LLT): Removed "documentation pending".
303         (LOGICAL): Added documentation.
304         (LSHIFT): Added documentation.
305         (LTIME): Added documentation.
306         (MATMUL): Added documentation.
307         (MAX): Added documentation.
308         (MAXLOC): Added documentation.
309         (MAXVAL): Added documentation.
310         (MERGE): Added documentation.
311         (MIN): Added documentation.
312         (MINLOC): Added documentation.
313         (MINVAL): Added documentation.
314         (MVBITS): Moved to correct place, added documentation.
315         (NOT): Added documentation.
316         (PERROR): Added documentation.
317         (RAN): Moved to correct place, added documentation.
318         (REAL): Clarified argument requirement.
319         (RENAME): Added documentation.
320         (RSHIFT): Clarified argument requirement.
321         (SIGN): Corrected table specification.
322         (SYMLNK): Added documentation.
323         (SYSTEM): Added documentation.
324         (TIME): Added documentation.
325         (TIME8): Added section and documentation.
326         (UNMASK): Removed erroneous section.
327
328 2007-01-18  H.J. Lu  <hongjiu.lu@intel.com>
329
330         * trans-stmt.c (compute_overall_iter_number): Fix a typo.
331
332 2007-01-18  Roger Sayle  <roger@eyesopen.com>
333
334         * trans-expr.c (copyable_array_p): Consider user derived types without
335         allocatable components to be copyable.
336
337 2007-01-18  Roger Sayle  <roger@eyesopen.com>
338
339         * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
340         the number of interations in unconditional FORALL nests with constant
341         bounds.
342
343 2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
344             Tobias Burnus  <burnus@net-b.de>
345
346         PR libfortran/29649
347         * gfortran.h (gfc_option_t): Add flag_dump_core.
348         * lang.opt: Add -fdump-core option.
349         * invoke.texi: Document the new options.
350         * trans-decl.c (gfc_build_builtin_function_decls): Add new
351           options to the call to set_std.
352         * options.c (gfc_init_options, gfc_handle_option): Set the
353           new options.
354
355 2007-01-17  Paul Thomas  <pault@gcc.gnu.org>
356
357         PR fortran/30476
358         * module.c (load_generic_interfaces): Make the marking of the
359         symbol as ambiguous conditional on the module names being
360         different.
361         (write_generic): Ensure that the generic interface has a
362         non-NULL module field.
363
364 2007-01-16  Roger Sayle  <roger@eyesopen.com>
365
366         PR fortran/30404
367         * trans-stmt.c (forall_info): Remove pmask field.
368         (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
369         NVAR covers all the interation variables in the current forall_info.
370         Add an extra OUTER parameter, which specified the loop header in
371         which to place mask index initializations.
372         (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
373         Change the semantics of MASK_FLAG to only control the mask in the
374         innermost loop.
375         (compute_overall_iter_number): Optimize the trivial case of a
376         top-level loop having a constant number of iterations.  Update
377         call to gfc_trans_nested_forall_loop.  Calculate the number of
378         times the inner loop will be executed, not to size of the 
379         iteration space.
380         (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
381         sizeof(type) == 1.  Tidy up.
382         (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
383         to gfc_trans_nested_forall_loop.
384         (gfc_trans_pointer_assign_need_temp): Likewise.
385         (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
386         LENVAR local variables.  Split mask allocation into a separate
387         hunk/pass from mask population.  Use allocate_temp_for_forall_nest
388         to allocate the FORALL mask with the correct size.  Update calls
389         to gfc_trans_nested_forall_loop.
390         (gfc_evaluate_where_mask): Update call to
391         gfc_trans_nested_forall_loop.
392         (gfc_trans_where_2): Likewise.
393
394 2007-01-15  Paul Thomas  <pault@gcc.gnu.org>
395
396         PR fortran/28172
397         * trans-stmt.c (gfc_trans_call): If it does not have one, get
398         a backend_decl for an alternate return.
399
400         PR fortran/29389
401         * resolve.c (pure_function): Statement functions are pure. Note
402         that this will have to recurse to comply fully with F95.
403
404         PR fortran/29712
405         * resolve.c (resolve_function): Only a reference to the final
406         dimension of an assumed size array is an error in an inquiry
407         function.
408
409         PR fortran/30283
410         * resolve.c (resolve_function): Make sure that the function
411         expression has a type.
412
413 2007-01-14  Paul Thomas  <pault@gcc.gnu.org>
414
415         PR fortran/30410
416         * trans-decl.c (gfc_sym_mangled_function_id): Module, external
417         symbols must not have the module name prepended.
418
419 2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
420
421         PR libfortran/30415
422         * iresolve.c (gfc_resolve_maxloc):  If the rank
423         of the return array is nonzero and we process an
424         integer array smaller than default kind, coerce
425         the array to default integer.
426         * iresolve.c (gfc_resolve_minloc):  Likewise.
427
428 2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>
429
430         * simplify.c: Update copyright to 2007.
431         * scanner.c: Same.
432
433 2007-01-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
434
435         PR fortran/30430
436         * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
437         only once!
438
439 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
440
441         * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
442         (gfc_simplify_ibset): Same.
443
444 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
445
446         PR 30381
447         PR 30420
448         * simplify.c (convert_mpz_to_unsigned): New function.
449         (convert_mpz_to_signed): New function, largely based on
450         twos_complement().
451         (twos_complement): Removed.
452         (gfc_simplify_ibclr): Add conversions to and from an
453         unsigned representation before bit-twiddling.
454         (gfc_simplify_ibset): Same.
455         (gfc_simplify_ishftc): Add checks for overly large
456         constant arguments, only check the third argument if
457         it's present, carry over high bits into the result as
458         appropriate, and perform the final conversion back to
459         a signed representation using the correct sign bit.
460         (gfc_simplify_not): Removed unnecessary masking.
461
462 2007-01-09  Paul Thomas  <pault@gcc.gnu.org>
463
464         PR fortran/30408
465         * resolve.c (resolve_code): Use the code->expr character length
466         directly to set length of llen.
467
468 2007-01-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
469
470         PR fortran/30408
471         * lang.opt: Add Wcharacter_truncation option.
472         * options.c (gfc_init_options): Initialize
473         gfc_option.warn_character_truncation to zero.
474         (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
475
476 2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
477
478         * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
479         iresolve.c, match.c:  Update Copyright years.  Whitespace.
480
481 2007-01-08  Richard Guenther  <rguenther@suse.de>
482
483         * trans-io.c (transfer_array_desc): Use build_int_cst instead
484         of build_int_cstu.
485
486 2007-01-08  Roger Sayle  <roger@eyesopen.com>
487
488         * trans-array.c (constant_array_constructor_p): New function to
489         determine whether an array constructor consists only of constant
490         elements, and if so return it's size.
491         (gfc_build_constant_array_constructor): Construct a statically
492         initialized gfortran array for a given EXPR_ARRAY.
493         (gfc_trans_constant_array_constructor): Efficiently scalarize
494         a constant array constructor.
495         (gfc_trans_array_constructor):  Tidy up use of CONST_STRING.
496         Special case scalarization of constant array constructors, all of
497         whose elements are specified, using constant_array_constructor_p 
498         and gfc_trans_constant_array_constructor.
499         (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
500         before adding it to index, to avoid creating a NON_LVALUE_EXPR.
501
502 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
503
504         gfortran.texi: Fix typos.
505
506 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
507
508         * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
509         convert.c:  Update Copyright dates.  Fix whitespace.
510
511 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
512
513         * data.c (gfc_assign_data_value): Fix whitespace.
514
515 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
516
517         * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
518         Commentary typo fix.
519
520 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
521
522         PR fortran/27698
523         * match.c (gfc_match_name): Print diagnostics for invalid
524         character in names.
525
526 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
527
528         * array.c: Fix whitespace in comment table.
529
530 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
531
532         * array.c, bbt.c, check.c:  Update copyright years.  Whitespace.
533
534 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
535
536         * arith.c: Update copyright years.  Whitespace.
537
538 2007-01-05  Roger Sayle  <roger@eyesopen.com>
539
540         * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
541         array assignments split out from gfc_trans_assignment.
542         (gfc_trans_array_copy): New function to implement array to array
543         copies via calls to __builtin_memcpy.
544         (copyable_array_p): New helper function to identify an array of
545         simple/POD types, that may be copied/assigned using memcpy.
546         (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
547         whole array assignments considered suitable by copyable_array_p.
548         Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
549
550 2007-01-05  Roger Sayle  <roger@eyesopen.com>
551
552         * trans-array.c (gfc_trans_array_constructor_value): Make the
553         static const "data" array as TREE_READONLY.
554         * trans-stmt.c (gfc_trans_character_select): Likewise.
555
556 2007-01-05  Roger Sayle  <roger@eyesopen.com>
557
558         * trans-array.c (gfc_conv_loop_setup):  Test whether the loop
559         stride is one, to avoid fold_build2 introducing a useless
560         NON_LVALUE_EXPR node.
561
562 2007-01-05  Tobias Burnus  <burnus@net-b.de>
563
564         * symbol.c (check_conflict): Fix error message.
565
566 2007-01-05  Paul Thomas  <pault@gcc.gnu.org>
567
568         PR fortran/23232
569         * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
570         functions to signal that a DATA statement is being matched.
571         (gfc_match_data): Call gfc_set_in_match_data on entry and on
572         exit.
573         * gfortran.h : Add prototypes for above.
574         * expr.c (check_init_expr): Avoid check on parameter or
575         variable if gfc_in_match_data is true.
576         (gfc_match_init_expr): Do not call error on non-reduction of
577         expression if gfc_in_match_data is true.
578
579         PR fortran/27996
580         PR fortran/27998
581         * decl.c (gfc_set_constant_character_len): Add boolean arg to
582         flag array constructor resolution.  Warn if string is being
583         truncated.  Standard dependent error if string is padded. Set
584         new arg to false for all three calls to
585         gfc_set_constant_character_len.
586         * match.h : Add boolean arg to prototype for
587         gfc_set_constant_character_len.
588         * gfortran.h : Add warn_character_truncation to gfc_options.
589         * options.c (set_Wall): Set warn_character_truncation if -Wall
590         is set.
591         * resolve.c (resolve_code): Warn if rhs string in character
592         assignment has to be truncated.
593         * array.c (gfc_resolve_character_array_constructor): Set new
594         argument to true for call to gfc_set_constant_character_len.
595
596 2007-01-05  Tobias Burnus  <burnus@net-b.de>
597
598         PR fortran/29624
599         * interface.c (compare_parameter_intent): New function.
600           (check_intents): Support pointer intents.
601         * symbol.c (check_conflict): Support pointer intents,
602           better conflict_std message.
603         * expr.c (gfc_check_assign,gfc_check_pointer_assign):
604           Support pointer intents.
605         * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
606           Support pointer intents.
607
608 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
609
610         PR 30371
611         * check.c (gfc_check_kill_sub): Add checks for non-scalar
612         arguments.
613
614 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
615
616         * intrinsic.texi: Minor cleanup, reflowing overlong
617         paragraphs, and correcting whitespace.
618
619 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
620
621         * intrinsic.texi (LBOUND): Add documentation.
622         (LGE): Add documentation.
623         (LGT): Add documentation.
624         (LINK): Add documentation.
625         (LLE): Add documentation.
626         (LLT): Add documentation.
627         (LNBLNK): Add documentation.
628         (UBOUND): Add documentation.
629         (UNLINK): Add documentation.
630
631 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
632
633         * intrinsic.texi (IAND): Clarify argument specifications.
634         (IBCLR): Add documentation.
635         (IBITS): Add documentation.
636         (IBSET): Add documentation.
637         (IEOR): Add documentation.
638         (IERRNO): Add documentation.
639         (INDEX): Add documentation.
640         (IOR): Add documentation.
641         (ISHFT): Add documentation.
642         (ISHFTC): Add documentation.
643         (KILL): Add documentation.
644         (LEN_TRIM): Add documentation.
645
646 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
647
648         PR 30235
649         * interface.c (compare_actual_formal): check for
650         alternate returns when iterating over non-present
651         arguments.
652
653 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
654
655         * invoke.texi: Update manpage copyright to include 2007.
656
657 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
658
659         * gfortran.texi: Update copyright to include 2007.
660         * intrinsic.texi: Update copyright to include 2007.
661         * invoke.texi: Update copyright to include 2007.
662
663 2007-01-02  Tobias Burnus  <burnus@net-b.de>
664             Jakub Jelinek  <jakub@redhat.com>
665
666         PR fortran/30276
667         * scanner.c (open_included_file): Revert patch.
668           (gfc_open_included_file): Support absolute pathnames.
669           (gfc_open_intrinsic_module): Support absolute pathnames.
670
671 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
672
673         * gfortran.texi (GNU Fortran and GCC): Rewrite
674
675 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
676
677         * gfortran.texi (Introduction): Lower "Part I:
678         Introduction" to a chapter, renumber Parts II and III to
679         Parts I and II.
680         * intrinsic.texi (Introduction): Rename to "Introduction
681         to Intrinsics" to avoid conflict with the new chapter.
682
683 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
684
685         * intrinsic.texi (Introduction): Rewrite first paragraph.
686
687 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
688
689         * invoke.texi (OpenMP): Added index entry.
690         * gfortran.texi (title page): Removed erroneous '*'.
691
692 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
693
694         * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
695         to description.
696         (Extensions): Miscellaneous minor rewriting and copyediting.
697         (BOZ-literal constants): Renamed from Hexadecimal constants.
698         (Hollerith constants support): Added explanation and 
699         suggestions for standard-conforming modern equivalents.
700
701 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
702
703         * intrinsic.texi: Improvements to index entries; change
704         @findex entries to @cindex entries.
705         * invoke.texi: Standardize and improve index entries.
706         * gfortran.texi: Fix @code in one index entry.
707
708 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
709
710         * invoke.texi: Change @code-type macros to appropriate
711         variants (@command, @option, etc.)
712         * gfortran.texi: Same.
713
714 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
715
716         * intrinsic.texi: Various minor cleanups.
717
718 2007-01-02  Steven G. Kargl  <kargls@comcast.net>
719
720         * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
721         build_int_cst.
722
723 2007-01-02  Tobias Burnus  <burnus@net-b.de>
724
725         PR fortran/30276
726         * scanner.c (open_included_file): Support full-path filenames.
727
728 2007-01-02  Paul Thomas  <pault@gcc.gnu.org>
729
730         PR fortran/20896
731         * interface.c (check_sym_interfaces): Remove call to
732         resolve_global_procedure.
733         gfortran.h : Remove prototype for resolve_global_procedure.
734         resolve.c (resolve_global_procedure): Add static attribute
735         to function declaration.
736
737 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
738
739         * ChangeLog: Copy to ...
740         * ChangeLog-2006: here.