OSDN Git Service

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