OSDN Git Service

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