OSDN Git Service

2007-09-13 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2007-09-13  Tobias Burnus  <burnus@net-b.de>
2
3         * symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive):
4         Allow prefixes only to be specified once.
5
6 2007-09-13  Tobias Burnus  <burnus@net-b.de>
7
8         PR fortran/33412
9         * symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C).
10
11 2007-09-12  Tobias Burnus  <burnus@net-b.de>
12
13         PR fortran/33297
14         * check.c (scalar_check): Move up in the file.
15         (kind_check): Call scalar_check.
16         (dim_check): If optional, do not call nonoptional_check; use
17         bool for optional.
18         (gfc_check_all_any,gfc_check_count,gfc_check_cshift,gfc_check_eoshift,
19         gfc_check_lbound,gfc_check_minloc_maxloc,check_reduction,
20         gfc_check_spread,gfc_check_ubound): Use true/false instead of 0/1
21         for dim_check; honor changed meaning of optional.
22         (gfc_check_int): Replace checks by kind_check.
23         (gfc_check_size): Replace checks by dim_check.
24
25 2007-09-12  Tobias Burnus  <burnus@net-b.de>
26
27         PR fortran/33284
28         PR fortran/33310
29         * symbol.c (check_conflict): Add conflict between INTRINSIC and ENTRY
30         and between BIND(C) and PARAMETER.
31
32 2007-09-12  Tobias Burnus  <burnus@net-b.de>
33
34         * trans-expr.c (gfc_conv_initializer): Fix expr == NULL check.
35
36 2007-09-12  Jan Hubicka  <jh@suse.cz>
37
38         * f95-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
39
40 2007-09-12  Christopher D. Rickett  <crickett@lanl.gov>
41
42         PR fortran/33395
43         * trans-expr.c (gfc_conv_initializer): Remove unnecessary test for
44         intmod_sym_id and use derived symbol to set new kind of C_NULL_PTR
45         and C_NULL_FUNPTR expressions.
46
47 2007-09-11  Christopher D. Rickett  <crickett@lanl.gov>
48
49         PR fortran/33040
50         * trans-expr.c (gfc_trans_structure_assign): Convert component
51         C_NULL_PTR and C_NULL_FUNPTR component initializers to (void *).
52         * trans-types.c (gfc_get_derived_type): Create a backend_decl for
53         the c_address field of C_PTR and C_FUNPTR and ensure initializer
54         is of proper type/kind for (void *).
55
56 2007-09-11  Jan Hubicka <jh@suse.cz>
57
58         * f95-lang.c (gfc_expand_function): Kill.
59         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
60
61 2007-09-08  Tobias Burnus  <burnus@net-b.de>
62
63         PR fortran/31547
64         * gfortran.texi: Document when CPP is called.
65
66         * intrinsic.texi (IOR): Fix typos.
67
68 2007-09-10  Paul Thomas  <pault@gcc.gnu.org>
69
70         PR fortran/33370
71         * trans-expr.c (copyable_array_p):  Add tests that expression
72         is a variable, that it has no subreferences and that it is a
73         full array.
74         (gfc_trans_assignment): Change conditions to suit modifications
75         to copyable_array_p.
76
77 2007-09-06  Tom Tromey  <tromey@redhat.com>
78
79         * scanner.c (get_file): Update.
80         (load_file): Update.
81         (gfc_next_char_literal): Use gfc_linebuf_linenum.
82         * f95-lang.c (gfc_init): Update.
83         * gfortran.h (gfc_linebuf_linenum): New macro.
84
85 2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
86
87         * trans-decl.c (build_entry_thunks): Use set_cfun.
88         (gfc_generate_function_code): Likewise.
89
90 2007-09-05  Paul Thomas  <pault@gcc.gnu.org>
91
92         PR fortran/31564
93         * primary.c (gfc_match_rvalue): Make expressions that refer
94         to derived type parameters that have array references into
95         variable expressions.  Remove references to use association
96         from the symbol.
97
98         PR fortran/33241
99         * decl.c (add_init_expr_to_sym): Provide assumed character
100         length parameters with the length of the initialization
101         expression, if a constant, or that of the first element of
102         an array.
103
104 2007-09-04  Janus Weil  <jaydub66@gmail.com>
105             Paul Thomas  <pault@gcc.gnu.org>
106
107         * decl.c (match_procedure_decl,match_procedure_in_interface,
108         gfc_match_procedure): Handle PROCEDURE statements.
109         * gfortran.h (struct gfc_symbol): New member "gfc_symbol *interface".
110         (enum gfc_statement): New element "ST_PROCEDURE".
111         (strcut symbol_attribute): New member "unsigned procedure".
112         * interface.c (check_interface0): Extended error checking.
113         * match.h: Add gfc_match_procedure prototype.
114         * parse.c (decode_statement,next_statement,gfc_ascii_statement,
115         parse_derived,parse_interface): Implement PROCEDURE statements.
116         * resolve.c (resolve_symbol): Ditto.
117         * symbol.c (check_conflict): Ditto.
118         (gfc_add_proc): New function for setting the procedure attribute.
119         (copy_formal_args): New function for copying formal argument lists.
120
121 2007-09-03  Daniel Jacobowitz  <dan@codesourcery.com>
122
123         * Make-lang.in (gfortranspec.o): Remove SHLIB_MULTILIB.
124
125 2007-09-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
126
127         * gfortranspec.c (lang_specific_driver): Use CONST_CAST2.
128         * options.c (gfc_post_options): Supply a TYPE for CONST_CAST.
129         * parse.c (parse_omp_structured_block): Likewise,
130         * st.c (gfc_free_statement): Likewise,
131
132 2007-09-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
133
134         PR fortran/31675
135         * libgfortran.h: New file.
136         * iso-fortran-env.def: Use macros in the new header instead of
137         hardcoded integer constants.
138         * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
139         fortran/libgfortran.h.
140         * gfortran.h (GFC_STD_*, GFC_FPE_*, options_convert,
141         ioerror_codes): Remove.
142         * trans.c (ERROR_ALLOCATION): Remove.
143         (gfc_call_malloc, gfc_allocate_with_status,
144         gfc_allocate_array_with_status): Use LIBERROR_ALLOCATION.
145         * trans-types.h (GFC_DTYPE_*): Remove.
146         * trans-decl.c (gfc_generate_function_code): Use
147         GFC_CONVERT_NATIVE instead of CONVERT_NATIVE.
148         * trans-io.c (set_parameter_value, set_parameter_ref): Use
149         LIBERROR_* macros instead of IOERROR_ macros.
150         * trans-intrinsic.c (gfc_conv_intrinsic_function): Use
151         LIBERROR_END and LIBERROR_EOR instead of hardcoded constants.
152         * options.c (gfc_init_options): Use GFC_CONVERT_NATIVE instead of
153         CONVERT_NATIVE.
154         (gfc_handle_option): Use GFC_CONVERT_* macros instead of CONVERT_*.
155
156 2007-09-02  Steven G. Kargl  <kargl@gcc.gnu.org>
157
158         * invoke.texi: Fix the -frange-checking option entry.
159
160 2007-09-02  Roger Sayle  <roger@eyesopen.com>
161
162         * decl.c (match_string_p): New helper function to explicitly match
163         a string of characters.
164         (match_attr_spec): Remove no longer needed DECL_COLON from decl_types.
165         Delete decls array and peek_char.  Rewrite decl attribute parser to
166         avoid calling gfc_match_strings.
167         * match.c (gfc_match_strings): Delete unused function.
168         * match.h (gfc_match_strings): Delete prototype.
169
170 2007-09-02  Tobias Schlüuter  <tobi@gcc.gnu.org>
171
172         * dump-parse-tree.c (show_char_const): New function.
173         (gfc_show_expr): Use it.
174         * expr.c (find_substring_ref): Rework to not keep characters
175         dangling beyond end of string.
176
177 2007-09-02  H.J. Lu  <hongjiu.lu@intel.com>
178
179         PR fortran/33276
180         * array.c (expand_iterator): Initialize frame.prev.
181
182 2007-08-31  Tobias Burnus  <burnus@net-b.de>
183
184         PR fortran/33232
185         * io.c (match_io): Also diagnose extra comma for READ.
186
187 2007-08-31  Joseph Myers  <joseph@codesourcery.com>
188
189         * intrinsic.texi (LGAMMA): Remove empty @cindex line.
190
191 2007-08-31  Paul Thomas  <pault@gcc.gnu.org>
192
193         PR fortran/31879
194         PR fortran/31197
195         PR fortran/31258
196         PR fortran/32703
197         * gfortran.h : Add prototype for gfc_resolve_substring_charlen.
198         * resolve.c (gfc_resolve_substring_charlen): New function.
199         (resolve_ref): Call gfc_resolve_substring_charlen.
200         (gfc_resolve_character_operator): New function.
201         (gfc_resolve_expr): Call the new functions in cases where the
202         character length is missing.
203         * iresolve.c (cshift, eoshift, merge, pack, reshape, spread,
204         transpose, unpack): Call gfc_resolve_substring_charlen for
205         source expressions that are character and have a reference.
206         * trans.h (gfc_trans_init_string_length) Change name to
207         gfc_conv_string_length; modify references in trans-expr.c,
208         trans-array.c and trans-decl.c.
209         * trans-expr.c (gfc_trans_string_length): Handle case of no
210         backend_decl.
211         (gfc_conv_aliased_arg): Remove code for treating substrings
212         and replace with call to gfc_trans_string_length.
213         * trans-array.c (gfc_conv_expr_descriptor): Remove code for
214         treating strings and call gfc_trans_string_length instead.
215
216 2007-08-30  Tobias Burnus  <burnus@net-b.de>
217
218         PR fortran/33228
219         * interface.c (check_interface0): Improve error for external procs.
220         (check_sym_interfaces): Fix checking of module procedures.
221
222 2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
223
224         PR fortran/32989
225         * iresolve.c (gfc_resolve_getarg): Handle non-default integer
226         kinds.
227         * check.c (gfc_check_getarg): New function
228         * intrinsic.h: Add prototype for gfc_check_getarg.
229         * intrinsic.c (add_subroutines): Add reference to gfc_check_getarg.
230         * intrinsic.texi (GETARG): Adjust documentation.
231
232 2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
233             Tobias Burnus  <burnus@gcc.gnu.org>
234
235         PR fortran/33105
236         * intrinsic.c (add_functions): Add IS_IOSTAT_END and
237         IS_IOSTAT_EOR intrinsics.
238         * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_IOSTAT_END and
239         GFC_ISYM_IS_IOSTAT_EOR.
240         * trans-intrinsic.c (gfc_conv_has_intvalue): New function.
241         (gfc_conv_intrinsic_function): Call gfc_conv_has_intvalue for
242         GFC_ISYM_IS_IOSTAT_END and GFC_ISYM_IS_IOSTAT_EOR.
243         * intrinsic.texi: Add IS_IOSTAT_END and IS_IOSTAT_EOR.
244
245 2007-08-28  Christopher D. Rickett  <crickett@lanl.gov>
246
247         PR fortran/33215
248         * decl.c (build_sym): Pass number of identifiers on line to
249         set_binding_label.
250         (set_binding_label): Verify that only one identifier given if
251         NAME= specified, even if the given binding label has zero length.
252         (gfc_match_bind_c): Remove declaration for has_name_equals because
253         it hides the static global one that is needed.
254
255 2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
256
257         * trans-array.c (gfc_grow_array): Use gfc_call_realloc.
258         (gfc_array_allocate): Use gfc_allocate_with_status and
259         gfc_allocate_array_with_status.
260         (gfc_array_deallocate): Use gfc_deallocate_with_status.
261         (gfc_trans_dealloc_allocated): Use gfc_deallocate_with_status.
262         * trans-stmt.c (gfc_trans_allocate): Use gfc_allocate_with_status.
263         (gfc_trans_deallocate): Use gfc_deallocate_with_status.
264         * trans.c (gfc_allocate_with_status, gfc_allocate_array_with_status,
265         gfc_deallocate_with_status, gfc_call_realloc): New functions.
266         * trans.h (gfc_allocate_with_status, gfc_allocate_array_with_status,
267         gfc_deallocate_with_status, gfc_call_realloc): New prototypes.
268         (gfor_fndecl_internal_realloc, gfor_fndecl_allocate,
269         gfor_fndecl_allocate_array, gfor_fndecl_deallocate): Remove.
270         * f95-lang.c (gfc_init_builtin_functions): Create decl for
271         BUILT_IN_REALLOC.
272         * trans-decl.c (gfor_fndecl_internal_realloc,
273         gfor_fndecl_allocate, gfor_fndecl_allocate_array,
274         gfor_fndecl_deallocate): Remove function decls.
275         (gfc_build_builtin_function_decls): Likewise.
276
277 2007-08-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
278
279         PR fortran/33055
280         Revert previous patch.
281
282 2007-08-28  Jakub Jelinek  <jakub@redhat.com>
283
284         PR fortran/22244
285         * Make-lang.in (fortran/trans-types.o): Depend on $(FLAGS_H).
286         * trans-types.c: Include flags.h.
287         (gfc_get_nodesc_array_type): Add TYPE_DECL TYPE_NAME with
288         correct bounds and dimensions for packed arrays.
289
290 2007-08-27  Tobias Burnus  <burnus@net-b.de>
291
292         * simplify.c (gfc_simplify_lgamma): Fix mpfr_lgamma call.
293
294 2007-08-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
295
296         PR fortran/33055
297         * trans-io.c (create_dummy_iostat): New function to create a unique
298         dummy variable expression to use with IOSTAT.
299         (gfc_trans_inquire): Use the new function to pass unit number error info
300         to run-time library if a regular IOSTAT variable was not given.
301
302 2007-08-26  H.J. Lu  <hongjiu.lu@intel.com>
303
304         * gfortran.h (gfc_isym_id): Add GFC_ISYM_GAMMA and
305         GFC_ISYM_LGAMMA.
306
307 2007-08-26  Asher Langton  <langton2@llnl.gov>
308             Tobias Burnus  <burnus@net-b.de>
309
310         * gfortran.h (gfc_option_t): Add flag_recursive.
311         * lang.opt: Add -frecursive option and update -fopenmp.
312         * invoke.texi (-frecursive): Document new option.
313         (-fopenmp,-fno-automatic,-fmax-stack-var-size): Update.
314         * options.c (gfc_init_options, gfc_post_options,
315         gfc_handle_option): Add -frecursive and modify -fopenmp.
316         (gfc_post_options): Add warning for conflicting flags.
317
318 2007-08-26  Tobias Burnus  <burnus@net-b.de>
319
320         PR fortran/31298
321         * module.c (mio_symbol_ref,mio_interface_rest):  Return pointer_info.
322         (load_operator_interfaces): Support multible loading of an operator.
323
324 2007-08-26  Tobias Burnus  <burnus@net-b.de>
325
326         PR fortran/32985
327         * match.c (gfc_match_common): Remove SEQUENCE diagnostics.
328         * resolve.c (resolve_common_blocks): Add SEQUENCE diagnostics;
329         fix walking through the tree.
330
331 2007-08-26  Tobias Burnus  <burnus@net-b.de>
332
333         PR fortran/32980
334         * intrinsic.h (gfc_simplify_gamma,gfc_simplify_lgamma,
335         gfc_resolve_gamma,gfc_resolve_lgamma): New function declations.
336         * mathbuiltins.def: Define GAMMA and LGAMMA.
337         * intrinsic.c (add_functions): Add GAMMA, DGAMMA, LGAMMA, ALGAMA
338         and DLGAMA.
339         * simplify.c (gfc_simplify_gamma,gfc_simplify_lgamma): New functions.
340         * iresolve.c (gfc_resolve_gamma,gfc_resolve_lgamma): New functions.
341         * intrinsic.texi: Add documentation for GAMMA and LGAMMA.
342
343 2007-08-26  Tobias Burnus  <burnus@net-b.de>
344
345         PR fortran/33188
346         * parse.c (parse_derived): Support empty derived type
347         definitions for Fortran 2003.
348
349 2007-08-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
350
351         * trans-openmp.c (gfc_omp_privatize_by_reference): Constify.
352         * trans.h (gfc_omp_privatize_by_reference): Likewise.
353
354 2007-08-24  Tobias Burnus  <burnus@net-b.de>
355
356         PR fortran/33178
357         * intrinsic.c (gfc_intrinsic_func_interface): Fix initialization
358         expression check.
359
360 2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
361
362         PR fortran/32972
363         * iresolve.c:  Don't convert array masks.
364
365 2007-08-24  Tobias Burnus  <burnus@net-b.de>
366
367         PR fortran/33139
368         * trans-array.c (gfc_conv_expr_descriptor): Copy bounds for
369         whole-array pointer assignments.
370
371 2007-08-23  Jakub Jelinek  <jakub@redhat.com>
372
373         * decl.c (variable_decl): Don't share charlen structs if
374         length == NULL.
375         * trans-decl.c (create_function_arglist): Assert
376         f->sym->ts.cl->backend_decl is NULL instead of unsharing
377         charlen struct here.
378
379 2007-08-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
380
381         PR fortran/33095
382         * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Remove
383         runtime error checking.
384
385 2007-08-22  Roger Sayle  <roger@eyesopen.com>
386             Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
387
388         * match.c (intrinsic_operators): Delete.
389         (gfc_match_intrinsic_op): Rewrite matcher to avoid calling
390         gfc_match_strings.
391
392 2007-08-22  Christopher D. Rickett  <crickett@lanl.gov>
393
394         PR fortran/33020
395         * resolve.c (gfc_iso_c_sub_interface): Remove setting of type and
396         kind for optional SHAPE parameter of C_F_POINTER.
397
398 2007-08-22  Janus Weil  <jaydub66@gmail.com>
399
400         * decl.c (match_attr_spec): Pass on errors from gfc_match_bind_c.
401         (gfc_match_bind_c): Bugfix in check for NAME= with abstract interfaces.
402         (gfc_match_mopdproc): Bugfix to reject module procedures in
403         abstract interfaces.
404
405 2007-08-22  Kai Tietz  <kai.tietz@onevision.com>
406
407         * f95-lang.c: (gfc_init_decl_processing): Choose sizetype by using
408         Pmode.
409
410 2007-08-21  Paul Brook  <paul@codesourcery.com>
411             Nathan Sidwell  <nathan@codesourcery.com>
412             Mark Mitchell  <mark@codesourcery.com>
413             Joseph Myers  <joseph@codesourcery.com>
414
415         * gfortranspec.c (lang_specific_driver): Use pkgversion_string.
416         * Make-lang.in (gfortran.pod): Define BUGURL.
417         * invoke.texi: Use BUGURL for bug-reporting instructions.
418
419 2007-08-19  Roger Sayle  <roger@eyesopen.com>
420
421         * match.c (intrinsic_operators): Make static.
422         (gfc_op2string): New function for converting a gfc_intrinsic_op to
423         to a "const char*", replacing the macro of the same name.
424         * gfortran.h (intrinsic_operators): Delete prototype.
425         (gfc_op2string): Replace macro with function prototype.
426
427 2007-08-18  Tobias Burnus  <burnus@net-b.de>
428
429         * gfortran.h (gfc_is_intrinsic_typename): Add declaration.
430         * symbol.c (gfc_is_intrinsic_typename): New function.
431         * parse.c (decode_statement): Check for space in ABSTRACT INTERFACE.
432         (parse_interface): Use gfc_is_intrinsic_typename.
433         * decl.c (gfc_match_derived_decl): Ditto.
434         * module.c (gfc_match_use): Use gcc_unreachable() for
435         INTERFACE_ABSTRACT in switch().
436
437 2007-08-18  Roger Sayle  <roger@eyesopen.com>
438
439         * primary.c (match_logical_constant_string): New function to match
440         a ".true." or a ".false.".
441         (match_logical_constant): Use it instead of gfc_match_strings.
442
443 2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
444             Janus Weil  <jaydub66@gmail.com>
445
446         * interface.c (gfc_match_interface,gfc_match_abstract_interface,
447         gfc_match_end_interface,gfc_add_interface): Add abstract interface.
448         * dump-parse-tree.c (gfc_show_attr): Ditto.
449         * gfortran.h (interface_type,symbol_attribute): Ditto.
450         * module.c (gfc_match_use,ab_attribute,attr_bits,
451         mio_symbol_attribute): Ditto.
452         * resolve.c (resolve_function): Ditto.
453         * match.h: Ditto.
454         * parse.c (decode_statement): Ditto.
455         (parse_interface): Ditto, check for C1203 (name of abstract interface
456         cannot be the same as an intrinsic type).
457         * decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces.
458         (access_attr_decl): Handle Abstract interfaces.
459
460 2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
461
462         PR fortran/32881
463         * expr.c (gfc_check_pointer_assign): If the rhs is the
464         initialization expression for the rhs, there is no error.
465
466 2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
467
468         PR fortran/32875
469         * trans-array.c (get_array_ctor_strlen): Set the character
470         length of a zero length array to zero.
471
472 2007-08-16  Tobias Burnus  <burnus@net-b.de>
473
474         PR fortran/33072
475         * module.c (gfc_match_use): Mark user operators as such.
476         (find_use_name_n): Distinguish between operators and other symbols.
477         (find_use_name,number_use_names,mio_namelist,
478          load_operator_interfaces,load_generic_interfaces,read_module,
479          write_generic): Update find_use_name_n calls.
480
481 2007-08-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
482
483         PR fortran/29459
484         * trans.c (gfc_create_var_np): Do not emit warnings for
485         anonymous variables.
486
487 2007-08-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
488
489         PR fortran/33066
490         * decl.c (gfc_get_type_attr_spec): Fix whitespace.
491         (gfc_match_derived_decl): Fix logic.
492
493 2007-08-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
494
495         PR fortran/33073
496         * trans-intrinsic.c (build_fixbound_expr): Convert to result type
497         in all cases.
498
499 2007-08-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
500
501         PR fortran/32594
502         * trans-expr.c (gfc_conv_substring_expr): Only call
503         gfc_conv_substring if expr->ref is not NULL.
504         * expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
505         expression might be a constant.
506         (gfc_simplify_expr): Handle missing start and end, as well as
507         missing ref.
508
509 2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
510
511         PR fortran/32926
512         * match.c (gfc_match_call): Do not create a new symtree in the
513         case where the existing symbol is external and not referenced.
514
515 2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
516
517         PR fortran/32827
518         * decl.c (variable_decl): Check for an imported symbol
519         by looking for its symtree and testing for the imported
520         attribute.
521         (gfc_match_import): Remove change of symbol's namespace
522         and set the attribute imported instead.
523         * symbol.c (gfc_get_sym_tree): It is not an error if a
524         symbol is imported.
525         * gfortran.h : Add the 'imported' to symbol_attribute.
526
527 2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
528
529         PR fortran/32962
530         * trans-array.c (gfc_conv_array_transpose): Set the offset
531         of the destination to zero if the loop is zero based.
532
533 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
534
535         PR fortran/29600
536         * intrinsic.c (add_functions): Add optional KIND argument to ACHAR.
537         * iresolve.c (gfc_resolve_achar): Handle the KIND argument.
538         * check.c (gfc_check_achar): Check for the optional KIND argument.
539         * simplify.c (gfc_simplify_achar): Use KIND argument.
540         * intrinsic.h (gfc_check_achar, gfc_simplify_achar,
541         gfc_resolve_achar): Adjust prototypes.
542
543 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
544
545         PR fortran/30964
546         PR fortran/33054
547         * trans-expr.c (gfc_conv_function_call): When no formal argument
548         list is available, we still substitute missing optional arguments.
549         * check.c (gfc_check_random_seed): Correct the check on the
550         number of arguments to RANDOM_SEED.
551         * intrinsic.c (add_subroutines): Add a resolution function to
552         RANDOM_SEED.
553         * iresolve.c (gfc_resolve_random_seed): New function.
554         * intrinsic.h (gfc_resolve_random_seed): New prototype.
555
556 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
557
558         PR fortran/32860
559         * error.c (error_uinteger): New function.
560         (error_integer): Call error_uinteger.
561         (error_print): Handle %u, %lu, %li and %ld format specifiers.
562         * interface.c (compare_actual_formal): Use the new %lu specifier.
563
564 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
565
566         PR fortran/31629
567         * lang.opt (-fmodule-private): New option.
568         * gfortran.h (gfc_option_t): Add flag_module_private member.
569         * invoke.texi (-fmodule-private): Document the new option.
570         * module.c (gfc_check_access): Allow the -fmodule-private option
571         to modify the default behaviour.
572         * options.c (gfc_init_options): Initialize flag_module_private.
573         (gfc_handle_option): Handle -fmodule-private.
574
575 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
576
577         PR fortran/29600
578         * intrinsic.c (add_functions): Add KIND arguments to COUNT,
579         IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND
580         and VERIFY.
581         * iresolve.c (gfc_resolve_count): Add kind argument.
582         (gfc_resolve_iachar): New function.
583         (gfc_resolve_ichar): Add kind argument.
584         (gfc_resolve_index_func): Likewise.
585         (gfc_resolve_lbound): Likewise.
586         (gfc_resolve_len): Likewise.
587         (gfc_resolve_len_trim): Likewise.
588         (gfc_resolve_scan): Likewise.
589         (gfc_resolve_size): New function.
590         (gfc_resolve_ubound): Add kind argument.
591         (gfc_resolve_verify): Likewise.
592         * trans-decl.c (gfc_get_extern_function_decl): Allow specific
593         intrinsics to have 4 arguments.
594         * check.c (gfc_check_count): Add kind argument.
595         (gfc_check_ichar_iachar): Likewise.
596         (gfc_check_index): Likewise.
597         (gfc_check_lbound): Likewise.
598         (gfc_check_len_lentrim): New function.
599         (gfc_check_scan): Add kind argument.
600         (gfc_check_size): Likewise.
601         (gfc_check_ubound): Likewise.
602         (gfc_check_verify): Likewise.
603         * intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR,
604         INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY.
605         * simplify.c (get_kind): Whitespace fix.
606         (int_expr_with_kind): New function.
607         (gfc_simplify_iachar): Add kind argument.
608         (gfc_simplify_iachar): Likewise.
609         (gfc_simplify_ichar): Likewise.
610         (gfc_simplify_index): Likewise.
611         (simplify_bound_dim): Likewise.
612         (simplify_bound): Likewise.
613         (gfc_simplify_lbound): Likewise.
614         (gfc_simplify_len): Likewise.
615         (gfc_simplify_len_trim): Likewise.
616         (gfc_simplify_scan): Likewise.
617         (gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size.
618         (gfc_simplify_size): Add kind argument.
619         (gfc_simplify_ubound): Likewise.
620         (gfc_simplify_verify): Likewise.
621         * intrinsic.h: Update prototypes and add new ones.
622         * trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into
623         gfc_conv_intrinsic_index_scan_verify.
624         (gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove.
625         (gfc_conv_intrinsic_function): Call
626         gfc_conv_intrinsic_index_scan_verify to translate the INDEX,
627         SCAN and VERIFY intrinsics.
628
629 2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
630
631         PR fortran/31189
632         * invoke.texi (-fbacktrace): Document the new behaviour.
633
634 2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
635
636         PR fortran/32937
637         * trans-array.c (gfc_conv_expr_descriptor): Use
638         gfc_conv_const_charlen to generate backend_decl of right type.
639         * trans-expr.c (gfc_conv_expr_op): Use correct return type.
640         (gfc_build_compare_string): Use int type instead of default
641         integer kind for single character comparison.
642         (gfc_conv_aliased_arg): Give backend_decl the right type.
643         * trans-decl.c (gfc_build_intrinsic_function_decls): Make
644         compare_string return an int.
645
646 2007-08-11  Ian Lance Taylor  <iant@google.com>
647
648         * f95-lang.c (gfc_get_alias_set): Change return type to
649         alias_set_type.
650
651 2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
652
653         PR fortran/31270
654         * trans.c (gfc_trans_runtime_check): Reorder arguments and
655         add extra variable arguments. Hand them to the library function.
656         * trans.h (gfc_trans_runtime_check): Update prototype.
657         * trans-array.c (gfc_trans_array_bound_check): Issue more
658         detailled error messages.
659         (gfc_conv_array_ref): Likewise.
660         (gfc_conv_ss_startstride): Likewise.
661         (gfc_trans_dummy_array_bias): Reorder arguments to
662         gfc_trans_runtime_check.
663         * trans-expr.c (gfc_conv_substring): Issue more detailled
664         error messages.
665         (gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check.
666         * trans-stmt.c (gfc_trans_goto): Likewise.
667         * trans-io.c (set_string): Reorder arguments to
668         gfc_trans_runtime_check and issue a more detailled error message.
669         * trans-decl.c (gfc_build_builtin_function_decls): Make
670         runtime_error and runtime_error_at handle a variable number of
671         arguments.
672         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments
673         to gfc_trans_runtime_check.
674         (gfc_conv_intrinsic_minmax): Likewise.
675         (gfc_conv_intrinsic_repeat): Issue more detailled error messages.
676
677 2007-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
678
679         * gfortranspec.c (lang_specific_driver): Use CONST_CAST.
680         * options.c (gfc_post_options): Likewise.
681         * parse.c (parse_omp_structured_block): Likewise.
682         * st.c (gfc_free_statement): Likewise.
683
684 2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
685
686         PR fortran/32933
687         * trans-decl.c (gfc_build_builtin_function_decls): Change
688         prototype for associated.
689         * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the
690         result of __builtin_isnan into a boolean.
691         (gfc_conv_intrinsic_strcmp): Cleanup.
692         (gfc_conv_associated): Convert the result of the associated
693         function into a boolean.
694
695 2007-08-09  Tobias Burnus  <burnus@net-b.de>
696
697         PR fortran/32987
698         * io.c (format_token): Add FMT_ERROR.
699         (next_char_not_space): Print error/warning when
700         '\t' are used in format specifications.
701         (format_lex): Propagate error.
702         (check_format): Ditto.
703
704 2007-08-09  Tobias Burnus  <burnus@net-b.de>
705
706         PR fortran/33001
707         * arith.c (arith_error): Point in the error message
708         to -fno-range-check.
709
710 2007-08-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
711
712         PR fortran/32902
713         * intrinsic.texi (SIZEOF): Add mention to C_SIZE_T.
714
715 2007-08-06  Christopher D. Rickett  <crickett@lanl.gov>
716
717         PR fortran/32732
718         * trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and
719         actual arg expressions for scalar characters passed by-value to
720         bind(c) routines.
721         (gfc_conv_function_call): Call gfc_conv_scalar_char_value.
722         * trans.h: Add prototype for gfc_conv_scalar_char_value.
723         * trans-decl.c (generate_local_decl): Convert by-value character
724         dummy args of bind(c) procedures using
725         gfc_conv_scalar_char_value.
726
727 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
728
729         PR fortran/30947
730         * iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name
731         with the kind of the STATUS argument.
732
733 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
734
735         PR fortran/30948
736         * intrinsic.c (add_functions): Fix name of argument to CHDIR.
737
738 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
739
740         PR fortran/30933
741         * iresolve.c (gfc_resolve_exit): Convert argument to default
742         integer kind.
743
744 2007-08-06  Daniel Franke  <franke.daniel@gmail.com>
745
746         * resolve.c (derived_pointer): Removed, replaced callers by access 
747         to appropiate attribute bit.
748         (derived_inaccessable): Shortcut recursion depth.
749         (resolve_fl_namelist): Fixed checks for private components in namelists.
750
751 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
752
753         PR fortran/29828
754         * trans.h (gfor_fndecl_string_minmax): New prototype.
755         * trans-decl.c (gfor_fndecl_string_minmax): New variable.
756         (gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax.
757         * check.c (gfc_check_min_max): Allow for character arguments.
758         * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function.
759         (gfc_conv_intrinsic_function): Add special case for MIN and MAX
760         intrinsics with character arguments.
761         * simplify.c (simplify_min_max): Add simplification for character
762         arguments.
763
764 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
765
766         PR fortran/31612
767         * invoke.texi: Adjust documentation for option -fsyntax-only.
768
769 2007-08-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
770             Tobias Burnus  <burnus@gcc.gnu.org>
771
772         PR fortran/32979
773         * intrinsic.h (gfc_check_isnan): Add prototype.
774         * gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN.
775         * intrinsic.c (add_functions): Add ISNAN intrinsic.
776         * check.c (gfc_check_isnan): New function.
777         * trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function.
778         (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan
779         to translate ISNAN.
780         * intrinsic.texi: Document ISNAN.
781
782 2007-08-04  Paul Thomas  <pault@gcc.gnu.org>
783
784         PR fortran/31214
785         * symbol.c (get_unique_symtree): Moved from module.c.
786         * module.c (get_unique_symtree): Moved to symbol.c.
787         * decl.c (get_proc_name): Transfer the typespec from the local
788         symbol to the module symbol, in the case that an entry is also
789         a module procedure.  Ensure the local symbol is cleaned up by
790         pointing to it with a unique symtree.
791
792         * dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL.
793
794 2008-08-04  Steven G. Kargl  <kargl@gcc.gnu.org>
795
796         PR fortran/32969
797         * iresolve.c (gfc_resolve_rrspacing): Convert argument(s) to
798         expected KIND.
799         (gfc_resolve_scale): Ditto.
800         (gfc_resolve_set_exponent): Ditto.
801         (gfc_resolve_spacing): Ditto.
802  
803         PR fortran/32968
804         * trans-intrinsic.c (gfc_conv_intrinsic_si_kind,
805         gfc_conv_intrinsic_sr_kind): Convert the argument(s) to the
806         expected KIND, and fold the result to the expected KIND.
807
808 2007-08-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
809
810         PR fortran/31202
811         * f95-lang.c (gfc_init_builtin_functions): Defin builtins for 
812         lround{f,,l} and llround{f,,l}.
813         * trans-intrinsic.c (build_fix_expr): Generate calls to the
814         {l,}round{f,,l} functions.
815
816 2007-08-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
817
818         PR libfortran/32954
819         * intrinsic.c (resolve_mask_arg):  New function.
820         (gfc_resolve_maxloc):  Use resolve_mask_arg for mask resolution.
821         (gfc_resolve_maxval):  Likewise.
822         (gfc_resolve_minloc):  Likewise.
823         (gfc_resolve_minval):  Likewise.
824         (gfc_resolve_pack):  Likewise.
825         (gfc_resolve_product):  Likewise.
826         (gfc_resolve_sum):  Likewise.
827         (gfc_resolve_unpack):  Likewise.
828
829 2007-08-01  Tobias Burnus  <burnus@net-b.de>
830
831         PR fortran/32936
832         * match.c (gfc_match_allocate): Better check that STAT is
833         a variable.
834
835         * check.c (gfc_check_allocated): Reorder checks to improve
836         error message.
837
838 2007-08-01  Nick Clifton  <nickc@redhat.com>
839
840         * arith.c: Change copyright header to refer to version 3 of the
841         GNU General Public License and to point readers at the COPYING3
842         file and the FSF's license web page.
843         * openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c,
844         symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h,
845         matchexp.c, dump-parse-tree.c, trans-common.c, array.c,
846         Make-lang.in, trans-openmp.c, gfortran.h, error.c,
847         iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c,
848         expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c,
849         trans-types.c, trans.h, gfortranspec.c, trans-types.h,
850         lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c,
851         iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c,
852         match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c,
853         parse.h, types.def, convert.c, dependency.h, primary.c,
854         trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise.
855
856 2007-08-01  Daniel Franke  <franke.daniel@gmail.com>
857
858         * trans-decl.c (generate_local_decl): Emit warning on unused parameter
859         on "-Wall -Wextra" or "-Wunused-parameter" but not on "-Wall", changed
860         messages that start with lower case to upper case.
861         * invoke.texi (-Wparameter-unused): Document differences between gcc
862         and gfortran regarding this option.
863
864 2007-08-01  Daniel Franke  <franke.daniel@gmail.com>
865
866         PR fortran/32945
867         * expr.c (check_specification_function): Skip check if no symtree 
868         is available.
869
870 2007-08-01  Paul Thomas  <pault@gcc.gnu.org>
871
872         PR fortran/31609
873         * resolve.c (resolve_entries): Entries declared to be module
874         procedures must point to the function namespace.
875
876 2007-07-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
877
878         PR fortran/32938
879         * trans-stmt.c (gfc_trans_return): Convert to correct type.
880
881 2007-07-31  Steven G. Kargl  <kargl@gcc.gnu.org>
882
883         PR fortran/32942
884         * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Convert to correct
885         type.
886
887 2007-07-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
888
889         * invoke.texi: Document -fsign-zero flag.
890
891 2007-07-29  Paul Thomas  <pault@gcc.gnu.org>
892
893         PR fortran/31211
894         * trans-expr.c (gfc_conv_expr_reference): Add block for case of
895         scalar pointer functions so that NULL result is correctly
896         handled.
897
898         PR fortran/32682
899         * trans-array.c (gfc_trans_array_constructor): On detecting a
900         multi-dimensional parameter array, set the loop limits.
901
902 2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
903
904         PR fortran/32906
905         * resolve.c (resolve_fl_parameter): Check for constant shape arrays,
906         adjusted error message.
907
908 2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
909
910         * invoke.texi: Removed -w from option summary.
911
912 2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
913
914         PR fortran/32879
915         * intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm
916         used for random number generator.
917
918 2007-07-28  Kazu Hirata  <kazu@codesourcery.com>
919
920         * gfortran.h, interface.c, resolve.c, symbol.c: Fix comment
921         typos.
922         * intrinsic.texi, invoke.texi: Fix typos.
923
924 2007-07-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
925
926         PR fortran/31609
927         * resolve.c (generic_sym): Check for a same symbol and if so, return to
928         avoid infinite recursion.
929
930 2007-07-28  Daniel Franke  <franke.daniel@gmail.com>
931
932         PR fortran/31818
933         PR fortran/32876
934         PR fortran/32905
935         * gfortran.h (symbol_attribute): Added bits for pointer_comp, 
936         private_comp.
937         * parse.c (parse_derived): Set pointer_comp/private_comp bits if 
938         the derived type ultimately contains pointer components or private 
939         components.
940         * module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP.
941         (attr_bits): Added names for new ab_attributes.
942         (mio_symbol_attribute): Save/restore new attribute bits in modules.
943         * match.c (gfc_match_namelist): Removed check for namelist objects
944         of assumed shape.
945         * resolve.c (resolve_fl_namelist): Added check for pointer or
946         private components in nested types. Added check for namelist objects
947         of assumed shape.
948
949 2007-07-28  Paul Thomas  <pault@gcc.gnu.org>
950
951         PR fortran/32880
952         * trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order
953         for lse and rse pre expressions, for derived types with
954         allocatable components.  Instead, assign the lhs to a temporary
955         and deallocate after the assignment.
956
957 2007-07-28  Janne Blomqvist  <jb@gcc.gnu.org>
958
959         PR fortran/32909
960         * trans-stmt.c (gfc_trans_character_select): Replace occurrences
961         of gfc_c_int_type_node with integer_type_node.
962         * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
963         (gfc_build_builtin_function_decls): Likewise.
964         (gfc_generate_function_code): Likewise.
965         * trans-io.c (gfc_build_io_library_fndecls): Likewise.
966
967 2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>
968
969         * trans-decl.c (gfc_build_builtin_function_decls): Use existing
970         gfc_array_index_type rather than creating another typenode for
971         gfc_index_integer_kind.
972
973 2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>
974
975         * trans-io.c (gfc_build_io_library_fndecls): Change to use
976         gfc_array_index_type for array descriptor triplets instead of
977         gfc_int4_type_node.
978
979 2007-07-26  Steven G. Kargl  <kargl@gcc.gnu.org>
980
981         PR fortran/32899
982         * resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison.
983
984 2007-07-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
985             Daniel Franke  <franke.daniel@gmail.com>
986
987         PR fortran/32760
988         * primary.c (match_variable): Do not call gfc_add_flavor if symbol has
989         attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.
990
991 2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
992
993         PR fortran/32035
994         * trans-stmt.c (gfc_trans_character_select): Replace the
995         mechanism with labels by a SWITCH_EXPR.
996         * trans-decl.c (gfc_build_builtin_function_decls): Change
997         return type for select_string.
998
999 2007-07-27  Paul Thomas  <pault@gcc.gnu.org>
1000
1001         PR fortran/32903
1002         * trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
1003         derived types as referenced, if they have the the default
1004         initializer set.
1005
1006 2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1007
1008         * gfortran.h (generate_isocbinding_symbol): Constify.
1009         * symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
1010         generate_isocbinding_symbol): Likewise.
1011
1012 2007-07-24  Paul Thomas  <pault@gcc.gnu.org>
1013
1014         PR fortran/31205
1015         PR fortran/32842
1016         * trans-expr.c (gfc_conv_function_call): Remove the default
1017         initialization of intent(out) derived types.
1018         * symbol.c (gfc_lval_expr_from_sym): New function.
1019         * matchexp.c (gfc_get_parentheses): Return argument, if it is
1020         character and posseses a ref.
1021         * gfortran.h : Add prototype for gfc_lval_expr_from_sym.
1022         * resolve.c (has_default_initializer): Move higher up in file.
1023         (resolve_code): On detecting an interface assignment, check
1024         if the rhs and the lhs are the same symbol.  If this is so,
1025         enclose the rhs in parenetheses to generate a temporary and
1026         prevent any possible aliasing.
1027         (apply_default_init): Remove code making the lval and call
1028         gfc_lval_expr_from_sym instead.
1029         (resolve_operator): Give a parentheses expression a type-
1030         spec if it has no type.
1031         * trans-decl.c (gfc_trans_deferred_vars): Apply the a default
1032         initializer, if any, to an intent(out) derived type, using
1033         gfc_lval_expr_from_sym and gfc_trans_assignment.  Check if
1034         the dummy is present.
1035
1036 2007-07-24  Daniel Franke  <franke.daniel@gmail.com>
1037
1038         PR fortran/32867
1039         * expr.c (check_init_expr): Simplify matched functions.
1040
1041 2007-07-24  Daniel Franke  <franke.daniel@gmail.com>
1042
1043         PR fortran/32778
1044         * intrinsic.c (add_sym): Do not exclude any symbols, even if not part
1045         of the selected standard.
1046         (make generic): Likewise.
1047         (make alias): Likewise, set standard the alias belongs to.
1048         (add_subroutines): Call make_noreturn unconditionally.
1049         (check_intrinsic_standard): Change return value to try.
1050         (gfc_intrinsic_func_interface): Check return value of above function.
1051         (gfc_intrinsic_sub_interface): Likewise.
1052
1053 2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
1054
1055         PR fortran/30814
1056         * trans-decl.c (generate_function_code):  Add argument
1057         for flag_bounds_check to the array for set_options.
1058         * invoke.texi (-fbounds-check): Document new libarary run-time
1059         behaviour.
1060
1061 2007-07-23  Daniel Franke  <franke.daniel@gmail.com>
1062
1063         PR fortran/25104
1064         PR fortran/31639
1065         * expr.c (check_transformational): Reject valid transformational
1066         intrinsics to avoid ICE.
1067         (check_inquiry): Report error for assumed character lengths for
1068         all supported standards.
1069         (check_init_expr): Whitespace fix.
1070
1071 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
1072
1073         PR fortran/32797
1074         PR fortran/32800
1075         * decl.c (verify_bind_c_sym): Use the result symbol for functions
1076         with a result clause.  Warn if implicitly typed.  Verify the type
1077         and rank of the SHAPE argument, if given.
1078         * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
1079         check the actual args against the formal, sorting them if
1080         necessary.
1081         * symbol.c (gen_shape_param): Initialize type of SHAPE param to
1082         BT_VOID.
1083
1084 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
1085
1086         PR fortran/32732
1087         * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
1088         value character dummy args of BIND(C) procedures.
1089         * trans-expr.c (gfc_conv_variable): Do not build address
1090         expression for BT_CHARACTER dummy args.
1091
1092 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
1093             Tobias Burnus  <burnus@net-b.de>
1094
1095         PR fortran/32600
1096         * trans-expr.c (gfc_conv_function_call): Handle c_funloc.
1097         * trans-types.c: Add pfunc_type_node.
1098         (gfc_init_types,gfc_typenode_for_spec): Use it.
1099         * resolve.c (gfc_iso_c_func_interface): Fix whitespace and
1100         improve error message.
1101
1102 2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
1103
1104         PR fortran/32710
1105         * parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if
1106         the current is a namelist.
1107
1108 2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
1109
1110         PR fortran/29962
1111         PR fortran/31253
1112         PR fortran/31265
1113         PR fortran/31639
1114         * gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure,
1115         generic, specific, actual_ok, noreturn into bits of a bitfield, 
1116         added bits for inquiry, transformational, conversion.
1117         * check.c (non_init_transformational): Removed, removed all callers.
1118         * intrinsic.c (enum class): New.
1119         (add_sym*): Replaced argument elemetal by enum class. Changed all
1120         callers.
1121         (add_functions): Assign appropriate classes to intrinsic functions.
1122         (add_subroutines): Assign appropriate classes to intrinsic subroutines.
1123         (add_conv): Set conversion attribute.
1124         (gfc_init_expr_extensions): Removed, removed all callers.
1125         (gfc_intrinsic_func_interface): Reimplemented check for non-standard
1126         initializatione expressions.
1127         * expr.c (check_specification_function): New.
1128         (gfc_is_constant_expr): Added check for specification functions.
1129         (check_init_expr_arguments): New.
1130         (check_inquiry): Changed return value to MATCH, added checks for
1131         inquiry functions defined by F2003.
1132         (check_transformational): New.
1133         (check_null): New.
1134         (check_elemental): New.
1135         (check_conversion): New.
1136         (check_init_expr): Call new check functions, add more specific error
1137         messages.
1138
1139 2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
1140
1141         PR fortran/32627
1142         * resolve.c (set_name_and_label): Set kind number for character
1143         version of c_f_pointer.
1144         (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
1145         that of the actual SHAPE arg.
1146         * symbol.c (gen_shape_param): Initialize kind for SHAPE arg.
1147
1148 2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
1149
1150         PR fortran/32801
1151         * symbol.c (generate_isocbinding_symbol): Remove unnecessary
1152         conditional.
1153
1154         PR fortran/32804
1155         * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
1156         deferred-shape arrays as args to C_LOC.  Fix bug in testing
1157         character args to C_LOC.
1158
1159 2007-07-21  Lee Millward  <lee.millward@gmail.com>
1160
1161         PR fortran/32823
1162         * trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all
1163         arguments passed, not just the first one. Adjust code to 
1164         refer to "args[0]" instead of "arg" as a result.
1165         
1166 2007-07-19  Christopher D. Rickett  <crickett@lanl.gov>
1167
1168         PR fortran/32600
1169         * trans-expr.c (gfc_conv_function_call): Inline C_LOC.
1170
1171 2007-07-18  Christopher D. Rickett  <crickett@lanl.gov>
1172
1173         PR fortran/32801
1174         * symbol.c (generate_isocbinding_symbol): Fix bug where
1175         ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed
1176         ISOCBINDING_PTR.
1177
1178 2007-07-17  Janus Weil  <jaydub66@gmail.com> 
1179
1180         PR fortran/32535
1181         * resolve.c (resolve_fl_namelist): Check for namelist private 
1182         components in contained subprograms.
1183
1184 2007-07-17  Paul Thomas  <pault@gcc.gnu.org>
1185
1186         PR fortran/31320
1187         PR fortran/32665
1188         * trans-expr.c (gfc_trans_subcomponent_assign): Ensure that
1189         renormalization unity base is done independently of existing
1190         lbound value.
1191         (gfc_trans_scalar_assign): If rhs is not a variable, put
1192         lse->pre after rse->pre to ensure that de-allocation of lhs
1193         occurs after evaluation of rhs.
1194
1195 2007-07-16  Lee Millward  <lee.millward@gmail.com>
1196
1197         PR fortran/32222
1198         PR fortran/32238
1199         PR fortran/32242        
1200         * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
1201         to operate on a stack allocated array for the intrinsic arguments
1202         instead of creating a TREE_LIST. Add two new parameters for the
1203         array and the number of elements. Update all callers to allocate
1204         an array of the correct length to pass in. Update comment.
1205         (gfc_intrinsic_argument_list_length): New function.
1206         (gfc_conv_intrinsic_conversion): Call it.
1207         (gfc_conv_intrinsic_mnimax): Likewise.
1208         (gfc_conv_intrinsic_merge): Likewise.
1209         (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
1210         constructors.
1211         (gfc_conv_intrinsic_cmplx): Likewise.
1212         (gfc_conv_intrinsic_ctime): Likewise.
1213         (gfc_covn_intrinsic_fdate): Likewise.
1214         (gfc_conv_intrinsic_ttynam): Likewise.
1215         (gfc_conv_intrinsic_ishftc): Likewise.
1216         (gfc_conv_intrinsic_index): Likewise.
1217         (gfc_conv_intrinsic_scan): Likewise.
1218         (gfc_conv_intrinsic_verify): Likewise.
1219         (gfc_conv_intrinsic_trim): Likewise.
1220         (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
1221         (gfc_conv_intrinsic_exponent): Likewise.
1222         (gfc_conv_intrinsic_bound): Likewise.
1223         (gfc_conv_intrinsic_abs): Likewise.
1224         (gfc_conv_intrinsic_mod): Likewise.
1225         (gfc_conv_intrinsic_sign): Likewise.
1226         (gfc_conv_intrinsic_len): Likewise.
1227         (gfc_conv_intrinsic_adjust): Likewise.
1228         (gfc_conv_intrinsic_si_kind): Likewise. 
1229         
1230 2007-07-16  Janne Blomqvist  <jb@gcc.gnu.org>
1231
1232         PR fortran/32748
1233         * trans-decl.c (gfc_build_builtin_function_decls): Remove
1234         DECL_IS_MALLOC attribute from internal_realloc, thus reverting
1235         part of my 2007-07-03 patch.
1236
1237 2007-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1238             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1239
1240         PR fortran/32611
1241         * gfortran.h (gfc_option_t): Add flag_sign_zero field.
1242         * lang.opt (-fsign-zero): New option.
1243         * trans.h: Rename gfor_fndecl_set_std into gfor_fndecl_set_options.
1244         * trans-decl.c (gfc_build_builtin_function_decls): Build the function
1245         declaration to pass an array containing the options to be used by the
1246         runtime library. (gfc_generate_function_code): Build an array that
1247         contains option values to be passed to the runtime library and the call
1248         to the function. 
1249         * options.c (gfc_init_options): Initialize the flag_sign_zero field.
1250         (gfc_handle_option): Handle the -fsign-zero option.
1251
1252 2007-07-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1253
1254         PR fortran/32036
1255         * trans-array.c (gfc_conv_array_ref): Only evaluate index once.
1256
1257 2007-07-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1258
1259         PR fortran/32357
1260         * iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS
1261         to C int.
1262
1263 2007-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1264
1265         PR libfortran/32731
1266         * iresolve.c(gfc_resolve_pack):  A scalar mask has
1267         to be kind=4, an array mask with kind<4 is converted
1268         to gfc_default_logical_kind automatically.
1269         (gfc_resolve_unpack):  Convert mask to gfc_default_lotical_kind
1270         if it has a kind<4.
1271
1272 2007-07-14  Paul Thomas  <pault@gcc.gnu.org>
1273
1274         PR fortran/32724
1275         * parse.c (parse_spec): Emit error on unexpected statement
1276         function.
1277
1278 2007-07-13  Daniel Franke  <franke.daniel@gmail.com>
1279
1280         * invoke.texi: Unified upper- and lower-case in menus.
1281         (-w, -W): Removed, documented by gcc.
1282         * intrinsic.texi: Unified Class-section entries, added
1283         subroutine/function warning where appropiate.
1284
1285 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
1286
1287         PR fortran/31639
1288         * decl.c (gfc_match_suffix): Removed surplus general error that hides
1289         a more specific message.
1290         * resolve.c (resolve_fl_variable): Reject illegal initializiers only
1291         if not already done.
1292         (resolve_fl_procedure): Added check for initializers of functions.
1293
1294 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
1295
1296         PR fortran/32704
1297         * invoke.texi (-static-libgfortran): Document new option.
1298
1299 2007-07-12  Paul Thomas  <pault@gcc.gnu.org>
1300
1301         PR fortran/32634
1302         PR fortran/32727
1303         * module.c (write_generic): Restore patch of 2007-07-10 and use
1304         symbol name if there are no use names. 
1305
1306 2007-07-12  Christopher D. Rickett  <crickett@lanl.gov>
1307
1308         PR fortran/32599
1309         * decl.c (verify_c_interop_param): Require character string dummy
1310         args to BIND(C) procedures to have length 1.
1311         * resolve.c (resolve_fl_procedure): Modify parameter checking for
1312         BIND(C) procedures.
1313
1314         PR fortran/32601
1315         * resolve.c (gfc_iso_c_func_interface): Verify that a valid
1316         expression is given as an argument to C_LOC and C_ASSOCIATED.
1317         * trans-io.c (transfer_expr): Add argument for code block.  Add
1318         standards check to determine if an error message should be
1319         reported for printing C_PTR or C_FUNPTR.
1320         (transfer_array_component): Update arguments to transfer_expr.
1321         (gfc_trans_transfer): Ditto.
1322
1323         * symbol.c (gen_cptr_param): Fix whitespace.
1324
1325 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
1326
1327         PR fortran/32550
1328         * trans.h (GFC_POINTER_TYPE_P): Define.
1329         * trans-types.c (gfc_sym_type): Set it for types on attr->sym.pointer.
1330         * trans-openmp.c (gfc_omp_privatize_by_reference): Return false
1331         if GFC_POINTER_TYPE_P is set on the type.
1332
1333 2007-07-12  Richard Guenther  <rguenther@suse.de>
1334
1335         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Convert
1336         arguments to gfc_charlen_type_node.
1337         * trans-io.c (gfc_convert_array_to_string): Convert type
1338         size to gfc_array_index_type.
1339
1340 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
1341
1342         PR fortran/32634
1343         PR fortran/32727
1344         * module.c: Reverted Paul's patch from 2007-07-10.
1345
1346 2007-07-11  Richard Guenther  <rguenther@suse.de>
1347
1348         * trans-array.c (gfc_conv_array_parameter): Use correct
1349         types for comparison.
1350         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
1351         correct types for POINTER_PLUS_EXPR.
1352         * trans-stmt.c (gfc_trans_forall_loop): Use correct type
1353         for integer one constant.
1354
1355 2007-07-10  Paul Thomas  <pault@gcc.gnu.org>
1356
1357         PR fortran/32157
1358         * resolve.c (is_external_proc): New function.  Adds test that
1359         the symbol is not an intrinsic procedure.
1360         * (resolve_function, resolve_call): Replace logical statements
1361         with call to is_external_proc.
1362
1363         PR fortran/32689
1364         * simplify.c (gfc_simplify_transfer): If mold has rank, the
1365         result is an array.
1366
1367         PR fortran/32634
1368         * module.c (write_generic): Write the local name of the
1369         interface. 
1370
1371 2007-07-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1372
1373         PR fortran/29459
1374         * trans-array.c (gfc_trans_array_constructor): Mark offset field
1375         with TREE_NO_WARNING.
1376         * trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound,
1377         stride and size variables with TREE_NO_WARNING.
1378
1379 2007-07-09  Steven G. Kargl  <kargl@gcc.gnu.org>
1380
1381         * trans-decl.c (set_tree_decl_type_code): Remove function.
1382         (generate_local_decl): Remove reference to set_tree_decl_type_code.
1383
1384 2007-07-09  Daniel Franke  <franke.daniel@gmail.com>
1385
1386         PR fortran/31129
1387         * trans-decl.c (generate_local_decl) Emit a warning if an unused
1388         parameter is found.
1389
1390 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
1391
1392         PR fortran/29876
1393         * module.c (gfc_match_use): Do not set an non-existant 
1394         intrinsic operator if a user-defined operator is found.
1395
1396 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
1397
1398         PR fortran/24784
1399         PR fortran/28004
1400         * trans-decl.c (generate_local_decl): Adjusted warning on unused 
1401         dummy arguments, tell middle-end not to emit additional warnings.
1402
1403 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
1404             Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
1405
1406         PR fortran/17711
1407         * gfortran.h (gfc_intrinsic_op): Added INTRINSIC_EQ_OS,
1408         INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS, 
1409         INTRINSIC_LT_OS and INTRINSIC_LE_OS.
1410         * arith.c (eval_intrinsic, eval_type_intrinsic0): Likewise.
1411         * arith.h (gfc_eq, gfc_ne, gfc_gt, gfc_ge, gfc_lt, gfc_le):
1412         Added gfc_intrinsic_op as third argument type.
1413         * dump-parse-tree.c (gfc_show_expr): Account for new enum values.
1414         * expr.c (simplify_intrinsic_op, check_intrinsic_op): Likewise.
1415         * interface.c (check_operator_interface): Likewise.
1416         (gfc_check_interfaces): Added cross-checks for FORTRAN 77 and 
1417         Fortran 90 style operators using new enum values.
1418         (gfc_extend_expr): Likewise.
1419         (gfc_add_interface): Likewise.
1420         * match.c (intrinsic_operators): Distinguish FORTRAN 77 style
1421         operators from Fortran 90 style operators using new enum values.
1422         * matchexp.c (match_level_4): Account for new enum values.
1423         * module.c (mio_expr): Likewise.
1424         * resolve.c (resolve_operator): Deal with new enum values, fix
1425         inconsistent error messages.
1426         * trans-expr.c (gfc_conv_expr_op): Account for new enum values.
1427
1428 2007-07-08  Tobias Burnus  <burnus@net-b.de>
1429
1430         PR fortran/32669
1431         * interface.c (get_expr_storage_size): Properly obtain lower bound.
1432         (compare_actual_formal): Add space before parenthesis.
1433
1434 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
1435
1436         PR fortran/25094
1437         * resolve.c (resolve_fl_procedure): Added check for PRIVATE types 
1438         in PUBLIC interfaces.
1439
1440 2007-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1441
1442         PR fortran/32644
1443         * decl.c (match_attr_spec): Don't return MATCH_ERROR if comma found and
1444         gfc_match_bind_c does not return MATCH_YES.
1445
1446 2007-07-07  Kazu Hirata  <kazu@codesourcery.com>
1447
1448         * decl.c, gfortran.h, interface.c, module.c, resolve.c,
1449         trans-array.c, trans-decl.c: Fix comment typos.  Follow
1450         spelling conventions.
1451         * intrinsic.texi: Fix typos.  Follow spelling conventions.
1452
1453 2007-05-06  Daniel Franke  <franke.daniel@gmail.com>
1454
1455         PR fortran/32633
1456         * symbol.c (save_status): New.
1457         * gfortran.h (save_status): Added external declaration.
1458         (check_conflict): Check for conflicting explicite SAVE statements
1459         only.
1460         (gen_special_c_interop_ptr): Use SAVE_EXPLICIT constant.
1461         * module.c (ab_attribute, attr_bits): Removed enumerator value 
1462         AB_SAVE for save attribute.
1463         (mio_symbol_attribute): Import/export the full SAVE status, 
1464         removed usage of AB_SAVE.
1465         * dump-parse-tree.c (gfc_show_attr): Dump full SAVE status.
1466         * decl.c (add_init_expr_to_sym): Set SAVE_IMPLICIT only if not
1467         already explicit.
1468
1469 2007-07-05  Daniel Franke  <franke.daniel@gmail.com>
1470             Tobias Burnus  <burnus@net-b.de>
1471
1472         PR fortran/32359
1473         * gfortran.h (symbol_attribute): Change save attribute into an enum.
1474         * decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT.
1475         * symbol.c (gfc_add_save): Check for SAVE_EXPLICIT.
1476         * resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT.
1477         (resolve_symbol): Allow OMP threadprivate with
1478         initialization SAVEd and save_all variable.
1479         * trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check.
1480
1481 2007-07-05  Paul Thomas  <pault@gcc.gnu.org>
1482
1483         PR fortran/32526
1484         * match.c (gfc_match_call): Check, in all cases, that a symbol
1485         is neither generic nor a subroutine before trying to add it as
1486         a subroutine.
1487
1488         PR fortran/32613
1489         * match.c (gfc_match_do): Reset the implied_index attribute.
1490
1491 2007-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1492
1493         PR fortran/31198
1494         * trans-intrinsic.c (trans-intrinsic.c): Handle optional
1495         arguments correctly for MIN and MAX intrinsics.
1496
1497 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1498
1499         PR fortran/32545
1500         * io.c (check_format): Always call gfc_error for errors.
1501         (check_format_string): Change type of this function to try and
1502         return the result of check_format.
1503         (check_io_constraints): Return MATCH_ERROR if check_format_string
1504         returns FAILURE.
1505
1506 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1507
1508         PR fortran/32612
1509         * decl.c (get_proc_name): Include attr->mod_proc in check for error.
1510
1511 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1512
1513         PR fortran/32432
1514         * gfortran.h: Change type of gfc_assign_data_value from void to try.
1515         * data.c (gfc_assign_data_value): Return FAILURE if error found.
1516         * resolve.c (check_data_variable): If gfc_assign_data_value returns
1517         failure, break out of loop and return failure.
1518
1519 2007-07-03  Christopher D. Rickett  <crickett@lanl.gov>
1520
1521         PR fortran/32579
1522         * symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if necessary.
1523         (build_formal_args): Pass intrinsic module symbol id to
1524         gen_cptr_param.
1525
1526 2007-07-03  Tobias Burnus  <burnus@net-b.de>
1527
1528         PR fortran/25062
1529         * resolve.c (resolve_common_blocks): New check function.
1530         (resolve_types): Use it.
1531
1532 2007-07-03  Tobias Burnus  <burnus@net-b.de>
1533
1534         PR fortran/30940
1535         * interface.c (get_sym_storage_size): New function.
1536         (get_sym_storage_size): New function.
1537         (compare_actual_formal): Enhance sequence association
1538         support and improve checking.
1539
1540 2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>
1541
1542         * trans-decl.c (gfc_build_builtin_function_decls): Mark
1543         internal_realloc as a malloc function.
1544
1545 2007-07-03  Tobias Burnus  <burnus@net-b.de>
1546
1547         PR fortran/20888
1548         * resolve.c (resolve_operator): Check for NULL as operand.
1549
1550 2007-07-02  Tobias Burnus  <burnus@net-b.de>
1551
1552         * gfortran.texi (Fortran 2003): Add ISO Bind C.
1553         * intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER,
1554         C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics.
1555
1556 2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>
1557
1558         * interface.c (gfc_compare_derived_types): Special case for comparing
1559         derived types across namespaces.
1560         (gfc_compare_types): Deal with BT_VOID.
1561         (compare_parameter): Use BT_VOID to accept ISO C Binding pointers.
1562         * trans-expr.c (gfc_conv_function_call): Remove setting parm_kind
1563         to SCALAR
1564         (gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and 
1565         NULL_FUNPTR.
1566         (gfc_conv_expr): Convert expressions for ISO C Binding derived types.
1567         * symbol.c (gfc_set_default_type): BIND(C) variables should not be
1568         Implicitly declared.
1569         (check_conflict): Add BIND(C) and check for conflicts.
1570         (gfc_add_explicit_interface): Whitespace.       
1571         (gfc_add_is_bind_c): New function.  
1572         (gfc_copy_attr): Use it.
1573         (gfc_new_symbol): Initialize ISO C Binding objects.
1574         (get_iso_c_binding_dt):  New function.
1575         (verify_bind_c_derived_type): Ditto.
1576         (gen_special_c_interop_ptr): Ditto.
1577         (add_formal_arg): Ditto.
1578         (gen_cptr_param): Ditto.
1579         (gen_fptr_param): Ditto.
1580         (gen_shape_param): Ditto.
1581         (add_proc_interface): Ditto.
1582         (build_formal_args): Ditto.
1583         (generate_isocbinding_symbol):  Ditto.
1584         (get_iso_c_sym):  Ditto.
1585         * decl.c (num_idents_on_line, has_name_equals): New variables.
1586         (verify_c_interop_param): New function.
1587         (build_sym): Finish binding labels and deal with COMMON blocks.
1588         (add_init_expr_to_sym): Check if the initialized expression is
1589         an iso_c_binding named constants
1590         (variable_decl): Set ISO C Binding type_spec components.
1591         (gfc_match_kind_spec): Check match for C interoperable kind.
1592         (match_char_spec): Fix comment. Chnage gfc_match_small_int
1593         to gfc_match_small_int_expr.  Check for C interoperable kind.
1594         (match_type_spec): Clear the current binding label.
1595         (match_attr_spec): Add DECL_IS_BIND_C.  If BIND(C) is found, use it
1596         to set attributes.
1597         (set_binding_label): New function.
1598         (set_com_block_bind_c): Ditto.
1599         (verify_c_interop): Ditto.
1600         (verify_com_block_vars_c_interop): Ditto.
1601         (verify_bind_c_sym): Ditto.
1602         (set_verify_bind_c_sym): Ditto.
1603         (set_verify_bind_c_com_block): Ditto.
1604         (get_bind_c_idents): Ditto.
1605         (gfc_match_bind_c_stmt): Ditto.
1606         (gfc_match_data_decl): Use num_idents_on_line.
1607         (match_result): Deal with right paren in BIND(C).
1608         (gfc_match_suffix): New function.
1609         (gfc_match_function_decl): Use it.  Code is re-arranged to deal with
1610         ISO C Binding result clauses.
1611         (gfc_match_subroutine):  Deal with BIND(C).
1612         (gfc_match_bind_c): New function.
1613         (gfc_get_type_attr_spec): New function.  Code is re-arranged in and
1614         taken from gfc_match_derived_decl.
1615         (gfc_match_derived_decl): Add check for BIND(C).
1616         * trans-common.c: Forward declare gfc_get_common.
1617         (gfc_sym_mangled_common_id): Change arg from 'const char *name' to
1618         'gfc_common_head *com'.  Check for ISO C Binding of the common block.
1619         (build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME.
1620         * gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN
1621         (bt): Add BT_VOID
1622         (sym_flavor): Add FL_VOID.
1623         (iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum
1624         (CInteropKind_t): New struct.
1625         (c_interop_kinds_table): Use it.  Declare an array of structs.
1626         (symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c
1627         bitfields.
1628         (gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members.
1629         (gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and
1630         common_block members.
1631         (gfc_common_head): Add binding_label and is_bind_c members.
1632         (gfc_gsymbol): Add sym_name, mod_name, and binding_label members.
1633         Add prototypes for get_c_kind, gfc_validate_c_kind, 
1634         gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value,
1635         verify_c_interop, verify_c_interop_param, verify_bind_c_sym,
1636         verify_bind_c_derived_type, verify_com_block_vars_c_interop,
1637         generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface
1638         * iso-c-binding.def: New file. This file contains the definitions
1639         of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic
1640         module.
1641         * trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR
1642          or C_NULL_FUNPTR expressions.
1643         * expr.c (gfc_copy_expr): Add BT_VOID case.  For BT_CHARACTER, the
1644         ISO C Binding requires a minimum string length of 1 for '\0'.  
1645         * module.c (intmod_sym): New struct.
1646         (pointer_info): Add binding_label member.
1647         (write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p.
1648         (ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C.
1649         (attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C".
1650         (mio_symbol_attribute): Deal with ISO C Binding attributes.
1651         (bt_types): Add "VOID".
1652         (mio_typespec): Deal with ISO C Binding components.
1653         (mio_namespace_ref): Add intmod variable. 
1654         (mio_symbol): Check for symbols from an intrinsic module.
1655         (load_commons): Check for BIND(C) common block.
1656         (read_module): Read binding_label and use it.
1657         (write_common): Add label.  Write BIND(C) info.
1658         (write_blank_common): Blank commons are not BIND(C).  Explicitly
1659         set is_bind_c=0.
1660         (write_symbol): Deal with binding_label.
1661         (sort_iso_c_rename_list): New function.
1662         (import_iso_c_binding_module): Ditto.
1663         (create_int_parameter): Add to args.
1664         (use_iso_fortran_env_module): Adjust to deal with iso_c_binding
1665         intrinsic module.
1666         * trans-types.c (c_interop_kinds_table): new array of structs. 
1667         (gfc_validate_c_kind): New function.
1668         (gfc_check_any_c_kind): Ditto.
1669         (get_real_kind_from_node): Ditto.
1670         (get_int_kind_from_node): Ditto.
1671         (get_int_kind_from_width): Ditto.
1672         (get_int_kind_from_minimal_width): Ditto.
1673         (init_c_interop_kinds): Ditto.
1674         (gfc_init_kinds): call init_c_interop_kinds.
1675         (gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers.
1676         Adjust handling of BT_DERIVED.
1677         (gfc_sym_type): Whitespace.
1678         (gfc_get_derived_type):  Account for iso_c_binding derived types
1679         * resolve.c (is_scalar_expr_ptr): New function.
1680         (gfc_iso_c_func_interface): Ditto.
1681         (resolve_function): Use gfc_iso_c_func_interface. 
1682         (set_name_and_label): New function.
1683         (gfc_iso_c_sub_interface): Ditto.
1684         (resolve_specific_s0): Use gfc_iso_c_sub_interface.
1685         (resolve_bind_c_comms): New function.
1686         (resolve_bind_c_derived_types): Ditto.
1687         (gfc_verify_binding_labels): Ditto.
1688         (resolve_fl_procedure): Check for ISO C interoperability.
1689         (resolve_symbol): Check C interoperability.
1690         (resolve_types): Walk the namespace.  Check COMMON blocks.
1691         * trans-decl.c (gfc_sym_mangled_identifier):  Prevent the mangling
1692         of identifiers that have an assigned binding label.
1693         (gfc_sym_mangled_function_id): Use the binding label rather than
1694         the mangled name.
1695         (gfc_finish_var_decl): Put variables that are BIND(C) into a common
1696         segment of the object file, because this is what C would do.
1697         (gfc_create_module_variable): Conver to proper types
1698         (set_tree_decl_type_code): New function.
1699         (generate_local_decl): Check dummy variables and derived types for
1700         ISO C Binding attributes.
1701         * match.c (gfc_match_small_int_expr): New function.
1702         (gfc_match_name_C): Ditto.
1703         (match_common_name): Deal with ISO C Binding in COMMON blocks
1704         * trans-io.c (transfer_expr):  Deal with C_NULL_PTR or C_NULL_FUNPTR
1705         expressions
1706         * match.h: Add prototypes for gfc_match_small_int_expr,
1707         gfc_match_name_C, match_common_name, set_com_block_bind_c,
1708         set_binding_label, set_verify_bind_c_sym,
1709         set_verify_bind_c_com_block, get_bind_c_idents,
1710         gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c,
1711         gfc_get_type_attr_spec
1712         * parse.c (decode_statement): Use gfc_match_bind_c_stmt
1713         (parse_derived): Init *derived_sym = NULL, and gfc_current_block
1714         later for valiadation.
1715         * primary.c (got_delim): Set ISO C Binding components of ts.
1716         (match_logical_constant): Ditto.
1717         (match_complex_constant): Ditto.
1718         (match_complex_constant): Ditto.
1719         (gfc_match_rvalue): Check for existence of at least one arg for
1720         C_LOC, C_FUNLOC, and C_ASSOCIATED.
1721         * misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts.
1722         (get_c_kind): New function.
1723
1724 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
1725
1726         PR fortran/32239
1727         * trans-expr.c (gfc_conv_power_op): Use builtin_powi for
1728         real**int4 powers.
1729         * f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the
1730         builtins table.
1731
1732 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
1733
1734         * trans.h: Remove decls for 64-bit allocation functions.
1735         * trans-array.c (gfc_grow_array): Always pick the standard realloc
1736         function decl.
1737         (gfc_array_allocate): Likewise.
1738         * trans-decl.c: Remove trees for 64-bit allocation functions.
1739         (gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
1740         allocations functions, use index_int_type for normal allocation
1741         functions.
1742
1743 2007-06-30  Daniel Franke  <franke.daniel@gmail.com>
1744
1745         PR fortran/20373
1746         * intrinsic.c (add_functions): Additional function types.
1747         (gfc_convert_type_warn): Remove intrinsic-flag from
1748         conversion functions.
1749         * resolve.c (resolve_symbol): Added type checks to 
1750         explicitly defined intrinsics.
1751
1752 2007-06-30  Tobias Burnus  <burnus@net-b.de>
1753
1754         PR fortran/32555
1755         * io.c (check_format): Allow zero to precede the
1756         P edit descriptor.
1757
1758 2007-06-30  Paul Thomas  <pault@gcc.gnu.org>
1759
1760         PR fortran/32472
1761         * simplify.c (gfc_simplify_repeat): Add handling of character
1762         literal for first argument.
1763
1764 2007-06-29  Daniel Franke  <franke.daniel@gmail.com>
1765
1766         * resolve.c (resolve_operator): Added check whether a user
1767         defined operator is available.
1768
1769 2007-06-29  Daniel Franke <franke.daniel@gmail.com>
1770
1771         * openmp.c (resolve_omp_clauses): Adjust error message to
1772         better reflect the actual requirement.
1773
1774 2007-06-29  Tobias Burnus  <burnus@net-b.de>
1775
1776         PR fortran/32483
1777         * io.c (format_lex): Fix FMT_ZERO.
1778         (check_format,check_format_string,gfc_match_format,
1779         check_io_constraints) Additional checking for READ.
1780
1781 2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1782
1783         PR other/31400
1784         * lang.opt (static-libgfortran): New option.
1785         * gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro.
1786         (Option): Add OPTION_static and OPTION_static_libgfortran.
1787         (lookup_option): Handle the new -static-libgfortran option.
1788         (lang_specific_driver): Check whether -static is passed.
1789         Handle the new -static-libgfortran option.
1790         * options.c (gfc_handle_option): If -static-libgfortran is
1791         passed and isn't supported on this configuration, error out.
1792
1793 2007-06-27  Daniel Franke  <franke.daniel@gmail.com>
1794
1795         PR fortran/32467
1796         * openmp.c (resolve_omp_clauses): Emit error on allocatable
1797         components in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE
1798         clauses.
1799
1800 2007-06-25  Paul Thomas  <pault@gcc.gnu.org>
1801
1802         PR fortran/32464
1803         * resolve.c (check_host_association): Return if the old symbol
1804         is use associated.  Introduce retval to reduce the number of
1805         evaluations of the first-order return value.
1806
1807         PR fortran/31494
1808         * match.c (gfc_match_call): If a host associated symbol is not
1809         a subroutine, build a new symtree/symbol in the current name
1810         space.
1811
1812 2007-06-24  Tobias Burnus  <burnus@net-de>
1813
1814         PR fortran/32460
1815         * interface.c (gfc_compare_derived_types): Add access check.
1816         * symbol.c (gfc_find_component): Ditto.
1817         (gfc_set_component_attr,gfc_get_component_attr) Copy access state.
1818         * dump-parse-tree.c (gfc_show_components): Dump access state.
1819         * gfortran.h (struct gfc_component): Add gfc_access.
1820         * module.c (mio_component): Add access state.
1821         * (gfc_match_structure_constructor): Check for private access state.
1822
1823 2007-06-24  Paul Thomas  <pault@gcc.gnu.org>
1824
1825         PR fortran/32298
1826         PR fortran/31726
1827         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
1828         the offset between the loop counter and the position as
1829         defined. Add the offset within the loop so that the mask acts
1830         correctly.  Do not advance the location on the basis that it
1831         is zero.
1832
1833 2007-06-22  Daniel Franke  <franke.daniel@gmail.com>
1834
1835         PR fortran/31473
1836         * symbol.c (gfc_copy_attr): Emit errors for duplicate 
1837         EXTERNAL/INTRINSIC statements.
1838
1839 2007-06-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1840
1841         PR fortran/32360
1842         * expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR,
1843         check to see if the lvalue has attribute pointer and data.  
1844
1845 2007-06-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1846
1847         PR fortran/31162
1848         * resolve.c (gfc_resolve_iterator_expr): Add check for REAL using
1849         gfc_notify_standard. (gfc_resolve_iterator): Remove check.
1850         (resolve_branch): Change "Obsolete" to "Deleted feature".
1851         * io.c (resolve_tag): Ditto.
1852         * match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto.
1853
1854 2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1855
1856         PR fortran/32361
1857         * match.c (gfc_match_common): If the symbol value expression type is
1858         NULL_EXPR, don't error if previously initialized.
1859
1860 2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1861
1862         PR fortran/25061
1863         * decl.c (get_proc_name) Check symbol for generic interface
1864         and issue an error.
1865
1866 2007-06-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1867         Richard Guenther  <rguenther@suse.de>
1868
1869         PR fortran/32140
1870         * trans.c (gfc_build_addr_expr): Use the correct types.
1871
1872 2007-06-19  Paul Thomas  <pault@gcc.gnu.org>
1873
1874         PR fortran/20863
1875         PR fortran/20882
1876         * resolve.c (resolve_code): Use gfc_impure_variable as a
1877         condition for rejecting derived types with pointers, in pure
1878         procedures.
1879         (gfc_impure_variable): Add test for dummy arguments of pure
1880         procedures; any for functions and INTENT_IN for subroutines.
1881
1882         PR fortran/32236
1883         * data.c (gfc_assign_data_value): Change the ICE on an array
1884         reference initializer not being an array into an error and
1885         clear init to prevent a repetition of the error.
1886
1887 2007-06-17  Janne Blomqvist  <jb@gcc.gnu.org>
1888
1889         * gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n
1890         environment variables. Fix documentation for
1891         GFORTRAN_UNBUFFERED_ALL environment variable.
1892
1893 2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1894
1895         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
1896         POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition.
1897         * trans-expr.c (gfc_trans_string_copy): Create
1898         POINTER_PLUS_EXPR instead of a PLUS_EXPR
1899         for pointer types.
1900
1901 2007-06-14  Paul Thomas  <pault@gcc.gnu.org>
1902
1903         PR fortran/32302
1904         * trans-common.c (build_common_decl): If resizing of common
1905         decl is needed, update the TREE_TYPE.
1906
1907 2007-06-13  Tobias Burnus  <burnus@net-b.de>
1908
1909         PR fortran/32323
1910         * interface.c (has_vector_section): New.
1911         (compare_actual_formal): Check for array sections with vector subscript.
1912
1913 2007-06-12  Dirk Mueller  <dmueller@suse.de>
1914
1915         * trans-stmt.c (gfc_trans_call): fix gcc_assert to
1916         a comparison, not an assignment.
1917
1918 2007-06-12  Paul Thomas  <pault@gcc.gnu.org>
1919
1920         * trans-common.c (create_common): Initialize 'field_init'.
1921
1922 2007-06-12  Paul Thomas  <pault@gcc.gnu.org>
1923
1924         PR fortran/29786
1925         PR fortran/30875
1926         * trans-common.c (get_init_field): New function.
1927         (create_common): Call get_init_field for overlapping
1928         initializers in equivalence blocks.
1929         * resolve.c (resolve_equivalence_derived, resolve_equivalence):
1930         Remove constraints on initializers in equivalence blocks.
1931         * target-memory.c (expr_to_char, gfc_merge_initializers):
1932         New functions.
1933         (encode_derived): Add the bit offset to the byte offset to get
1934         the total offset to the field.
1935         * target-memory.h : Add prototype for gfc_merge_initializers.
1936
1937 2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
1938
1939         * trans-types.c (gfc_signed_type): Remove.
1940         * trans-types.h (gfc_signed_type): Remove.
1941         * f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
1942
1943 2007-06-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1944
1945         * trans-intrinsic.c: Revert Lee's 2007-06-04 patch.
1946
1947 2007-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>
1948             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1949
1950         PR fortran/32223
1951         * match.c (gfc_match_special_char): New function.  Match special char.
1952         Add handling '\0'.
1953         * match.h: Add prototype.
1954         * io.c (next_char): Use it.
1955         * primary.c (next_string_char): Ditto.
1956
1957 2007-06-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1958
1959         * decl.c: Miscellaneous whitespace fixes.
1960         * expr.c: Likewise.
1961         * gfortran.h: Likewise.
1962         * interface.c : Likewise.
1963         * io.c: Likewise.
1964         * match.c: Likewise.
1965         * match.h: Likewise.
1966         * module.c: Likewise.
1967         * parse.c: Likewise.
1968         * resolve.c: Likewise.
1969         * symbol.c: Likewise.
1970         * trans-array.c: Likewise.
1971         * trans-common.c: Likewise.
1972         * trans-decl.c: Likewise.
1973         * trans-intrinsic.c: Likewise.
1974         * trans-io.c: Likewise.
1975         * trans-stmt.c: Likewise.
1976         * trans-types.c: Likewise.
1977
1978 2007-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1979
1980         PR fortran/18923
1981         * parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR
1982         for ST_FUNCTION since it is called in reject_statement.
1983         (parse_contained): If error, loop back after reject_statement and try
1984         again.  Free the namespace if an error occured.
1985
1986 2007-06-04 Lee Millward <lee.millward@codesourcery.com>
1987
1988         * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
1989         to operate on a stack allocated array for the intrinsic arguments
1990         instead of creating a TREE_LIST. Add two new parameters for the
1991         array and the number of elements. Update all callers to allocate
1992         an array of the correct length to pass in. Update comment.
1993         (gfc_intrinsic_argument_list_length): New function.
1994         (gfc_conv_intrinsic_mnimax): Call it.
1995         (gfc_conv_intrinsic_merge): Likewise.
1996         (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
1997         constructors.
1998         (gfc_conv_intrinsic_cmplx): Likewise.
1999         (gfc_conv_intrinsic_ctime): Likewise.
2000         (gfc_covn_intrinsic_fdate): Likewise.
2001         (gfc_conv_intrinsic_ttynam): Likewise.
2002         (gfc_conv_intrinsic_ishftc): Likewise.
2003         (gfc_conv_intrinsic_index): Likewise.
2004         (gfc_conv_intrinsic_scan): Likewise.
2005         (gfc_conv_intrinsic_verify): Likewise.
2006         (gfc_conv_intrinsic_trim): Likewise.
2007         (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
2008         (gfc_conv_intrinsic_exponent): Likewise.
2009         (gfc_conv_intrinsic_bound): Likewise.
2010         (gfc_conv_intrinsic_abs): Likewise.
2011         (gfc_conv_intrinsic_mod): Likewise.
2012         (gfc_conv_intrinsic_sign): Likewise.
2013         (gfc_conv_intrinsic_len): Likewise.
2014         (gfc_conv_intrinsic_adjust): Likewise.
2015         (gfc_conv_intrinsic_si_kind): Likewise.
2016
2017 2007-06-04  Steve Ellcey  <sje@cup.hp.com>
2018
2019         * trans-array.c (gfc_conv_array_parameter): Initialize tmp.
2020
2021 2007-05-31  Richard Guenther  <rguenther@suse.de>
2022
2023         * trans-expr.c (gfc_conv_expr_op): Use zero constant
2024         that matches the lse type.
2025         (gfc_trans_string_copy): Use sizetype zero constant.
2026         * intrinsic.c (add_functions): The sizeof intrinsic has
2027         index type result.
2028         * trans-types.c (gfc_get_dtype): Convert size to index
2029         type before shifting.
2030         * trans-array.c (gfc_trans_array_constructor_value): Use
2031         index type for offset computation.
2032         * trans-intrinsic.c (gfc_conv_associated): Use correct type
2033         for zero constant.
2034
2035 2007-05-31  Paul Thomas  <pault@gcc.gnu.org>
2036
2037         PR fortran/32156
2038         * trans-array.c (gfc_trans_array_constructor): Treat the case
2039         where the ss expression charlen is missing.
2040
2041 22007-05-31  Paul Thomas  <pault@gcc.gnu.org>
2042
2043         PR fortran/32103
2044         * module.c (mio_symtree_ref): If an equivalence group member
2045         is not used, give it a hidden symbol and set the pointer_info.
2046         (load_equiv): Only free the equivalence if none of the members
2047         are used.
2048
2049 2007-05-29  Daniel Franke  <franke.daniel@gmail.com>
2050
2051         * gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
2052         added missing GFC_ISYM_* enumerators, ordered alphabetically.
2053         (struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
2054         (gfc_find_subroutine): New prototype.
2055         * intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
2056         (find_subroutine): Renamed to 'gfc_find_subroutine', removed static.  
2057         * dependency.c: Changed usage of isym->generic_id to isym->id.  
2058         * openmp.c: Likewise.  
2059         * resolve.c: Likewise.  
2060         * trans-array.c: Likewise.  
2061         * trans-expr.c: Likewise.  
2062         * trans-intrinsic.c: Likewise.  
2063         * trans-openmp.c: Likewise.
2064
2065 2007-05-28  Tobias Schlüter  <tobi@gcc.gnu.org>
2066
2067         * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF.
2068         * intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic.
2069         * intrinsic.h (gfc_check_sizeof): Add prototype of ...
2070         * check.c (gfc_check_sizeof): .. new function.
2071         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function.
2072         (gfc_conv_intrinsic_strcmp): Whitespace fix.
2073         (gfc_conv_intrinsic_array_transfer): Remove double initialization,
2074         use fold_build. where appropriate.
2075         (gfc_conv_intrinsic_function): Add case for SIZEOF.
2076         * intrinsic.texi: Add documentation for SIZEOF.
2077
2078 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
2079
2080         * trans-array.c (gfc_conv_expr_descriptor): Edit comment.
2081
2082 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
2083
2084         PR fortran/31972
2085         * target-memory.c (gfc_target_expr_size): Add handling
2086         for size of BT_HOLLERITH variables.
2087         * check.c (gfc_check_transfer): Reject BT_HOLLERITH
2088         variables in MOLD argument of TRANSFER.
2089
2090 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
2091
2092         * gfortran.h (gfc_expr): Remove from_H, add "representation"
2093         struct.
2094         * primary.c (match_hollerith_constant): Store the representation
2095         of the Hollerith in representation, not in value.character.
2096         * arith.c: Add dependency on target-memory.h.
2097         (eval_intrinsic): Remove check for from_H.
2098         (hollerith2representation): New function.
2099         (gfc_hollerith2int): Determine value of the new constant.
2100         (gfc_hollerith2real): Likewise.
2101         (gfc_hollerith2complex): Likewise.
2102         (gfc_hollerith2logical): Likewise.
2103         (gfc_hollerith2character): Point both representation.string and
2104         value.character.string at the value string.
2105         * data.c (create_character_initializer): For BT_HOLLERITH
2106         rvalues, get the value from the representation rather than
2107         value.character.
2108         * expr.c (free_expr0): Update handling of BT_HOLLERITH values
2109         and values with representation.string.
2110         (gfc_copy_expr): Likewise.
2111         * intrinsic.c (do_simplify): Remove special treatement of
2112         variables resulting from Hollerith constants.
2113         * dump-parse-trees.c (gfc_show_expr): Update handling of
2114         Holleriths.
2115         * trans-const.c (gfc_conv_constant_to_tree): Replace from_H
2116         check with check for representation.string; get Hollerith
2117         representation from representation.string, not value.character.
2118         * trans-expr.c (is_zero_initializer_p): Replace from_H check
2119         with check for representation.string.
2120         * trans-stmt.c (gfc_trans_integer_select): Use
2121         gfc_conv_mpz_to_tree for case values, so as to avoid picking up
2122         the memory representation if the case is given by a transfer
2123         expression.
2124         * target-memory.c (gfc_target_encode_expr): Use the known memory
2125         representation rather than the value, if it exists.
2126         (gfc_target_interpret_expr): Store the memory representation of
2127         the interpreted expression as well as its value.
2128         (interpret_integer): Move to gfc_interpret_integer, make
2129         non-static.
2130         (interpret_float): Move to gfc_interpret_float, make non-static.
2131         (interpret_complex): Move to gfc_interpret_complex, make
2132         non-static.
2133         (interpret_logical): Move to gfc_interpret_logical, make
2134         non-static.
2135         (interpret_character): Move to gfc_interpret_character, make
2136         non-static.
2137         (interpret_derived): Move to gfc_interpret_derived, make
2138         non-static.
2139         * target-memory.h: Add prototypes for newly-exported
2140         gfc_interpret_* functions.
2141
2142 2007-05-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2143
2144         PR fortran/31812
2145         * parse.c (next_statement): Warn for truncated lines if source is free
2146         form.
2147
2148 2007-05-27 Paul Thomas  <pault@gcc.gnu.org>
2149            Tobias Burnus  <burnus@net-b.de>
2150
2151         PR fortran/32088
2152         * symbol.c (gfc_check_function_type): Copy dimensions of
2153           result variable.
2154         * resolve.c (resolve_contained_fntype): Improve symbol output in
2155           the error message.
2156
2157 2007-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2158
2159         PR fortran/31813
2160         * io.c (check_format): Add warning for H specifier in format.
2161         
2162 2007-05-26  Tobias Burnus  <burnus@net-b.de>
2163
2164         * gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and
2165         GFORTRAN_ERROR_BACKTRACE environment variables.
2166
2167 2007-05-26  Paul Thomas  <pault@gcc.gnu.org>
2168
2169         PR fortran/31219
2170         * trans.h : Add no_function_call bitfield to gfc_se structure.
2171         Add stmtblock_t argument to prototype of get_array_ctor_strlen.
2172         * trans-array.c (get_array_ctor_all_strlen): New function.
2173         (get_array_ctor_strlen): Add new stmtblock_t argument and call
2174         new function for character elements that are not constants,
2175         arrays or variables.
2176         (gfc_conv_array_parameter): Call get_array_ctor_strlen to get
2177         good string length.
2178         * trans-intrinsic (gfc_conv_intrinsic_len): Add new argument
2179         to call of get_array_ctor_strlen.
2180
2181 2007-05-25  Kazu Hirata  <kazu@codesourcery.com>
2182
2183         * intrinsic.texi: Fix typos.
2184
2185 2007-05-25  Paul Thomas  <pault@gcc.gnu.org>
2186
2187         PR fortran/32047
2188         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Change
2189         order in logic under EXPR_FUNCTION to handle functions with
2190         no arguments.
2191
2192 2007-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2193
2194         PR fortran/31716
2195         * array.c (spec_dimen_size): Test for correct BT_INTEGER type. 
2196
2197 2007-05-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2198
2199         PR fortran/32046
2200         * trans-expr.c (gfc_trans_zero_assign): Convert the result of
2201         TYPE_SIZE_UNIT into a signed type.
2202         (gfc_trans_array_copy):  Likewise.
2203         (gfc_trans_array_constructor_copy): Likewise.
2204         * trans-array.c (gfc_trans_create_temp_array): Likewise.
2205         (gfc_grow_array): Likewise.
2206         (gfc_array_init_size): Likewise.
2207         (gfc_duplicate_allocatable): Likewise.
2208         * trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
2209
2210 2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2211
2212         PR fortran/18923
2213         * resolve.c (resolve_function): Don't call resolve_global_procedure if
2214         there is no name. Delete duplicated statement in ELSE clause.
2215
2216 2007-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2217
2218         PR fortran/31627
2219         * trans-array.c (gfc_trans_array_bound_check): Take extra argument to
2220         indicate whether we should check the upper bound in that dimension.
2221         (gfc_conv_array_index_offset): Check only the lower bound of the
2222         last dimension for assumed-size arrays.
2223         (gfc_conv_array_ref): Likewise.
2224         (gfc_conv_ss_startstride): Likewise.
2225
2226 2007-05-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2227             Daniel Franke  <franke.daniel@gmail.com>
2228
2229         PR fortran/32002
2230         * resolve.c (resolve_actual_arglist): Resolve actual argument after
2231         being identified as variable.
2232
2233 2007-05-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2234
2235         PR fortran/32027
2236         * trans-stmt.c (gfc_trans_do): Fix the value of loop variable
2237         when the loop ends.
2238
2239 2007-05-21  H.J. Lu  <hongjiu.lu@intel.com>
2240
2241         * trans-stmt.c (gfc_trans_do): Fix a typo in comment.
2242
2243 2007-05-21  Paul Thomas  <pault@gcc.gnu.org>
2244
2245         PR fortran/31867
2246         PR fortran/31994
2247         * trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
2248         offset for non-descriptor, source arrays and correct for stride
2249         not equal to one before writing to field of output descriptor.
2250
2251 2007-05-20  Daniel Franke  <franke.daniel@gmail.com>
2252
2253         PR fortran/32001
2254         * check.c (check_rest): Improved argument conformance check and 
2255         fixed error message generation.
2256
2257 2007-05-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2258
2259         PR fortran/30820
2260         * Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
2261         simplify.o and trans-common.o.
2262
2263 2007-05-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2264
2265         PR fortran/31974
2266         * trans-array.c (gfc_trans_auto_array_allocation): Avoid
2267         multiplication of mismatched types.
2268
2269 2007-05-18  Daniel Franke  <franke.daniel@gmail.com>
2270
2271         PR fortran/24633
2272         * symbol.c (gfc_add_flavor): Add the NAME to error message if
2273         available.
2274
2275 2007-05-15  Daniel Franke  <franke.daniel@gmail.com>
2276
2277         PR fortran/31919
2278         PR fortran/31929
2279         PR fortran/31930
2280         * intrinsic.c (check_specific): Check elemental intrinsics for
2281         rank and shape.
2282         (add_functions): Fixed dummy argument names of BESJN and BESYN.
2283         Fixed elemental status of MCLOCK and MCLOCK8.
2284         * check.c (check_rest): Added check for array conformance.
2285         (gfc_check_merge): Removed check for array conformance.
2286         (gfc_check_besn): Removed check for scalarity.
2287         * intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos.
2288         (BESJN, BESYN): Clarified documentation.
2289
2290 2007-05-17  Tobias Burnus  <burnus@net-b.de>
2291
2292         * gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
2293
2294 2007-05-16  Brooks Moses  <brooks.moses@codesourcery.com>
2295
2296         PR fortran/18769
2297         PR fortran/30881
2298         PR fortran/31194
2299         PR fortran/31216
2300         PR fortran/31427
2301         * target-memory.c: New file.
2302         * target-memory.h: New file.
2303         * simplify.c: Add #include "target-memory.h".
2304         (gfc_simplify_transfer): Implement constant-
2305         folding for TRANSFER intrinsic.
2306         * Make-lang.in: Add dependencies on new target-memory.* files.
2307
2308 2007-05-15  Paul Brook  <paul@codesourcery.com>
2309
2310         * trans-types.c (gfc_type_for_size): Handle signed TImode.
2311
2312 2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2313
2314         PR fortran/30723
2315         * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
2316         gfor_fndecl_internal_free): Remove prototypes.
2317         (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
2318         * trans.c (gfc_call_malloc, gfc_call_free): New functions.
2319         * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
2320         and __builtin_malloc builtins.
2321         * trans-decl.c (gfor_fndecl_internal_malloc,
2322         gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
2323         (gfor_fndecl_os_error): Add.
2324         (gfc_build_builtin_function_decls): Don't create internal_malloc,
2325         internal_malloc64 and internal_free library function declaration.
2326         Create os_error library call function declaration.
2327         * trans-array.c (gfc_trans_allocate_array_storage,
2328         gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
2329         gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
2330         gfc_call_malloc and gfc_call_free instead of building calls to
2331         internal_malloc and internal_free.
2332         * trans-expr.c (gfc_conv_string_tmp): Likewise.
2333         * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
2334         gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
2335         gfc_trans_where_2: Likewise.
2336         * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
2337         gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
2338         gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
2339
2340 2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2341
2342         PR fortran/31725
2343         * trans-expr.c (gfc_conv_substring): Evaluate substring bounds
2344         only once.
2345
2346 2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
2347
2348         * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
2349         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
2350         instead of gfc_unsigned_type.
2351         * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
2352         gfc_unsigned_type.
2353         * trans-types.c (gfc_unsigned_type): Remove.
2354         * trans-types.h (gfc_unsigned_type): Remove.
2355
2356 2007-05-12  Paul Thomas  <pault@gcc.gnu.org>
2357
2358         PR fortran/30746
2359         * resolve.c (check_host_association): New function that detects
2360         incorrect host association and corrects it.
2361         (gfc_resolve_expr): Call the new function for variables and
2362         functions.
2363         * match.h : Remove prototype for gfc_match_rvalue.
2364         * gfortran.h : Add prototype for gfc_match_rvalue.
2365
2366 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
2367
2368         PR fortran/30876
2369         * trans-expr.c (gfc_conv_function_call): Reduce indirection for
2370         direct assignments of recursive array valued functions.
2371         * primary.c (gfc_match_rvalue): Correct error for recursive
2372         function calls such that directly recursive calls of scalar
2373         function without an explicit result are disallowed.
2374
2375 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
2376
2377         PR fortran/30878
2378         * resolve.c (resolve_fl_namelist): It is not an error if the
2379         namelist element is the result variable of the enclosing
2380         function.  Search for the symbol in current and all parent
2381         namespaces for a potential conflict.
2382         * symbol.c (check_conflict): Remove the conflict between
2383         'in_namelist' and 'FL_PROCEDURE' because the symbol info
2384         is not available to exclude function result variables.
2385         * trans-io.c (nml_get_addr_expr): Use the fake result decl
2386         if the symbol is an implicit result variable.
2387
2388 2007-05-11  Paul Thomas  <pault@gcc.gnu.org>
2389
2390         PR fortran/31474
2391         * decl.c (get_proc_name): If an entry has already been declared
2392         as a module procedure, pick up the symbol and the symtree and
2393         use them for the entry.
2394
2395 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
2396
2397         PR fortran/31630
2398         * resolve.c (resolve_symbol): Remove the flagging mechanism from the
2399         formal namespace resolution and instead check that the formal
2400         namespace is not the current namespace.
2401
2402 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
2403
2404         PR fortran/31692
2405         * trans-array.c (gfc_conv_array_parameter): Convert full array
2406         references to the result of the procedure enclusing the call.
2407
2408 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
2409
2410         PR fortran/29397
2411         PR fortran/29400
2412         * decl.c (add_init_expr_to_sym): Expand a scalar initializer
2413         for a parameter array into an array expression with the right
2414         shape.
2415         * array.c (spec_dimen_size): Remove static attribute.
2416         * gfortran.h : Prototype for spec_dimen_size.
2417
2418 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2419
2420         PR fortran/31399
2421         * trans-stmt.c (gfc_trans_do): Handle large loop counts.
2422
2423 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2424
2425         PR fortran/31764
2426         * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
2427         even for non constant arguments.
2428
2429 2007-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2430             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2431
2432         PR fortran/31201
2433         * gfortran.h: Add runtime error codes from libgfortran.h. Define
2434         MAX_UNIT_NUMBER.
2435         * trans.c (gfc_trans_runtime_check): Update the format of runtime error
2436         messages to match library runtime errors.  Use call to new library
2437         function runtime_error_at().
2438         * trans.h: Add prototype for new function gfc_trans_io_runtime_check.
2439         Add declaration for library functions runtime_error_at and
2440         generate_error.
2441         * trans_io.c (gfc_trans_io_runtime_check): New function.
2442         (set_parameter_value): Add error checking for UNIT numbers.
2443         (set_parameter_ref): Initialize the users variable to zero. 
2444         (gfc_trans_open): Move setting of unit number to after setting of common
2445         flags so that runtime error trapping can be detected.
2446         (gfc_trans_close): Likewise. (build_filepos): Likewise.
2447         (gfc_trans_inquire): Likewise. (build_dt): Likewise.
2448         * trans-decl.c: Add declarations for runtime_error_at and
2449         generate_error. (gfc_build_builtin_function_decls): Build function
2450         declarations for runtime_error_at and generate_error.
2451
2452 2007-05-06  Paul Thomas  <pault@gcc.gnu.org>
2453
2454         PR fortran/31540
2455         * resolve.c (resolve_fl_procedure): Resolve constant character
2456         lengths.
2457
2458 2007-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2459
2460         PR fortran/31251
2461         * decl.c (match_char_spec): Add check for invalid character lengths.
2462
2463 2007-05-04  Brooks Moses  <brooks.moses@codesourcery.com>
2464
2465         * intrinsic.texi (CMPLX): Document result kind.
2466         (COMPLEX): Add documentation.
2467
2468 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
2469
2470         PR fortran/31760
2471         * intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
2472         by gfc_check_fn_r to avoid checks for scalarity.
2473         * check.c (gfc_check_besn): Removed check for scalarity.
2474         (gfc_check_g77_math1): Removed.
2475         * intrinsic.h (gfc_check_g77_math1): Removed.
2476
2477 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
2478
2479         * check.c (gfc_check_fseek_sub): Fixed typo.
2480
2481 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
2482
2483         PR fortran/22359
2484         * intrinsic.c (add_subroutines): Added FSEEK.
2485         * intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
2486         * iresolve.c (gfc_resolve_fseek_sub): New.
2487         * check.c (gfc_check_fseek_sub): New.
2488         * intrinsic.texi (FSEEK): Updated.
2489
2490 2007-05-04  Tobias Burnus  <burnus@net-b.de>
2491
2492         PR fortran/31803
2493         * expr.c (gfc_check_pointer_assign): Check for NULL pointer.
2494
2495 2007-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2496
2497         PR fortran/31251
2498         * simplify.c (gfc_simplify_len): Only simplify integer lengths.
2499
2500 2007-05-04  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2501
2502         PR fortran/31781
2503         * simplify.c (gfc_simplify_repeat): Don't put function call with
2504         side effect in a gcc_assert().
2505
2506 2007-05-04  Tobias Burnus  <burnus@net-b.de>
2507
2508         PR fortran/25071
2509         * interface.c (compare_actual_formal): Check character length.
2510
2511 2007-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
2512
2513         PR fortran/31732
2514         * dependency.c (gfc_full_array_ref_p):  If the reference is
2515         to a single element, check that the array has a single
2516         element and that the correct element is referenced.
2517
2518 2007-05-01  Daniel Franke  <franke.daniel@gmail.com>
2519
2520         * intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
2521         (add_subroutines): Replaced magic numbers in function calls by
2522         ELEMENTAL and NOT_ELEMENTAL respectively.
2523         * intrinsic.texi (MVBITS): Changed class to elemental subroutine.
2524         (RANDOM_NUMBER): Changed class to subroutine.
2525         (HUGE, TINY): Changed class to inquiry function.
2526
2527 2007-04-30  Brooks Moses  <brooks.moses@codesourcery.com>
2528
2529         * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
2530         (gfc_conv_tree_to_mpz): New function.
2531         (gfc_conv_mpfr_to_tree): Use real_from_mpfr.
2532         (gfc_conv_tree_to_mpfr): New function.
2533         * trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
2534         (gfc_conv_tree_to_mpfr): New prototype.
2535
2536 2007-04-30  Daniel Franke  <franke.daniel@gmail.com>
2537
2538         * intrinsic.texi (IERRNO): Changed class to non-elemental function.
2539         (LOG10): Removed COMPLEX as accepted argument type.
2540         (NEW_LINE): Changed class from elemental to inquiry function.
2541         (SIGN): Removed requirement of scalar arguments.
2542         (SNGL): Changed class to elemental function.
2543
2544 2007-04-29  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2545
2546         PR fortran/31591
2547         * simplify.c (simplify_bound_dim): New function.
2548         (simplify_bound): Use the above. Perform simplification of LBOUND
2549         and UBOUND when DIM argument is not present.
2550
2551 2007-04-29  Daniel Franke  <franke.daniel@gmail.com>
2552
2553         * gfortran.texi: Cleaned up keyword index.
2554         * invoke.texi: Likewise.
2555         * intrinsic.texi: Likewise.
2556                         
2557 2007-04-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2558
2559         PR fortran/31645
2560         * scanner.c (load_file): Discard the byte order mark if one is
2561         found on the first non-preprocessor line of a file.
2562
2563 2007-04-29  Paul Thomas  <pault@gcc.gnu.org>
2564
2565         PR fortran/31711
2566         * trans-array.c (gfc_conv_resolve_dependencies): Create a temp
2567         whenever a dependency is found.
2568
2569 2007-04-28  Tobias Schlüter  <tobi@gcc.gnu.org>
2570
2571         * options.c (gfc_handle_option): Ensure requested free form line
2572         length is not too small.
2573
2574 2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
2575
2576         * intrinsic.texi (Transfer): Improve documentation.
2577
2578 2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
2579
2580         * gfortran.texi (Option Index): Add @samp as needed.
2581
2582 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
2583
2584         * gfortran.texi: Added node and menu entry for an option index.
2585         * invoke.texi: Moved command line option related entries of the concept 
2586         index to the option index.
2587
2588 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
2589
2590         * intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
2591         XOR): Fixed examples.
2592
2593 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
2594
2595         * intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM, 
2596         SYSTEM_CLOCK, TRANSFER, UNPACK): New.
2597         (DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
2598
2599 2007-04-26  Daniel Franke  <franke.daniel@gmail.com>
2600
2601         * intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE, 
2602         SIZE, TRANSPOSE, TRIM, VERIFY): New.
2603         (ADJUSTL, ADJUSTR, INDEX): Added cross references.
2604         (INT, INT2, INT8, LONG): Enabled section header.
2605
2606 2007-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
2607
2608         * module.c (module_char): Replace fgetc() with
2609         getc(). 
2610         (write_char): Replace fputc() with putc().
2611         * scanner.c (load_line): Replace fgetc() with getc().
2612         (gfc_read_orig_filename): Likewise.
2613
2614 2007-04-25  Tobias Burnus  <burnus@net-b.de>
2615
2616         PR fortran/31668
2617         * error.c (error_print): Fix %% support.
2618         * intrinsic.c (sort_actual): Improve error message.
2619         * resolve.c (resolve_actual_arglist): Allow %VAL for
2620         interfaces defined in the module declaration part.
2621
2622 2007-04-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2623
2624         PR libfortran/31299
2625         * intrinsic.texi (GETLOG): Update documentation to reflect
2626         library changes.
2627
2628 2007-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2629
2630         PR fortran/31587
2631         * module.c (write_char): Add character to the MD5 buffer.
2632         (read_md5_from_module_file): New function.
2633         (gfc_dump_module): Compute MD5 for new module file. Call
2634         read_md5_from_module_file. Only overwrite old module file
2635         if the new MD5 is different.
2636
2637 2007-04-23  Paul Thomas  <pault@gcc.gnu.org>
2638
2639         PR fortran/31630
2640         * resolve.c (resolve_symbol): Allow resolution of formal
2641         namespaces nested within formal namespaces coming from modules.
2642
2643         PR fortran/31620
2644         * trans-expr.c (gfc_trans_assignment): Make the call to
2645         gfc_trans_zero_assign conditional on the lhs array ref being
2646         the only reference.
2647
2648 2007-04-23  Tobias Burnus  <burnus@net-b.de>
2649
2650         * primary.c (match_integer_constant): Mention -fno-range-check
2651         in the error message.
2652
2653 2007-04-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2654
2655         PR fortran/31495
2656         * scanner.c (load_line):  Remove check for comment after ampersand and
2657         adjust tracking of ampersand.
2658
2659 2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2660
2661         * f95-lang.c (lang_tree_node): Use GENERIC_NEXT
2662         instead of checking GIMPLE_STMT_P in chain_next.
2663
2664 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
2665
2666         * trans-types.h (gfc_packed): New enum.
2667         (gfc_get_nodesc_array_type): Change prototype to use new enum.
2668         * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
2669         argument packed.  Adapt all references to values accordingly.
2670         (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
2671         (gfc_get_derived_type): Likewise.
2672         * trans-array.c (gfc_build_constant_array_constructor): Likewise.
2673         * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
2674         argument to type gfc_packed.
2675         (gfc_add_interface_mapping): Use enum values in call to
2676         gfc_get_interface_mapping.
2677         * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
2678         values when determining packing.
2679
2680         * trans-decl.c (gfc_finish_decl): Remove unused second argument
2681         'init'.  Simplify code accordingly.  Remove calls to
2682         gfc_fatal_error in favor of gcc_assert.
2683         (create_function_arglist): Remove second argument from calls to
2684         gfc_finish-decl.
2685         (gfc_trans_dummy_character): Likewise.
2686
2687         * arith.h: Update copyright years.
2688         * dependency.h: Likewise.
2689         * gfortran.h: Likewise.
2690         * lang-specs.h: Likewise.
2691         * parse.h: Likewise.
2692         * symbol.c: Likewise.
2693         * trans.h: Likewise.
2694         * trans.c: Likewise.
2695         * trans-array.c: Likewise.
2696         * trans-common.c: Likewise.
2697         * trans-const.h: Likewise.
2698         * trans-const.c: Likewise.
2699         * trans-decl.c: Likewise.
2700         * trans-expr.c: Likewise.
2701         * trans-io.c: Likewise.
2702         * trans-openmp.c: Likewise.
2703         * trans-types.h: Likewise.
2704         * types.def: Likewise.
2705
2706 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
2707
2708         PR fortran/31144
2709         * decl.c (gfc_sym_mangled_identifier): Use capital letters in name
2710         mangling.
2711         (gfc_sym_mangled_function_id): Likewise.
2712
2713 2007-04-15  Paul Thomas  <pault@gcc.gnu.org>
2714
2715         PR fortran/31204
2716         * primary.c (check_for_implicit_index): New function to check
2717         that a host associated variable is not an undeclared implied
2718         do loop index.
2719         (gfc_match_rvalue, match_variable): Use it and reset the
2720         implied_index attribute.
2721         * gfortran.h : Add the implied_index field to symbol_attribute.
2722         * match.c (gfc_match_iterator): Mark the iterator variable
2723         with the new attribute.
2724         * decl.c (build_sym): Reset the new attribute.
2725
2726 2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
2727
2728         * gfc-internals.texi: Fix typos.
2729         * simplify.c: Fix a comment typo.
2730
2731 2007-04-14  Bernhard Fischer  <aldot@gcc.gnu.org>
2732
2733         * primary.c: Commentary typo fix; Add question about redundant (?)
2734         set.
2735
2736 2007-04-14  Paul Thomas  <pault@gcc.gnu.org>
2737
2738         PR fortran/29507
2739         PR fortran/31404
2740         * expr.c (scalarize_intrinsic_call): New function to
2741         scalarize elemental intrinsic functions in initialization
2742         expressions.
2743         (check_init_expr): Detect elemental intrinsic functions
2744         in initalization expressions and call previous.
2745
2746 2007-04-13  Tobias Burnus  <burnus@net-b.de>
2747
2748         PR fortran/31559
2749         * primary.c (match_variable): External functions
2750         are no variables.
2751
2752 2007-04-13  Paul Thomas  <pault@gcc.gnu.org>
2753
2754         PR fortran/31550
2755         * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
2756         derived type components.
2757
2758 2007-04-13  Tobias Schlüter  <tobi@gcc.gnu.org>
2759
2760         PR fortran/18937
2761         * resolve.c: Include obstack.h and bitmap.h.  New variable
2762         labels_obstack.
2763         (code_stack): Add tail and reachable_labels fields.
2764         (reachable_labels): New function.
2765         (resolve_branch): Rework to use new fields in code_stack.
2766         (resolve_code): Call reachable_labels.
2767         (resolve_codes): Allocate and free labels_obstack.
2768
2769 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
2770
2771         PR fortran/31250
2772         * decl.c (match_char_spec): Move check for negative CHARACTER
2773         length ...
2774         * resolve.c (resolve_charlen): ... here.
2775         (resolve_types): Resolve CHARACTER lengths earlier.
2776
2777 2007-04-12  Daniel Franke  <franke.daniel@gmail.com>
2778
2779         PR fortran/31234
2780         * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
2781
2782 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
2783
2784         PR fortran/31266
2785         * primary.c (gfc_variable_attr): Don't copy string length if it
2786         doesn't make sense.
2787         * resolve.c (resolve_code): Clarify error message.
2788
2789         PR fortran/31471
2790         * decl.c (gfc_match_end): Also check for construct name in END
2791         FORALL and END WERE statements.
2792         * match.c (match_case_eos): Use uppercase for statement name in
2793         error message.
2794         (match_elsewhere): Construct name may appear iff construct has a
2795         name.
2796
2797         * trans-types.c: Update copyright years.  Reformat long comment
2798         explaining array descriptor format.  Remove obsolete mention of
2799         TYPE_SET.
2800
2801         * arith.c (gfc_arith_uplus): Rename to ...
2802         (gfc_arith_identity): ... this.
2803         (gfc_parentheses): New function.
2804         (gfc_uplus): Adapt to renamed function.
2805         * arith.h (gfc_parentheses): Add prototype.
2806         * expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
2807         (simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
2808         INTRINSIC_PARENTHESES.
2809
2810 2007-04-12  Tobias Burnus  <burnus@net-b.de>
2811
2812         PR fortran/31472
2813         * decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
2814         attribute in type definitions.
2815         (gfc_match_private): Allow PRIVATE statement only
2816         in specification part of modules.
2817         (gfc_match_public): Ditto for PUBLIC.
2818         (gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
2819         specificification part of modules.
2820
2821 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2822
2823         PR fortran/31257
2824         * intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
2825         * intrinsic.h : Add prototype for gfc_resolve_achar.
2826         * iresolve.c (gfc_resolve_achar): New function.
2827
2828 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2829
2830         PR fortran/30880
2831         * resolve.c (resolve_fl_variable): Set flag to 2 for automatic
2832         arrays.  Make condition for automatic array error explicit.
2833         If a dummy, no error on an INTENT(OUT) derived type.
2834
2835 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2836
2837         PR fortran/30872
2838         * expr.c (find_array_element): Correct arithmetic for rank > 1.
2839
2840 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2841
2842         PR fortran/31222
2843         * check.c (numeric_check): If an expresson has not got a type,
2844         see if it is a symbol for which a default type applies.
2845
2846 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2847
2848         PR fortran/31214
2849         * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
2850         associated symbols.
2851
2852 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2853
2854         PR fortran/31293
2855         * symbol.c (gfc_check_function_type): New function.
2856         * gfortran.h : Add prototype for previous.
2857         * parse.c (parse_progunit): Call it after parsing specification
2858         statements.
2859
2860 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
2861
2862         PR fortran/31483
2863         * trans-expr.c (gfc_conv_function_call): Give a dummy
2864         procedure the correct type if it has alternate returns.
2865
2866 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
2867
2868         PR fortran/31292
2869         * decl.c (gfc_match_modproc): Go up to the top of the namespace
2870         tree to find the module namespace for gfc_get_symbol.
2871
2872 2007-04-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2873
2874         PR fortran/31304
2875         * fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
2876         * fortran/trans-types.c (gfc_charlen_int_kind): New variable.
2877         (gfc_init_types): Define gfc_charlen_int_kind. 
2878         * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
2879         * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
2880         (gfc_build_intrinsic_function_decls): Don't set
2881         gfor_fndecl_string_repeat.
2882         * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
2883         so that we don't have to call a library function.
2884         * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
2885         checks on the NCOPIES argument, and work with arbitrary size
2886         arguments.
2887
2888 2007-03-31  Tobias Burnus  <burnus@net-b.de>
2889
2890         * intrinsic.c (add_functions): Fix name of dummy argument
2891           for new_line and exit intrinsic.
2892
2893 2007-03-31  Paul Thomas  <pault@gcc.gnu.org>
2894
2895         PR fortran/31160
2896         * gfortran.texi: Add a section for the %VAL, %REF and %LOC
2897         extensions.
2898
2899 2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
2900
2901         * trans-types.c (gfc_signed_or_unsigned_type): Remove.
2902         (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
2903         gfc_signed_or_unsigned_type.
2904         (gfc_signed_type): Ditto.
2905         * trans-types.h (gfc_signed_or_unsigned_type): Remove.
2906         * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
2907
2908 2007-03-30  Tobias Schlüter  <tobi@gcc.gnu.org>
2909
2910         * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
2911         descend into all branches.
2912
2913 2007-03-29  Tobias Schlüter  <tobi@gcc.gnu.org>
2914
2915         * intrinsic.c (conv_name): Let gfc_get_string handle the format.
2916         (find_conv): Compare pointers instead of calling strcmp.
2917         (find_sym): Likewise, but ensure that the compared pointer is in
2918         the global string table.
2919
2920 2007-03-28  Tobias Schlüter  <tobi@gcc.gnu.org>
2921
2922         * gfc-internals.texi: Fix output filename.  Merge type index into
2923         concept index.  Start documentation of gfc_code structure.
2924
2925 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
2926
2927         * gfc-internals.texi: New file,
2928         * Make-lang.in: Add rules to convert it to dvi, pdf, and info.
2929
2930 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
2931  
2932         * error.c (show_locus): Remove always-false test.
2933
2934 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
2935
2936         * lang.opt: Minor edits to descriptions.
2937
2938 2007-03-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2939
2940         PR fortran/30877
2941         * fortran/interface.c (check_operator_interface): Implement
2942         the standard checks on user operators extending intrinsic operators.
2943         * fortran/resolve.c (resolve_operator): If the ranks of operators
2944         don't match, don't error out but try the user-defined ones first.
2945
2946 2007-03-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2947
2948         PR fortran/30655
2949         * expr.c (check_dimension): Fix logic of comparisons.
2950
2951 2007-03-24  Paul Thomas  <pault@gcc.gnu.org>
2952
2953         PR fortran/31215
2954         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
2955         int result that is non-zero if the expression is the function
2956         result.  Only the characteristics of the result expression
2957         can be used in a procedure interface, so simplify LEN in situ
2958         using its character length.
2959
2960         PR fortran/31209
2961         PR fortran/31200
2962         * trans-expr.c (gfc_conv_function_call): Do not use
2963         gfc_conv_expr_reference for actual pointer function with formal
2964         target because a temporary is created that does not transfer
2965         the reference correctly.  Do not indirect formal pointer
2966         functions since it is the function reference that is needed.
2967
2968 2007-03-24  Brooks Moses  <brooks.moses@codesourcery.com>
2969
2970         * gfortran.h: Edit comments on GFC_STD_*.
2971
2972 2007-03-23  Brooks Moses  <brooks.moses@codesourcery.com>
2973
2974         * invoke.texi: Misc. small typo fixes.
2975         (-Wcharacter-truncation): Add.
2976         (-Wnonstd-intrinsics): Correct spelling.
2977         (-std=): Edit.
2978         (-fintrinsic-modules-path): Add.
2979
2980 2007-03-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2981
2982         PR fortran/30834
2983         * arith.c (complex_pow): Rewrite to handle large power.
2984         (gfc_arith_power): Handle large power in the real and integer
2985         cases.
2986
2987 2007-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2988
2989         PR fortran/31262
2990         * trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
2991         larger than twice the width of a HOST_WIDE_INT.
2992
2993 2006-03-22  Paul Thomas  <pault@gcc.gnu.org>
2994
2995         PR fortran/31193
2996         * trans-intrinsic.c (gfc_size_in_bytes): Remove function.
2997         (gfc_conv_intrinsic_array_transfer): Remove calls to previous.
2998         Explicitly extract TREE_TYPEs for source and mold.  Use these
2999         to calculate length of source and mold, except for characters,
3000         where the se string_length is used.  For mold, the TREE_TYPE is
3001         recalculated using gfc_get_character_type_len so that the
3002         result is correctly cast for character literals and substrings.
3003         Do not use gfc_typenode_for_spec for the final cast.
3004
3005 2007-03-22  Tobias Schlüter  <tobi@gcc.gnu.org>
3006
3007         PR fortran/20897
3008         * decl.c (gfc_match_derived_decl): Reliably reject
3009         'doubleprecision' and 'doublecomplex' as type names.
3010
3011 2007-03-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3012
3013         PR fortran/31203
3014         * trans-expr.c (gfc_trans_init_string_length): Length should
3015         never be negative.
3016         (gfc_conv_function_call): Likewise.
3017
3018 2007-03-18  Paul Thomas  <pault@gcc.gnu.org>
3019
3020         PR fortran/30531
3021         PR fortran/31086
3022         * symbo.c : Add gfc_derived_types.
3023         (gfc_free_dt_list): Free derived type list gfc_derived_types.
3024         (gfc_free_namespace): Remove call to gfc_free_dt_list.
3025         (gfc_symbol_done_2): Call  gfc_free_dt_list.
3026         * gfortran.h : Declare gfc_derived_types to be external. Remove
3027         derived types field from gfc_namespace.
3028         * resolve.c (resolve_fl_derived): Refer to gfc_derived types
3029         rather than namespace derived_types.
3030         (resolve_fntype): Remove special treatment for module
3031         derived type functions.
3032         * trans-types.c (gfc_get_derived_type): Remove search for like
3033         derived types.  Finish by copying back end declaration to like
3034         derived types in the derived type list gfc_derived_types.
3035
3036         2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3037
3038         PR fortran/31120
3039         * trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
3040         (gfc_conv_cst_int_power): Handle integer exponent with care,
3041         since it might be too large for us.
3042
3043 2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3044
3045         PR fortran/31184
3046         * invoke.texi: Fix typo.
3047
3048 2007-03-16  Tobias Burnus  <burnus@net-b.de>
3049
3050         * trans-decl.c (gfc_generate_function_code): Use all arguments of
3051           set_std.
3052
3053 2007-03-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3054
3055         * gfortran.h (gfc_option_t): Add flag_backtrace field.
3056         * lang.opt: Add -fbacktrace option.
3057         * invoke.texi: Document the new option.
3058         * trans-decl.c (gfc_build_builtin_function_decls): Add new
3059         option to the call to set_std.
3060         * options.c (gfc_init_options, gfc_handle_option): Handle the
3061         new option.
3062
3063 2007-03-15  Tobias Burnus  <burnus@gcc.gnu.org>
3064             Paul Thomas  <pault@gcc.gnu.org>
3065
3066         PR fortran/30922
3067         * decl.c (gfc_match_import): If the parent of the current name-
3068         space is null, try looking for an imported symbol in the parent
3069         of the proc_name interface.
3070         * resolve.c (resolve_fl_variable): Do not check for blocking of
3071         host association by a same symbol, if the symbol is in an
3072         interface body.
3073
3074 2007-03-15  Paul Thomas  <pault@gcc.gnu.org>
3075
3076         PR fortran/30879
3077         * decl.c (match_data_constant): Before going on to try to match
3078         a name, try to match a structure component.
3079
3080
3081         PR fortran/30870
3082         * resolve.c (resolve_actual_arglist): Do not reject a generic
3083         actual argument if it has a same name specific interface.
3084
3085         PR fortran/31163
3086         * trans-array.c (parse_interface): Do not nullify allocatable
3087         components if the symbol has the saved attribute.
3088
3089 2007-03-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3090
3091         * trans-array.c (gfc_trans_auto_array_allocation): Replace
3092         fold(convert()) by fold_convert().
3093         (gfc_duplicate_allocatable): Likewise.
3094         * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
3095         build_int_cst instead of converting an integer_zero_node
3096         to the final type.
3097
3098 2007-03-14  Jakub Jelinek  <jakub@redhat.com>
3099
3100         * module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
3101
3102 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
3103
3104         PR fortran/30933
3105         PR fortran/30948
3106         PR fortran/30953
3107         * intrinsics.texi (CHDIR): Fix argument names, note
3108         that STATUS must be a default integer.
3109         (CTIME): Fix argument names, note that RESULT must
3110         be a default integer.
3111         (EXIT): Note that STATUS must be a default integer.
3112
3113 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
3114
3115         PR fortran/28068
3116         * intrinsic.texi: General whitespace cleanup, remove
3117         comment about missing intrinsics.
3118         (menu): Add lines for new entries listed below.
3119         (ACOSH): Mention specific function DACOSH, correct
3120         description phrasing.
3121         (ASINH): Mention specific function DASINH, correct
3122         description phrasing.
3123         (ATANH): Mention specific function DATANH, correct
3124         description phrasing.
3125         (COS): Add index entry for CCOS.
3126         (CPU_TIME): Correct "REAL" to "REAL(*)".
3127         (EXP): Add index entry for CEXP.
3128         (INT): Correct argument name to "A".
3129         (INT2): New entry.
3130         (INT8): New entry.
3131         (LONG): New entry.
3132         (MAX): Add index entries for specific variants.
3133         (MCLOCK): New entry.
3134         (MCLOCK8): New entry.
3135         (SECNDS): Adjust to a more standard form.
3136         (SECOND): New entry.
3137         (TIME): Add cross-reference to MCLOCK.
3138         (TIME8): Add cross-reference to MCLOCK8.
3139
3140 2007-03-11  Paul Thomas  <pault@gcc.gnu.org>
3141
3142         PR fortran/30883
3143         * parse.c (parse_interface): Use the default types from the
3144         formal namespace if a function or its result do not have a type
3145         after parsing the specification statements.
3146
3147 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
3148
3149         * intrinsic.texi: (ICHAR) Improve internal I/O note.
3150         (ACHAR): Reference it.
3151         (CHAR): Reference it.
3152         (IACHAR): Reference it.
3153
3154 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
3155
3156         * intrinsic.texi: (LINK) Document function form.
3157         (RENAME): Likewise.
3158         (SYMLNK): Likewise.
3159         (SYSTEM): Likewise.
3160         (UNLINK): Likewise.
3161
3162 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
3163
3164         * intrinsic.texi: minor typo fixes, removed prologue.
3165         (FSEEK): moved to correct place in alphabetical order.
3166
3167 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
3168
3169         PR fortran/30947
3170         * check.c (gfc_check_alarm_sub): Added check for default integer 
3171         kind of status argument.
3172         * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of 
3173         status argument.
3174         * intrinsic.texi (ALARM): Extended documentation.
3175
3176 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
3177
3178         * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
3179         (ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
3180         * intrinsic.c (add_subroutines): Adjusted dummy argument names 
3181         of GERROR and TTYNAM.
3182
3183 2007-07-08  Tobias Burnus  <burnus@net-b.de>
3184
3185         * module.c (gfc_match_use): Support renaming of operators
3186         in USE statements.
3187         * gfortran.texi (Fortran 2003 Status): Document support of
3188         renaming of operators.
3189
3190 2007-07-08  Tobias Burnus  <burnus@net-b.de>
3191
3192         PR fortran/30973
3193         * module.c (read_module): Always import module name as symbol.
3194         (gfc_match_use): Disallow module name in the only clause of
3195         a use statement.
3196
3197 2007-03-08  Paul Thomas  <pault@gcc.gnu.org>
3198
3199         PR fortran/31011
3200         * expr.c (find_array_section): Correct arithmetic for section
3201         size.
3202
3203 2007-03-07  Brooks Moses  <brooks.moses@codesourcery.com>
3204
3205         * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
3206
3207 2007-03-06  Daniel Franke  <franke.daniel@gmail.com>
3208
3209         PR documentation/30950
3210         * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
3211         (FREE): Fix call syntax.
3212
3213 2007-03-06  Brooks Moses  <brooks.moses@codesourcery.com>
3214
3215         * intrinsic.texi: Limit column widths to a total of .85.
3216
3217 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
3218
3219         * gfortran.texi (GFortran and G77): Rewrite completely.
3220
3221 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
3222
3223         * match.c (gfc_match_name): Expanded comment.
3224
3225 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
3226
3227         * gfortran.texi (Old-style kind specifications): Document
3228         special handling of old-style kind specifiers for COMPLEX.
3229         * decl.c (gfc_match_old_kind_spec): Document kind/bytesize
3230         assumptions for COMPLEX in comment.
3231
3232 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
3233
3234         PR 31050
3235         * gfortranspec.c (lang_specific_driver): Update program
3236         name and copyright date.
3237
3238 2007-03-03  Paul Thomas  <pault@gcc.gnu.org>
3239
3240         PR fortran/30882
3241         * check.c (dim_rank_check): The shape of subsections of
3242         assumed-size arrays is known.
3243
3244 2007-03-02  Paul Thomas  <pault@gcc.gnu.org>
3245             Tobias Burnus  <burnus@net-b.de>
3246
3247         PR fortran/30873
3248         * decl.c (gfc_match_entry): Remove erroneous entry result check.
3249
3250 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
3251
3252         * Make-lang.in: Add install-pdf target as copied from
3253         automake v1.10 rules.
3254
3255 2007-03-01  Tobias Burnus  <burnus@net-b.de>
3256
3257         PR fortran/30865
3258         * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
3259
3260 2007-02-28  Tobias Burnus  <burnus@net-b.de>
3261             Paul Thomas  <pault@gcc.gnu.org>
3262
3263         PR fortran/30888
3264         PR fortran/30887
3265         * resolve.c (resolve_actual_arglist): Allow by-value
3266         arguments and non-default-kind for %VAL().
3267         * trans-expr.c (conv_arglist_function): Allow
3268         non-default-kind for %VAL().
3269
3270 2007-02-28  Tobias Burnus  <burnus@net-b.de>
3271
3272         PR fortran/30968
3273         * primary.c (next_string_char): Correct reading a character
3274         after the delimiter.
3275         (match_string_constant): Print warning message only once.
3276
3277 2007-02-27  Richard Guenther  <rguenther@suse.de>
3278
3279         * trans-array.c (structure_alloc_comps): Use correct type
3280         for null pointer constant.
3281
3282 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
3283
3284         * gfortran.texi: Standardize title page, remove version number
3285         from copyright page.
3286
3287 2007-02-26  Thomas Koenig  <Thomas.Koenig@online.de>
3288             Paul Thomas  <pault@gcc.gnu.org>
3289
3290         PR fortran/30865
3291         * trans-intrinsic.c (gfc_conv_intrinsic_size):
3292         If dim is an optional argument, check for its
3293         presence and call size0 or size1, respectively.
3294
3295 2007-02-23  Paul Thomas <pault@gcc.gnu.org>
3296
3297         PR fortran/30660
3298         * resolve.c (has_default_initializer): New function.
3299         (resolve_fl_variable): Call has_default_initializer to determine if
3300         the derived type has a default initializer to its ultimate
3301         components.
3302
3303
3304 2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3305
3306         * options.c (set_default_std_flags): New function to consolidate
3307         setting the flags.
3308         (gfc_init_options): Use new function.
3309         (gfc_handle_option): Use new function.
3310
3311 2007-02-22  Brooks Moses  <brooks.moses@codesourcery.com>
3312
3313         * gfortran.texi (Old-style kind specifications): Document
3314         special handling of old-style kind specifiers for COMPLEX.
3315         * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
3316         assumptions in comment.
3317
3318 2007-02-21  Bernhard Fischer  <aldot@gcc.gnu.org>
3319
3320         * parse.c (next_free): Gooble spaces after OpenMP sentinel.
3321
3322 2007-02-20  Thomas Koenig  <Thomas.Koenig@online.de>
3323
3324         PR fortran/30869
3325         * match.c (gfc_match_iterator): Remove conflict between
3326         loop variable and pointer.
3327
3328 2007-02-20  Tobias Burnus  <burnus@net-b.de>
3329
3330         PR fortran/30522
3331         * symbol.c (gfc_add_volatile): Allow to set VOLATILE
3332           attribute for host-associated variables.
3333         * gfortran.h (symbol_attribute): Save namespace
3334           where VOLATILE has been set.
3335         * trans-decl.c (gfc_finish_var_decl): Move variable
3336           declaration to the top.
3337
3338 2007-02-20  Tobias Burnus  <burnus@net-b.de>
3339
3340         PR fortran/30783
3341         * resolve.c (resolve_symbol): Add character dummy VALUE check.
3342
3343 2007-02-19  Thomas Koenig  <Thomas.Koenig@online.de>
3344
3345         PR libfortran/30533
3346         * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
3347         argument to default integer.
3348         (gfc_resolve_minloc): Likewise.
3349
3350 2007-02-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3351
3352         PR fortran/30681
3353         * options.c (gfc_init_options): Relax warning level for obsolescent.
3354         * match.c (match_arithmetic_if): Change to obsolescent from deleted.
3355         (gfc_match_if): Same.
3356
3357 2007-02-18  Roger Sayle  <roger@eyesopen.com>
3358
3359         * trans-array.c (gfc_build_constant_array_constructor): When the
3360         shape of the constructor is known, use that to construct the
3361         gfc_array_spec.
3362         (gfc_trans_constant_array_constructor): Initialize the "info"
3363         information for all of the dimensions of the array constructor.
3364         (constant_array_constructor_loop_size): New function.
3365         (gfc_trans_array_constructor): Use it to determine whether a
3366         loop is suitable for "constant array constructor" optimization.
3367
3368         * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
3369         instead of build2, to avoid conditions like "(a != b) != 0".
3370
3371 2007-02-18  Roger Sayle  <roger@eyesopen.com>
3372             Paul Thomas <pault@gcc.gnu.org>
3373
3374         PR fortran/30400
3375         * match.c (match_forall_iterator): Use gfc_match_expr instead
3376         of gfc_match_variable to match the iterator variable.  Return
3377         MATCH_NO if not a variable.  Remove the reset of the symbol's
3378         flavor in cleanup.
3379
3380 2007-02-16  Tobias Burnus  <burnus@net-b.de>
3381
3382         PR fortran/30793
3383         * trans-decl.c (gfc_generate_function_code): Do not initialize
3384         pointers to derived components.
3385
3386 2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
3387             Brooks Moses  <brooks.moses@codesourcery.com>
3388             Lee Millward  <lee.millward@codesourcery.com>
3389
3390         * trans-expr.c (gfc_conv_power_op): Use build_call_expr.
3391         (gfc_conv_string_tmp): Likewise.
3392         (gfc_conv_concat_op): Likewise.
3393         (gfc_build_compare_string): Likewise.
3394         (gfc_conv_function_call): Use build_call_list instead of build3.
3395
3396         * trans-array.c (gfc_trans_allocate_array_storage): Use
3397         build_call_expr.
3398         (gfc_grow_array): Likewise.
3399         (gfc_trans_array_ctor_element): Likewise.
3400         (gfc_trans_array_constructor_value): Likewise.
3401         (gfc_array_allocate): Likewise.
3402         (gfc_array_deallocate): Likewise.
3403         (gfc_trans_auto_array_allocation): Likewise.
3404         (gfc_trans_dummy_array_bias): Likewise.
3405         (gfc_conv_array_parameter): Likewise.
3406         (gfc_trans_dealloc_allocated): Likewise.
3407         (gfc_duplicate_allocatable): Likewise.
3408
3409         * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
3410         (gfc_trans_omp_flush): Likewise.
3411
3412         * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
3413         (gfc_trans_pause): Likewise.
3414         (gfc_trans_stop): Likewise.
3415         (gfc_trans_character_select): Likewise.
3416         (gfc_do_allocate): Likewise.
3417         (gfc_trans_assign_need_temp): Likewise.
3418         (gfc_trans_pointer_assign_need_temp): Likewise.
3419         (gfc_trans_forall_1): Likewise.
3420         (gfc_trans_where_2): Likewise.
3421         (gfc_trans_allocate): Likewise.
3422         (gfc_trans_deallocate): Likewise.
3423
3424         * trans.c (gfc_trans_runtime_check): Use build_call_expr.
3425
3426         * trans-io.c (gfc_trans_open): Use build_call_expr.
3427         (gfc_trans_close): Likewise.
3428         (build_filepos): Likewise.
3429         (gfc_trans_inquire): Likewise.
3430         (NML_FIRST_ARG): Delete.
3431         (NML_ADD_ARG): Delete.
3432         (transfer_namelist_element): Use build_call_expr.
3433         (build_dt): Likewise.
3434         (gfc_trans_dt_end): Likewise.
3435         (transfer_expr): Likewise.
3436         (transfer_array-desc): Likewise.
3437
3438         * trans-decl.c (gfc_generate_function_code): Use build_call_expr.
3439         (gfc_generate_constructors): Likewise.
3440
3441         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
3442         (gfc_conv_intrinsic_fdate): Likewise.
3443         (gfc_conv_intrinsic_ttynam): Likewise.
3444         (gfc_conv_intrinsic_array_transfer): Likewise.
3445         (gfc_conv_associated): Likewise.
3446         (gfc_conv_intrinsic_si_kind): Likewise.
3447         (gfc_conv_intrinsic_trim): Likewise.
3448         (gfc_conv_intrinsic_repeat: Likewise.
3449         (gfc_conv_intrinsic_iargc): Likewise.
3450
3451 2007-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3452
3453         PR fortran/30779
3454         * scanner.c (gfc_next_char_literal): Add check for end of file after
3455         call to advance_line.
3456
3457 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
3458
3459         PR fortran/30799
3460         * primary.c (match_logical_constant): Return MATCH_ERROR on invalid
3461         kind.
3462
3463 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
3464
3465         * misc.c (gfc_typename): Fix potential buffer overflow.
3466
3467 2007-02-13  Paul Thomas  <pault@gcc.gnu.org>
3468
3469         PR fortran/30554
3470         * module.c (read_module): Set pointer_info to referenced if the
3471         symbol has no namespace.
3472
3473 2007-02-12  Nick Clifton  <nickc@redhat.com>
3474
3475         * lang.opt: Add Warning attribute to warning options.
3476
3477 2007-02-11  Daniel Franke  <franke.daniel@gmail.com>
3478
3479         * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
3480         (SLEEP): Added section and documentation.
3481
3482 2007-02-11  Tobias Schlüter  <tobi@gcc.gnu.org>
3483
3484         PR fortran/30478
3485         * decl.c (add_init_expr_to_sym): Remove ENUM specific code.
3486         (variable_decl): Likewise.  Rewrap comment.
3487         (match_attr_spec): Remove ENUM specific code.
3488         (gfc_match_enum): Fix typo in error message.
3489         (enumerator_decl): New function.
3490         (gfc_match_enumerator_def): Use enumerator_decl instead of
3491         variable_decl.  Adapt code accordingly.
3492
3493 2007-02-11  Paul Thomas  <pault@gcc.gnu.org>
3494
3495         PR fortran/30554
3496         * module.c (find_symtree_for_symbol): New function to return
3497         a symtree that is not a "unique symtree" given a symbol.
3498         (read_module): Do not automatically set pointer_info to
3499         referenced because this inhibits the generation of a unique
3500         symtree.  Recycle the existing symtree if possible by calling
3501         find_symtree_for_symbol.
3502
3503         PR fortran/30319
3504         * decl.c (add_init_expr_to_sym): Make new charlen for an array
3505         constructor initializer.
3506
3507 2007-02-10  Richard Henderson  <rth@redhat.com>, Jakub Jelinek  <jakub@redhat.com>
3508
3509         * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
3510         and __emutls_register_common.
3511         * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
3512         * trans-common.c (build_common_decl): Don't check have_tls.
3513         * trans-decl.c (gfc_finish_var_decl): Likewise.
3514         * types.def (BT_WORD, BT_FN_PTR_PTR): New.
3515         (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
3516
3517 2007-02-09  Tobias Burnus  <burnus@net-b.de>
3518
3519         PR fortran/30512
3520         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
3521           gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
3522
3523 2007-02-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3524
3525         PR fortran/30720
3526         * trans-array.c (gfc_trans_create_temp_array): Remove use of the
3527         function argument. Always generate code for negative extent.
3528         Simplify said code.
3529         * trans-array.h (gfc_trans_create_temp_array): Change prototype.
3530         * trans-expr.c (gfc_conv_function_call): Remove use of last argument
3531         of gfc_trans_create_temp_array.
3532         * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
3533         * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
3534
3535 2007-02-08  Roger Sayle  <roger@eyesopen.com>
3536
3537         * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
3538         mask expression is a compile-time constant (".true." or ".false.").
3539
3540 2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3541
3542         PR fortran/30611
3543         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
3544         arguments only once. Generate check that NCOPIES argument is not
3545         negative.
3546
3547 2007-02-04  Steven G. Kargl <kargl@gcc.gnu.org>
3548
3549         PR fortran/30605
3550         * fortran/invoke.texi: Update documentation.
3551         * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
3552         and -pedantic.
3553
3554 2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
3555
3556         * trans-array.c: Fix a comment typo.
3557
3558 2007-02-03  Paul Thomas  <pault@gcc.gnu.org>
3559
3560         PR fortran/30514
3561         * array.c (match_array_element_spec): If the length of an array is
3562         negative, adjust the upper limit to make it zero length.
3563
3564         PR fortran/30660
3565         * resolve.c (pure_function, resolve_function): Initialize name to
3566         null to clear up build warnings.
3567         (resolve_fl_variable): Look at components explicitly to check for
3568         default initializer, rather than using gfc_default_initializer.
3569
3570 2007-02-02  Steven G. Kargl <kargl@gcc.gnu.org>
3571
3572         PR fortran/30683
3573         * resolve.c (resolve_generic_f): Check for non-NULL sym.
3574
3575 2007-02-02  Roger Sayle  <roger@eyesopen.com>
3576
3577         * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
3578         NON_LVALUE_EXPR nodes and useless type conversions.
3579
3580 2007-02-02  Paul Thomas  <pault@gcc.gnu.org>
3581
3582         PR fortran/30284
3583         PR fortran/30626
3584         * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
3585         from function and make sure that substring lengths are
3586         translated.
3587         (is_aliased_array): Remove static attribute.
3588         * trans.c : Add prototypes for gfc_conv_aliased_arg and
3589         is_aliased_array.
3590         * trans-io.c (set_internal_unit): Add the post block to the
3591         arguments of the function.  Use is_aliased_array to check if
3592         temporary is needed; if so call gfc_conv_aliased_arg.
3593         (build_dt): Pass the post block to set_internal_unit and
3594         add to the block after all io activiy is done.
3595
3596 2007-02-01  Roger Sayle  <roger@eyesopen.com>
3597
3598         * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
3599         a temporary array to pass a constant non-character array constructor.
3600         Generalize the descriptor generation code to handle scalarizer
3601         "info" without an array reference.
3602
3603 2007-02-01  Roger Sayle  <roger@eyesopen.com>
3604
3605         * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
3606         dependency checking for array constructors.
3607
3608 2007-02-01  Roger Sayle  <roger@eyesopen.com>
3609
3610         * trans-stmt.c (compute_overall_iter_number): Document function
3611         arguments.  Generalize "unconditional forall nest with constant
3612         bounds" optimization to eliminate unconditional inner loops with
3613         constant bounds.
3614
3615 2007-01-31  Tobias Burnus  <burnus@net-b.de>
3616
3617         PR fortran/30520
3618         * interface.c (compare_actual_formal): Check conformance between
3619           actual and VOLATILE dummy arguments.
3620         * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
3621           multiple times in different scopes.
3622         * decl.c (gfc_match_volatile): Search symbol in host association.
3623
3624 2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
3625
3626         * simplify.c, trans-array.c: Fix comment typos.
3627
3628 2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3629
3630         * invoke.texi (Code Gen Options): Fix abbreviation typo.
3631         * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
3632
3633 2007-01-30  Steve Ellcey  <sje@cup.hp.com>
3634
3635         PR fortran/30432
3636         * trans-types.c (gfc_get_function_type): Do not add void_type_node
3637         to empty arg list.
3638         * trans-decl.c (create_function_arglist): Change assert.
3639
3640 2007-01-29  Paul Thomas  <pault@gcc.gnu.org>
3641
3642         PR fortran/30554
3643         * module.c (read_module): If a symbol is excluded by an ONLY
3644         clause, check to see if there is a symtree already loaded. If
3645         so, attach the symtree to the pointer_info.
3646
3647 2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
3648
3649         PR libfortran/30389
3650         * gfortran.h: Remove gfc_simplify_init_1.
3651         * arith.h: Remove third argument from gfc_compare_string.
3652         * arith.c (gfc_compare_expression): Remove third argument
3653         from call to gfc_compare_string.
3654         (gfc_compare_string): Remove third argument xcoll_table.
3655         Remove use of xcoll_table.
3656         * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
3657         * simplify.c (ascii_table): Remove.
3658         (xascii_table): Likewise.
3659         (gfc_simplify_achar): ICE if extract_int fails.  Remove use of
3660         ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
3661         (gfc_simplify_char): ICE if extract_int fails. Error if
3662         value < 0 or value > 255.
3663         (gfc_simplify_iachar): Remove use of xascii_table.
3664         Char values outside of 0..255 are an ICE.
3665         (gfc_simplify_lge): Remove use of xascii_table.
3666         (gfc_simplify_lgt): Likewise.
3667         (gfc_simplify_lle): Likewise.
3668         (gfc_simplify_llt): Likewise.
3669         (invert_table): Remove.
3670         (gfc_simplify_init_1): Remove.
3671
3672 2007-01-27  Roger Sayle  <roger@eyesopen.com>
3673
3674         * trans-stmt.c (forall_info): Replace the next_nest and outer
3675         fields that previously implemented a doubly-linked list with a
3676         single prev_nest field (singly-linked list).
3677         (gfc_trans_nested_forall_loop): The nested_forall_info argument
3678         now denotes the innermost FORALL in the loop nest.
3679         (compute_overall_iter_number): Use prev_nest instead of next_nest.
3680         (gfc_trans_forall_1): Link/cons the new "info" to the head of the
3681         nested_forall_info linked list.  Free the current "info" when done.
3682
3683 2007-01-27  Paul Thomas  <pault@gcc.gnu.org>
3684
3685         PR fortran/30407
3686         * trans-expr.c (gfc_conv_operator_assign): New function.
3687         * trans.h : Add prototype for gfc_conv_operator_assign.
3688         * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
3689         a potential operator assignment subroutine.  If it is non-NULL
3690         call gfc_conv_operator_assign instead of the first assignment.
3691         ( gfc_trans_where_2): In the case of an operator assignment,
3692         extract the argument expressions from the code for the
3693         subroutine call and pass the symbol to gfc_trans_where_assign.
3694         resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
3695         gfc_resolve_forall_body): Resolve the subroutine call for
3696         operator assignments.
3697
3698 2007-01-26  Steven Bosscher  <stevenb.gcc@gmail.com>
3699             Steven G. Kargl <kargl@gcc.gnu.org>
3700
3701         PR fortran/30278
3702         * fortran/io.c (next_char): Deal with backslash escaped characters.
3703         Issue warnings in non -std=gnu cases.
3704         * fortran/primary.c (next_string_char): Issue warnings in non
3705
3706 2007-01-26  Tobias Burnus  <burnus@net-b.de>
3707
3708         * lang-specs.h: Add support for .f03 and .F03 extensions.
3709         * gfortran.texi: Document .f03 extension.
3710         * options.c (form_from_filename): Recognize .f03.
3711
3712 2007-01-25  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3713
3714         PR fortran/30437
3715         * lang.opt (Wall): Remove RejectNegative.
3716         * options.c (gfc_handle_option): Wall can be disabled.
3717         (set_Wall): Add a parameter for disabling Wall.
3718         
3719 2007-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3720
3721         PR fortran/30532
3722         * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
3723         
3724 2007-01-23  Paul Thomas  <pault@gcc.gnu.org>
3725
3726         PR fortran/30481
3727         * match.c (gfc_match_namelist): Add check for assumed size character
3728         in namelist and provide error if found.
3729
3730 2007-01-21  Brooks Moses  <brooks.moses@codesourcery.com>
3731
3732         * intrinsic.texi (ACHAR): Added cross-references.
3733         (CHAR): Put cross-references in alphabetical order.
3734         (IACHAR): Added cross-references.
3735         (ICHAR): Added cross-references.
3736
3737 2007-01-20  Brooks Moses  <brooks.moses@codesourcery.com>
3738
3739         * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
3740         (MAXVAL): Corrected description of result characteristics.
3741         (MINVAL): Same.
3742         (UMASK): Added documentation.
3743
3744 2007-01-20  Steven G. Kargl  <kargl@gcc.gnu.org>
3745
3746         * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
3747         parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
3748         in the massive whitespace patch.
3749
3750 2007-01-20  Roger Sayle  <roger@eyesopen.com>
3751
3752         * module.c (mio_array_ref): The dimen_type fields of an array ref
3753         are an enumerated type and can't be read/written directly with a
3754         call to mio_integer.  Instead loop over and cast each element.
3755
3756 2007-01-20  Roger Sayle  <roger@eyesopen.com>
3757
3758         * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
3759         i.e. that the ARRAY_REF doesn't mention components.
3760         * trans-array.c (gfc_constant_array_constructor_p): Export external
3761         function renamed from constant_array_constructor_p.
3762         (gfc_build_constant_array_constructor): Export.
3763         (gfc_trans_array_constructor): Update call to the renamed function
3764         constant_array_constructor_p.
3765         * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
3766         (gfc_build_constant_array_constructor): Likewise.
3767         * trans-expr.c (gfc_build_memcpy_call): New helper function split
3768         out from gfc_trans_array_copy.
3769         (gfc_trans_array_copy): Use gfc_build_memcpy_call.
3770         (gfc_trans_array_constructor_copy): New function to optimize
3771         assigning an entire array from a constant array constructor.
3772         (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
3773         when appropriate.
3774
3775 2007-01-20  Roger Sayle  <roger@eyesopen.com>
3776
3777         * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
3778         implementation for the SIGN intrinsic with integral operands.
3779         (gfc_conv_intrinsic_minmax): Fix whitespace.
3780
3781 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3782
3783         * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
3784         * lang.opt: Add -fallow-leading-underscore.
3785         * match.c (gfc_match_name): Allow leading underscore in symbol
3786         name if -fallow-leading-underscore is used.
3787         * symbol.c (gfc_get_default_type): Add special case for symbol
3788         names beginning with an underscore.
3789         * trans-decl.c (gfc_get_extern_function_decl,
3790         gfc_build_intrinsic_function_decls): Add _gfortran prefix to
3791         library symbols selected_int_kind, selected_real_kind and 
3792         all specifics.
3793         * options.c (gfc_init_options, gfc_handle_option): Handle the
3794         new -fallow-leading-underscore option.
3795
3796 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3797
3798         PR fortran/30446
3799         * options.c (gfc_handle_module_path_options): Path used in -J
3800         option is now added to the module search path.
3801
3802 2007-01-20  Richard Guenther  <rguenther@suse.de>
3803
3804         PR fortran/30223
3805         * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
3806         cexpi builtins if we have TARGET_C99_FUNCTIONS.  Provide
3807         sincos builtins if the target has sincos.
3808
3809 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
3810
3811         * intrinsic.texi (MATMUL): Corrected a typo.
3812         (MAX): Separated @var arguments.
3813         (MIN): Separated @var arguments.
3814
3815 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
3816
3817         * intrinsic.texi: general whitespace cleanup.
3818         (menu): Added TIME8, removed UNMASK.
3819         (AINT): Clarified argument requirement.
3820         (ANINT): Clarified argument requirement.
3821         (CEILING): Clarified argument requirement.
3822         (CHAR): Clarified argument requirement.
3823         (CMPLX): Clarified argument requirement.
3824         (DCMPLX): Clarified argument requirement.
3825         (FGET): Line rewrapping.
3826         (FLOOR): Clarified argument requirement.
3827         (GMTIME): Added documentation.
3828         (IAND): Added cross-reference.
3829         (IBCLR): Added cross-reference.
3830         (IBSET): Added cross-reference.
3831         (IEOR): Added cross-reference.
3832         (INT): Collapsed examples, clarified argument requirement.
3833         (IOR): Added cross-references.
3834         (LEN_TRIM): Corrected result kind.
3835         (LINK): Added cross-reference.
3836         (LLT): Removed "documentation pending".
3837         (LOGICAL): Added documentation.
3838         (LSHIFT): Added documentation.
3839         (LTIME): Added documentation.
3840         (MATMUL): Added documentation.
3841         (MAX): Added documentation.
3842         (MAXLOC): Added documentation.
3843         (MAXVAL): Added documentation.
3844         (MERGE): Added documentation.
3845         (MIN): Added documentation.
3846         (MINLOC): Added documentation.
3847         (MINVAL): Added documentation.
3848         (MVBITS): Moved to correct place, added documentation.
3849         (NOT): Added documentation.
3850         (PERROR): Added documentation.
3851         (RAN): Moved to correct place, added documentation.
3852         (REAL): Clarified argument requirement.
3853         (RENAME): Added documentation.
3854         (RSHIFT): Clarified argument requirement.
3855         (SIGN): Corrected table specification.
3856         (SYMLNK): Added documentation.
3857         (SYSTEM): Added documentation.
3858         (TIME): Added documentation.
3859         (TIME8): Added section and documentation.
3860         (UNMASK): Removed erroneous section.
3861
3862 2007-01-18  H.J. Lu  <hongjiu.lu@intel.com>
3863
3864         * trans-stmt.c (compute_overall_iter_number): Fix a typo.
3865
3866 2007-01-18  Roger Sayle  <roger@eyesopen.com>
3867
3868         * trans-expr.c (copyable_array_p): Consider user derived types without
3869         allocatable components to be copyable.
3870
3871 2007-01-18  Roger Sayle  <roger@eyesopen.com>
3872
3873         * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
3874         the number of interations in unconditional FORALL nests with constant
3875         bounds.
3876
3877 2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3878             Tobias Burnus  <burnus@net-b.de>
3879
3880         PR libfortran/29649
3881         * gfortran.h (gfc_option_t): Add flag_dump_core.
3882         * lang.opt: Add -fdump-core option.
3883         * invoke.texi: Document the new options.
3884         * trans-decl.c (gfc_build_builtin_function_decls): Add new
3885           options to the call to set_std.
3886         * options.c (gfc_init_options, gfc_handle_option): Set the
3887           new options.
3888
3889 2007-01-17  Paul Thomas  <pault@gcc.gnu.org>
3890
3891         PR fortran/30476
3892         * module.c (load_generic_interfaces): Make the marking of the
3893         symbol as ambiguous conditional on the module names being
3894         different.
3895         (write_generic): Ensure that the generic interface has a
3896         non-NULL module field.
3897
3898 2007-01-16  Roger Sayle  <roger@eyesopen.com>
3899
3900         PR fortran/30404
3901         * trans-stmt.c (forall_info): Remove pmask field.
3902         (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
3903         NVAR covers all the interation variables in the current forall_info.
3904         Add an extra OUTER parameter, which specified the loop header in
3905         which to place mask index initializations.
3906         (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
3907         Change the semantics of MASK_FLAG to only control the mask in the
3908         innermost loop.
3909         (compute_overall_iter_number): Optimize the trivial case of a
3910         top-level loop having a constant number of iterations.  Update
3911         call to gfc_trans_nested_forall_loop.  Calculate the number of
3912         times the inner loop will be executed, not to size of the 
3913         iteration space.
3914         (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
3915         sizeof(type) == 1.  Tidy up.
3916         (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
3917         to gfc_trans_nested_forall_loop.
3918         (gfc_trans_pointer_assign_need_temp): Likewise.
3919         (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
3920         LENVAR local variables.  Split mask allocation into a separate
3921         hunk/pass from mask population.  Use allocate_temp_for_forall_nest
3922         to allocate the FORALL mask with the correct size.  Update calls
3923         to gfc_trans_nested_forall_loop.
3924         (gfc_evaluate_where_mask): Update call to
3925         gfc_trans_nested_forall_loop.
3926         (gfc_trans_where_2): Likewise.
3927
3928 2007-01-15  Paul Thomas  <pault@gcc.gnu.org>
3929
3930         PR fortran/28172
3931         * trans-stmt.c (gfc_trans_call): If it does not have one, get
3932         a backend_decl for an alternate return.
3933
3934         PR fortran/29389
3935         * resolve.c (pure_function): Statement functions are pure. Note
3936         that this will have to recurse to comply fully with F95.
3937
3938         PR fortran/29712
3939         * resolve.c (resolve_function): Only a reference to the final
3940         dimension of an assumed size array is an error in an inquiry
3941         function.
3942
3943         PR fortran/30283
3944         * resolve.c (resolve_function): Make sure that the function
3945         expression has a type.
3946
3947 2007-01-14  Paul Thomas  <pault@gcc.gnu.org>
3948
3949         PR fortran/30410
3950         * trans-decl.c (gfc_sym_mangled_function_id): Module, external
3951         symbols must not have the module name prepended.
3952
3953 2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
3954
3955         PR libfortran/30415
3956         * iresolve.c (gfc_resolve_maxloc): If the rank
3957         of the return array is nonzero and we process an
3958         integer array smaller than default kind, coerce
3959         the array to default integer.
3960         * iresolve.c (gfc_resolve_minloc): Likewise.
3961
3962 2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>
3963
3964         * simplify.c: Update copyright to 2007.
3965         * scanner.c: Same.
3966
3967 2007-01-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3968
3969         PR fortran/30430
3970         * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
3971         only once!
3972
3973 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
3974
3975         * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
3976         (gfc_simplify_ibset): Same.
3977
3978 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
3979
3980         PR 30381
3981         PR 30420
3982         * simplify.c (convert_mpz_to_unsigned): New function.
3983         (convert_mpz_to_signed): New function, largely based on
3984         twos_complement().
3985         (twos_complement): Removed.
3986         (gfc_simplify_ibclr): Add conversions to and from an
3987         unsigned representation before bit-twiddling.
3988         (gfc_simplify_ibset): Same.
3989         (gfc_simplify_ishftc): Add checks for overly large
3990         constant arguments, only check the third argument if
3991         it's present, carry over high bits into the result as
3992         appropriate, and perform the final conversion back to
3993         a signed representation using the correct sign bit.
3994         (gfc_simplify_not): Removed unnecessary masking.
3995
3996 2007-01-09  Paul Thomas  <pault@gcc.gnu.org>
3997
3998         PR fortran/30408
3999         * resolve.c (resolve_code): Use the code->expr character length
4000         directly to set length of llen.
4001
4002 2007-01-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
4003
4004         PR fortran/30408
4005         * lang.opt: Add Wcharacter_truncation option.
4006         * options.c (gfc_init_options): Initialize
4007         gfc_option.warn_character_truncation to zero.
4008         (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
4009
4010 2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
4011
4012         * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
4013         iresolve.c, match.c: Update Copyright years.  Whitespace.
4014
4015 2007-01-08  Richard Guenther  <rguenther@suse.de>
4016
4017         * trans-io.c (transfer_array_desc): Use build_int_cst instead
4018         of build_int_cstu.
4019
4020 2007-01-08  Roger Sayle  <roger@eyesopen.com>
4021
4022         * trans-array.c (constant_array_constructor_p): New function to
4023         determine whether an array constructor consists only of constant
4024         elements, and if so return it's size.
4025         (gfc_build_constant_array_constructor): Construct a statically
4026         initialized gfortran array for a given EXPR_ARRAY.
4027         (gfc_trans_constant_array_constructor): Efficiently scalarize
4028         a constant array constructor.
4029         (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
4030         Special case scalarization of constant array constructors, all of
4031         whose elements are specified, using constant_array_constructor_p 
4032         and gfc_trans_constant_array_constructor.
4033         (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
4034         before adding it to index, to avoid creating a NON_LVALUE_EXPR.
4035
4036 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
4037
4038         gfortran.texi: Fix typos.
4039
4040 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
4041
4042         * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
4043         convert.c: Update Copyright dates.  Fix whitespace.
4044
4045 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
4046
4047         * data.c (gfc_assign_data_value): Fix whitespace.
4048
4049 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
4050
4051         * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
4052         Commentary typo fix.
4053
4054 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
4055
4056         PR fortran/27698
4057         * match.c (gfc_match_name): Print diagnostics for invalid
4058         character in names.
4059
4060 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
4061
4062         * array.c: Fix whitespace in comment table.
4063
4064 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
4065
4066         * array.c, bbt.c, check.c: Update copyright years.  Whitespace.
4067
4068 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
4069
4070         * arith.c: Update copyright years.  Whitespace.
4071
4072 2007-01-05  Roger Sayle  <roger@eyesopen.com>
4073
4074         * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
4075         array assignments split out from gfc_trans_assignment.
4076         (gfc_trans_array_copy): New function to implement array to array
4077         copies via calls to __builtin_memcpy.
4078         (copyable_array_p): New helper function to identify an array of
4079         simple/POD types, that may be copied/assigned using memcpy.
4080         (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
4081         whole array assignments considered suitable by copyable_array_p.
4082         Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
4083
4084 2007-01-05  Roger Sayle  <roger@eyesopen.com>
4085
4086         * trans-array.c (gfc_trans_array_constructor_value): Make the
4087         static const "data" array as TREE_READONLY.
4088         * trans-stmt.c (gfc_trans_character_select): Likewise.
4089
4090 2007-01-05  Roger Sayle  <roger@eyesopen.com>
4091
4092         * trans-array.c (gfc_conv_loop_setup): Test whether the loop
4093         stride is one, to avoid fold_build2 introducing a useless
4094         NON_LVALUE_EXPR node.
4095
4096 2007-01-05  Tobias Burnus  <burnus@net-b.de>
4097
4098         * symbol.c (check_conflict): Fix error message.
4099
4100 2007-01-05  Paul Thomas  <pault@gcc.gnu.org>
4101
4102         PR fortran/23232
4103         * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
4104         functions to signal that a DATA statement is being matched.
4105         (gfc_match_data): Call gfc_set_in_match_data on entry and on
4106         exit.
4107         * gfortran.h : Add prototypes for above.
4108         * expr.c (check_init_expr): Avoid check on parameter or
4109         variable if gfc_in_match_data is true.
4110         (gfc_match_init_expr): Do not call error on non-reduction of
4111         expression if gfc_in_match_data is true.
4112
4113         PR fortran/27996
4114         PR fortran/27998
4115         * decl.c (gfc_set_constant_character_len): Add boolean arg to
4116         flag array constructor resolution.  Warn if string is being
4117         truncated.  Standard dependent error if string is padded. Set
4118         new arg to false for all three calls to
4119         gfc_set_constant_character_len.
4120         * match.h : Add boolean arg to prototype for
4121         gfc_set_constant_character_len.
4122         * gfortran.h : Add warn_character_truncation to gfc_options.
4123         * options.c (set_Wall): Set warn_character_truncation if -Wall
4124         is set.
4125         * resolve.c (resolve_code): Warn if rhs string in character
4126         assignment has to be truncated.
4127         * array.c (gfc_resolve_character_array_constructor): Set new
4128         argument to true for call to gfc_set_constant_character_len.
4129
4130 2007-01-05  Tobias Burnus  <burnus@net-b.de>
4131
4132         PR fortran/29624
4133         * interface.c (compare_parameter_intent): New function.
4134           (check_intents): Support pointer intents.
4135         * symbol.c (check_conflict): Support pointer intents,
4136           better conflict_std message.
4137         * expr.c (gfc_check_assign,gfc_check_pointer_assign):
4138           Support pointer intents.
4139         * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
4140           Support pointer intents.
4141
4142 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4143
4144         PR 30371
4145         * check.c (gfc_check_kill_sub): Add checks for non-scalar
4146         arguments.
4147
4148 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
4149
4150         * intrinsic.texi: Minor cleanup, reflowing overlong
4151         paragraphs, and correcting whitespace.
4152
4153 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
4154
4155         * intrinsic.texi (LBOUND): Add documentation.
4156         (LGE): Add documentation.
4157         (LGT): Add documentation.
4158         (LINK): Add documentation.
4159         (LLE): Add documentation.
4160         (LLT): Add documentation.
4161         (LNBLNK): Add documentation.
4162         (UBOUND): Add documentation.
4163         (UNLINK): Add documentation.
4164
4165 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
4166
4167         * intrinsic.texi (IAND): Clarify argument specifications.
4168         (IBCLR): Add documentation.
4169         (IBITS): Add documentation.
4170         (IBSET): Add documentation.
4171         (IEOR): Add documentation.
4172         (IERRNO): Add documentation.
4173         (INDEX): Add documentation.
4174         (IOR): Add documentation.
4175         (ISHFT): Add documentation.
4176         (ISHFTC): Add documentation.
4177         (KILL): Add documentation.
4178         (LEN_TRIM): Add documentation.
4179
4180 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
4181
4182         PR 30235
4183         * interface.c (compare_actual_formal): check for
4184         alternate returns when iterating over non-present
4185         arguments.
4186
4187 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
4188
4189         * invoke.texi: Update manpage copyright to include 2007.
4190
4191 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
4192
4193         * gfortran.texi: Update copyright to include 2007.
4194         * intrinsic.texi: Update copyright to include 2007.
4195         * invoke.texi: Update copyright to include 2007.
4196
4197 2007-01-02  Tobias Burnus  <burnus@net-b.de>
4198             Jakub Jelinek  <jakub@redhat.com>
4199
4200         PR fortran/30276
4201         * scanner.c (open_included_file): Revert patch.
4202           (gfc_open_included_file): Support absolute pathnames.
4203           (gfc_open_intrinsic_module): Support absolute pathnames.
4204
4205 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4206
4207         * gfortran.texi (GNU Fortran and GCC): Rewrite
4208
4209 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4210
4211         * gfortran.texi (Introduction): Lower "Part I:
4212         Introduction" to a chapter, renumber Parts II and III to
4213         Parts I and II.
4214         * intrinsic.texi (Introduction): Rename to "Introduction
4215         to Intrinsics" to avoid conflict with the new chapter.
4216
4217 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4218
4219         * intrinsic.texi (Introduction): Rewrite first paragraph.
4220
4221 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4222
4223         * invoke.texi (OpenMP): Added index entry.
4224         * gfortran.texi (title page): Removed erroneous '*'.
4225
4226 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4227
4228         * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
4229         to description.
4230         (Extensions): Miscellaneous minor rewriting and copyediting.
4231         (BOZ-literal constants): Renamed from Hexadecimal constants.
4232         (Hollerith constants support): Added explanation and 
4233         suggestions for standard-conforming modern equivalents.
4234
4235 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4236
4237         * intrinsic.texi: Improvements to index entries; change
4238         @findex entries to @cindex entries.
4239         * invoke.texi: Standardize and improve index entries.
4240         * gfortran.texi: Fix @code in one index entry.
4241
4242 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4243
4244         * invoke.texi: Change @code-type macros to appropriate
4245         variants (@command, @option, etc.)
4246         * gfortran.texi: Same.
4247
4248 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
4249
4250         * intrinsic.texi: Various minor cleanups.
4251
4252 2007-01-02  Steven G. Kargl  <kargls@comcast.net>
4253
4254         * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
4255         build_int_cst.
4256
4257 2007-01-02  Tobias Burnus  <burnus@net-b.de>
4258
4259         PR fortran/30276
4260         * scanner.c (open_included_file): Support full-path filenames.
4261
4262 2007-01-02  Paul Thomas  <pault@gcc.gnu.org>
4263
4264         PR fortran/20896
4265         * interface.c (check_sym_interfaces): Remove call to
4266         resolve_global_procedure.
4267         gfortran.h : Remove prototype for resolve_global_procedure.
4268         resolve.c (resolve_global_procedure): Add static attribute
4269         to function declaration.
4270
4271 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
4272
4273         * ChangeLog: Copy to ...
4274         * ChangeLog-2006: here.