OSDN Git Service

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