OSDN Git Service

2007-05-08 Paul Thomas <pault@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
2
3         PR fortran/29397
4         PR fortran/29400
5         * decl.c (add_init_expr_to_sym): Expand a scalar initializer
6         for a parameter array into an array expression with the right
7         shape.
8         * array.c (spec_dimen_size): Remove static attribute.
9         * gfortran.h : Prototype for spec_dimen_size.
10
11 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12
13         PR fortran/31399
14         * trans-stmt.c (gfc_trans_do): Handle large loop counts.
15
16 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
17
18         PR fortran/31764
19         * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
20         even for non constant arguments.
21
22 2007-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
23             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
24
25         PR fortran/31201
26         * gfortran.h: Add runtime error codes from libgfortran.h. Define
27         MAX_UNIT_NUMBER.
28         * trans.c (gfc_trans_runtime_check): Update the format of runtime error
29         messages to match library runtime errors.  Use call to new library
30         function runtime_error_at().
31         * trans.h: Add prototype for new function gfc_trans_io_runtime_check.
32         Add declaration for library functions runtime_error_at and
33         generate_error.
34         * trans_io.c (gfc_trans_io_runtime_check): New function.
35         (set_parameter_value): Add error checking for UNIT numbers.
36         (set_parameter_ref): Initialize the users variable to zero. 
37         (gfc_trans_open): Move setting of unit number to after setting of common
38         flags so that runtime error trapping can be detected.
39         (gfc_trans_close): Likewise. (build_filepos): Likewise.
40         (gfc_trans_inquire): Likewise. (build_dt): Likewise.
41         * trans-decl.c: Add declarations for runtime_error_at and
42         generate_error. (gfc_build_builtin_function_decls): Build function
43         declarations for runtime_error_at and generate_error.
44
45 2007-05-06  Paul Thomas  <pault@gcc.gnu.org>
46
47         PR fortran/31540
48         * resolve.c (resolve_fl_procedure): Resolve constant character
49         lengths.
50
51 2007-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
52
53         PR fortran/31251
54         * decl.c (match_char_spec): Add check for invalid character lengths.
55
56 2007-05-04  Brooks Moses  <brooks.moses@codesourcery.com>
57
58         * intrinsic.texi (CMPLX): Document result kind.
59         (COMPLEX): Add documentation.
60
61 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
62
63         PR fortran/31760
64         * intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
65         by gfc_check_fn_r to avoid checks for scalarity.
66         * check.c (gfc_check_besn): Removed check for scalarity.
67         (gfc_check_g77_math1): Removed.
68         * intrinsic.h (gfc_check_g77_math1): Removed.
69
70 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
71
72         * check.c (gfc_check_fseek_sub): Fixed typo.
73
74 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
75
76         PR fortran/22359
77         * intrinsic.c (add_subroutines): Added FSEEK.
78         * intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
79         * iresolve.c (gfc_resolve_fseek_sub): New.
80         * check.c (gfc_check_fseek_sub): New.
81         * intrinsic.texi (FSEEK): Updated.
82
83 2007-05-04  Tobias Burnus  <burnus@net-b.de>
84
85         PR fortran/31803
86         * expr.c (gfc_check_pointer_assign): Check for NULL pointer.
87
88 2007-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
89
90         PR fortran/31251
91         * simplify.c (gfc_simplify_len): Only simplify integer lengths.
92
93 2007-05-04  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
94
95         PR fortran/31781
96         * simplify.c (gfc_simplify_repeat): Don't put function call with
97         side effect in a gcc_assert().
98
99 2007-05-04  Tobias Burnus  <burnus@net-b.de>
100
101         PR fortran/25071
102         * interface.c (compare_actual_formal): Check character length.
103
104 2007-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
105
106         PR fortran/31732
107         * dependency.c (gfc_full_array_ref_p):  If the reference is
108         to a single element, check that the array has a single
109         element and that the correct element is referenced.
110
111 2007-05-01  Daniel Franke  <franke.daniel@gmail.com>
112
113         * intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
114         (add_subroutines): Replaced magic numbers in function calls by
115         ELEMENTAL and NOT_ELEMENTAL respectively.
116         * intrinsic.texi (MVBITS): Changed class to elemental subroutine.
117         (RANDOM_NUMBER): Changed class to subroutine.
118         (HUGE, TINY): Changed class to inquiry function.
119
120 2007-04-30  Brooks Moses  <brooks.moses@codesourcery.com>
121
122         * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
123         (gfc_conv_tree_to_mpz): New function.
124         (gfc_conv_mpfr_to_tree): Use real_from_mpfr.
125         (gfc_conv_tree_to_mpfr): New function.
126         * trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
127         (gfc_conv_tree_to_mpfr): New prototype.
128
129 2007-04-30  Daniel Franke  <franke.daniel@gmail.com>
130
131         * intrinsic.texi (IERRNO): Changed class to non-elemental function.
132         (LOG10): Removed COMPLEX as accepted argument type.
133         (NEW_LINE): Changed class from elemental to inquiry function.
134         (SIGN): Removed requirement of scalar arguments.
135         (SNGL): Changed class to elemental function.
136
137 2007-04-29  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
138
139         PR fortran/31591
140         * simplify.c (simplify_bound_dim): New function.
141         (simplify_bound): Use the above. Perform simplification of LBOUND
142         and UBOUND when DIM argument is not present.
143
144 2007-04-29  Daniel Franke  <franke.daniel@gmail.com>
145
146         * gfortran.texi: Cleaned up keyword index.
147         * invoke.texi: Likewise.
148         * intrinsic.texi: Likewise.
149                         
150 2007-04-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
151
152         PR fortran/31645
153         * scanner.c (load_file): Discard the byte order mark if one is
154         found on the first non-preprocessor line of a file.
155
156 2007-04-29  Paul Thomas  <pault@gcc.gnu.org>
157
158         PR fortran/31711
159         * trans-array.c (gfc_conv_resolve_dependencies): Create a temp
160         whenever a dependency is found.
161
162 2007-04-28  Tobias Schlüter  <tobi@gcc.gnu.org>
163
164         * options.c (gfc_handle_option): Ensure requested free form line
165         length is not too small.
166
167 2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
168
169         * intrinsic.texi (Transfer): Improve documentation.
170
171 2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
172
173         * gfortran.texi (Option Index): Add @samp as needed.
174
175 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
176
177         * gfortran.texi: Added node and menu entry for an option index.
178         * invoke.texi: Moved command line option related entries of the concept 
179         index to the option index.
180
181 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
182
183         * intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
184         XOR): Fixed examples.
185
186 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
187
188         * intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM, 
189         SYSTEM_CLOCK, TRANSFER, UNPACK): New.
190         (DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
191
192 2007-04-26  Daniel Franke  <franke.daniel@gmail.com>
193
194         * intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE, 
195         SIZE, TRANSPOSE, TRIM, VERIFY): New.
196         (ADJUSTL, ADJUSTR, INDEX): Added cross references.
197         (INT, INT2, INT8, LONG): Enabled section header.
198
199 2007-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
200
201         * module.c (module_char): Replace fgetc() with
202         getc(). 
203         (write_char): Replace fputc() with putc().
204         * scanner.c (load_line): Replace fgetc() with getc().
205         (gfc_read_orig_filename): Likewise.
206
207 2007-04-25  Tobias Burnus  <burnus@net-b.de>
208
209         PR fortran/31668
210         * error.c (error_print): Fix %% support.
211         * intrinsic.c (sort_actual): Improve error message.
212         * resolve.c (resolve_actual_arglist): Allow %VAL for
213         interfaces defined in the module declaration part.
214
215 2007-04-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
216
217         PR libfortran/31299
218         * intrinsic.texi (GETLOG): Update documentation to reflect
219         library changes.
220
221 2007-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
222
223         PR fortran/31587
224         * module.c (write_char): Add character to the MD5 buffer.
225         (read_md5_from_module_file): New function.
226         (gfc_dump_module): Compute MD5 for new module file. Call
227         read_md5_from_module_file. Only overwrite old module file
228         if the new MD5 is different.
229
230 2007-04-23  Paul Thomas  <pault@gcc.gnu.org>
231
232         PR fortran/31630
233         * resolve.c (resolve_symbol): Allow resolution of formal
234         namespaces nested within formal namespaces coming from modules.
235
236         PR fortran/31620
237         * trans-expr.c (gfc_trans_assignment): Make the call to
238         gfc_trans_zero_assign conditional on the lhs array ref being
239         the only reference.
240
241 2007-04-23  Tobias Burnus  <burnus@net-b.de>
242
243         * primary.c (match_integer_constant): Mention -fno-range-check
244         in the error message.
245
246 2007-04-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
247
248         PR fortran/31495
249         * scanner.c (load_line):  Remove check for comment after ampersand and
250         adjust tracking of ampersand.
251
252 2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
253
254         * f95-lang.c (lang_tree_node): Use GENERIC_NEXT
255         instead of checking GIMPLE_STMT_P in chain_next.
256
257 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
258
259         * trans-types.h (gfc_packed): New enum.
260         (gfc_get_nodesc_array_type): Change prototype to use new enum.
261         * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
262         argument packed.  Adapt all references to values accordingly.
263         (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
264         (gfc_get_derived_type): Likewise.
265         * trans-array.c (gfc_build_constant_array_constructor): Likewise.
266         * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
267         argument to type gfc_packed.
268         (gfc_add_interface_mapping): Use enum values in call to
269         gfc_get_interface_mapping.
270         * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
271         values when determining packing.
272
273         * trans-decl.c (gfc_finish_decl): Remove unused second argument
274         'init'.  Simplify code accordingly.  Remove calls to
275         gfc_fatal_error in favor of gcc_assert.
276         (create_function_arglist): Remove second argument from calls to
277         gfc_finish-decl.
278         (gfc_trans_dummy_character): Likewise.
279
280         * arith.h: Update copyright years.
281         * dependency.h: Likewise.
282         * gfortran.h: Likewise.
283         * lang-specs.h: Likewise.
284         * parse.h: Likewise.
285         * symbol.c: Likewise.
286         * trans.h: Likewise.
287         * trans.c: Likewise.
288         * trans-array.c: Likewise.
289         * trans-common.c: Likewise.
290         * trans-const.h: Likewise.
291         * trans-const.c: Likewise.
292         * trans-decl.c: Likewise.
293         * trans-expr.c: Likewise.
294         * trans-io.c: Likewise.
295         * trans-openmp.c: Likewise.
296         * trans-types.h: Likewise.
297         * types.def: Likewise.
298
299 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
300
301         PR fortran/31144
302         * decl.c (gfc_sym_mangled_identifier): Use capital letters in name
303         mangling.
304         (gfc_sym_mangled_function_id): Likewise.
305
306 2007-04-15  Paul Thomas  <pault@gcc.gnu.org>
307
308         PR fortran/31204
309         * primary.c (check_for_implicit_index): New function to check
310         that a host associated variable is not an undeclared implied
311         do loop index.
312         (gfc_match_rvalue, match_variable): Use it and reset the
313         implied_index attribute.
314         * gfortran.h : Add the implied_index field to symbol_attribute.
315         * match.c (gfc_match_iterator): Mark the iterator variable
316         with the new attribute.
317         * decl.c (build_sym): Reset the new attribute.
318
319 2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
320
321         * gfc-internals.texi: Fix typos.
322         * simplify.c: Fix a comment typo.
323
324 2007-04-14  Bernhard Fischer  <aldot@gcc.gnu.org>
325
326         * primary.c: Commentary typo fix; Add question about redundant (?)
327         set.
328
329 2007-04-14  Paul Thomas  <pault@gcc.gnu.org>
330
331         PR fortran/29507
332         PR fortran/31404
333         * expr.c (scalarize_intrinsic_call): New function to
334         scalarize elemental intrinsic functions in initialization
335         expressions.
336         (check_init_expr): Detect elemental intrinsic functions
337         in initalization expressions and call previous.
338
339 2007-04-13  Tobias Burnus  <burnus@net-b.de>
340
341         PR fortran/31559
342         * primary.c (match_variable): External functions
343         are no variables.
344
345 2007-04-13  Paul Thomas  <pault@gcc.gnu.org>
346
347         PR fortran/31550
348         * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
349         derived type components.
350
351 2007-04-13  Tobias Schlüter  <tobi@gcc.gnu.org>
352
353         PR fortran/18937
354         * resolve.c: Include obstack.h and bitmap.h.  New variable
355         labels_obstack.
356         (code_stack): Add tail and reachable_labels fields.
357         (reachable_labels): New function.
358         (resolve_branch): Rework to use new fields in code_stack.
359         (resolve_code): Call reachable_labels.
360         (resolve_codes): Allocate and free labels_obstack.
361
362 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
363
364         PR fortran/31250
365         * decl.c (match_char_spec): Move check for negative CHARACTER
366         length ...
367         * resolve.c (resolve_charlen): ... here.
368         (resolve_types): Resolve CHARACTER lengths earlier.
369
370 2007-04-12  Daniel Franke  <franke.daniel@gmail.com>
371
372         PR fortran/31234
373         * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
374
375 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
376
377         PR fortran/31266
378         * primary.c (gfc_variable_attr): Don't copy string length if it
379         doesn't make sense.
380         * resolve.c (resolve_code): Clarify error message.
381
382         PR fortran/31471
383         * decl.c (gfc_match_end): Also check for construct name in END
384         FORALL and END WERE statements.
385         * match.c (match_case_eos): Use uppercase for statement name in
386         error message.
387         (match_elsewhere): Construct name may appear iff construct has a
388         name.
389
390         * trans-types.c: Update copyright years.  Reformat long comment
391         explaining array descriptor format.  Remove obsolete mention of
392         TYPE_SET.
393
394         * arith.c (gfc_arith_uplus): Rename to ...
395         (gfc_arith_identity): ... this.
396         (gfc_parentheses): New function.
397         (gfc_uplus): Adapt to renamed function.
398         * arith.h (gfc_parentheses): Add prototype.
399         * expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
400         (simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
401         INTRINSIC_PARENTHESES.
402
403 2007-04-12  Tobias Burnus  <burnus@net-b.de>
404
405         PR fortran/31472
406         * decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
407         attribute in type definitions.
408         (gfc_match_private): Allow PRIVATE statement only
409         in specification part of modules.
410         (gfc_match_public): Ditto for PUBLIC.
411         (gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
412         specificification part of modules.
413
414 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
415
416         PR fortran/31257
417         * intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
418         * intrinsic.h : Add prototype for gfc_resolve_achar.
419         * iresolve.c (gfc_resolve_achar): New function.
420
421 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
422
423         PR fortran/30880
424         * resolve.c (resolve_fl_variable): Set flag to 2 for automatic
425         arrays.  Make condition for automatic array error explicit.
426         If a dummy, no error on an INTENT(OUT) derived type.
427
428 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
429
430         PR fortran/30872
431         * expr.c (find_array_element): Correct arithmetic for rank > 1.
432
433 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
434
435         PR fortran/31222
436         * check.c (numeric_check): If an expresson has not got a type,
437         see if it is a symbol for which a default type applies.
438
439 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
440
441         PR fortran/31214
442         * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
443         associated symbols.
444
445 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
446
447         PR fortran/31293
448         * symbol.c (gfc_check_function_type): New function.
449         * gfortran.h : Add prototype for previous.
450         * parse.c (parse_progunit): Call it after parsing specification
451         statements.
452
453 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
454
455         PR fortran/31483
456         * trans-expr.c (gfc_conv_function_call): Give a dummy
457         procedure the correct type if it has alternate returns.
458
459 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
460
461         PR fortran/31292
462         * decl.c (gfc_match_modproc): Go up to the top of the namespace
463         tree to find the module namespace for gfc_get_symbol.
464
465 2007-04-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
466
467         PR fortran/31304
468         * fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
469         * fortran/trans-types.c (gfc_charlen_int_kind): New variable.
470         (gfc_init_types): Define gfc_charlen_int_kind. 
471         * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
472         * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
473         (gfc_build_intrinsic_function_decls): Don't set
474         gfor_fndecl_string_repeat.
475         * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
476         so that we don't have to call a library function.
477         * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
478         checks on the NCOPIES argument, and work with arbitrary size
479         arguments.
480
481 2007-03-31  Tobias Burnus  <burnus@net-b.de>
482
483         * intrinsic.c (add_functions): Fix name of dummy argument
484           for new_line and exit intrinsic.
485
486 2007-03-31  Paul Thomas  <pault@gcc.gnu.org>
487
488         PR fortran/31160
489         * gfortran.texi: Add a section for the %VAL, %REF and %LOC
490         extensions.
491
492 2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
493
494         * trans-types.c (gfc_signed_or_unsigned_type): Remove.
495         (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
496         gfc_signed_or_unsigned_type.
497         (gfc_signed_type): Ditto.
498         * trans-types.h (gfc_signed_or_unsigned_type): Remove.
499         * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
500
501 2007-03-30  Tobias Schlüter  <tobi@gcc.gnu.org>
502
503         * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
504         descend into all branches.
505
506 2007-03-29  Tobias Schlüter  <tobi@gcc.gnu.org>
507
508         * intrinsic.c (conv_name): Let gfc_get_string handle the format.
509         (find_conv): Compare pointers instead of calling strcmp.
510         (find_sym): Likewise, but ensure that the compared pointer is in
511         the global string table.
512
513 2007-03-28  Tobias Schlüter  <tobi@gcc.gnu.org>
514
515         * gfc-internals.texi: Fix output filename.  Merge type index into
516         concept index.  Start documentation of gfc_code structure.
517
518 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
519
520         * gfc-internals.texi: New file,
521         * Make-lang.in: Add rules to convert it to dvi, pdf, and info.
522
523 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
524  
525         * error.c (show_locus): Remove always-false test.
526
527 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
528
529         * lang.opt: Minor edits to descriptions.
530
531 2007-03-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
532
533         PR fortran/30877
534         * fortran/interface.c (check_operator_interface): Implement
535         the standard checks on user operators extending intrinsic operators.
536         * fortran/resolve.c (resolve_operator): If the ranks of operators
537         don't match, don't error out but try the user-defined ones first.
538
539 2007-03-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
540
541         PR fortran/30655
542         * expr.c (check_dimension): Fix logic of comparisons.
543
544 2007-03-24  Paul Thomas  <pault@gcc.gnu.org>
545
546         PR fortran/31215
547         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
548         int result that is non-zero if the expression is the function
549         result.  Only the characteristics of the result expression
550         can be used in a procedure interface, so simplify LEN in situ
551         using its character length.
552
553         PR fortran/31209
554         PR fortran/31200
555         * trans-expr.c (gfc_conv_function_call): Do not use
556         gfc_conv_expr_reference for actual pointer function with formal
557         target because a temporary is created that does not transfer
558         the reference correctly.  Do not indirect formal pointer
559         functions since it is the function reference that is needed.
560
561 2007-03-24  Brooks Moses  <brooks.moses@codesourcery.com>
562
563         * gfortran.h: Edit comments on GFC_STD_*.
564
565 2007-03-23  Brooks Moses  <brooks.moses@codesourcery.com>
566
567         * invoke.texi: Misc. small typo fixes.
568         (-Wcharacter-truncation): Add.
569         (-Wnonstd-intrinsics): Correct spelling.
570         (-std=): Edit.
571         (-fintrinsic-modules-path): Add.
572
573 2007-03-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
574
575         PR fortran/30834
576         * arith.c (complex_pow): Rewrite to handle large power.
577         (gfc_arith_power): Handle large power in the real and integer
578         cases.
579
580 2007-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
581
582         PR fortran/31262
583         * trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
584         larger than twice the width of a HOST_WIDE_INT.
585
586 2006-03-22  Paul Thomas  <pault@gcc.gnu.org>
587
588         PR fortran/31193
589         * trans-intrinsic.c (gfc_size_in_bytes): Remove function.
590         (gfc_conv_intrinsic_array_transfer): Remove calls to previous.
591         Explicitly extract TREE_TYPEs for source and mold.  Use these
592         to calculate length of source and mold, except for characters,
593         where the se string_length is used.  For mold, the TREE_TYPE is
594         recalculated using gfc_get_character_type_len so that the
595         result is correctly cast for character literals and substrings.
596         Do not use gfc_typenode_for_spec for the final cast.
597
598 2007-03-22  Tobias Schlüter  <tobi@gcc.gnu.org>
599
600         PR fortran/20897
601         * decl.c (gfc_match_derived_decl): Reliably reject
602         'doubleprecision' and 'doublecomplex' as type names.
603
604 2007-03-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
605
606         PR fortran/31203
607         * trans-expr.c (gfc_trans_init_string_length): Length should
608         never be negative.
609         (gfc_conv_function_call): Likewise.
610
611 2007-03-18  Paul Thomas  <pault@gcc.gnu.org>
612
613         PR fortran/30531
614         PR fortran/31086
615         * symbo.c : Add gfc_derived_types.
616         (gfc_free_dt_list): Free derived type list gfc_derived_types.
617         (gfc_free_namespace): Remove call to gfc_free_dt_list.
618         (gfc_symbol_done_2): Call  gfc_free_dt_list.
619         * gfortran.h : Declare gfc_derived_types to be external. Remove
620         derived types field from gfc_namespace.
621         * resolve.c (resolve_fl_derived): Refer to gfc_derived types
622         rather than namespace derived_types.
623         (resolve_fntype): Remove special treatment for module
624         derived type functions.
625         * trans-types.c (gfc_get_derived_type): Remove search for like
626         derived types.  Finish by copying back end declaration to like
627         derived types in the derived type list gfc_derived_types.
628
629         2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
630
631         PR fortran/31120
632         * trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
633         (gfc_conv_cst_int_power): Handle integer exponent with care,
634         since it might be too large for us.
635
636 2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
637
638         PR fortran/31184
639         * invoke.texi: Fix typo.
640
641 2007-03-16  Tobias Burnus  <burnus@net-b.de>
642
643         * trans-decl.c (gfc_generate_function_code): Use all arguments of
644           set_std.
645
646 2007-03-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
647
648         * gfortran.h (gfc_option_t): Add flag_backtrace field.
649         * lang.opt: Add -fbacktrace option.
650         * invoke.texi: Document the new option.
651         * trans-decl.c (gfc_build_builtin_function_decls): Add new
652         option to the call to set_std.
653         * options.c (gfc_init_options, gfc_handle_option): Handle the
654         new option.
655
656 2007-03-15  Tobias Burnus  <burnus@gcc.gnu.org>
657             Paul Thomas  <pault@gcc.gnu.org>
658
659         PR fortran/30922
660         * decl.c (gfc_match_import): If the parent of the current name-
661         space is null, try looking for an imported symbol in the parent
662         of the proc_name interface.
663         * resolve.c (resolve_fl_variable): Do not check for blocking of
664         host association by a same symbol, if the symbol is in an
665         interface body.
666
667 2007-03-15  Paul Thomas  <pault@gcc.gnu.org>
668
669         PR fortran/30879
670         * decl.c (match_data_constant): Before going on to try to match
671         a name, try to match a structure component.
672
673
674         PR fortran/30870
675         * resolve.c (resolve_actual_arglist): Do not reject a generic
676         actual argument if it has a same name specific interface.
677
678         PR fortran/31163
679         * trans-array.c (parse_interface): Do not nullify allocatable
680         components if the symbol has the saved attribute.
681
682 2007-03-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
683
684         * trans-array.c (gfc_trans_auto_array_allocation): Replace
685         fold(convert()) by fold_convert().
686         (gfc_duplicate_allocatable): Likewise.
687         * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
688         build_int_cst instead of converting an integer_zero_node
689         to the final type.
690
691 2007-03-14  Jakub Jelinek  <jakub@redhat.com>
692
693         * module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
694
695 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
696
697         PR fortran/30933
698         PR fortran/30948
699         PR fortran/30953
700         * intrinsics.texi (CHDIR): Fix argument names, note
701         that STATUS must be a default integer.
702         (CTIME): Fix argument names, note that RESULT must
703         be a default integer.
704         (EXIT): Note that STATUS must be a default integer.
705
706 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
707
708         PR fortran/28068
709         * intrinsic.texi: General whitespace cleanup, remove
710         comment about missing intrinsics.
711         (menu): Add lines for new entries listed below.
712         (ACOSH): Mention specific function DACOSH, correct
713         description phrasing.
714         (ASINH): Mention specific function DASINH, correct
715         description phrasing.
716         (ATANH): Mention specific function DATANH, correct
717         description phrasing.
718         (COS): Add index entry for CCOS.
719         (CPU_TIME): Correct "REAL" to "REAL(*)".
720         (EXP): Add index entry for CEXP.
721         (INT): Correct argument name to "A".
722         (INT2): New entry.
723         (INT8): New entry.
724         (LONG): New entry.
725         (MAX): Add index entries for specific variants.
726         (MCLOCK): New entry.
727         (MCLOCK8): New entry.
728         (SECNDS): Adjust to a more standard form.
729         (SECOND): New entry.
730         (TIME): Add cross-reference to MCLOCK.
731         (TIME8): Add cross-reference to MCLOCK8.
732
733 2007-03-11  Paul Thomas  <pault@gcc.gnu.org>
734
735         PR fortran/30883
736         * parse.c (parse_interface): Use the default types from the
737         formal namespace if a function or its result do not have a type
738         after parsing the specification statements.
739
740 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
741
742         * intrinsic.texi: (ICHAR) Improve internal I/O note.
743         (ACHAR): Reference it.
744         (CHAR): Reference it.
745         (IACHAR): Reference it.
746
747 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
748
749         * intrinsic.texi: (LINK) Document function form.
750         (RENAME): Likewise.
751         (SYMLNK): Likewise.
752         (SYSTEM): Likewise.
753         (UNLINK): Likewise.
754
755 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
756
757         * intrinsic.texi: minor typo fixes, removed prologue.
758         (FSEEK): moved to correct place in alphabetical order.
759
760 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
761
762         PR fortran/30947
763         * check.c (gfc_check_alarm_sub): Added check for default integer 
764         kind of status argument.
765         * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of 
766         status argument.
767         * intrinsic.texi (ALARM): Extended documentation.
768
769 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
770
771         * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
772         (ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
773         * intrinsic.c (add_subroutines): Adjusted dummy argument names 
774         of GERROR and TTYNAM.
775
776 2007-07-08  Tobias Burnus  <burnus@net-b.de>
777
778         * module.c (gfc_match_use): Support renaming of operators
779         in USE statements.
780         * gfortran.texi (Fortran 2003 Status): Document support of
781         renaming of operators.
782
783 2007-07-08  Tobias Burnus  <burnus@net-b.de>
784
785         PR fortran/30973
786         * module.c (read_module): Always import module name as symbol.
787         (gfc_match_use): Disallow module name in the only clause of
788         a use statement.
789
790 2007-03-08  Paul Thomas  <pault@gcc.gnu.org>
791
792         PR fortran/31011
793         * expr.c (find_array_section): Correct arithmetic for section
794         size.
795
796 2007-03-07  Brooks Moses  <brooks.moses@codesourcery.com>
797
798         * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
799
800 2007-03-06  Daniel Franke  <franke.daniel@gmail.com>
801
802         PR documentation/30950
803         * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
804         (FREE): Fix call syntax.
805
806 2007-03-06  Brooks Moses  <brooks.moses@codesourcery.com>
807
808         * intrinsic.texi: Limit column widths to a total of .85.
809
810 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
811
812         * gfortran.texi (GFortran and G77): Rewrite completely.
813
814 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
815
816         * match.c (gfc_match_name): Expanded comment.
817
818 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
819
820         * gfortran.texi (Old-style kind specifications): Document
821         special handling of old-style kind specifiers for COMPLEX.
822         * decl.c (gfc_match_old_kind_spec): Document kind/bytesize
823         assumptions for COMPLEX in comment.
824
825 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
826
827         PR 31050
828         * gfortranspec.c (lang_specific_driver): Update program
829         name and copyright date.
830
831 2007-03-03  Paul Thomas  <pault@gcc.gnu.org>
832
833         PR fortran/30882
834         * check.c (dim_rank_check): The shape of subsections of
835         assumed-size arrays is known.
836
837 2007-03-02  Paul Thomas  <pault@gcc.gnu.org>
838             Tobias Burnus  <burnus@net-b.de>
839
840         PR fortran/30873
841         * decl.c (gfc_match_entry): Remove erroneous entry result check.
842
843 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
844
845         * Make-lang.in: Add install-pdf target as copied from
846         automake v1.10 rules.
847
848 2007-03-01  Tobias Burnus  <burnus@net-b.de>
849
850         PR fortran/30865
851         * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
852
853 2007-02-28  Tobias Burnus  <burnus@net-b.de>
854             Paul Thomas  <pault@gcc.gnu.org>
855
856         PR fortran/30888
857         PR fortran/30887
858         * resolve.c (resolve_actual_arglist): Allow by-value
859         arguments and non-default-kind for %VAL().
860         * trans-expr.c (conv_arglist_function): Allow
861         non-default-kind for %VAL().
862
863 2007-02-28  Tobias Burnus  <burnus@net-b.de>
864
865         PR fortran/30968
866         * primary.c (next_string_char): Correct reading a character
867         after the delimiter.
868         (match_string_constant): Print warning message only once.
869
870 2007-02-27  Richard Guenther  <rguenther@suse.de>
871
872         * trans-array.c (structure_alloc_comps): Use correct type
873         for null pointer constant.
874
875 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
876
877         * gfortran.texi: Standardize title page, remove version number
878         from copyright page.
879
880 2007-02-26  Thomas Koenig  <Thomas.Koenig@online.de>
881             Paul Thomas  <pault@gcc.gnu.org>
882
883         PR fortran/30865
884         * trans-intrinsic.c (gfc_conv_intrinsic_size):
885         If dim is an optional argument, check for its
886         presence and call size0 or size1, respectively.
887
888 2007-02-23  Paul Thomas <pault@gcc.gnu.org>
889
890         PR fortran/30660
891         * resolve.c (has_default_initializer): New function.
892         (resolve_fl_variable): Call has_default_initializer to determine if
893         the derived type has a default initializer to its ultimate
894         components.
895
896
897 2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
898
899         * options.c (set_default_std_flags): New function to consolidate
900         setting the flags.
901         (gfc_init_options): Use new function.
902         (gfc_handle_option): Use new function.
903
904 2007-02-22  Brooks Moses  <brooks.moses@codesourcery.com>
905
906         * gfortran.texi (Old-style kind specifications): Document
907         special handling of old-style kind specifiers for COMPLEX.
908         * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
909         assumptions in comment.
910
911 2007-02-21  Bernhard Fischer  <aldot@gcc.gnu.org>
912
913         * parse.c (next_free): Gooble spaces after OpenMP sentinel.
914
915 2007-02-20  Thomas Koenig  <Thomas.Koenig@online.de>
916
917         PR fortran/30869
918         * match.c (gfc_match_iterator): Remove conflict between
919         loop variable and pointer.
920
921 2007-02-20  Tobias Burnus  <burnus@net-b.de>
922
923         PR fortran/30522
924         * symbol.c (gfc_add_volatile): Allow to set VOLATILE
925           attribute for host-associated variables.
926         * gfortran.h (symbol_attribute): Save namespace
927           where VOLATILE has been set.
928         * trans-decl.c (gfc_finish_var_decl): Move variable
929           declaration to the top.
930
931 2007-02-20  Tobias Burnus  <burnus@net-b.de>
932
933         PR fortran/30783
934         * resolve.c (resolve_symbol): Add character dummy VALUE check.
935
936 2007-02-19  Thomas Koenig  <Thomas.Koenig@online.de>
937
938         PR libfortran/30533
939         * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
940         argument to default integer.
941         (gfc_resolve_minloc): Likewise.
942
943 2007-02-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
944
945         PR fortran/30681
946         * options.c (gfc_init_options): Relax warning level for obsolescent.
947         * match.c (match_arithmetic_if): Change to obsolescent from deleted.
948         (gfc_match_if): Same.
949
950 2007-02-18  Roger Sayle  <roger@eyesopen.com>
951
952         * trans-array.c (gfc_build_constant_array_constructor): When the
953         shape of the constructor is known, use that to construct the
954         gfc_array_spec.
955         (gfc_trans_constant_array_constructor): Initialize the "info"
956         information for all of the dimensions of the array constructor.
957         (constant_array_constructor_loop_size): New function.
958         (gfc_trans_array_constructor): Use it to determine whether a
959         loop is suitable for "constant array constructor" optimization.
960
961         * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
962         instead of build2, to avoid conditions like "(a != b) != 0".
963
964 2007-02-18  Roger Sayle  <roger@eyesopen.com>
965             Paul Thomas <pault@gcc.gnu.org>
966
967         PR fortran/30400
968         * match.c (match_forall_iterator): Use gfc_match_expr instead
969         of gfc_match_variable to match the iterator variable.  Return
970         MATCH_NO if not a variable.  Remove the reset of the symbol's
971         flavor in cleanup.
972
973 2007-02-16  Tobias Burnus  <burnus@net-b.de>
974
975         PR fortran/30793
976         * trans-decl.c (gfc_generate_function_code): Do not initialize
977         pointers to derived components.
978
979 2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
980             Brooks Moses  <brooks.moses@codesourcery.com>
981             Lee Millward  <lee.millward@codesourcery.com>
982
983         * trans-expr.c (gfc_conv_power_op): Use build_call_expr.
984         (gfc_conv_string_tmp): Likewise.
985         (gfc_conv_concat_op): Likewise.
986         (gfc_build_compare_string): Likewise.
987         (gfc_conv_function_call): Use build_call_list instead of build3.
988
989         * trans-array.c (gfc_trans_allocate_array_storage): Use
990         build_call_expr.
991         (gfc_grow_array): Likewise.
992         (gfc_trans_array_ctor_element): Likewise.
993         (gfc_trans_array_constructor_value): Likewise.
994         (gfc_array_allocate): Likewise.
995         (gfc_array_deallocate): Likewise.
996         (gfc_trans_auto_array_allocation): Likewise.
997         (gfc_trans_dummy_array_bias): Likewise.
998         (gfc_conv_array_parameter): Likewise.
999         (gfc_trans_dealloc_allocated): Likewise.
1000         (gfc_duplicate_allocatable): Likewise.
1001
1002         * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
1003         (gfc_trans_omp_flush): Likewise.
1004
1005         * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
1006         (gfc_trans_pause): Likewise.
1007         (gfc_trans_stop): Likewise.
1008         (gfc_trans_character_select): Likewise.
1009         (gfc_do_allocate): Likewise.
1010         (gfc_trans_assign_need_temp): Likewise.
1011         (gfc_trans_pointer_assign_need_temp): Likewise.
1012         (gfc_trans_forall_1): Likewise.
1013         (gfc_trans_where_2): Likewise.
1014         (gfc_trans_allocate): Likewise.
1015         (gfc_trans_deallocate): Likewise.
1016
1017         * trans.c (gfc_trans_runtime_check): Use build_call_expr.
1018
1019         * trans-io.c (gfc_trans_open): Use build_call_expr.
1020         (gfc_trans_close): Likewise.
1021         (build_filepos): Likewise.
1022         (gfc_trans_inquire): Likewise.
1023         (NML_FIRST_ARG): Delete.
1024         (NML_ADD_ARG): Delete.
1025         (transfer_namelist_element): Use build_call_expr.
1026         (build_dt): Likewise.
1027         (gfc_trans_dt_end): Likewise.
1028         (transfer_expr): Likewise.
1029         (transfer_array-desc): Likewise.
1030
1031         * trans-decl.c (gfc_generate_function_code): Use build_call_expr.
1032         (gfc_generate_constructors): Likewise.
1033
1034         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
1035         (gfc_conv_intrinsic_fdate): Likewise.
1036         (gfc_conv_intrinsic_ttynam): Likewise.
1037         (gfc_conv_intrinsic_array_transfer): Likewise.
1038         (gfc_conv_associated): Likewise.
1039         (gfc_conv_intrinsic_si_kind): Likewise.
1040         (gfc_conv_intrinsic_trim): Likewise.
1041         (gfc_conv_intrinsic_repeat: Likewise.
1042         (gfc_conv_intrinsic_iargc): Likewise.
1043
1044 2007-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1045
1046         PR fortran/30779
1047         * scanner.c (gfc_next_char_literal): Add check for end of file after
1048         call to advance_line.
1049
1050 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
1051
1052         PR fortran/30799
1053         * primary.c (match_logical_constant): Return MATCH_ERROR on invalid
1054         kind.
1055
1056 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
1057
1058         * misc.c (gfc_typename): Fix potential buffer overflow.
1059
1060 2007-02-13  Paul Thomas  <pault@gcc.gnu.org>
1061
1062         PR fortran/30554
1063         * module.c (read_module): Set pointer_info to referenced if the
1064         symbol has no namespace.
1065
1066 2007-02-12  Nick Clifton  <nickc@redhat.com>
1067
1068         * lang.opt: Add Warning attribute to warning options.
1069
1070 2007-02-11  Daniel Franke  <franke.daniel@gmail.com>
1071
1072         * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
1073         (SLEEP): Added section and documentation.
1074
1075 2007-02-11  Tobias Schlüter  <tobi@gcc.gnu.org>
1076
1077         PR fortran/30478
1078         * decl.c (add_init_expr_to_sym): Remove ENUM specific code.
1079         (variable_decl): Likewise.  Rewrap comment.
1080         (match_attr_spec): Remove ENUM specific code.
1081         (gfc_match_enum): Fix typo in error message.
1082         (enumerator_decl): New function.
1083         (gfc_match_enumerator_def): Use enumerator_decl instead of
1084         variable_decl.  Adapt code accordingly.
1085
1086 2007-02-11  Paul Thomas  <pault@gcc.gnu.org>
1087
1088         PR fortran/30554
1089         * module.c (find_symtree_for_symbol): New function to return
1090         a symtree that is not a "unique symtree" given a symbol.
1091         (read_module): Do not automatically set pointer_info to
1092         referenced because this inhibits the generation of a unique
1093         symtree.  Recycle the existing symtree if possible by calling
1094         find_symtree_for_symbol.
1095
1096         PR fortran/30319
1097         * decl.c (add_init_expr_to_sym): Make new charlen for an array
1098         constructor initializer.
1099
1100 2007-02-10  Richard Henderson  <rth@redhat.com>, Jakub Jelinek  <jakub@redhat.com>
1101
1102         * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
1103         and __emutls_register_common.
1104         * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
1105         * trans-common.c (build_common_decl): Don't check have_tls.
1106         * trans-decl.c (gfc_finish_var_decl): Likewise.
1107         * types.def (BT_WORD, BT_FN_PTR_PTR): New.
1108         (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
1109
1110 2007-02-09  Tobias Burnus  <burnus@net-b.de>
1111
1112         PR fortran/30512
1113         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
1114           gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
1115
1116 2007-02-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1117
1118         PR fortran/30720
1119         * trans-array.c (gfc_trans_create_temp_array): Remove use of the
1120         function argument. Always generate code for negative extent.
1121         Simplify said code.
1122         * trans-array.h (gfc_trans_create_temp_array): Change prototype.
1123         * trans-expr.c (gfc_conv_function_call): Remove use of last argument
1124         of gfc_trans_create_temp_array.
1125         * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
1126         * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
1127
1128 2007-02-08  Roger Sayle  <roger@eyesopen.com>
1129
1130         * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
1131         mask expression is a compile-time constant (".true." or ".false.").
1132
1133 2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1134
1135         PR fortran/30611
1136         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
1137         arguments only once. Generate check that NCOPIES argument is not
1138         negative.
1139
1140 2007-02-04  Steven G. Kargl <kargl@gcc.gnu.org>
1141
1142         PR fortran/30605
1143         * fortran/invoke.texi: Update documentation.
1144         * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
1145         and -pedantic.
1146
1147 2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
1148
1149         * trans-array.c: Fix a comment typo.
1150
1151 2007-02-03  Paul Thomas  <pault@gcc.gnu.org>
1152
1153         PR fortran/30514
1154         * array.c (match_array_element_spec): If the length of an array is
1155         negative, adjust the upper limit to make it zero length.
1156
1157         PR fortran/30660
1158         * resolve.c (pure_function, resolve_function): Initialize name to
1159         null to clear up build warnings.
1160         (resolve_fl_variable): Look at components explicitly to check for
1161         default initializer, rather than using gfc_default_initializer.
1162
1163 2007-02-02  Steven G. Kargl <kargl@gcc.gnu.org>
1164
1165         PR fortran/30683
1166         * resolve.c (resolve_generic_f): Check for non-NULL sym.
1167
1168 2007-02-02  Roger Sayle  <roger@eyesopen.com>
1169
1170         * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
1171         NON_LVALUE_EXPR nodes and useless type conversions.
1172
1173 2007-02-02  Paul Thomas  <pault@gcc.gnu.org>
1174
1175         PR fortran/30284
1176         PR fortran/30626
1177         * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
1178         from function and make sure that substring lengths are
1179         translated.
1180         (is_aliased_array): Remove static attribute.
1181         * trans.c : Add prototypes for gfc_conv_aliased_arg and
1182         is_aliased_array.
1183         * trans-io.c (set_internal_unit): Add the post block to the
1184         arguments of the function.  Use is_aliased_array to check if
1185         temporary is needed; if so call gfc_conv_aliased_arg.
1186         (build_dt): Pass the post block to set_internal_unit and
1187         add to the block after all io activiy is done.
1188
1189 2007-02-01  Roger Sayle  <roger@eyesopen.com>
1190
1191         * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
1192         a temporary array to pass a constant non-character array constructor.
1193         Generalize the descriptor generation code to handle scalarizer
1194         "info" without an array reference.
1195
1196 2007-02-01  Roger Sayle  <roger@eyesopen.com>
1197
1198         * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
1199         dependency checking for array constructors.
1200
1201 2007-02-01  Roger Sayle  <roger@eyesopen.com>
1202
1203         * trans-stmt.c (compute_overall_iter_number): Document function
1204         arguments.  Generalize "unconditional forall nest with constant
1205         bounds" optimization to eliminate unconditional inner loops with
1206         constant bounds.
1207
1208 2007-01-31  Tobias Burnus  <burnus@net-b.de>
1209
1210         PR fortran/30520
1211         * interface.c (compare_actual_formal): Check conformance between
1212           actual and VOLATILE dummy arguments.
1213         * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
1214           multiple times in different scopes.
1215         * decl.c (gfc_match_volatile): Search symbol in host association.
1216
1217 2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
1218
1219         * simplify.c, trans-array.c: Fix comment typos.
1220
1221 2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1222
1223         * invoke.texi (Code Gen Options): Fix abbreviation typo.
1224         * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
1225
1226 2007-01-30  Steve Ellcey  <sje@cup.hp.com>
1227
1228         PR fortran/30432
1229         * trans-types.c (gfc_get_function_type): Do not add void_type_node
1230         to empty arg list.
1231         * trans-decl.c (create_function_arglist): Change assert.
1232
1233 2007-01-29  Paul Thomas  <pault@gcc.gnu.org>
1234
1235         PR fortran/30554
1236         * module.c (read_module): If a symbol is excluded by an ONLY
1237         clause, check to see if there is a symtree already loaded. If
1238         so, attach the symtree to the pointer_info.
1239
1240 2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
1241
1242         PR libfortran/30389
1243         * gfortran.h: Remove gfc_simplify_init_1.
1244         * arith.h: Remove third argument from gfc_compare_string.
1245         * arith.c (gfc_compare_expression): Remove third argument
1246         from call to gfc_compare_string.
1247         (gfc_compare_string): Remove third argument xcoll_table.
1248         Remove use of xcoll_table.
1249         * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
1250         * simplify.c (ascii_table): Remove.
1251         (xascii_table): Likewise.
1252         (gfc_simplify_achar): ICE if extract_int fails.  Remove use of
1253         ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
1254         (gfc_simplify_char): ICE if extract_int fails. Error if
1255         value < 0 or value > 255.
1256         (gfc_simplify_iachar): Remove use of xascii_table.
1257         Char values outside of 0..255 are an ICE.
1258         (gfc_simplify_lge): Remove use of xascii_table.
1259         (gfc_simplify_lgt): Likewise.
1260         (gfc_simplify_lle): Likewise.
1261         (gfc_simplify_llt): Likewise.
1262         (invert_table): Remove.
1263         (gfc_simplify_init_1): Remove.
1264
1265 2007-01-27  Roger Sayle  <roger@eyesopen.com>
1266
1267         * trans-stmt.c (forall_info): Replace the next_nest and outer
1268         fields that previously implemented a doubly-linked list with a
1269         single prev_nest field (singly-linked list).
1270         (gfc_trans_nested_forall_loop): The nested_forall_info argument
1271         now denotes the innermost FORALL in the loop nest.
1272         (compute_overall_iter_number): Use prev_nest instead of next_nest.
1273         (gfc_trans_forall_1): Link/cons the new "info" to the head of the
1274         nested_forall_info linked list.  Free the current "info" when done.
1275
1276 2007-01-27  Paul Thomas  <pault@gcc.gnu.org>
1277
1278         PR fortran/30407
1279         * trans-expr.c (gfc_conv_operator_assign): New function.
1280         * trans.h : Add prototype for gfc_conv_operator_assign.
1281         * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
1282         a potential operator assignment subroutine.  If it is non-NULL
1283         call gfc_conv_operator_assign instead of the first assignment.
1284         ( gfc_trans_where_2): In the case of an operator assignment,
1285         extract the argument expressions from the code for the
1286         subroutine call and pass the symbol to gfc_trans_where_assign.
1287         resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
1288         gfc_resolve_forall_body): Resolve the subroutine call for
1289         operator assignments.
1290
1291 2007-01-26  Steven Bosscher  <stevenb.gcc@gmail.com>
1292             Steven G. Kargl <kargl@gcc.gnu.org>
1293
1294         PR fortran/30278
1295         * fortran/io.c (next_char): Deal with backslash escaped characters.
1296         Issue warnings in non -std=gnu cases.
1297         * fortran/primary.c (next_string_char): Issue warnings in non
1298
1299 2007-01-26  Tobias Burnus  <burnus@net-b.de>
1300
1301         * lang-specs.h: Add support for .f03 and .F03 extensions.
1302         * gfortran.texi: Document .f03 extension.
1303         * options.c (form_from_filename): Recognize .f03.
1304
1305 2007-01-25  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1306
1307         PR fortran/30437
1308         * lang.opt (Wall): Remove RejectNegative.
1309         * options.c (gfc_handle_option): Wall can be disabled.
1310         (set_Wall): Add a parameter for disabling Wall.
1311         
1312 2007-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1313
1314         PR fortran/30532
1315         * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
1316         
1317 2007-01-23  Paul Thomas  <pault@gcc.gnu.org>
1318
1319         PR fortran/30481
1320         * match.c (gfc_match_namelist): Add check for assumed size character
1321         in namelist and provide error if found.
1322
1323 2007-01-21  Brooks Moses  <brooks.moses@codesourcery.com>
1324
1325         * intrinsic.texi (ACHAR): Added cross-references.
1326         (CHAR): Put cross-references in alphabetical order.
1327         (IACHAR): Added cross-references.
1328         (ICHAR): Added cross-references.
1329
1330 2007-01-20  Brooks Moses  <brooks.moses@codesourcery.com>
1331
1332         * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
1333         (MAXVAL): Corrected description of result characteristics.
1334         (MINVAL): Same.
1335         (UMASK): Added documentation.
1336
1337 2007-01-20  Steven G. Kargl  <kargl@gcc.gnu.org>
1338
1339         * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
1340         parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
1341         in the massive whitespace patch.
1342
1343 2007-01-20  Roger Sayle  <roger@eyesopen.com>
1344
1345         * module.c (mio_array_ref): The dimen_type fields of an array ref
1346         are an enumerated type and can't be read/written directly with a
1347         call to mio_integer.  Instead loop over and cast each element.
1348
1349 2007-01-20  Roger Sayle  <roger@eyesopen.com>
1350
1351         * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
1352         i.e. that the ARRAY_REF doesn't mention components.
1353         * trans-array.c (gfc_constant_array_constructor_p): Export external
1354         function renamed from constant_array_constructor_p.
1355         (gfc_build_constant_array_constructor): Export.
1356         (gfc_trans_array_constructor): Update call to the renamed function
1357         constant_array_constructor_p.
1358         * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
1359         (gfc_build_constant_array_constructor): Likewise.
1360         * trans-expr.c (gfc_build_memcpy_call): New helper function split
1361         out from gfc_trans_array_copy.
1362         (gfc_trans_array_copy): Use gfc_build_memcpy_call.
1363         (gfc_trans_array_constructor_copy): New function to optimize
1364         assigning an entire array from a constant array constructor.
1365         (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
1366         when appropriate.
1367
1368 2007-01-20  Roger Sayle  <roger@eyesopen.com>
1369
1370         * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
1371         implementation for the SIGN intrinsic with integral operands.
1372         (gfc_conv_intrinsic_minmax): Fix whitespace.
1373
1374 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1375
1376         * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
1377         * lang.opt: Add -fallow-leading-underscore.
1378         * match.c (gfc_match_name): Allow leading underscore in symbol
1379         name if -fallow-leading-underscore is used.
1380         * symbol.c (gfc_get_default_type): Add special case for symbol
1381         names beginning with an underscore.
1382         * trans-decl.c (gfc_get_extern_function_decl,
1383         gfc_build_intrinsic_function_decls): Add _gfortran prefix to
1384         library symbols selected_int_kind, selected_real_kind and 
1385         all specifics.
1386         * options.c (gfc_init_options, gfc_handle_option): Handle the
1387         new -fallow-leading-underscore option.
1388
1389 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1390
1391         PR fortran/30446
1392         * options.c (gfc_handle_module_path_options): Path used in -J
1393         option is now added to the module search path.
1394
1395 2007-01-20  Richard Guenther  <rguenther@suse.de>
1396
1397         PR fortran/30223
1398         * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
1399         cexpi builtins if we have TARGET_C99_FUNCTIONS.  Provide
1400         sincos builtins if the target has sincos.
1401
1402 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
1403
1404         * intrinsic.texi (MATMUL): Corrected a typo.
1405         (MAX): Separated @var arguments.
1406         (MIN): Separated @var arguments.
1407
1408 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
1409
1410         * intrinsic.texi: general whitespace cleanup.
1411         (menu): Added TIME8, removed UNMASK.
1412         (AINT): Clarified argument requirement.
1413         (ANINT): Clarified argument requirement.
1414         (CEILING): Clarified argument requirement.
1415         (CHAR): Clarified argument requirement.
1416         (CMPLX): Clarified argument requirement.
1417         (DCMPLX): Clarified argument requirement.
1418         (FGET): Line rewrapping.
1419         (FLOOR): Clarified argument requirement.
1420         (GMTIME): Added documentation.
1421         (IAND): Added cross-reference.
1422         (IBCLR): Added cross-reference.
1423         (IBSET): Added cross-reference.
1424         (IEOR): Added cross-reference.
1425         (INT): Collapsed examples, clarified argument requirement.
1426         (IOR): Added cross-references.
1427         (LEN_TRIM): Corrected result kind.
1428         (LINK): Added cross-reference.
1429         (LLT): Removed "documentation pending".
1430         (LOGICAL): Added documentation.
1431         (LSHIFT): Added documentation.
1432         (LTIME): Added documentation.
1433         (MATMUL): Added documentation.
1434         (MAX): Added documentation.
1435         (MAXLOC): Added documentation.
1436         (MAXVAL): Added documentation.
1437         (MERGE): Added documentation.
1438         (MIN): Added documentation.
1439         (MINLOC): Added documentation.
1440         (MINVAL): Added documentation.
1441         (MVBITS): Moved to correct place, added documentation.
1442         (NOT): Added documentation.
1443         (PERROR): Added documentation.
1444         (RAN): Moved to correct place, added documentation.
1445         (REAL): Clarified argument requirement.
1446         (RENAME): Added documentation.
1447         (RSHIFT): Clarified argument requirement.
1448         (SIGN): Corrected table specification.
1449         (SYMLNK): Added documentation.
1450         (SYSTEM): Added documentation.
1451         (TIME): Added documentation.
1452         (TIME8): Added section and documentation.
1453         (UNMASK): Removed erroneous section.
1454
1455 2007-01-18  H.J. Lu  <hongjiu.lu@intel.com>
1456
1457         * trans-stmt.c (compute_overall_iter_number): Fix a typo.
1458
1459 2007-01-18  Roger Sayle  <roger@eyesopen.com>
1460
1461         * trans-expr.c (copyable_array_p): Consider user derived types without
1462         allocatable components to be copyable.
1463
1464 2007-01-18  Roger Sayle  <roger@eyesopen.com>
1465
1466         * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
1467         the number of interations in unconditional FORALL nests with constant
1468         bounds.
1469
1470 2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1471             Tobias Burnus  <burnus@net-b.de>
1472
1473         PR libfortran/29649
1474         * gfortran.h (gfc_option_t): Add flag_dump_core.
1475         * lang.opt: Add -fdump-core option.
1476         * invoke.texi: Document the new options.
1477         * trans-decl.c (gfc_build_builtin_function_decls): Add new
1478           options to the call to set_std.
1479         * options.c (gfc_init_options, gfc_handle_option): Set the
1480           new options.
1481
1482 2007-01-17  Paul Thomas  <pault@gcc.gnu.org>
1483
1484         PR fortran/30476
1485         * module.c (load_generic_interfaces): Make the marking of the
1486         symbol as ambiguous conditional on the module names being
1487         different.
1488         (write_generic): Ensure that the generic interface has a
1489         non-NULL module field.
1490
1491 2007-01-16  Roger Sayle  <roger@eyesopen.com>
1492
1493         PR fortran/30404
1494         * trans-stmt.c (forall_info): Remove pmask field.
1495         (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
1496         NVAR covers all the interation variables in the current forall_info.
1497         Add an extra OUTER parameter, which specified the loop header in
1498         which to place mask index initializations.
1499         (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
1500         Change the semantics of MASK_FLAG to only control the mask in the
1501         innermost loop.
1502         (compute_overall_iter_number): Optimize the trivial case of a
1503         top-level loop having a constant number of iterations.  Update
1504         call to gfc_trans_nested_forall_loop.  Calculate the number of
1505         times the inner loop will be executed, not to size of the 
1506         iteration space.
1507         (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
1508         sizeof(type) == 1.  Tidy up.
1509         (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
1510         to gfc_trans_nested_forall_loop.
1511         (gfc_trans_pointer_assign_need_temp): Likewise.
1512         (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
1513         LENVAR local variables.  Split mask allocation into a separate
1514         hunk/pass from mask population.  Use allocate_temp_for_forall_nest
1515         to allocate the FORALL mask with the correct size.  Update calls
1516         to gfc_trans_nested_forall_loop.
1517         (gfc_evaluate_where_mask): Update call to
1518         gfc_trans_nested_forall_loop.
1519         (gfc_trans_where_2): Likewise.
1520
1521 2007-01-15  Paul Thomas  <pault@gcc.gnu.org>
1522
1523         PR fortran/28172
1524         * trans-stmt.c (gfc_trans_call): If it does not have one, get
1525         a backend_decl for an alternate return.
1526
1527         PR fortran/29389
1528         * resolve.c (pure_function): Statement functions are pure. Note
1529         that this will have to recurse to comply fully with F95.
1530
1531         PR fortran/29712
1532         * resolve.c (resolve_function): Only a reference to the final
1533         dimension of an assumed size array is an error in an inquiry
1534         function.
1535
1536         PR fortran/30283
1537         * resolve.c (resolve_function): Make sure that the function
1538         expression has a type.
1539
1540 2007-01-14  Paul Thomas  <pault@gcc.gnu.org>
1541
1542         PR fortran/30410
1543         * trans-decl.c (gfc_sym_mangled_function_id): Module, external
1544         symbols must not have the module name prepended.
1545
1546 2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
1547
1548         PR libfortran/30415
1549         * iresolve.c (gfc_resolve_maxloc): If the rank
1550         of the return array is nonzero and we process an
1551         integer array smaller than default kind, coerce
1552         the array to default integer.
1553         * iresolve.c (gfc_resolve_minloc): Likewise.
1554
1555 2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>
1556
1557         * simplify.c: Update copyright to 2007.
1558         * scanner.c: Same.
1559
1560 2007-01-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1561
1562         PR fortran/30430
1563         * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
1564         only once!
1565
1566 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
1567
1568         * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
1569         (gfc_simplify_ibset): Same.
1570
1571 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
1572
1573         PR 30381
1574         PR 30420
1575         * simplify.c (convert_mpz_to_unsigned): New function.
1576         (convert_mpz_to_signed): New function, largely based on
1577         twos_complement().
1578         (twos_complement): Removed.
1579         (gfc_simplify_ibclr): Add conversions to and from an
1580         unsigned representation before bit-twiddling.
1581         (gfc_simplify_ibset): Same.
1582         (gfc_simplify_ishftc): Add checks for overly large
1583         constant arguments, only check the third argument if
1584         it's present, carry over high bits into the result as
1585         appropriate, and perform the final conversion back to
1586         a signed representation using the correct sign bit.
1587         (gfc_simplify_not): Removed unnecessary masking.
1588
1589 2007-01-09  Paul Thomas  <pault@gcc.gnu.org>
1590
1591         PR fortran/30408
1592         * resolve.c (resolve_code): Use the code->expr character length
1593         directly to set length of llen.
1594
1595 2007-01-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1596
1597         PR fortran/30408
1598         * lang.opt: Add Wcharacter_truncation option.
1599         * options.c (gfc_init_options): Initialize
1600         gfc_option.warn_character_truncation to zero.
1601         (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
1602
1603 2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
1604
1605         * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
1606         iresolve.c, match.c: Update Copyright years.  Whitespace.
1607
1608 2007-01-08  Richard Guenther  <rguenther@suse.de>
1609
1610         * trans-io.c (transfer_array_desc): Use build_int_cst instead
1611         of build_int_cstu.
1612
1613 2007-01-08  Roger Sayle  <roger@eyesopen.com>
1614
1615         * trans-array.c (constant_array_constructor_p): New function to
1616         determine whether an array constructor consists only of constant
1617         elements, and if so return it's size.
1618         (gfc_build_constant_array_constructor): Construct a statically
1619         initialized gfortran array for a given EXPR_ARRAY.
1620         (gfc_trans_constant_array_constructor): Efficiently scalarize
1621         a constant array constructor.
1622         (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
1623         Special case scalarization of constant array constructors, all of
1624         whose elements are specified, using constant_array_constructor_p 
1625         and gfc_trans_constant_array_constructor.
1626         (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
1627         before adding it to index, to avoid creating a NON_LVALUE_EXPR.
1628
1629 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
1630
1631         gfortran.texi: Fix typos.
1632
1633 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
1634
1635         * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
1636         convert.c: Update Copyright dates.  Fix whitespace.
1637
1638 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
1639
1640         * data.c (gfc_assign_data_value): Fix whitespace.
1641
1642 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
1643
1644         * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
1645         Commentary typo fix.
1646
1647 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
1648
1649         PR fortran/27698
1650         * match.c (gfc_match_name): Print diagnostics for invalid
1651         character in names.
1652
1653 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1654
1655         * array.c: Fix whitespace in comment table.
1656
1657 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1658
1659         * array.c, bbt.c, check.c: Update copyright years.  Whitespace.
1660
1661 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1662
1663         * arith.c: Update copyright years.  Whitespace.
1664
1665 2007-01-05  Roger Sayle  <roger@eyesopen.com>
1666
1667         * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
1668         array assignments split out from gfc_trans_assignment.
1669         (gfc_trans_array_copy): New function to implement array to array
1670         copies via calls to __builtin_memcpy.
1671         (copyable_array_p): New helper function to identify an array of
1672         simple/POD types, that may be copied/assigned using memcpy.
1673         (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
1674         whole array assignments considered suitable by copyable_array_p.
1675         Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
1676
1677 2007-01-05  Roger Sayle  <roger@eyesopen.com>
1678
1679         * trans-array.c (gfc_trans_array_constructor_value): Make the
1680         static const "data" array as TREE_READONLY.
1681         * trans-stmt.c (gfc_trans_character_select): Likewise.
1682
1683 2007-01-05  Roger Sayle  <roger@eyesopen.com>
1684
1685         * trans-array.c (gfc_conv_loop_setup): Test whether the loop
1686         stride is one, to avoid fold_build2 introducing a useless
1687         NON_LVALUE_EXPR node.
1688
1689 2007-01-05  Tobias Burnus  <burnus@net-b.de>
1690
1691         * symbol.c (check_conflict): Fix error message.
1692
1693 2007-01-05  Paul Thomas  <pault@gcc.gnu.org>
1694
1695         PR fortran/23232
1696         * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
1697         functions to signal that a DATA statement is being matched.
1698         (gfc_match_data): Call gfc_set_in_match_data on entry and on
1699         exit.
1700         * gfortran.h : Add prototypes for above.
1701         * expr.c (check_init_expr): Avoid check on parameter or
1702         variable if gfc_in_match_data is true.
1703         (gfc_match_init_expr): Do not call error on non-reduction of
1704         expression if gfc_in_match_data is true.
1705
1706         PR fortran/27996
1707         PR fortran/27998
1708         * decl.c (gfc_set_constant_character_len): Add boolean arg to
1709         flag array constructor resolution.  Warn if string is being
1710         truncated.  Standard dependent error if string is padded. Set
1711         new arg to false for all three calls to
1712         gfc_set_constant_character_len.
1713         * match.h : Add boolean arg to prototype for
1714         gfc_set_constant_character_len.
1715         * gfortran.h : Add warn_character_truncation to gfc_options.
1716         * options.c (set_Wall): Set warn_character_truncation if -Wall
1717         is set.
1718         * resolve.c (resolve_code): Warn if rhs string in character
1719         assignment has to be truncated.
1720         * array.c (gfc_resolve_character_array_constructor): Set new
1721         argument to true for call to gfc_set_constant_character_len.
1722
1723 2007-01-05  Tobias Burnus  <burnus@net-b.de>
1724
1725         PR fortran/29624
1726         * interface.c (compare_parameter_intent): New function.
1727           (check_intents): Support pointer intents.
1728         * symbol.c (check_conflict): Support pointer intents,
1729           better conflict_std message.
1730         * expr.c (gfc_check_assign,gfc_check_pointer_assign):
1731           Support pointer intents.
1732         * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
1733           Support pointer intents.
1734
1735 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1736
1737         PR 30371
1738         * check.c (gfc_check_kill_sub): Add checks for non-scalar
1739         arguments.
1740
1741 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1742
1743         * intrinsic.texi: Minor cleanup, reflowing overlong
1744         paragraphs, and correcting whitespace.
1745
1746 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1747
1748         * intrinsic.texi (LBOUND): Add documentation.
1749         (LGE): Add documentation.
1750         (LGT): Add documentation.
1751         (LINK): Add documentation.
1752         (LLE): Add documentation.
1753         (LLT): Add documentation.
1754         (LNBLNK): Add documentation.
1755         (UBOUND): Add documentation.
1756         (UNLINK): Add documentation.
1757
1758 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1759
1760         * intrinsic.texi (IAND): Clarify argument specifications.
1761         (IBCLR): Add documentation.
1762         (IBITS): Add documentation.
1763         (IBSET): Add documentation.
1764         (IEOR): Add documentation.
1765         (IERRNO): Add documentation.
1766         (INDEX): Add documentation.
1767         (IOR): Add documentation.
1768         (ISHFT): Add documentation.
1769         (ISHFTC): Add documentation.
1770         (KILL): Add documentation.
1771         (LEN_TRIM): Add documentation.
1772
1773 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1774
1775         PR 30235
1776         * interface.c (compare_actual_formal): check for
1777         alternate returns when iterating over non-present
1778         arguments.
1779
1780 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1781
1782         * invoke.texi: Update manpage copyright to include 2007.
1783
1784 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1785
1786         * gfortran.texi: Update copyright to include 2007.
1787         * intrinsic.texi: Update copyright to include 2007.
1788         * invoke.texi: Update copyright to include 2007.
1789
1790 2007-01-02  Tobias Burnus  <burnus@net-b.de>
1791             Jakub Jelinek  <jakub@redhat.com>
1792
1793         PR fortran/30276
1794         * scanner.c (open_included_file): Revert patch.
1795           (gfc_open_included_file): Support absolute pathnames.
1796           (gfc_open_intrinsic_module): Support absolute pathnames.
1797
1798 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1799
1800         * gfortran.texi (GNU Fortran and GCC): Rewrite
1801
1802 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1803
1804         * gfortran.texi (Introduction): Lower "Part I:
1805         Introduction" to a chapter, renumber Parts II and III to
1806         Parts I and II.
1807         * intrinsic.texi (Introduction): Rename to "Introduction
1808         to Intrinsics" to avoid conflict with the new chapter.
1809
1810 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1811
1812         * intrinsic.texi (Introduction): Rewrite first paragraph.
1813
1814 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1815
1816         * invoke.texi (OpenMP): Added index entry.
1817         * gfortran.texi (title page): Removed erroneous '*'.
1818
1819 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1820
1821         * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
1822         to description.
1823         (Extensions): Miscellaneous minor rewriting and copyediting.
1824         (BOZ-literal constants): Renamed from Hexadecimal constants.
1825         (Hollerith constants support): Added explanation and 
1826         suggestions for standard-conforming modern equivalents.
1827
1828 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1829
1830         * intrinsic.texi: Improvements to index entries; change
1831         @findex entries to @cindex entries.
1832         * invoke.texi: Standardize and improve index entries.
1833         * gfortran.texi: Fix @code in one index entry.
1834
1835 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1836
1837         * invoke.texi: Change @code-type macros to appropriate
1838         variants (@command, @option, etc.)
1839         * gfortran.texi: Same.
1840
1841 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1842
1843         * intrinsic.texi: Various minor cleanups.
1844
1845 2007-01-02  Steven G. Kargl  <kargls@comcast.net>
1846
1847         * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
1848         build_int_cst.
1849
1850 2007-01-02  Tobias Burnus  <burnus@net-b.de>
1851
1852         PR fortran/30276
1853         * scanner.c (open_included_file): Support full-path filenames.
1854
1855 2007-01-02  Paul Thomas  <pault@gcc.gnu.org>
1856
1857         PR fortran/20896
1858         * interface.c (check_sym_interfaces): Remove call to
1859         resolve_global_procedure.
1860         gfortran.h : Remove prototype for resolve_global_procedure.
1861         resolve.c (resolve_global_procedure): Add static attribute
1862         to function declaration.
1863
1864 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
1865
1866         * ChangeLog: Copy to ...
1867         * ChangeLog-2006: here.