OSDN Git Service

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