OSDN Git Service

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