OSDN Git Service

gcc/fortran:
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2007-07-24  Daniel Franke  <franke.daniel@gmail.com>
2
3         PR fortran/32867
4         * expr.c (check_init_expr): Simplify matched functions.
5
6 2007-07-24  Daniel Franke  <franke.daniel@gmail.com>
7
8         PR fortran/32778
9         * intrinsic.c (add_sym): Do not exclude any symbols, even if not part
10         of the selected standard.
11         (make generic): Likewise.
12         (make alias): Likewise, set standard the alias belongs to.
13         (add_subroutines): Call make_noreturn unconditionally.
14         (check_intrinsic_standard): Change return value to try.
15         (gfc_intrinsic_func_interface): Check return value of above function.
16         (gfc_intrinsic_sub_interface): Likewise.
17
18 2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
19
20         PR fortran/30814
21         * trans-decl.c (generate_function_code):  Add argument
22         for flag_bounds_check to the array for set_options.
23         * invoke.texi (-fbounds-check): Document new libarary run-time
24         behaviour.
25
26 2007-07-23  Daniel Franke  <franke.daniel@gmail.com>
27
28         PR fortran/25104
29         PR fortran/31639
30         * expr.c (check_transformational): Reject valid transformational
31         intrinsics to avoid ICE.
32         (check_inquiry): Report error for assumed character lengths for
33         all supported standards.
34         (check_init_expr): Whitespace fix.
35
36 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
37
38         PR fortran/32797
39         PR fortran/32800
40         * decl.c (verify_bind_c_sym): Use the result symbol for functions
41         with a result clause.  Warn if implicitly typed.  Verify the type
42         and rank of the SHAPE argument, if given.
43         * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
44         check the actual args against the formal, sorting them if
45         necessary.
46         * symbol.c (gen_shape_param): Initialize type of SHAPE param to
47         BT_VOID.
48
49 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
50
51         PR fortran/32732
52         * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
53         value character dummy args of BIND(C) procedures.
54         * trans-expr.c (gfc_conv_variable): Do not build address
55         expression for BT_CHARACTER dummy args.
56
57 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
58             Tobias Burnus  <burnus@net-b.de>
59
60         PR fortran/32600
61         * trans-expr.c (gfc_conv_function_call): Handle c_funloc.
62         * trans-types.c: Add pfunc_type_node.
63         (gfc_init_types,gfc_typenode_for_spec): Use it.
64         * resolve.c (gfc_iso_c_func_interface): Fix whitespace and
65         improve error message.
66
67 2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
68
69         PR fortran/32710
70         * parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if
71         the current is a namelist.
72
73 2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
74
75         PR fortran/29962
76         PR fortran/31253
77         PR fortran/31265
78         PR fortran/31639
79         * gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure,
80         generic, specific, actual_ok, noreturn into bits of a bitfield, 
81         added bits for inquiry, transformational, conversion.
82         * check.c (non_init_transformational): Removed, removed all callers.
83         * intrinsic.c (enum class): New.
84         (add_sym*): Replaced argument elemetal by enum class. Changed all
85         callers.
86         (add_functions): Assign appropriate classes to intrinsic functions.
87         (add_subroutines): Assign appropriate classes to intrinsic subroutines.
88         (add_conv): Set conversion attribute.
89         (gfc_init_expr_extensions): Removed, removed all callers.
90         (gfc_intrinsic_func_interface): Reimplemented check for non-standard
91         initializatione expressions.
92         * expr.c (check_specification_function): New.
93         (gfc_is_constant_expr): Added check for specification functions.
94         (check_init_expr_arguments): New.
95         (check_inquiry): Changed return value to MATCH, added checks for
96         inquiry functions defined by F2003.
97         (check_transformational): New.
98         (check_null): New.
99         (check_elemental): New.
100         (check_conversion): New.
101         (check_init_expr): Call new check functions, add more specific error
102         messages.
103
104 2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
105
106         PR fortran/32627
107         * resolve.c (set_name_and_label): Set kind number for character
108         version of c_f_pointer.
109         (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
110         that of the actual SHAPE arg.
111         * symbol.c (gen_shape_param): Initialize kind for SHAPE arg.
112
113 2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
114
115         PR fortran/32801
116         * symbol.c (generate_isocbinding_symbol): Remove unnecessary
117         conditional.
118
119         PR fortran/32804
120         * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
121         deferred-shape arrays as args to C_LOC.  Fix bug in testing
122         character args to C_LOC.
123
124 2007-07-21  Lee Millward  <lee.millward@gmail.com>
125
126         PR fortran/32823
127         * trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all
128         arguments passed, not just the first one. Adjust code to 
129         refer to "args[0]" instead of "arg" as a result.
130         
131 2007-07-19  Christopher D. Rickett  <crickett@lanl.gov>
132
133         PR fortran/32600
134         * trans-expr.c (gfc_conv_function_call): Inline C_LOC.
135
136 2007-07-18  Christopher D. Rickett  <crickett@lanl.gov>
137
138         PR fortran/32801
139         * symbol.c (generate_isocbinding_symbol): Fix bug where
140         ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed
141         ISOCBINDING_PTR.
142
143 2007-07-17  Janus Weil  <jaydub66@gmail.com> 
144
145         PR fortran/32535
146         * resolve.c (resolve_fl_namelist): Check for namelist private 
147         components in contained subprograms.
148
149 2007-07-17  Paul Thomas  <pault@gcc.gnu.org>
150
151         PR fortran/31320
152         PR fortran/32665
153         * trans-expr.c (gfc_trans_subcomponent_assign): Ensure that
154         renormalization unity base is done independently of existing
155         lbound value.
156         (gfc_trans_scalar_assign): If rhs is not a variable, put
157         lse->pre after rse->pre to ensure that de-allocation of lhs
158         occurs after evaluation of rhs.
159
160 2007-07-16  Lee Millward  <lee.millward@gmail.com>
161
162         PR fortran/32222
163         PR fortran/32238
164         PR fortran/32242        
165         * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
166         to operate on a stack allocated array for the intrinsic arguments
167         instead of creating a TREE_LIST. Add two new parameters for the
168         array and the number of elements. Update all callers to allocate
169         an array of the correct length to pass in. Update comment.
170         (gfc_intrinsic_argument_list_length): New function.
171         (gfc_conv_intrinsic_conversion): Call it.
172         (gfc_conv_intrinsic_mnimax): Likewise.
173         (gfc_conv_intrinsic_merge): Likewise.
174         (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
175         constructors.
176         (gfc_conv_intrinsic_cmplx): Likewise.
177         (gfc_conv_intrinsic_ctime): Likewise.
178         (gfc_covn_intrinsic_fdate): Likewise.
179         (gfc_conv_intrinsic_ttynam): Likewise.
180         (gfc_conv_intrinsic_ishftc): Likewise.
181         (gfc_conv_intrinsic_index): Likewise.
182         (gfc_conv_intrinsic_scan): Likewise.
183         (gfc_conv_intrinsic_verify): Likewise.
184         (gfc_conv_intrinsic_trim): Likewise.
185         (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
186         (gfc_conv_intrinsic_exponent): Likewise.
187         (gfc_conv_intrinsic_bound): Likewise.
188         (gfc_conv_intrinsic_abs): Likewise.
189         (gfc_conv_intrinsic_mod): Likewise.
190         (gfc_conv_intrinsic_sign): Likewise.
191         (gfc_conv_intrinsic_len): Likewise.
192         (gfc_conv_intrinsic_adjust): Likewise.
193         (gfc_conv_intrinsic_si_kind): Likewise. 
194         
195 2007-07-16  Janne Blomqvist  <jb@gcc.gnu.org>
196
197         PR fortran/32748
198         * trans-decl.c (gfc_build_builtin_function_decls): Remove
199         DECL_IS_MALLOC attribute from internal_realloc, thus reverting
200         part of my 2007-07-03 patch.
201
202 2007-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
203             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
204
205         PR fortran/32611
206         * gfortran.h (gfc_option_t): Add flag_sign_zero field.
207         * lang.opt (-fsign-zero): New option.
208         * trans.h: Rename gfor_fndecl_set_std into gfor_fndecl_set_options.
209         * trans-decl.c (gfc_build_builtin_function_decls): Build the function
210         declaration to pass an array containing the options to be used by the
211         runtime library. (gfc_generate_function_code): Build an array that
212         contains option values to be passed to the runtime library and the call
213         to the function. 
214         * options.c (gfc_init_options): Initialize the flag_sign_zero field.
215         (gfc_handle_option): Handle the -fsign-zero option.
216
217 2007-07-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
218
219         PR fortran/32036
220         * trans-array.c (gfc_conv_array_ref): Only evaluate index once.
221
222 2007-07-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
223
224         PR fortran/32357
225         * iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS
226         to C int.
227
228 2007-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
229
230         PR libfortran/32731
231         * iresolve.c(gfc_resolve_pack):  A scalar mask has
232         to be kind=4, an array mask with kind<4 is converted
233         to gfc_default_logical_kind automatically.
234         (gfc_resolve_unpack):  Convert mask to gfc_default_lotical_kind
235         if it has a kind<4.
236
237 2007-07-14  Paul Thomas  <pault@gcc.gnu.org>
238
239         PR fortran/32724
240         * parse.c (parse_spec): Emit error on unexpected statement
241         function.
242
243 2007-07-13  Daniel Franke  <franke.daniel@gmail.com>
244
245         * invoke.texi: Unified upper- and lower-case in menus.
246         (-w, -W): Removed, documented by gcc.
247         * intrinsic.texi: Unified Class-section entries, added
248         subroutine/function warning where appropiate.
249
250 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
251
252         PR fortran/31639
253         * decl.c (gfc_match_suffix): Removed surplus general error that hides
254         a more specific message.
255         * resolve.c (resolve_fl_variable): Reject illegal initializiers only
256         if not already done.
257         (resolve_fl_procedure): Added check for initializers of functions.
258
259 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
260
261         PR fortran/32704
262         * invoke.texi (-static-libgfortran): Document new option.
263
264 2007-07-12  Paul Thomas  <pault@gcc.gnu.org>
265
266         PR fortran/32634
267         PR fortran/32727
268         * module.c (write_generic): Restore patch of 2007-07-10 and use
269         symbol name if there are no use names. 
270
271 2007-07-12  Christopher D. Rickett  <crickett@lanl.gov>
272
273         PR fortran/32599
274         * decl.c (verify_c_interop_param): Require character string dummy
275         args to BIND(C) procedures to have length 1.
276         * resolve.c (resolve_fl_procedure): Modify parameter checking for
277         BIND(C) procedures.
278
279         PR fortran/32601
280         * resolve.c (gfc_iso_c_func_interface): Verify that a valid
281         expression is given as an argument to C_LOC and C_ASSOCIATED.
282         * trans-io.c (transfer_expr): Add argument for code block.  Add
283         standards check to determine if an error message should be
284         reported for printing C_PTR or C_FUNPTR.
285         (transfer_array_component): Update arguments to transfer_expr.
286         (gfc_trans_transfer): Ditto.
287
288         * symbol.c (gen_cptr_param): Fix whitespace.
289
290 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
291
292         PR fortran/32550
293         * trans.h (GFC_POINTER_TYPE_P): Define.
294         * trans-types.c (gfc_sym_type): Set it for types on attr->sym.pointer.
295         * trans-openmp.c (gfc_omp_privatize_by_reference): Return false
296         if GFC_POINTER_TYPE_P is set on the type.
297
298 2007-07-12  Richard Guenther  <rguenther@suse.de>
299
300         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Convert
301         arguments to gfc_charlen_type_node.
302         * trans-io.c (gfc_convert_array_to_string): Convert type
303         size to gfc_array_index_type.
304
305 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
306
307         PR fortran/32634
308         PR fortran/32727
309         * module.c: Reverted Paul's patch from 2007-07-10.
310
311 2007-07-11  Richard Guenther  <rguenther@suse.de>
312
313         * trans-array.c (gfc_conv_array_parameter): Use correct
314         types for comparison.
315         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
316         correct types for POINTER_PLUS_EXPR.
317         * trans-stmt.c (gfc_trans_forall_loop): Use correct type
318         for integer one constant.
319
320 2007-07-10  Paul Thomas  <pault@gcc.gnu.org>
321
322         PR fortran/32157
323         * resolve.c (is_external_proc): New function.  Adds test that
324         the symbol is not an intrinsic procedure.
325         * (resolve_function, resolve_call): Replace logical statements
326         with call to is_external_proc.
327
328         PR fortran/32689
329         * simplify.c (gfc_simplify_transfer): If mold has rank, the
330         result is an array.
331
332         PR fortran/32634
333         * module.c (write_generic): Write the local name of the
334         interface. 
335
336 2007-07-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
337
338         PR fortran/29459
339         * trans-array.c (gfc_trans_array_constructor): Mark offset field
340         with TREE_NO_WARNING.
341         * trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound,
342         stride and size variables with TREE_NO_WARNING.
343
344 2007-07-09  Steven G. Kargl  <kargl@gcc.gnu.org>
345
346         * trans-decl.c (set_tree_decl_type_code): Remove function.
347         (generate_local_decl): Remove reference to set_tree_decl_type_code.
348
349 2007-07-09  Daniel Franke  <franke.daniel@gmail.com>
350
351         PR fortran/31129
352         * trans-decl.c (generate_local_decl) Emit a warning if an unused
353         parameter is found.
354
355 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
356
357         PR fortran/29876
358         * module.c (gfc_match_use): Do not set an non-existant 
359         intrinsic operator if a user-defined operator is found.
360
361 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
362
363         PR fortran/24784
364         PR fortran/28004
365         * trans-decl.c (generate_local_decl): Adjusted warning on unused 
366         dummy arguments, tell middle-end not to emit additional warnings.
367
368 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
369             Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
370
371         PR fortran/17711
372         * gfortran.h (gfc_intrinsic_op): Added INTRINSIC_EQ_OS,
373         INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS, 
374         INTRINSIC_LT_OS and INTRINSIC_LE_OS.
375         * arith.c (eval_intrinsic, eval_type_intrinsic0): Likewise.
376         * arith.h (gfc_eq, gfc_ne, gfc_gt, gfc_ge, gfc_lt, gfc_le):
377         Added gfc_intrinsic_op as third argument type.
378         * dump-parse-tree.c (gfc_show_expr): Account for new enum values.
379         * expr.c (simplify_intrinsic_op, check_intrinsic_op): Likewise.
380         * interface.c (check_operator_interface): Likewise.
381         (gfc_check_interfaces): Added cross-checks for FORTRAN 77 and 
382         Fortran 90 style operators using new enum values.
383         (gfc_extend_expr): Likewise.
384         (gfc_add_interface): Likewise.
385         * match.c (intrinsic_operators): Distinguish FORTRAN 77 style
386         operators from Fortran 90 style operators using new enum values.
387         * matchexp.c (match_level_4): Account for new enum values.
388         * module.c (mio_expr): Likewise.
389         * resolve.c (resolve_operator): Deal with new enum values, fix
390         inconsistent error messages.
391         * trans-expr.c (gfc_conv_expr_op): Account for new enum values.
392
393 2007-07-08  Tobias Burnus  <burnus@net-b.de>
394
395         PR fortran/32669
396         * interface.c (get_expr_storage_size): Properly obtain lower bound.
397         (compare_actual_formal): Add space before parenthesis.
398
399 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
400
401         PR fortran/25094
402         * resolve.c (resolve_fl_procedure): Added check for PRIVATE types 
403         in PUBLIC interfaces.
404
405 2007-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
406
407         PR fortran/32644
408         * decl.c (match_attr_spec): Don't return MATCH_ERROR if comma found and
409         gfc_match_bind_c does not return MATCH_YES.
410
411 2007-07-07  Kazu Hirata  <kazu@codesourcery.com>
412
413         * decl.c, gfortran.h, interface.c, module.c, resolve.c,
414         trans-array.c, trans-decl.c: Fix comment typos.  Follow
415         spelling conventions.
416         * intrinsic.texi: Fix typos.  Follow spelling conventions.
417
418 2007-05-06  Daniel Franke  <franke.daniel@gmail.com>
419
420         PR fortran/32633
421         * symbol.c (save_status): New.
422         * gfortran.h (save_status): Added external declaration.
423         (check_conflict): Check for conflicting explicite SAVE statements
424         only.
425         (gen_special_c_interop_ptr): Use SAVE_EXPLICIT constant.
426         * module.c (ab_attribute, attr_bits): Removed enumerator value 
427         AB_SAVE for save attribute.
428         (mio_symbol_attribute): Import/export the full SAVE status, 
429         removed usage of AB_SAVE.
430         * dump-parse-tree.c (gfc_show_attr): Dump full SAVE status.
431         * decl.c (add_init_expr_to_sym): Set SAVE_IMPLICIT only if not
432         already explicit.
433
434 2007-07-05  Daniel Franke  <franke.daniel@gmail.com>
435             Tobias Burnus  <burnus@net-b.de>
436
437         PR fortran/32359
438         * gfortran.h (symbol_attribute): Change save attribute into an enum.
439         * decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT.
440         * symbol.c (gfc_add_save): Check for SAVE_EXPLICIT.
441         * resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT.
442         (resolve_symbol): Allow OMP threadprivate with
443         initialization SAVEd and save_all variable.
444         * trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check.
445
446 2007-07-05  Paul Thomas  <pault@gcc.gnu.org>
447
448         PR fortran/32526
449         * match.c (gfc_match_call): Check, in all cases, that a symbol
450         is neither generic nor a subroutine before trying to add it as
451         a subroutine.
452
453         PR fortran/32613
454         * match.c (gfc_match_do): Reset the implied_index attribute.
455
456 2007-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
457
458         PR fortran/31198
459         * trans-intrinsic.c (trans-intrinsic.c): Handle optional
460         arguments correctly for MIN and MAX intrinsics.
461
462 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
463
464         PR fortran/32545
465         * io.c (check_format): Always call gfc_error for errors.
466         (check_format_string): Change type of this function to try and
467         return the result of check_format.
468         (check_io_constraints): Return MATCH_ERROR if check_format_string
469         returns FAILURE.
470
471 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
472
473         PR fortran/32612
474         * decl.c (get_proc_name): Include attr->mod_proc in check for error.
475
476 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
477
478         PR fortran/32432
479         * gfortran.h: Change type of gfc_assign_data_value from void to try.
480         * data.c (gfc_assign_data_value): Return FAILURE if error found.
481         * resolve.c (check_data_variable): If gfc_assign_data_value returns
482         failure, break out of loop and return failure.
483
484 2007-07-03  Christopher D. Rickett  <crickett@lanl.gov>
485
486         PR fortran/32579
487         * symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if necessary.
488         (build_formal_args): Pass intrinsic module symbol id to
489         gen_cptr_param.
490
491 2007-07-03  Tobias Burnus  <burnus@net-b.de>
492
493         PR fortran/25062
494         * resolve.c (resolve_common_blocks): New check function.
495         (resolve_types): Use it.
496
497 2007-07-03  Tobias Burnus  <burnus@net-b.de>
498
499         PR fortran/30940
500         * interface.c (get_sym_storage_size): New function.
501         (get_sym_storage_size): New function.
502         (compare_actual_formal): Enhance sequence association
503         support and improve checking.
504
505 2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>
506
507         * trans-decl.c (gfc_build_builtin_function_decls): Mark
508         internal_realloc as a malloc function.
509
510 2007-07-03  Tobias Burnus  <burnus@net-b.de>
511
512         PR fortran/20888
513         * resolve.c (resolve_operator): Check for NULL as operand.
514
515 2007-07-02  Tobias Burnus  <burnus@net-b.de>
516
517         * gfortran.texi (Fortran 2003): Add ISO Bind C.
518         * intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER,
519         C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics.
520
521 2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>
522
523         * interface.c (gfc_compare_derived_types): Special case for comparing
524         derived types across namespaces.
525         (gfc_compare_types): Deal with BT_VOID.
526         (compare_parameter): Use BT_VOID to accept ISO C Binding pointers.
527         * trans-expr.c (gfc_conv_function_call): Remove setting parm_kind
528         to SCALAR
529         (gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and 
530         NULL_FUNPTR.
531         (gfc_conv_expr): Convert expressions for ISO C Binding derived types.
532         * symbol.c (gfc_set_default_type): BIND(C) variables should not be
533         Implicitly declared.
534         (check_conflict): Add BIND(C) and check for conflicts.
535         (gfc_add_explicit_interface): Whitespace.       
536         (gfc_add_is_bind_c): New function.  
537         (gfc_copy_attr): Use it.
538         (gfc_new_symbol): Initialize ISO C Binding objects.
539         (get_iso_c_binding_dt):  New function.
540         (verify_bind_c_derived_type): Ditto.
541         (gen_special_c_interop_ptr): Ditto.
542         (add_formal_arg): Ditto.
543         (gen_cptr_param): Ditto.
544         (gen_fptr_param): Ditto.
545         (gen_shape_param): Ditto.
546         (add_proc_interface): Ditto.
547         (build_formal_args): Ditto.
548         (generate_isocbinding_symbol):  Ditto.
549         (get_iso_c_sym):  Ditto.
550         * decl.c (num_idents_on_line, has_name_equals): New variables.
551         (verify_c_interop_param): New function.
552         (build_sym): Finish binding labels and deal with COMMON blocks.
553         (add_init_expr_to_sym): Check if the initialized expression is
554         an iso_c_binding named constants
555         (variable_decl): Set ISO C Binding type_spec components.
556         (gfc_match_kind_spec): Check match for C interoperable kind.
557         (match_char_spec): Fix comment. Chnage gfc_match_small_int
558         to gfc_match_small_int_expr.  Check for C interoperable kind.
559         (match_type_spec): Clear the current binding label.
560         (match_attr_spec): Add DECL_IS_BIND_C.  If BIND(C) is found, use it
561         to set attributes.
562         (set_binding_label): New function.
563         (set_com_block_bind_c): Ditto.
564         (verify_c_interop): Ditto.
565         (verify_com_block_vars_c_interop): Ditto.
566         (verify_bind_c_sym): Ditto.
567         (set_verify_bind_c_sym): Ditto.
568         (set_verify_bind_c_com_block): Ditto.
569         (get_bind_c_idents): Ditto.
570         (gfc_match_bind_c_stmt): Ditto.
571         (gfc_match_data_decl): Use num_idents_on_line.
572         (match_result): Deal with right paren in BIND(C).
573         (gfc_match_suffix): New function.
574         (gfc_match_function_decl): Use it.  Code is re-arranged to deal with
575         ISO C Binding result clauses.
576         (gfc_match_subroutine):  Deal with BIND(C).
577         (gfc_match_bind_c): New function.
578         (gfc_get_type_attr_spec): New function.  Code is re-arranged in and
579         taken from gfc_match_derived_decl.
580         (gfc_match_derived_decl): Add check for BIND(C).
581         * trans-common.c: Forward declare gfc_get_common.
582         (gfc_sym_mangled_common_id): Change arg from 'const char *name' to
583         'gfc_common_head *com'.  Check for ISO C Binding of the common block.
584         (build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME.
585         * gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN
586         (bt): Add BT_VOID
587         (sym_flavor): Add FL_VOID.
588         (iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum
589         (CInteropKind_t): New struct.
590         (c_interop_kinds_table): Use it.  Declare an array of structs.
591         (symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c
592         bitfields.
593         (gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members.
594         (gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and
595         common_block members.
596         (gfc_common_head): Add binding_label and is_bind_c members.
597         (gfc_gsymbol): Add sym_name, mod_name, and binding_label members.
598         Add prototypes for get_c_kind, gfc_validate_c_kind, 
599         gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value,
600         verify_c_interop, verify_c_interop_param, verify_bind_c_sym,
601         verify_bind_c_derived_type, verify_com_block_vars_c_interop,
602         generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface
603         * iso-c-binding.def: New file. This file contains the definitions
604         of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic
605         module.
606         * trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR
607          or C_NULL_FUNPTR expressions.
608         * expr.c (gfc_copy_expr): Add BT_VOID case.  For BT_CHARACTER, the
609         ISO C Binding requires a minimum string length of 1 for '\0'.  
610         * module.c (intmod_sym): New struct.
611         (pointer_info): Add binding_label member.
612         (write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p.
613         (ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C.
614         (attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C".
615         (mio_symbol_attribute): Deal with ISO C Binding attributes.
616         (bt_types): Add "VOID".
617         (mio_typespec): Deal with ISO C Binding components.
618         (mio_namespace_ref): Add intmod variable. 
619         (mio_symbol): Check for symbols from an intrinsic module.
620         (load_commons): Check for BIND(C) common block.
621         (read_module): Read binding_label and use it.
622         (write_common): Add label.  Write BIND(C) info.
623         (write_blank_common): Blank commons are not BIND(C).  Explicitly
624         set is_bind_c=0.
625         (write_symbol): Deal with binding_label.
626         (sort_iso_c_rename_list): New function.
627         (import_iso_c_binding_module): Ditto.
628         (create_int_parameter): Add to args.
629         (use_iso_fortran_env_module): Adjust to deal with iso_c_binding
630         intrinsic module.
631         * trans-types.c (c_interop_kinds_table): new array of structs. 
632         (gfc_validate_c_kind): New function.
633         (gfc_check_any_c_kind): Ditto.
634         (get_real_kind_from_node): Ditto.
635         (get_int_kind_from_node): Ditto.
636         (get_int_kind_from_width): Ditto.
637         (get_int_kind_from_minimal_width): Ditto.
638         (init_c_interop_kinds): Ditto.
639         (gfc_init_kinds): call init_c_interop_kinds.
640         (gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers.
641         Adjust handling of BT_DERIVED.
642         (gfc_sym_type): Whitespace.
643         (gfc_get_derived_type):  Account for iso_c_binding derived types
644         * resolve.c (is_scalar_expr_ptr): New function.
645         (gfc_iso_c_func_interface): Ditto.
646         (resolve_function): Use gfc_iso_c_func_interface. 
647         (set_name_and_label): New function.
648         (gfc_iso_c_sub_interface): Ditto.
649         (resolve_specific_s0): Use gfc_iso_c_sub_interface.
650         (resolve_bind_c_comms): New function.
651         (resolve_bind_c_derived_types): Ditto.
652         (gfc_verify_binding_labels): Ditto.
653         (resolve_fl_procedure): Check for ISO C interoperability.
654         (resolve_symbol): Check C interoperability.
655         (resolve_types): Walk the namespace.  Check COMMON blocks.
656         * trans-decl.c (gfc_sym_mangled_identifier):  Prevent the mangling
657         of identifiers that have an assigned binding label.
658         (gfc_sym_mangled_function_id): Use the binding label rather than
659         the mangled name.
660         (gfc_finish_var_decl): Put variables that are BIND(C) into a common
661         segment of the object file, because this is what C would do.
662         (gfc_create_module_variable): Conver to proper types
663         (set_tree_decl_type_code): New function.
664         (generate_local_decl): Check dummy variables and derived types for
665         ISO C Binding attributes.
666         * match.c (gfc_match_small_int_expr): New function.
667         (gfc_match_name_C): Ditto.
668         (match_common_name): Deal with ISO C Binding in COMMON blocks
669         * trans-io.c (transfer_expr):  Deal with C_NULL_PTR or C_NULL_FUNPTR
670         expressions
671         * match.h: Add prototypes for gfc_match_small_int_expr,
672         gfc_match_name_C, match_common_name, set_com_block_bind_c,
673         set_binding_label, set_verify_bind_c_sym,
674         set_verify_bind_c_com_block, get_bind_c_idents,
675         gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c,
676         gfc_get_type_attr_spec
677         * parse.c (decode_statement): Use gfc_match_bind_c_stmt
678         (parse_derived): Init *derived_sym = NULL, and gfc_current_block
679         later for valiadation.
680         * primary.c (got_delim): Set ISO C Binding components of ts.
681         (match_logical_constant): Ditto.
682         (match_complex_constant): Ditto.
683         (match_complex_constant): Ditto.
684         (gfc_match_rvalue): Check for existence of at least one arg for
685         C_LOC, C_FUNLOC, and C_ASSOCIATED.
686         * misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts.
687         (get_c_kind): New function.
688
689 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
690
691         PR fortran/32239
692         * trans-expr.c (gfc_conv_power_op): Use builtin_powi for
693         real**int4 powers.
694         * f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the
695         builtins table.
696
697 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
698
699         * trans.h: Remove decls for 64-bit allocation functions.
700         * trans-array.c (gfc_grow_array): Always pick the standard realloc
701         function decl.
702         (gfc_array_allocate): Likewise.
703         * trans-decl.c: Remove trees for 64-bit allocation functions.
704         (gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
705         allocations functions, use index_int_type for normal allocation
706         functions.
707
708 2007-06-30  Daniel Franke  <franke.daniel@gmail.com>
709
710         PR fortran/20373
711         * intrinsic.c (add_functions): Additional function types.
712         (gfc_convert_type_warn): Remove intrinsic-flag from
713         conversion functions.
714         * resolve.c (resolve_symbol): Added type checks to 
715         explicitly defined intrinsics.
716
717 2007-06-30  Tobias Burnus  <burnus@net-b.de>
718
719         PR fortran/32555
720         * io.c (check_format): Allow zero to precede the
721         P edit descriptor.
722
723 2007-06-30  Paul Thomas  <pault@gcc.gnu.org>
724
725         PR fortran/32472
726         * simplify.c (gfc_simplify_repeat): Add handling of character
727         literal for first argument.
728
729 2007-06-29  Daniel Franke  <franke.daniel@gmail.com>
730
731         * resolve.c (resolve_operator): Added check whether a user
732         defined operator is available.
733
734 2007-06-29  Daniel Franke <franke.daniel@gmail.com>
735
736         * openmp.c (resolve_omp_clauses): Adjust error message to
737         better reflect the actual requirement.
738
739 2007-06-29  Tobias Burnus  <burnus@net-b.de>
740
741         PR fortran/32483
742         * io.c (format_lex): Fix FMT_ZERO.
743         (check_format,check_format_string,gfc_match_format,
744         check_io_constraints) Additional checking for READ.
745
746 2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
747
748         PR other/31400
749         * lang.opt (static-libgfortran): New option.
750         * gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro.
751         (Option): Add OPTION_static and OPTION_static_libgfortran.
752         (lookup_option): Handle the new -static-libgfortran option.
753         (lang_specific_driver): Check whether -static is passed.
754         Handle the new -static-libgfortran option.
755         * options.c (gfc_handle_option): If -static-libgfortran is
756         passed and isn't supported on this configuration, error out.
757
758 2007-06-27  Daniel Franke  <franke.daniel@gmail.com>
759
760         PR fortran/32467
761         * openmp.c (resolve_omp_clauses): Emit error on allocatable
762         components in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE
763         clauses.
764
765 2007-06-25  Paul Thomas  <pault@gcc.gnu.org>
766
767         PR fortran/32464
768         * resolve.c (check_host_association): Return if the old symbol
769         is use associated.  Introduce retval to reduce the number of
770         evaluations of the first-order return value.
771
772         PR fortran/31494
773         * match.c (gfc_match_call): If a host associated symbol is not
774         a subroutine, build a new symtree/symbol in the current name
775         space.
776
777 2007-06-24  Tobias Burnus  <burnus@net-de>
778
779         PR fortran/32460
780         * interface.c (gfc_compare_derived_types): Add access check.
781         * symbol.c (gfc_find_component): Ditto.
782         (gfc_set_component_attr,gfc_get_component_attr) Copy access state.
783         * dump-parse-tree.c (gfc_show_components): Dump access state.
784         * gfortran.h (struct gfc_component): Add gfc_access.
785         * module.c (mio_component): Add access state.
786         * (gfc_match_structure_constructor): Check for private access state.
787
788 2007-06-24  Paul Thomas  <pault@gcc.gnu.org>
789
790         PR fortran/32298
791         PR fortran/31726
792         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
793         the offset between the loop counter and the position as
794         defined. Add the offset within the loop so that the mask acts
795         correctly.  Do not advance the location on the basis that it
796         is zero.
797
798 2007-06-22  Daniel Franke  <franke.daniel@gmail.com>
799
800         PR fortran/31473
801         * symbol.c (gfc_copy_attr): Emit errors for duplicate 
802         EXTERNAL/INTRINSIC statements.
803
804 2007-06-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
805
806         PR fortran/32360
807         * expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR,
808         check to see if the lvalue has attribute pointer and data.  
809
810 2007-06-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
811
812         PR fortran/31162
813         * resolve.c (gfc_resolve_iterator_expr): Add check for REAL using
814         gfc_notify_standard. (gfc_resolve_iterator): Remove check.
815         (resolve_branch): Change "Obsolete" to "Deleted feature".
816         * io.c (resolve_tag): Ditto.
817         * match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto.
818
819 2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
820
821         PR fortran/32361
822         * match.c (gfc_match_common): If the symbol value expression type is
823         NULL_EXPR, don't error if previously initialized.
824
825 2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
826
827         PR fortran/25061
828         * decl.c (get_proc_name) Check symbol for generic interface
829         and issue an error.
830
831 2007-06-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
832         Richard Guenther  <rguenther@suse.de>
833
834         PR fortran/32140
835         * trans.c (gfc_build_addr_expr): Use the correct types.
836
837 2007-06-19  Paul Thomas  <pault@gcc.gnu.org>
838
839         PR fortran/20863
840         PR fortran/20882
841         * resolve.c (resolve_code): Use gfc_impure_variable as a
842         condition for rejecting derived types with pointers, in pure
843         procedures.
844         (gfc_impure_variable): Add test for dummy arguments of pure
845         procedures; any for functions and INTENT_IN for subroutines.
846
847         PR fortran/32236
848         * data.c (gfc_assign_data_value): Change the ICE on an array
849         reference initializer not being an array into an error and
850         clear init to prevent a repetition of the error.
851
852 2007-06-17  Janne Blomqvist  <jb@gcc.gnu.org>
853
854         * gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n
855         environment variables. Fix documentation for
856         GFORTRAN_UNBUFFERED_ALL environment variable.
857
858 2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
859
860         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
861         POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition.
862         * trans-expr.c (gfc_trans_string_copy): Create
863         POINTER_PLUS_EXPR instead of a PLUS_EXPR
864         for pointer types.
865
866 2007-06-14  Paul Thomas  <pault@gcc.gnu.org>
867
868         PR fortran/32302
869         * trans-common.c (build_common_decl): If resizing of common
870         decl is needed, update the TREE_TYPE.
871
872 2007-06-13  Tobias Burnus  <burnus@net-b.de>
873
874         PR fortran/32323
875         * interface.c (has_vector_section): New.
876         (compare_actual_formal): Check for array sections with vector subscript.
877
878 2007-06-12  Dirk Mueller  <dmueller@suse.de>
879
880         * trans-stmt.c (gfc_trans_call): fix gcc_assert to
881         a comparison, not an assignment.
882
883 2007-06-12  Paul Thomas  <pault@gcc.gnu.org>
884
885         * trans-common.c (create_common): Initialize 'field_init'.
886
887 2007-06-12  Paul Thomas  <pault@gcc.gnu.org>
888
889         PR fortran/29786
890         PR fortran/30875
891         * trans-common.c (get_init_field): New function.
892         (create_common): Call get_init_field for overlapping
893         initializers in equivalence blocks.
894         * resolve.c (resolve_equivalence_derived, resolve_equivalence):
895         Remove constraints on initializers in equivalence blocks.
896         * target-memory.c (expr_to_char, gfc_merge_initializers):
897         New functions.
898         (encode_derived): Add the bit offset to the byte offset to get
899         the total offset to the field.
900         * target-memory.h : Add prototype for gfc_merge_initializers.
901
902 2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
903
904         * trans-types.c (gfc_signed_type): Remove.
905         * trans-types.h (gfc_signed_type): Remove.
906         * f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
907
908 2007-06-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
909
910         * trans-intrinsic.c: Revert Lee's 2007-06-04 patch.
911
912 2007-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>
913             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
914
915         PR fortran/32223
916         * match.c (gfc_match_special_char): New function.  Match special char.
917         Add handling '\0'.
918         * match.h: Add prototype.
919         * io.c (next_char): Use it.
920         * primary.c (next_string_char): Ditto.
921
922 2007-06-06  Steven G. Kargl  <kargl@gcc.gnu.org>
923
924         * decl.c: Miscellaneous whitespace fixes.
925         * expr.c: Likewise.
926         * gfortran.h: Likewise.
927         * interface.c : Likewise.
928         * io.c: Likewise.
929         * match.c: Likewise.
930         * match.h: Likewise.
931         * module.c: Likewise.
932         * parse.c: Likewise.
933         * resolve.c: Likewise.
934         * symbol.c: Likewise.
935         * trans-array.c: Likewise.
936         * trans-common.c: Likewise.
937         * trans-decl.c: Likewise.
938         * trans-intrinsic.c: Likewise.
939         * trans-io.c: Likewise.
940         * trans-stmt.c: Likewise.
941         * trans-types.c: Likewise.
942
943 2007-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
944
945         PR fortran/18923
946         * parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR
947         for ST_FUNCTION since it is called in reject_statement.
948         (parse_contained): If error, loop back after reject_statement and try
949         again.  Free the namespace if an error occured.
950
951 2007-06-04 Lee Millward <lee.millward@codesourcery.com>
952
953         * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
954         to operate on a stack allocated array for the intrinsic arguments
955         instead of creating a TREE_LIST. Add two new parameters for the
956         array and the number of elements. Update all callers to allocate
957         an array of the correct length to pass in. Update comment.
958         (gfc_intrinsic_argument_list_length): New function.
959         (gfc_conv_intrinsic_mnimax): Call it.
960         (gfc_conv_intrinsic_merge): Likewise.
961         (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
962         constructors.
963         (gfc_conv_intrinsic_cmplx): Likewise.
964         (gfc_conv_intrinsic_ctime): Likewise.
965         (gfc_covn_intrinsic_fdate): Likewise.
966         (gfc_conv_intrinsic_ttynam): Likewise.
967         (gfc_conv_intrinsic_ishftc): Likewise.
968         (gfc_conv_intrinsic_index): Likewise.
969         (gfc_conv_intrinsic_scan): Likewise.
970         (gfc_conv_intrinsic_verify): Likewise.
971         (gfc_conv_intrinsic_trim): Likewise.
972         (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
973         (gfc_conv_intrinsic_exponent): Likewise.
974         (gfc_conv_intrinsic_bound): Likewise.
975         (gfc_conv_intrinsic_abs): Likewise.
976         (gfc_conv_intrinsic_mod): Likewise.
977         (gfc_conv_intrinsic_sign): Likewise.
978         (gfc_conv_intrinsic_len): Likewise.
979         (gfc_conv_intrinsic_adjust): Likewise.
980         (gfc_conv_intrinsic_si_kind): Likewise.
981
982 2007-06-04  Steve Ellcey  <sje@cup.hp.com>
983
984         * trans-array.c (gfc_conv_array_parameter): Initialize tmp.
985
986 2007-05-31  Richard Guenther  <rguenther@suse.de>
987
988         * trans-expr.c (gfc_conv_expr_op): Use zero constant
989         that matches the lse type.
990         (gfc_trans_string_copy): Use sizetype zero constant.
991         * intrinsic.c (add_functions): The sizeof intrinsic has
992         index type result.
993         * trans-types.c (gfc_get_dtype): Convert size to index
994         type before shifting.
995         * trans-array.c (gfc_trans_array_constructor_value): Use
996         index type for offset computation.
997         * trans-intrinsic.c (gfc_conv_associated): Use correct type
998         for zero constant.
999
1000 2007-05-31  Paul Thomas  <pault@gcc.gnu.org>
1001
1002         PR fortran/32156
1003         * trans-array.c (gfc_trans_array_constructor): Treat the case
1004         where the ss expression charlen is missing.
1005
1006 22007-05-31  Paul Thomas  <pault@gcc.gnu.org>
1007
1008         PR fortran/32103
1009         * module.c (mio_symtree_ref): If an equivalence group member
1010         is not used, give it a hidden symbol and set the pointer_info.
1011         (load_equiv): Only free the equivalence if none of the members
1012         are used.
1013
1014 2007-05-29  Daniel Franke  <franke.daniel@gmail.com>
1015
1016         * gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
1017         added missing GFC_ISYM_* enumerators, ordered alphabetically.
1018         (struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
1019         (gfc_find_subroutine): New prototype.
1020         * intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
1021         (find_subroutine): Renamed to 'gfc_find_subroutine', removed static.  
1022         * dependency.c: Changed usage of isym->generic_id to isym->id.  
1023         * openmp.c: Likewise.  
1024         * resolve.c: Likewise.  
1025         * trans-array.c: Likewise.  
1026         * trans-expr.c: Likewise.  
1027         * trans-intrinsic.c: Likewise.  
1028         * trans-openmp.c: Likewise.
1029
1030 2007-05-28  Tobias Schlüter  <tobi@gcc.gnu.org>
1031
1032         * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF.
1033         * intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic.
1034         * intrinsic.h (gfc_check_sizeof): Add prototype of ...
1035         * check.c (gfc_check_sizeof): .. new function.
1036         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function.
1037         (gfc_conv_intrinsic_strcmp): Whitespace fix.
1038         (gfc_conv_intrinsic_array_transfer): Remove double initialization,
1039         use fold_build. where appropriate.
1040         (gfc_conv_intrinsic_function): Add case for SIZEOF.
1041         * intrinsic.texi: Add documentation for SIZEOF.
1042
1043 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
1044
1045         * trans-array.c (gfc_conv_expr_descriptor): Edit comment.
1046
1047 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
1048
1049         PR fortran/31972
1050         * target-memory.c (gfc_target_expr_size): Add handling
1051         for size of BT_HOLLERITH variables.
1052         * check.c (gfc_check_transfer): Reject BT_HOLLERITH
1053         variables in MOLD argument of TRANSFER.
1054
1055 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
1056
1057         * gfortran.h (gfc_expr): Remove from_H, add "representation"
1058         struct.
1059         * primary.c (match_hollerith_constant): Store the representation
1060         of the Hollerith in representation, not in value.character.
1061         * arith.c: Add dependency on target-memory.h.
1062         (eval_intrinsic): Remove check for from_H.
1063         (hollerith2representation): New function.
1064         (gfc_hollerith2int): Determine value of the new constant.
1065         (gfc_hollerith2real): Likewise.
1066         (gfc_hollerith2complex): Likewise.
1067         (gfc_hollerith2logical): Likewise.
1068         (gfc_hollerith2character): Point both representation.string and
1069         value.character.string at the value string.
1070         * data.c (create_character_initializer): For BT_HOLLERITH
1071         rvalues, get the value from the representation rather than
1072         value.character.
1073         * expr.c (free_expr0): Update handling of BT_HOLLERITH values
1074         and values with representation.string.
1075         (gfc_copy_expr): Likewise.
1076         * intrinsic.c (do_simplify): Remove special treatement of
1077         variables resulting from Hollerith constants.
1078         * dump-parse-trees.c (gfc_show_expr): Update handling of
1079         Holleriths.
1080         * trans-const.c (gfc_conv_constant_to_tree): Replace from_H
1081         check with check for representation.string; get Hollerith
1082         representation from representation.string, not value.character.
1083         * trans-expr.c (is_zero_initializer_p): Replace from_H check
1084         with check for representation.string.
1085         * trans-stmt.c (gfc_trans_integer_select): Use
1086         gfc_conv_mpz_to_tree for case values, so as to avoid picking up
1087         the memory representation if the case is given by a transfer
1088         expression.
1089         * target-memory.c (gfc_target_encode_expr): Use the known memory
1090         representation rather than the value, if it exists.
1091         (gfc_target_interpret_expr): Store the memory representation of
1092         the interpreted expression as well as its value.
1093         (interpret_integer): Move to gfc_interpret_integer, make
1094         non-static.
1095         (interpret_float): Move to gfc_interpret_float, make non-static.
1096         (interpret_complex): Move to gfc_interpret_complex, make
1097         non-static.
1098         (interpret_logical): Move to gfc_interpret_logical, make
1099         non-static.
1100         (interpret_character): Move to gfc_interpret_character, make
1101         non-static.
1102         (interpret_derived): Move to gfc_interpret_derived, make
1103         non-static.
1104         * target-memory.h: Add prototypes for newly-exported
1105         gfc_interpret_* functions.
1106
1107 2007-05-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1108
1109         PR fortran/31812
1110         * parse.c (next_statement): Warn for truncated lines if source is free
1111         form.
1112
1113 2007-05-27 Paul Thomas  <pault@gcc.gnu.org>
1114            Tobias Burnus  <burnus@net-b.de>
1115
1116         PR fortran/32088
1117         * symbol.c (gfc_check_function_type): Copy dimensions of
1118           result variable.
1119         * resolve.c (resolve_contained_fntype): Improve symbol output in
1120           the error message.
1121
1122 2007-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1123
1124         PR fortran/31813
1125         * io.c (check_format): Add warning for H specifier in format.
1126         
1127 2007-05-26  Tobias Burnus  <burnus@net-b.de>
1128
1129         * gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and
1130         GFORTRAN_ERROR_BACKTRACE environment variables.
1131
1132 2007-05-26  Paul Thomas  <pault@gcc.gnu.org>
1133
1134         PR fortran/31219
1135         * trans.h : Add no_function_call bitfield to gfc_se structure.
1136         Add stmtblock_t argument to prototype of get_array_ctor_strlen.
1137         * trans-array.c (get_array_ctor_all_strlen): New function.
1138         (get_array_ctor_strlen): Add new stmtblock_t argument and call
1139         new function for character elements that are not constants,
1140         arrays or variables.
1141         (gfc_conv_array_parameter): Call get_array_ctor_strlen to get
1142         good string length.
1143         * trans-intrinsic (gfc_conv_intrinsic_len): Add new argument
1144         to call of get_array_ctor_strlen.
1145
1146 2007-05-25  Kazu Hirata  <kazu@codesourcery.com>
1147
1148         * intrinsic.texi: Fix typos.
1149
1150 2007-05-25  Paul Thomas  <pault@gcc.gnu.org>
1151
1152         PR fortran/32047
1153         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Change
1154         order in logic under EXPR_FUNCTION to handle functions with
1155         no arguments.
1156
1157 2007-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1158
1159         PR fortran/31716
1160         * array.c (spec_dimen_size): Test for correct BT_INTEGER type. 
1161
1162 2007-05-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1163
1164         PR fortran/32046
1165         * trans-expr.c (gfc_trans_zero_assign): Convert the result of
1166         TYPE_SIZE_UNIT into a signed type.
1167         (gfc_trans_array_copy):  Likewise.
1168         (gfc_trans_array_constructor_copy): Likewise.
1169         * trans-array.c (gfc_trans_create_temp_array): Likewise.
1170         (gfc_grow_array): Likewise.
1171         (gfc_array_init_size): Likewise.
1172         (gfc_duplicate_allocatable): Likewise.
1173         * trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
1174
1175 2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1176
1177         PR fortran/18923
1178         * resolve.c (resolve_function): Don't call resolve_global_procedure if
1179         there is no name. Delete duplicated statement in ELSE clause.
1180
1181 2007-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1182
1183         PR fortran/31627
1184         * trans-array.c (gfc_trans_array_bound_check): Take extra argument to
1185         indicate whether we should check the upper bound in that dimension.
1186         (gfc_conv_array_index_offset): Check only the lower bound of the
1187         last dimension for assumed-size arrays.
1188         (gfc_conv_array_ref): Likewise.
1189         (gfc_conv_ss_startstride): Likewise.
1190
1191 2007-05-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1192             Daniel Franke  <franke.daniel@gmail.com>
1193
1194         PR fortran/32002
1195         * resolve.c (resolve_actual_arglist): Resolve actual argument after
1196         being identified as variable.
1197
1198 2007-05-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1199
1200         PR fortran/32027
1201         * trans-stmt.c (gfc_trans_do): Fix the value of loop variable
1202         when the loop ends.
1203
1204 2007-05-21  H.J. Lu  <hongjiu.lu@intel.com>
1205
1206         * trans-stmt.c (gfc_trans_do): Fix a typo in comment.
1207
1208 2007-05-21  Paul Thomas  <pault@gcc.gnu.org>
1209
1210         PR fortran/31867
1211         PR fortran/31994
1212         * trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
1213         offset for non-descriptor, source arrays and correct for stride
1214         not equal to one before writing to field of output descriptor.
1215
1216 2007-05-20  Daniel Franke  <franke.daniel@gmail.com>
1217
1218         PR fortran/32001
1219         * check.c (check_rest): Improved argument conformance check and 
1220         fixed error message generation.
1221
1222 2007-05-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1223
1224         PR fortran/30820
1225         * Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
1226         simplify.o and trans-common.o.
1227
1228 2007-05-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1229
1230         PR fortran/31974
1231         * trans-array.c (gfc_trans_auto_array_allocation): Avoid
1232         multiplication of mismatched types.
1233
1234 2007-05-18  Daniel Franke  <franke.daniel@gmail.com>
1235
1236         PR fortran/24633
1237         * symbol.c (gfc_add_flavor): Add the NAME to error message if
1238         available.
1239
1240 2007-05-15  Daniel Franke  <franke.daniel@gmail.com>
1241
1242         PR fortran/31919
1243         PR fortran/31929
1244         PR fortran/31930
1245         * intrinsic.c (check_specific): Check elemental intrinsics for
1246         rank and shape.
1247         (add_functions): Fixed dummy argument names of BESJN and BESYN.
1248         Fixed elemental status of MCLOCK and MCLOCK8.
1249         * check.c (check_rest): Added check for array conformance.
1250         (gfc_check_merge): Removed check for array conformance.
1251         (gfc_check_besn): Removed check for scalarity.
1252         * intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos.
1253         (BESJN, BESYN): Clarified documentation.
1254
1255 2007-05-17  Tobias Burnus  <burnus@net-b.de>
1256
1257         * gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
1258
1259 2007-05-16  Brooks Moses  <brooks.moses@codesourcery.com>
1260
1261         PR fortran/18769
1262         PR fortran/30881
1263         PR fortran/31194
1264         PR fortran/31216
1265         PR fortran/31427
1266         * target-memory.c: New file.
1267         * target-memory.h: New file.
1268         * simplify.c: Add #include "target-memory.h".
1269         (gfc_simplify_transfer): Implement constant-
1270         folding for TRANSFER intrinsic.
1271         * Make-lang.in: Add dependencies on new target-memory.* files.
1272
1273 2007-05-15  Paul Brook  <paul@codesourcery.com>
1274
1275         * trans-types.c (gfc_type_for_size): Handle signed TImode.
1276
1277 2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1278
1279         PR fortran/30723
1280         * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
1281         gfor_fndecl_internal_free): Remove prototypes.
1282         (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
1283         * trans.c (gfc_call_malloc, gfc_call_free): New functions.
1284         * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
1285         and __builtin_malloc builtins.
1286         * trans-decl.c (gfor_fndecl_internal_malloc,
1287         gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
1288         (gfor_fndecl_os_error): Add.
1289         (gfc_build_builtin_function_decls): Don't create internal_malloc,
1290         internal_malloc64 and internal_free library function declaration.
1291         Create os_error library call function declaration.
1292         * trans-array.c (gfc_trans_allocate_array_storage,
1293         gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
1294         gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
1295         gfc_call_malloc and gfc_call_free instead of building calls to
1296         internal_malloc and internal_free.
1297         * trans-expr.c (gfc_conv_string_tmp): Likewise.
1298         * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
1299         gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
1300         gfc_trans_where_2: Likewise.
1301         * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
1302         gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
1303         gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
1304
1305 2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1306
1307         PR fortran/31725
1308         * trans-expr.c (gfc_conv_substring): Evaluate substring bounds
1309         only once.
1310
1311 2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
1312
1313         * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
1314         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
1315         instead of gfc_unsigned_type.
1316         * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
1317         gfc_unsigned_type.
1318         * trans-types.c (gfc_unsigned_type): Remove.
1319         * trans-types.h (gfc_unsigned_type): Remove.
1320
1321 2007-05-12  Paul Thomas  <pault@gcc.gnu.org>
1322
1323         PR fortran/30746
1324         * resolve.c (check_host_association): New function that detects
1325         incorrect host association and corrects it.
1326         (gfc_resolve_expr): Call the new function for variables and
1327         functions.
1328         * match.h : Remove prototype for gfc_match_rvalue.
1329         * gfortran.h : Add prototype for gfc_match_rvalue.
1330
1331 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
1332
1333         PR fortran/30876
1334         * trans-expr.c (gfc_conv_function_call): Reduce indirection for
1335         direct assignments of recursive array valued functions.
1336         * primary.c (gfc_match_rvalue): Correct error for recursive
1337         function calls such that directly recursive calls of scalar
1338         function without an explicit result are disallowed.
1339
1340 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
1341
1342         PR fortran/30878
1343         * resolve.c (resolve_fl_namelist): It is not an error if the
1344         namelist element is the result variable of the enclosing
1345         function.  Search for the symbol in current and all parent
1346         namespaces for a potential conflict.
1347         * symbol.c (check_conflict): Remove the conflict between
1348         'in_namelist' and 'FL_PROCEDURE' because the symbol info
1349         is not available to exclude function result variables.
1350         * trans-io.c (nml_get_addr_expr): Use the fake result decl
1351         if the symbol is an implicit result variable.
1352
1353 2007-05-11  Paul Thomas  <pault@gcc.gnu.org>
1354
1355         PR fortran/31474
1356         * decl.c (get_proc_name): If an entry has already been declared
1357         as a module procedure, pick up the symbol and the symtree and
1358         use them for the entry.
1359
1360 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
1361
1362         PR fortran/31630
1363         * resolve.c (resolve_symbol): Remove the flagging mechanism from the
1364         formal namespace resolution and instead check that the formal
1365         namespace is not the current namespace.
1366
1367 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
1368
1369         PR fortran/31692
1370         * trans-array.c (gfc_conv_array_parameter): Convert full array
1371         references to the result of the procedure enclusing the call.
1372
1373 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
1374
1375         PR fortran/29397
1376         PR fortran/29400
1377         * decl.c (add_init_expr_to_sym): Expand a scalar initializer
1378         for a parameter array into an array expression with the right
1379         shape.
1380         * array.c (spec_dimen_size): Remove static attribute.
1381         * gfortran.h : Prototype for spec_dimen_size.
1382
1383 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1384
1385         PR fortran/31399
1386         * trans-stmt.c (gfc_trans_do): Handle large loop counts.
1387
1388 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1389
1390         PR fortran/31764
1391         * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
1392         even for non constant arguments.
1393
1394 2007-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1395             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1396
1397         PR fortran/31201
1398         * gfortran.h: Add runtime error codes from libgfortran.h. Define
1399         MAX_UNIT_NUMBER.
1400         * trans.c (gfc_trans_runtime_check): Update the format of runtime error
1401         messages to match library runtime errors.  Use call to new library
1402         function runtime_error_at().
1403         * trans.h: Add prototype for new function gfc_trans_io_runtime_check.
1404         Add declaration for library functions runtime_error_at and
1405         generate_error.
1406         * trans_io.c (gfc_trans_io_runtime_check): New function.
1407         (set_parameter_value): Add error checking for UNIT numbers.
1408         (set_parameter_ref): Initialize the users variable to zero. 
1409         (gfc_trans_open): Move setting of unit number to after setting of common
1410         flags so that runtime error trapping can be detected.
1411         (gfc_trans_close): Likewise. (build_filepos): Likewise.
1412         (gfc_trans_inquire): Likewise. (build_dt): Likewise.
1413         * trans-decl.c: Add declarations for runtime_error_at and
1414         generate_error. (gfc_build_builtin_function_decls): Build function
1415         declarations for runtime_error_at and generate_error.
1416
1417 2007-05-06  Paul Thomas  <pault@gcc.gnu.org>
1418
1419         PR fortran/31540
1420         * resolve.c (resolve_fl_procedure): Resolve constant character
1421         lengths.
1422
1423 2007-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1424
1425         PR fortran/31251
1426         * decl.c (match_char_spec): Add check for invalid character lengths.
1427
1428 2007-05-04  Brooks Moses  <brooks.moses@codesourcery.com>
1429
1430         * intrinsic.texi (CMPLX): Document result kind.
1431         (COMPLEX): Add documentation.
1432
1433 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
1434
1435         PR fortran/31760
1436         * intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
1437         by gfc_check_fn_r to avoid checks for scalarity.
1438         * check.c (gfc_check_besn): Removed check for scalarity.
1439         (gfc_check_g77_math1): Removed.
1440         * intrinsic.h (gfc_check_g77_math1): Removed.
1441
1442 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
1443
1444         * check.c (gfc_check_fseek_sub): Fixed typo.
1445
1446 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
1447
1448         PR fortran/22359
1449         * intrinsic.c (add_subroutines): Added FSEEK.
1450         * intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
1451         * iresolve.c (gfc_resolve_fseek_sub): New.
1452         * check.c (gfc_check_fseek_sub): New.
1453         * intrinsic.texi (FSEEK): Updated.
1454
1455 2007-05-04  Tobias Burnus  <burnus@net-b.de>
1456
1457         PR fortran/31803
1458         * expr.c (gfc_check_pointer_assign): Check for NULL pointer.
1459
1460 2007-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1461
1462         PR fortran/31251
1463         * simplify.c (gfc_simplify_len): Only simplify integer lengths.
1464
1465 2007-05-04  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1466
1467         PR fortran/31781
1468         * simplify.c (gfc_simplify_repeat): Don't put function call with
1469         side effect in a gcc_assert().
1470
1471 2007-05-04  Tobias Burnus  <burnus@net-b.de>
1472
1473         PR fortran/25071
1474         * interface.c (compare_actual_formal): Check character length.
1475
1476 2007-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
1477
1478         PR fortran/31732
1479         * dependency.c (gfc_full_array_ref_p):  If the reference is
1480         to a single element, check that the array has a single
1481         element and that the correct element is referenced.
1482
1483 2007-05-01  Daniel Franke  <franke.daniel@gmail.com>
1484
1485         * intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
1486         (add_subroutines): Replaced magic numbers in function calls by
1487         ELEMENTAL and NOT_ELEMENTAL respectively.
1488         * intrinsic.texi (MVBITS): Changed class to elemental subroutine.
1489         (RANDOM_NUMBER): Changed class to subroutine.
1490         (HUGE, TINY): Changed class to inquiry function.
1491
1492 2007-04-30  Brooks Moses  <brooks.moses@codesourcery.com>
1493
1494         * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
1495         (gfc_conv_tree_to_mpz): New function.
1496         (gfc_conv_mpfr_to_tree): Use real_from_mpfr.
1497         (gfc_conv_tree_to_mpfr): New function.
1498         * trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
1499         (gfc_conv_tree_to_mpfr): New prototype.
1500
1501 2007-04-30  Daniel Franke  <franke.daniel@gmail.com>
1502
1503         * intrinsic.texi (IERRNO): Changed class to non-elemental function.
1504         (LOG10): Removed COMPLEX as accepted argument type.
1505         (NEW_LINE): Changed class from elemental to inquiry function.
1506         (SIGN): Removed requirement of scalar arguments.
1507         (SNGL): Changed class to elemental function.
1508
1509 2007-04-29  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1510
1511         PR fortran/31591
1512         * simplify.c (simplify_bound_dim): New function.
1513         (simplify_bound): Use the above. Perform simplification of LBOUND
1514         and UBOUND when DIM argument is not present.
1515
1516 2007-04-29  Daniel Franke  <franke.daniel@gmail.com>
1517
1518         * gfortran.texi: Cleaned up keyword index.
1519         * invoke.texi: Likewise.
1520         * intrinsic.texi: Likewise.
1521                         
1522 2007-04-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1523
1524         PR fortran/31645
1525         * scanner.c (load_file): Discard the byte order mark if one is
1526         found on the first non-preprocessor line of a file.
1527
1528 2007-04-29  Paul Thomas  <pault@gcc.gnu.org>
1529
1530         PR fortran/31711
1531         * trans-array.c (gfc_conv_resolve_dependencies): Create a temp
1532         whenever a dependency is found.
1533
1534 2007-04-28  Tobias Schlüter  <tobi@gcc.gnu.org>
1535
1536         * options.c (gfc_handle_option): Ensure requested free form line
1537         length is not too small.
1538
1539 2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
1540
1541         * intrinsic.texi (Transfer): Improve documentation.
1542
1543 2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
1544
1545         * gfortran.texi (Option Index): Add @samp as needed.
1546
1547 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
1548
1549         * gfortran.texi: Added node and menu entry for an option index.
1550         * invoke.texi: Moved command line option related entries of the concept 
1551         index to the option index.
1552
1553 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
1554
1555         * intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
1556         XOR): Fixed examples.
1557
1558 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
1559
1560         * intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM, 
1561         SYSTEM_CLOCK, TRANSFER, UNPACK): New.
1562         (DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
1563
1564 2007-04-26  Daniel Franke  <franke.daniel@gmail.com>
1565
1566         * intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE, 
1567         SIZE, TRANSPOSE, TRIM, VERIFY): New.
1568         (ADJUSTL, ADJUSTR, INDEX): Added cross references.
1569         (INT, INT2, INT8, LONG): Enabled section header.
1570
1571 2007-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
1572
1573         * module.c (module_char): Replace fgetc() with
1574         getc(). 
1575         (write_char): Replace fputc() with putc().
1576         * scanner.c (load_line): Replace fgetc() with getc().
1577         (gfc_read_orig_filename): Likewise.
1578
1579 2007-04-25  Tobias Burnus  <burnus@net-b.de>
1580
1581         PR fortran/31668
1582         * error.c (error_print): Fix %% support.
1583         * intrinsic.c (sort_actual): Improve error message.
1584         * resolve.c (resolve_actual_arglist): Allow %VAL for
1585         interfaces defined in the module declaration part.
1586
1587 2007-04-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1588
1589         PR libfortran/31299
1590         * intrinsic.texi (GETLOG): Update documentation to reflect
1591         library changes.
1592
1593 2007-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1594
1595         PR fortran/31587
1596         * module.c (write_char): Add character to the MD5 buffer.
1597         (read_md5_from_module_file): New function.
1598         (gfc_dump_module): Compute MD5 for new module file. Call
1599         read_md5_from_module_file. Only overwrite old module file
1600         if the new MD5 is different.
1601
1602 2007-04-23  Paul Thomas  <pault@gcc.gnu.org>
1603
1604         PR fortran/31630
1605         * resolve.c (resolve_symbol): Allow resolution of formal
1606         namespaces nested within formal namespaces coming from modules.
1607
1608         PR fortran/31620
1609         * trans-expr.c (gfc_trans_assignment): Make the call to
1610         gfc_trans_zero_assign conditional on the lhs array ref being
1611         the only reference.
1612
1613 2007-04-23  Tobias Burnus  <burnus@net-b.de>
1614
1615         * primary.c (match_integer_constant): Mention -fno-range-check
1616         in the error message.
1617
1618 2007-04-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1619
1620         PR fortran/31495
1621         * scanner.c (load_line):  Remove check for comment after ampersand and
1622         adjust tracking of ampersand.
1623
1624 2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1625
1626         * f95-lang.c (lang_tree_node): Use GENERIC_NEXT
1627         instead of checking GIMPLE_STMT_P in chain_next.
1628
1629 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
1630
1631         * trans-types.h (gfc_packed): New enum.
1632         (gfc_get_nodesc_array_type): Change prototype to use new enum.
1633         * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
1634         argument packed.  Adapt all references to values accordingly.
1635         (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
1636         (gfc_get_derived_type): Likewise.
1637         * trans-array.c (gfc_build_constant_array_constructor): Likewise.
1638         * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
1639         argument to type gfc_packed.
1640         (gfc_add_interface_mapping): Use enum values in call to
1641         gfc_get_interface_mapping.
1642         * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
1643         values when determining packing.
1644
1645         * trans-decl.c (gfc_finish_decl): Remove unused second argument
1646         'init'.  Simplify code accordingly.  Remove calls to
1647         gfc_fatal_error in favor of gcc_assert.
1648         (create_function_arglist): Remove second argument from calls to
1649         gfc_finish-decl.
1650         (gfc_trans_dummy_character): Likewise.
1651
1652         * arith.h: Update copyright years.
1653         * dependency.h: Likewise.
1654         * gfortran.h: Likewise.
1655         * lang-specs.h: Likewise.
1656         * parse.h: Likewise.
1657         * symbol.c: Likewise.
1658         * trans.h: Likewise.
1659         * trans.c: Likewise.
1660         * trans-array.c: Likewise.
1661         * trans-common.c: Likewise.
1662         * trans-const.h: Likewise.
1663         * trans-const.c: Likewise.
1664         * trans-decl.c: Likewise.
1665         * trans-expr.c: Likewise.
1666         * trans-io.c: Likewise.
1667         * trans-openmp.c: Likewise.
1668         * trans-types.h: Likewise.
1669         * types.def: Likewise.
1670
1671 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
1672
1673         PR fortran/31144
1674         * decl.c (gfc_sym_mangled_identifier): Use capital letters in name
1675         mangling.
1676         (gfc_sym_mangled_function_id): Likewise.
1677
1678 2007-04-15  Paul Thomas  <pault@gcc.gnu.org>
1679
1680         PR fortran/31204
1681         * primary.c (check_for_implicit_index): New function to check
1682         that a host associated variable is not an undeclared implied
1683         do loop index.
1684         (gfc_match_rvalue, match_variable): Use it and reset the
1685         implied_index attribute.
1686         * gfortran.h : Add the implied_index field to symbol_attribute.
1687         * match.c (gfc_match_iterator): Mark the iterator variable
1688         with the new attribute.
1689         * decl.c (build_sym): Reset the new attribute.
1690
1691 2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
1692
1693         * gfc-internals.texi: Fix typos.
1694         * simplify.c: Fix a comment typo.
1695
1696 2007-04-14  Bernhard Fischer  <aldot@gcc.gnu.org>
1697
1698         * primary.c: Commentary typo fix; Add question about redundant (?)
1699         set.
1700
1701 2007-04-14  Paul Thomas  <pault@gcc.gnu.org>
1702
1703         PR fortran/29507
1704         PR fortran/31404
1705         * expr.c (scalarize_intrinsic_call): New function to
1706         scalarize elemental intrinsic functions in initialization
1707         expressions.
1708         (check_init_expr): Detect elemental intrinsic functions
1709         in initalization expressions and call previous.
1710
1711 2007-04-13  Tobias Burnus  <burnus@net-b.de>
1712
1713         PR fortran/31559
1714         * primary.c (match_variable): External functions
1715         are no variables.
1716
1717 2007-04-13  Paul Thomas  <pault@gcc.gnu.org>
1718
1719         PR fortran/31550
1720         * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
1721         derived type components.
1722
1723 2007-04-13  Tobias Schlüter  <tobi@gcc.gnu.org>
1724
1725         PR fortran/18937
1726         * resolve.c: Include obstack.h and bitmap.h.  New variable
1727         labels_obstack.
1728         (code_stack): Add tail and reachable_labels fields.
1729         (reachable_labels): New function.
1730         (resolve_branch): Rework to use new fields in code_stack.
1731         (resolve_code): Call reachable_labels.
1732         (resolve_codes): Allocate and free labels_obstack.
1733
1734 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
1735
1736         PR fortran/31250
1737         * decl.c (match_char_spec): Move check for negative CHARACTER
1738         length ...
1739         * resolve.c (resolve_charlen): ... here.
1740         (resolve_types): Resolve CHARACTER lengths earlier.
1741
1742 2007-04-12  Daniel Franke  <franke.daniel@gmail.com>
1743
1744         PR fortran/31234
1745         * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
1746
1747 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
1748
1749         PR fortran/31266
1750         * primary.c (gfc_variable_attr): Don't copy string length if it
1751         doesn't make sense.
1752         * resolve.c (resolve_code): Clarify error message.
1753
1754         PR fortran/31471
1755         * decl.c (gfc_match_end): Also check for construct name in END
1756         FORALL and END WERE statements.
1757         * match.c (match_case_eos): Use uppercase for statement name in
1758         error message.
1759         (match_elsewhere): Construct name may appear iff construct has a
1760         name.
1761
1762         * trans-types.c: Update copyright years.  Reformat long comment
1763         explaining array descriptor format.  Remove obsolete mention of
1764         TYPE_SET.
1765
1766         * arith.c (gfc_arith_uplus): Rename to ...
1767         (gfc_arith_identity): ... this.
1768         (gfc_parentheses): New function.
1769         (gfc_uplus): Adapt to renamed function.
1770         * arith.h (gfc_parentheses): Add prototype.
1771         * expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
1772         (simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
1773         INTRINSIC_PARENTHESES.
1774
1775 2007-04-12  Tobias Burnus  <burnus@net-b.de>
1776
1777         PR fortran/31472
1778         * decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
1779         attribute in type definitions.
1780         (gfc_match_private): Allow PRIVATE statement only
1781         in specification part of modules.
1782         (gfc_match_public): Ditto for PUBLIC.
1783         (gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
1784         specificification part of modules.
1785
1786 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
1787
1788         PR fortran/31257
1789         * intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
1790         * intrinsic.h : Add prototype for gfc_resolve_achar.
1791         * iresolve.c (gfc_resolve_achar): New function.
1792
1793 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
1794
1795         PR fortran/30880
1796         * resolve.c (resolve_fl_variable): Set flag to 2 for automatic
1797         arrays.  Make condition for automatic array error explicit.
1798         If a dummy, no error on an INTENT(OUT) derived type.
1799
1800 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
1801
1802         PR fortran/30872
1803         * expr.c (find_array_element): Correct arithmetic for rank > 1.
1804
1805 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
1806
1807         PR fortran/31222
1808         * check.c (numeric_check): If an expresson has not got a type,
1809         see if it is a symbol for which a default type applies.
1810
1811 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
1812
1813         PR fortran/31214
1814         * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
1815         associated symbols.
1816
1817 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
1818
1819         PR fortran/31293
1820         * symbol.c (gfc_check_function_type): New function.
1821         * gfortran.h : Add prototype for previous.
1822         * parse.c (parse_progunit): Call it after parsing specification
1823         statements.
1824
1825 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
1826
1827         PR fortran/31483
1828         * trans-expr.c (gfc_conv_function_call): Give a dummy
1829         procedure the correct type if it has alternate returns.
1830
1831 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
1832
1833         PR fortran/31292
1834         * decl.c (gfc_match_modproc): Go up to the top of the namespace
1835         tree to find the module namespace for gfc_get_symbol.
1836
1837 2007-04-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1838
1839         PR fortran/31304
1840         * fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
1841         * fortran/trans-types.c (gfc_charlen_int_kind): New variable.
1842         (gfc_init_types): Define gfc_charlen_int_kind. 
1843         * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
1844         * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
1845         (gfc_build_intrinsic_function_decls): Don't set
1846         gfor_fndecl_string_repeat.
1847         * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
1848         so that we don't have to call a library function.
1849         * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
1850         checks on the NCOPIES argument, and work with arbitrary size
1851         arguments.
1852
1853 2007-03-31  Tobias Burnus  <burnus@net-b.de>
1854
1855         * intrinsic.c (add_functions): Fix name of dummy argument
1856           for new_line and exit intrinsic.
1857
1858 2007-03-31  Paul Thomas  <pault@gcc.gnu.org>
1859
1860         PR fortran/31160
1861         * gfortran.texi: Add a section for the %VAL, %REF and %LOC
1862         extensions.
1863
1864 2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
1865
1866         * trans-types.c (gfc_signed_or_unsigned_type): Remove.
1867         (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
1868         gfc_signed_or_unsigned_type.
1869         (gfc_signed_type): Ditto.
1870         * trans-types.h (gfc_signed_or_unsigned_type): Remove.
1871         * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
1872
1873 2007-03-30  Tobias Schlüter  <tobi@gcc.gnu.org>
1874
1875         * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
1876         descend into all branches.
1877
1878 2007-03-29  Tobias Schlüter  <tobi@gcc.gnu.org>
1879
1880         * intrinsic.c (conv_name): Let gfc_get_string handle the format.
1881         (find_conv): Compare pointers instead of calling strcmp.
1882         (find_sym): Likewise, but ensure that the compared pointer is in
1883         the global string table.
1884
1885 2007-03-28  Tobias Schlüter  <tobi@gcc.gnu.org>
1886
1887         * gfc-internals.texi: Fix output filename.  Merge type index into
1888         concept index.  Start documentation of gfc_code structure.
1889
1890 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
1891
1892         * gfc-internals.texi: New file,
1893         * Make-lang.in: Add rules to convert it to dvi, pdf, and info.
1894
1895 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
1896  
1897         * error.c (show_locus): Remove always-false test.
1898
1899 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
1900
1901         * lang.opt: Minor edits to descriptions.
1902
1903 2007-03-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1904
1905         PR fortran/30877
1906         * fortran/interface.c (check_operator_interface): Implement
1907         the standard checks on user operators extending intrinsic operators.
1908         * fortran/resolve.c (resolve_operator): If the ranks of operators
1909         don't match, don't error out but try the user-defined ones first.
1910
1911 2007-03-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1912
1913         PR fortran/30655
1914         * expr.c (check_dimension): Fix logic of comparisons.
1915
1916 2007-03-24  Paul Thomas  <pault@gcc.gnu.org>
1917
1918         PR fortran/31215
1919         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
1920         int result that is non-zero if the expression is the function
1921         result.  Only the characteristics of the result expression
1922         can be used in a procedure interface, so simplify LEN in situ
1923         using its character length.
1924
1925         PR fortran/31209
1926         PR fortran/31200
1927         * trans-expr.c (gfc_conv_function_call): Do not use
1928         gfc_conv_expr_reference for actual pointer function with formal
1929         target because a temporary is created that does not transfer
1930         the reference correctly.  Do not indirect formal pointer
1931         functions since it is the function reference that is needed.
1932
1933 2007-03-24  Brooks Moses  <brooks.moses@codesourcery.com>
1934
1935         * gfortran.h: Edit comments on GFC_STD_*.
1936
1937 2007-03-23  Brooks Moses  <brooks.moses@codesourcery.com>
1938
1939         * invoke.texi: Misc. small typo fixes.
1940         (-Wcharacter-truncation): Add.
1941         (-Wnonstd-intrinsics): Correct spelling.
1942         (-std=): Edit.
1943         (-fintrinsic-modules-path): Add.
1944
1945 2007-03-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1946
1947         PR fortran/30834
1948         * arith.c (complex_pow): Rewrite to handle large power.
1949         (gfc_arith_power): Handle large power in the real and integer
1950         cases.
1951
1952 2007-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1953
1954         PR fortran/31262
1955         * trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
1956         larger than twice the width of a HOST_WIDE_INT.
1957
1958 2006-03-22  Paul Thomas  <pault@gcc.gnu.org>
1959
1960         PR fortran/31193
1961         * trans-intrinsic.c (gfc_size_in_bytes): Remove function.
1962         (gfc_conv_intrinsic_array_transfer): Remove calls to previous.
1963         Explicitly extract TREE_TYPEs for source and mold.  Use these
1964         to calculate length of source and mold, except for characters,
1965         where the se string_length is used.  For mold, the TREE_TYPE is
1966         recalculated using gfc_get_character_type_len so that the
1967         result is correctly cast for character literals and substrings.
1968         Do not use gfc_typenode_for_spec for the final cast.
1969
1970 2007-03-22  Tobias Schlüter  <tobi@gcc.gnu.org>
1971
1972         PR fortran/20897
1973         * decl.c (gfc_match_derived_decl): Reliably reject
1974         'doubleprecision' and 'doublecomplex' as type names.
1975
1976 2007-03-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1977
1978         PR fortran/31203
1979         * trans-expr.c (gfc_trans_init_string_length): Length should
1980         never be negative.
1981         (gfc_conv_function_call): Likewise.
1982
1983 2007-03-18  Paul Thomas  <pault@gcc.gnu.org>
1984
1985         PR fortran/30531
1986         PR fortran/31086
1987         * symbo.c : Add gfc_derived_types.
1988         (gfc_free_dt_list): Free derived type list gfc_derived_types.
1989         (gfc_free_namespace): Remove call to gfc_free_dt_list.
1990         (gfc_symbol_done_2): Call  gfc_free_dt_list.
1991         * gfortran.h : Declare gfc_derived_types to be external. Remove
1992         derived types field from gfc_namespace.
1993         * resolve.c (resolve_fl_derived): Refer to gfc_derived types
1994         rather than namespace derived_types.
1995         (resolve_fntype): Remove special treatment for module
1996         derived type functions.
1997         * trans-types.c (gfc_get_derived_type): Remove search for like
1998         derived types.  Finish by copying back end declaration to like
1999         derived types in the derived type list gfc_derived_types.
2000
2001         2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2002
2003         PR fortran/31120
2004         * trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
2005         (gfc_conv_cst_int_power): Handle integer exponent with care,
2006         since it might be too large for us.
2007
2008 2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2009
2010         PR fortran/31184
2011         * invoke.texi: Fix typo.
2012
2013 2007-03-16  Tobias Burnus  <burnus@net-b.de>
2014
2015         * trans-decl.c (gfc_generate_function_code): Use all arguments of
2016           set_std.
2017
2018 2007-03-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2019
2020         * gfortran.h (gfc_option_t): Add flag_backtrace field.
2021         * lang.opt: Add -fbacktrace option.
2022         * invoke.texi: Document the new option.
2023         * trans-decl.c (gfc_build_builtin_function_decls): Add new
2024         option to the call to set_std.
2025         * options.c (gfc_init_options, gfc_handle_option): Handle the
2026         new option.
2027
2028 2007-03-15  Tobias Burnus  <burnus@gcc.gnu.org>
2029             Paul Thomas  <pault@gcc.gnu.org>
2030
2031         PR fortran/30922
2032         * decl.c (gfc_match_import): If the parent of the current name-
2033         space is null, try looking for an imported symbol in the parent
2034         of the proc_name interface.
2035         * resolve.c (resolve_fl_variable): Do not check for blocking of
2036         host association by a same symbol, if the symbol is in an
2037         interface body.
2038
2039 2007-03-15  Paul Thomas  <pault@gcc.gnu.org>
2040
2041         PR fortran/30879
2042         * decl.c (match_data_constant): Before going on to try to match
2043         a name, try to match a structure component.
2044
2045
2046         PR fortran/30870
2047         * resolve.c (resolve_actual_arglist): Do not reject a generic
2048         actual argument if it has a same name specific interface.
2049
2050         PR fortran/31163
2051         * trans-array.c (parse_interface): Do not nullify allocatable
2052         components if the symbol has the saved attribute.
2053
2054 2007-03-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2055
2056         * trans-array.c (gfc_trans_auto_array_allocation): Replace
2057         fold(convert()) by fold_convert().
2058         (gfc_duplicate_allocatable): Likewise.
2059         * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
2060         build_int_cst instead of converting an integer_zero_node
2061         to the final type.
2062
2063 2007-03-14  Jakub Jelinek  <jakub@redhat.com>
2064
2065         * module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
2066
2067 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
2068
2069         PR fortran/30933
2070         PR fortran/30948
2071         PR fortran/30953
2072         * intrinsics.texi (CHDIR): Fix argument names, note
2073         that STATUS must be a default integer.
2074         (CTIME): Fix argument names, note that RESULT must
2075         be a default integer.
2076         (EXIT): Note that STATUS must be a default integer.
2077
2078 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
2079
2080         PR fortran/28068
2081         * intrinsic.texi: General whitespace cleanup, remove
2082         comment about missing intrinsics.
2083         (menu): Add lines for new entries listed below.
2084         (ACOSH): Mention specific function DACOSH, correct
2085         description phrasing.
2086         (ASINH): Mention specific function DASINH, correct
2087         description phrasing.
2088         (ATANH): Mention specific function DATANH, correct
2089         description phrasing.
2090         (COS): Add index entry for CCOS.
2091         (CPU_TIME): Correct "REAL" to "REAL(*)".
2092         (EXP): Add index entry for CEXP.
2093         (INT): Correct argument name to "A".
2094         (INT2): New entry.
2095         (INT8): New entry.
2096         (LONG): New entry.
2097         (MAX): Add index entries for specific variants.
2098         (MCLOCK): New entry.
2099         (MCLOCK8): New entry.
2100         (SECNDS): Adjust to a more standard form.
2101         (SECOND): New entry.
2102         (TIME): Add cross-reference to MCLOCK.
2103         (TIME8): Add cross-reference to MCLOCK8.
2104
2105 2007-03-11  Paul Thomas  <pault@gcc.gnu.org>
2106
2107         PR fortran/30883
2108         * parse.c (parse_interface): Use the default types from the
2109         formal namespace if a function or its result do not have a type
2110         after parsing the specification statements.
2111
2112 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
2113
2114         * intrinsic.texi: (ICHAR) Improve internal I/O note.
2115         (ACHAR): Reference it.
2116         (CHAR): Reference it.
2117         (IACHAR): Reference it.
2118
2119 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
2120
2121         * intrinsic.texi: (LINK) Document function form.
2122         (RENAME): Likewise.
2123         (SYMLNK): Likewise.
2124         (SYSTEM): Likewise.
2125         (UNLINK): Likewise.
2126
2127 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
2128
2129         * intrinsic.texi: minor typo fixes, removed prologue.
2130         (FSEEK): moved to correct place in alphabetical order.
2131
2132 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
2133
2134         PR fortran/30947
2135         * check.c (gfc_check_alarm_sub): Added check for default integer 
2136         kind of status argument.
2137         * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of 
2138         status argument.
2139         * intrinsic.texi (ALARM): Extended documentation.
2140
2141 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
2142
2143         * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
2144         (ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
2145         * intrinsic.c (add_subroutines): Adjusted dummy argument names 
2146         of GERROR and TTYNAM.
2147
2148 2007-07-08  Tobias Burnus  <burnus@net-b.de>
2149
2150         * module.c (gfc_match_use): Support renaming of operators
2151         in USE statements.
2152         * gfortran.texi (Fortran 2003 Status): Document support of
2153         renaming of operators.
2154
2155 2007-07-08  Tobias Burnus  <burnus@net-b.de>
2156
2157         PR fortran/30973
2158         * module.c (read_module): Always import module name as symbol.
2159         (gfc_match_use): Disallow module name in the only clause of
2160         a use statement.
2161
2162 2007-03-08  Paul Thomas  <pault@gcc.gnu.org>
2163
2164         PR fortran/31011
2165         * expr.c (find_array_section): Correct arithmetic for section
2166         size.
2167
2168 2007-03-07  Brooks Moses  <brooks.moses@codesourcery.com>
2169
2170         * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
2171
2172 2007-03-06  Daniel Franke  <franke.daniel@gmail.com>
2173
2174         PR documentation/30950
2175         * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
2176         (FREE): Fix call syntax.
2177
2178 2007-03-06  Brooks Moses  <brooks.moses@codesourcery.com>
2179
2180         * intrinsic.texi: Limit column widths to a total of .85.
2181
2182 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
2183
2184         * gfortran.texi (GFortran and G77): Rewrite completely.
2185
2186 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
2187
2188         * match.c (gfc_match_name): Expanded comment.
2189
2190 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
2191
2192         * gfortran.texi (Old-style kind specifications): Document
2193         special handling of old-style kind specifiers for COMPLEX.
2194         * decl.c (gfc_match_old_kind_spec): Document kind/bytesize
2195         assumptions for COMPLEX in comment.
2196
2197 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
2198
2199         PR 31050
2200         * gfortranspec.c (lang_specific_driver): Update program
2201         name and copyright date.
2202
2203 2007-03-03  Paul Thomas  <pault@gcc.gnu.org>
2204
2205         PR fortran/30882
2206         * check.c (dim_rank_check): The shape of subsections of
2207         assumed-size arrays is known.
2208
2209 2007-03-02  Paul Thomas  <pault@gcc.gnu.org>
2210             Tobias Burnus  <burnus@net-b.de>
2211
2212         PR fortran/30873
2213         * decl.c (gfc_match_entry): Remove erroneous entry result check.
2214
2215 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
2216
2217         * Make-lang.in: Add install-pdf target as copied from
2218         automake v1.10 rules.
2219
2220 2007-03-01  Tobias Burnus  <burnus@net-b.de>
2221
2222         PR fortran/30865
2223         * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
2224
2225 2007-02-28  Tobias Burnus  <burnus@net-b.de>
2226             Paul Thomas  <pault@gcc.gnu.org>
2227
2228         PR fortran/30888
2229         PR fortran/30887
2230         * resolve.c (resolve_actual_arglist): Allow by-value
2231         arguments and non-default-kind for %VAL().
2232         * trans-expr.c (conv_arglist_function): Allow
2233         non-default-kind for %VAL().
2234
2235 2007-02-28  Tobias Burnus  <burnus@net-b.de>
2236
2237         PR fortran/30968
2238         * primary.c (next_string_char): Correct reading a character
2239         after the delimiter.
2240         (match_string_constant): Print warning message only once.
2241
2242 2007-02-27  Richard Guenther  <rguenther@suse.de>
2243
2244         * trans-array.c (structure_alloc_comps): Use correct type
2245         for null pointer constant.
2246
2247 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
2248
2249         * gfortran.texi: Standardize title page, remove version number
2250         from copyright page.
2251
2252 2007-02-26  Thomas Koenig  <Thomas.Koenig@online.de>
2253             Paul Thomas  <pault@gcc.gnu.org>
2254
2255         PR fortran/30865
2256         * trans-intrinsic.c (gfc_conv_intrinsic_size):
2257         If dim is an optional argument, check for its
2258         presence and call size0 or size1, respectively.
2259
2260 2007-02-23  Paul Thomas <pault@gcc.gnu.org>
2261
2262         PR fortran/30660
2263         * resolve.c (has_default_initializer): New function.
2264         (resolve_fl_variable): Call has_default_initializer to determine if
2265         the derived type has a default initializer to its ultimate
2266         components.
2267
2268
2269 2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2270
2271         * options.c (set_default_std_flags): New function to consolidate
2272         setting the flags.
2273         (gfc_init_options): Use new function.
2274         (gfc_handle_option): Use new function.
2275
2276 2007-02-22  Brooks Moses  <brooks.moses@codesourcery.com>
2277
2278         * gfortran.texi (Old-style kind specifications): Document
2279         special handling of old-style kind specifiers for COMPLEX.
2280         * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
2281         assumptions in comment.
2282
2283 2007-02-21  Bernhard Fischer  <aldot@gcc.gnu.org>
2284
2285         * parse.c (next_free): Gooble spaces after OpenMP sentinel.
2286
2287 2007-02-20  Thomas Koenig  <Thomas.Koenig@online.de>
2288
2289         PR fortran/30869
2290         * match.c (gfc_match_iterator): Remove conflict between
2291         loop variable and pointer.
2292
2293 2007-02-20  Tobias Burnus  <burnus@net-b.de>
2294
2295         PR fortran/30522
2296         * symbol.c (gfc_add_volatile): Allow to set VOLATILE
2297           attribute for host-associated variables.
2298         * gfortran.h (symbol_attribute): Save namespace
2299           where VOLATILE has been set.
2300         * trans-decl.c (gfc_finish_var_decl): Move variable
2301           declaration to the top.
2302
2303 2007-02-20  Tobias Burnus  <burnus@net-b.de>
2304
2305         PR fortran/30783
2306         * resolve.c (resolve_symbol): Add character dummy VALUE check.
2307
2308 2007-02-19  Thomas Koenig  <Thomas.Koenig@online.de>
2309
2310         PR libfortran/30533
2311         * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
2312         argument to default integer.
2313         (gfc_resolve_minloc): Likewise.
2314
2315 2007-02-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2316
2317         PR fortran/30681
2318         * options.c (gfc_init_options): Relax warning level for obsolescent.
2319         * match.c (match_arithmetic_if): Change to obsolescent from deleted.
2320         (gfc_match_if): Same.
2321
2322 2007-02-18  Roger Sayle  <roger@eyesopen.com>
2323
2324         * trans-array.c (gfc_build_constant_array_constructor): When the
2325         shape of the constructor is known, use that to construct the
2326         gfc_array_spec.
2327         (gfc_trans_constant_array_constructor): Initialize the "info"
2328         information for all of the dimensions of the array constructor.
2329         (constant_array_constructor_loop_size): New function.
2330         (gfc_trans_array_constructor): Use it to determine whether a
2331         loop is suitable for "constant array constructor" optimization.
2332
2333         * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
2334         instead of build2, to avoid conditions like "(a != b) != 0".
2335
2336 2007-02-18  Roger Sayle  <roger@eyesopen.com>
2337             Paul Thomas <pault@gcc.gnu.org>
2338
2339         PR fortran/30400
2340         * match.c (match_forall_iterator): Use gfc_match_expr instead
2341         of gfc_match_variable to match the iterator variable.  Return
2342         MATCH_NO if not a variable.  Remove the reset of the symbol's
2343         flavor in cleanup.
2344
2345 2007-02-16  Tobias Burnus  <burnus@net-b.de>
2346
2347         PR fortran/30793
2348         * trans-decl.c (gfc_generate_function_code): Do not initialize
2349         pointers to derived components.
2350
2351 2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
2352             Brooks Moses  <brooks.moses@codesourcery.com>
2353             Lee Millward  <lee.millward@codesourcery.com>
2354
2355         * trans-expr.c (gfc_conv_power_op): Use build_call_expr.
2356         (gfc_conv_string_tmp): Likewise.
2357         (gfc_conv_concat_op): Likewise.
2358         (gfc_build_compare_string): Likewise.
2359         (gfc_conv_function_call): Use build_call_list instead of build3.
2360
2361         * trans-array.c (gfc_trans_allocate_array_storage): Use
2362         build_call_expr.
2363         (gfc_grow_array): Likewise.
2364         (gfc_trans_array_ctor_element): Likewise.
2365         (gfc_trans_array_constructor_value): Likewise.
2366         (gfc_array_allocate): Likewise.
2367         (gfc_array_deallocate): Likewise.
2368         (gfc_trans_auto_array_allocation): Likewise.
2369         (gfc_trans_dummy_array_bias): Likewise.
2370         (gfc_conv_array_parameter): Likewise.
2371         (gfc_trans_dealloc_allocated): Likewise.
2372         (gfc_duplicate_allocatable): Likewise.
2373
2374         * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
2375         (gfc_trans_omp_flush): Likewise.
2376
2377         * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
2378         (gfc_trans_pause): Likewise.
2379         (gfc_trans_stop): Likewise.
2380         (gfc_trans_character_select): Likewise.
2381         (gfc_do_allocate): Likewise.
2382         (gfc_trans_assign_need_temp): Likewise.
2383         (gfc_trans_pointer_assign_need_temp): Likewise.
2384         (gfc_trans_forall_1): Likewise.
2385         (gfc_trans_where_2): Likewise.
2386         (gfc_trans_allocate): Likewise.
2387         (gfc_trans_deallocate): Likewise.
2388
2389         * trans.c (gfc_trans_runtime_check): Use build_call_expr.
2390
2391         * trans-io.c (gfc_trans_open): Use build_call_expr.
2392         (gfc_trans_close): Likewise.
2393         (build_filepos): Likewise.
2394         (gfc_trans_inquire): Likewise.
2395         (NML_FIRST_ARG): Delete.
2396         (NML_ADD_ARG): Delete.
2397         (transfer_namelist_element): Use build_call_expr.
2398         (build_dt): Likewise.
2399         (gfc_trans_dt_end): Likewise.
2400         (transfer_expr): Likewise.
2401         (transfer_array-desc): Likewise.
2402
2403         * trans-decl.c (gfc_generate_function_code): Use build_call_expr.
2404         (gfc_generate_constructors): Likewise.
2405
2406         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
2407         (gfc_conv_intrinsic_fdate): Likewise.
2408         (gfc_conv_intrinsic_ttynam): Likewise.
2409         (gfc_conv_intrinsic_array_transfer): Likewise.
2410         (gfc_conv_associated): Likewise.
2411         (gfc_conv_intrinsic_si_kind): Likewise.
2412         (gfc_conv_intrinsic_trim): Likewise.
2413         (gfc_conv_intrinsic_repeat: Likewise.
2414         (gfc_conv_intrinsic_iargc): Likewise.
2415
2416 2007-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2417
2418         PR fortran/30779
2419         * scanner.c (gfc_next_char_literal): Add check for end of file after
2420         call to advance_line.
2421
2422 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
2423
2424         PR fortran/30799
2425         * primary.c (match_logical_constant): Return MATCH_ERROR on invalid
2426         kind.
2427
2428 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
2429
2430         * misc.c (gfc_typename): Fix potential buffer overflow.
2431
2432 2007-02-13  Paul Thomas  <pault@gcc.gnu.org>
2433
2434         PR fortran/30554
2435         * module.c (read_module): Set pointer_info to referenced if the
2436         symbol has no namespace.
2437
2438 2007-02-12  Nick Clifton  <nickc@redhat.com>
2439
2440         * lang.opt: Add Warning attribute to warning options.
2441
2442 2007-02-11  Daniel Franke  <franke.daniel@gmail.com>
2443
2444         * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
2445         (SLEEP): Added section and documentation.
2446
2447 2007-02-11  Tobias Schlüter  <tobi@gcc.gnu.org>
2448
2449         PR fortran/30478
2450         * decl.c (add_init_expr_to_sym): Remove ENUM specific code.
2451         (variable_decl): Likewise.  Rewrap comment.
2452         (match_attr_spec): Remove ENUM specific code.
2453         (gfc_match_enum): Fix typo in error message.
2454         (enumerator_decl): New function.
2455         (gfc_match_enumerator_def): Use enumerator_decl instead of
2456         variable_decl.  Adapt code accordingly.
2457
2458 2007-02-11  Paul Thomas  <pault@gcc.gnu.org>
2459
2460         PR fortran/30554
2461         * module.c (find_symtree_for_symbol): New function to return
2462         a symtree that is not a "unique symtree" given a symbol.
2463         (read_module): Do not automatically set pointer_info to
2464         referenced because this inhibits the generation of a unique
2465         symtree.  Recycle the existing symtree if possible by calling
2466         find_symtree_for_symbol.
2467
2468         PR fortran/30319
2469         * decl.c (add_init_expr_to_sym): Make new charlen for an array
2470         constructor initializer.
2471
2472 2007-02-10  Richard Henderson  <rth@redhat.com>, Jakub Jelinek  <jakub@redhat.com>
2473
2474         * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
2475         and __emutls_register_common.
2476         * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
2477         * trans-common.c (build_common_decl): Don't check have_tls.
2478         * trans-decl.c (gfc_finish_var_decl): Likewise.
2479         * types.def (BT_WORD, BT_FN_PTR_PTR): New.
2480         (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
2481
2482 2007-02-09  Tobias Burnus  <burnus@net-b.de>
2483
2484         PR fortran/30512
2485         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
2486           gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
2487
2488 2007-02-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2489
2490         PR fortran/30720
2491         * trans-array.c (gfc_trans_create_temp_array): Remove use of the
2492         function argument. Always generate code for negative extent.
2493         Simplify said code.
2494         * trans-array.h (gfc_trans_create_temp_array): Change prototype.
2495         * trans-expr.c (gfc_conv_function_call): Remove use of last argument
2496         of gfc_trans_create_temp_array.
2497         * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
2498         * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
2499
2500 2007-02-08  Roger Sayle  <roger@eyesopen.com>
2501
2502         * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
2503         mask expression is a compile-time constant (".true." or ".false.").
2504
2505 2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2506
2507         PR fortran/30611
2508         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
2509         arguments only once. Generate check that NCOPIES argument is not
2510         negative.
2511
2512 2007-02-04  Steven G. Kargl <kargl@gcc.gnu.org>
2513
2514         PR fortran/30605
2515         * fortran/invoke.texi: Update documentation.
2516         * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
2517         and -pedantic.
2518
2519 2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
2520
2521         * trans-array.c: Fix a comment typo.
2522
2523 2007-02-03  Paul Thomas  <pault@gcc.gnu.org>
2524
2525         PR fortran/30514
2526         * array.c (match_array_element_spec): If the length of an array is
2527         negative, adjust the upper limit to make it zero length.
2528
2529         PR fortran/30660
2530         * resolve.c (pure_function, resolve_function): Initialize name to
2531         null to clear up build warnings.
2532         (resolve_fl_variable): Look at components explicitly to check for
2533         default initializer, rather than using gfc_default_initializer.
2534
2535 2007-02-02  Steven G. Kargl <kargl@gcc.gnu.org>
2536
2537         PR fortran/30683
2538         * resolve.c (resolve_generic_f): Check for non-NULL sym.
2539
2540 2007-02-02  Roger Sayle  <roger@eyesopen.com>
2541
2542         * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
2543         NON_LVALUE_EXPR nodes and useless type conversions.
2544
2545 2007-02-02  Paul Thomas  <pault@gcc.gnu.org>
2546
2547         PR fortran/30284
2548         PR fortran/30626
2549         * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
2550         from function and make sure that substring lengths are
2551         translated.
2552         (is_aliased_array): Remove static attribute.
2553         * trans.c : Add prototypes for gfc_conv_aliased_arg and
2554         is_aliased_array.
2555         * trans-io.c (set_internal_unit): Add the post block to the
2556         arguments of the function.  Use is_aliased_array to check if
2557         temporary is needed; if so call gfc_conv_aliased_arg.
2558         (build_dt): Pass the post block to set_internal_unit and
2559         add to the block after all io activiy is done.
2560
2561 2007-02-01  Roger Sayle  <roger@eyesopen.com>
2562
2563         * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
2564         a temporary array to pass a constant non-character array constructor.
2565         Generalize the descriptor generation code to handle scalarizer
2566         "info" without an array reference.
2567
2568 2007-02-01  Roger Sayle  <roger@eyesopen.com>
2569
2570         * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
2571         dependency checking for array constructors.
2572
2573 2007-02-01  Roger Sayle  <roger@eyesopen.com>
2574
2575         * trans-stmt.c (compute_overall_iter_number): Document function
2576         arguments.  Generalize "unconditional forall nest with constant
2577         bounds" optimization to eliminate unconditional inner loops with
2578         constant bounds.
2579
2580 2007-01-31  Tobias Burnus  <burnus@net-b.de>
2581
2582         PR fortran/30520
2583         * interface.c (compare_actual_formal): Check conformance between
2584           actual and VOLATILE dummy arguments.
2585         * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
2586           multiple times in different scopes.
2587         * decl.c (gfc_match_volatile): Search symbol in host association.
2588
2589 2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
2590
2591         * simplify.c, trans-array.c: Fix comment typos.
2592
2593 2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2594
2595         * invoke.texi (Code Gen Options): Fix abbreviation typo.
2596         * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
2597
2598 2007-01-30  Steve Ellcey  <sje@cup.hp.com>
2599
2600         PR fortran/30432
2601         * trans-types.c (gfc_get_function_type): Do not add void_type_node
2602         to empty arg list.
2603         * trans-decl.c (create_function_arglist): Change assert.
2604
2605 2007-01-29  Paul Thomas  <pault@gcc.gnu.org>
2606
2607         PR fortran/30554
2608         * module.c (read_module): If a symbol is excluded by an ONLY
2609         clause, check to see if there is a symtree already loaded. If
2610         so, attach the symtree to the pointer_info.
2611
2612 2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
2613
2614         PR libfortran/30389
2615         * gfortran.h: Remove gfc_simplify_init_1.
2616         * arith.h: Remove third argument from gfc_compare_string.
2617         * arith.c (gfc_compare_expression): Remove third argument
2618         from call to gfc_compare_string.
2619         (gfc_compare_string): Remove third argument xcoll_table.
2620         Remove use of xcoll_table.
2621         * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
2622         * simplify.c (ascii_table): Remove.
2623         (xascii_table): Likewise.
2624         (gfc_simplify_achar): ICE if extract_int fails.  Remove use of
2625         ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
2626         (gfc_simplify_char): ICE if extract_int fails. Error if
2627         value < 0 or value > 255.
2628         (gfc_simplify_iachar): Remove use of xascii_table.
2629         Char values outside of 0..255 are an ICE.
2630         (gfc_simplify_lge): Remove use of xascii_table.
2631         (gfc_simplify_lgt): Likewise.
2632         (gfc_simplify_lle): Likewise.
2633         (gfc_simplify_llt): Likewise.
2634         (invert_table): Remove.
2635         (gfc_simplify_init_1): Remove.
2636
2637 2007-01-27  Roger Sayle  <roger@eyesopen.com>
2638
2639         * trans-stmt.c (forall_info): Replace the next_nest and outer
2640         fields that previously implemented a doubly-linked list with a
2641         single prev_nest field (singly-linked list).
2642         (gfc_trans_nested_forall_loop): The nested_forall_info argument
2643         now denotes the innermost FORALL in the loop nest.
2644         (compute_overall_iter_number): Use prev_nest instead of next_nest.
2645         (gfc_trans_forall_1): Link/cons the new "info" to the head of the
2646         nested_forall_info linked list.  Free the current "info" when done.
2647
2648 2007-01-27  Paul Thomas  <pault@gcc.gnu.org>
2649
2650         PR fortran/30407
2651         * trans-expr.c (gfc_conv_operator_assign): New function.
2652         * trans.h : Add prototype for gfc_conv_operator_assign.
2653         * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
2654         a potential operator assignment subroutine.  If it is non-NULL
2655         call gfc_conv_operator_assign instead of the first assignment.
2656         ( gfc_trans_where_2): In the case of an operator assignment,
2657         extract the argument expressions from the code for the
2658         subroutine call and pass the symbol to gfc_trans_where_assign.
2659         resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
2660         gfc_resolve_forall_body): Resolve the subroutine call for
2661         operator assignments.
2662
2663 2007-01-26  Steven Bosscher  <stevenb.gcc@gmail.com>
2664             Steven G. Kargl <kargl@gcc.gnu.org>
2665
2666         PR fortran/30278
2667         * fortran/io.c (next_char): Deal with backslash escaped characters.
2668         Issue warnings in non -std=gnu cases.
2669         * fortran/primary.c (next_string_char): Issue warnings in non
2670
2671 2007-01-26  Tobias Burnus  <burnus@net-b.de>
2672
2673         * lang-specs.h: Add support for .f03 and .F03 extensions.
2674         * gfortran.texi: Document .f03 extension.
2675         * options.c (form_from_filename): Recognize .f03.
2676
2677 2007-01-25  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2678
2679         PR fortran/30437
2680         * lang.opt (Wall): Remove RejectNegative.
2681         * options.c (gfc_handle_option): Wall can be disabled.
2682         (set_Wall): Add a parameter for disabling Wall.
2683         
2684 2007-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2685
2686         PR fortran/30532
2687         * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
2688         
2689 2007-01-23  Paul Thomas  <pault@gcc.gnu.org>
2690
2691         PR fortran/30481
2692         * match.c (gfc_match_namelist): Add check for assumed size character
2693         in namelist and provide error if found.
2694
2695 2007-01-21  Brooks Moses  <brooks.moses@codesourcery.com>
2696
2697         * intrinsic.texi (ACHAR): Added cross-references.
2698         (CHAR): Put cross-references in alphabetical order.
2699         (IACHAR): Added cross-references.
2700         (ICHAR): Added cross-references.
2701
2702 2007-01-20  Brooks Moses  <brooks.moses@codesourcery.com>
2703
2704         * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
2705         (MAXVAL): Corrected description of result characteristics.
2706         (MINVAL): Same.
2707         (UMASK): Added documentation.
2708
2709 2007-01-20  Steven G. Kargl  <kargl@gcc.gnu.org>
2710
2711         * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
2712         parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
2713         in the massive whitespace patch.
2714
2715 2007-01-20  Roger Sayle  <roger@eyesopen.com>
2716
2717         * module.c (mio_array_ref): The dimen_type fields of an array ref
2718         are an enumerated type and can't be read/written directly with a
2719         call to mio_integer.  Instead loop over and cast each element.
2720
2721 2007-01-20  Roger Sayle  <roger@eyesopen.com>
2722
2723         * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
2724         i.e. that the ARRAY_REF doesn't mention components.
2725         * trans-array.c (gfc_constant_array_constructor_p): Export external
2726         function renamed from constant_array_constructor_p.
2727         (gfc_build_constant_array_constructor): Export.
2728         (gfc_trans_array_constructor): Update call to the renamed function
2729         constant_array_constructor_p.
2730         * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
2731         (gfc_build_constant_array_constructor): Likewise.
2732         * trans-expr.c (gfc_build_memcpy_call): New helper function split
2733         out from gfc_trans_array_copy.
2734         (gfc_trans_array_copy): Use gfc_build_memcpy_call.
2735         (gfc_trans_array_constructor_copy): New function to optimize
2736         assigning an entire array from a constant array constructor.
2737         (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
2738         when appropriate.
2739
2740 2007-01-20  Roger Sayle  <roger@eyesopen.com>
2741
2742         * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
2743         implementation for the SIGN intrinsic with integral operands.
2744         (gfc_conv_intrinsic_minmax): Fix whitespace.
2745
2746 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2747
2748         * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
2749         * lang.opt: Add -fallow-leading-underscore.
2750         * match.c (gfc_match_name): Allow leading underscore in symbol
2751         name if -fallow-leading-underscore is used.
2752         * symbol.c (gfc_get_default_type): Add special case for symbol
2753         names beginning with an underscore.
2754         * trans-decl.c (gfc_get_extern_function_decl,
2755         gfc_build_intrinsic_function_decls): Add _gfortran prefix to
2756         library symbols selected_int_kind, selected_real_kind and 
2757         all specifics.
2758         * options.c (gfc_init_options, gfc_handle_option): Handle the
2759         new -fallow-leading-underscore option.
2760
2761 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2762
2763         PR fortran/30446
2764         * options.c (gfc_handle_module_path_options): Path used in -J
2765         option is now added to the module search path.
2766
2767 2007-01-20  Richard Guenther  <rguenther@suse.de>
2768
2769         PR fortran/30223
2770         * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
2771         cexpi builtins if we have TARGET_C99_FUNCTIONS.  Provide
2772         sincos builtins if the target has sincos.
2773
2774 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
2775
2776         * intrinsic.texi (MATMUL): Corrected a typo.
2777         (MAX): Separated @var arguments.
2778         (MIN): Separated @var arguments.
2779
2780 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
2781
2782         * intrinsic.texi: general whitespace cleanup.
2783         (menu): Added TIME8, removed UNMASK.
2784         (AINT): Clarified argument requirement.
2785         (ANINT): Clarified argument requirement.
2786         (CEILING): Clarified argument requirement.
2787         (CHAR): Clarified argument requirement.
2788         (CMPLX): Clarified argument requirement.
2789         (DCMPLX): Clarified argument requirement.
2790         (FGET): Line rewrapping.
2791         (FLOOR): Clarified argument requirement.
2792         (GMTIME): Added documentation.
2793         (IAND): Added cross-reference.
2794         (IBCLR): Added cross-reference.
2795         (IBSET): Added cross-reference.
2796         (IEOR): Added cross-reference.
2797         (INT): Collapsed examples, clarified argument requirement.
2798         (IOR): Added cross-references.
2799         (LEN_TRIM): Corrected result kind.
2800         (LINK): Added cross-reference.
2801         (LLT): Removed "documentation pending".
2802         (LOGICAL): Added documentation.
2803         (LSHIFT): Added documentation.
2804         (LTIME): Added documentation.
2805         (MATMUL): Added documentation.
2806         (MAX): Added documentation.
2807         (MAXLOC): Added documentation.
2808         (MAXVAL): Added documentation.
2809         (MERGE): Added documentation.
2810         (MIN): Added documentation.
2811         (MINLOC): Added documentation.
2812         (MINVAL): Added documentation.
2813         (MVBITS): Moved to correct place, added documentation.
2814         (NOT): Added documentation.
2815         (PERROR): Added documentation.
2816         (RAN): Moved to correct place, added documentation.
2817         (REAL): Clarified argument requirement.
2818         (RENAME): Added documentation.
2819         (RSHIFT): Clarified argument requirement.
2820         (SIGN): Corrected table specification.
2821         (SYMLNK): Added documentation.
2822         (SYSTEM): Added documentation.
2823         (TIME): Added documentation.
2824         (TIME8): Added section and documentation.
2825         (UNMASK): Removed erroneous section.
2826
2827 2007-01-18  H.J. Lu  <hongjiu.lu@intel.com>
2828
2829         * trans-stmt.c (compute_overall_iter_number): Fix a typo.
2830
2831 2007-01-18  Roger Sayle  <roger@eyesopen.com>
2832
2833         * trans-expr.c (copyable_array_p): Consider user derived types without
2834         allocatable components to be copyable.
2835
2836 2007-01-18  Roger Sayle  <roger@eyesopen.com>
2837
2838         * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
2839         the number of interations in unconditional FORALL nests with constant
2840         bounds.
2841
2842 2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2843             Tobias Burnus  <burnus@net-b.de>
2844
2845         PR libfortran/29649
2846         * gfortran.h (gfc_option_t): Add flag_dump_core.
2847         * lang.opt: Add -fdump-core option.
2848         * invoke.texi: Document the new options.
2849         * trans-decl.c (gfc_build_builtin_function_decls): Add new
2850           options to the call to set_std.
2851         * options.c (gfc_init_options, gfc_handle_option): Set the
2852           new options.
2853
2854 2007-01-17  Paul Thomas  <pault@gcc.gnu.org>
2855
2856         PR fortran/30476
2857         * module.c (load_generic_interfaces): Make the marking of the
2858         symbol as ambiguous conditional on the module names being
2859         different.
2860         (write_generic): Ensure that the generic interface has a
2861         non-NULL module field.
2862
2863 2007-01-16  Roger Sayle  <roger@eyesopen.com>
2864
2865         PR fortran/30404
2866         * trans-stmt.c (forall_info): Remove pmask field.
2867         (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
2868         NVAR covers all the interation variables in the current forall_info.
2869         Add an extra OUTER parameter, which specified the loop header in
2870         which to place mask index initializations.
2871         (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
2872         Change the semantics of MASK_FLAG to only control the mask in the
2873         innermost loop.
2874         (compute_overall_iter_number): Optimize the trivial case of a
2875         top-level loop having a constant number of iterations.  Update
2876         call to gfc_trans_nested_forall_loop.  Calculate the number of
2877         times the inner loop will be executed, not to size of the 
2878         iteration space.
2879         (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
2880         sizeof(type) == 1.  Tidy up.
2881         (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
2882         to gfc_trans_nested_forall_loop.
2883         (gfc_trans_pointer_assign_need_temp): Likewise.
2884         (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
2885         LENVAR local variables.  Split mask allocation into a separate
2886         hunk/pass from mask population.  Use allocate_temp_for_forall_nest
2887         to allocate the FORALL mask with the correct size.  Update calls
2888         to gfc_trans_nested_forall_loop.
2889         (gfc_evaluate_where_mask): Update call to
2890         gfc_trans_nested_forall_loop.
2891         (gfc_trans_where_2): Likewise.
2892
2893 2007-01-15  Paul Thomas  <pault@gcc.gnu.org>
2894
2895         PR fortran/28172
2896         * trans-stmt.c (gfc_trans_call): If it does not have one, get
2897         a backend_decl for an alternate return.
2898
2899         PR fortran/29389
2900         * resolve.c (pure_function): Statement functions are pure. Note
2901         that this will have to recurse to comply fully with F95.
2902
2903         PR fortran/29712
2904         * resolve.c (resolve_function): Only a reference to the final
2905         dimension of an assumed size array is an error in an inquiry
2906         function.
2907
2908         PR fortran/30283
2909         * resolve.c (resolve_function): Make sure that the function
2910         expression has a type.
2911
2912 2007-01-14  Paul Thomas  <pault@gcc.gnu.org>
2913
2914         PR fortran/30410
2915         * trans-decl.c (gfc_sym_mangled_function_id): Module, external
2916         symbols must not have the module name prepended.
2917
2918 2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
2919
2920         PR libfortran/30415
2921         * iresolve.c (gfc_resolve_maxloc): If the rank
2922         of the return array is nonzero and we process an
2923         integer array smaller than default kind, coerce
2924         the array to default integer.
2925         * iresolve.c (gfc_resolve_minloc): Likewise.
2926
2927 2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>
2928
2929         * simplify.c: Update copyright to 2007.
2930         * scanner.c: Same.
2931
2932 2007-01-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2933
2934         PR fortran/30430
2935         * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
2936         only once!
2937
2938 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
2939
2940         * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
2941         (gfc_simplify_ibset): Same.
2942
2943 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
2944
2945         PR 30381
2946         PR 30420
2947         * simplify.c (convert_mpz_to_unsigned): New function.
2948         (convert_mpz_to_signed): New function, largely based on
2949         twos_complement().
2950         (twos_complement): Removed.
2951         (gfc_simplify_ibclr): Add conversions to and from an
2952         unsigned representation before bit-twiddling.
2953         (gfc_simplify_ibset): Same.
2954         (gfc_simplify_ishftc): Add checks for overly large
2955         constant arguments, only check the third argument if
2956         it's present, carry over high bits into the result as
2957         appropriate, and perform the final conversion back to
2958         a signed representation using the correct sign bit.
2959         (gfc_simplify_not): Removed unnecessary masking.
2960
2961 2007-01-09  Paul Thomas  <pault@gcc.gnu.org>
2962
2963         PR fortran/30408
2964         * resolve.c (resolve_code): Use the code->expr character length
2965         directly to set length of llen.
2966
2967 2007-01-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2968
2969         PR fortran/30408
2970         * lang.opt: Add Wcharacter_truncation option.
2971         * options.c (gfc_init_options): Initialize
2972         gfc_option.warn_character_truncation to zero.
2973         (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
2974
2975 2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
2976
2977         * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
2978         iresolve.c, match.c: Update Copyright years.  Whitespace.
2979
2980 2007-01-08  Richard Guenther  <rguenther@suse.de>
2981
2982         * trans-io.c (transfer_array_desc): Use build_int_cst instead
2983         of build_int_cstu.
2984
2985 2007-01-08  Roger Sayle  <roger@eyesopen.com>
2986
2987         * trans-array.c (constant_array_constructor_p): New function to
2988         determine whether an array constructor consists only of constant
2989         elements, and if so return it's size.
2990         (gfc_build_constant_array_constructor): Construct a statically
2991         initialized gfortran array for a given EXPR_ARRAY.
2992         (gfc_trans_constant_array_constructor): Efficiently scalarize
2993         a constant array constructor.
2994         (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
2995         Special case scalarization of constant array constructors, all of
2996         whose elements are specified, using constant_array_constructor_p 
2997         and gfc_trans_constant_array_constructor.
2998         (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
2999         before adding it to index, to avoid creating a NON_LVALUE_EXPR.
3000
3001 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
3002
3003         gfortran.texi: Fix typos.
3004
3005 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
3006
3007         * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
3008         convert.c: Update Copyright dates.  Fix whitespace.
3009
3010 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
3011
3012         * data.c (gfc_assign_data_value): Fix whitespace.
3013
3014 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
3015
3016         * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
3017         Commentary typo fix.
3018
3019 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
3020
3021         PR fortran/27698
3022         * match.c (gfc_match_name): Print diagnostics for invalid
3023         character in names.
3024
3025 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
3026
3027         * array.c: Fix whitespace in comment table.
3028
3029 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
3030
3031         * array.c, bbt.c, check.c: Update copyright years.  Whitespace.
3032
3033 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
3034
3035         * arith.c: Update copyright years.  Whitespace.
3036
3037 2007-01-05  Roger Sayle  <roger@eyesopen.com>
3038
3039         * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
3040         array assignments split out from gfc_trans_assignment.
3041         (gfc_trans_array_copy): New function to implement array to array
3042         copies via calls to __builtin_memcpy.
3043         (copyable_array_p): New helper function to identify an array of
3044         simple/POD types, that may be copied/assigned using memcpy.
3045         (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
3046         whole array assignments considered suitable by copyable_array_p.
3047         Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
3048
3049 2007-01-05  Roger Sayle  <roger@eyesopen.com>
3050
3051         * trans-array.c (gfc_trans_array_constructor_value): Make the
3052         static const "data" array as TREE_READONLY.
3053         * trans-stmt.c (gfc_trans_character_select): Likewise.
3054
3055 2007-01-05  Roger Sayle  <roger@eyesopen.com>
3056
3057         * trans-array.c (gfc_conv_loop_setup): Test whether the loop
3058         stride is one, to avoid fold_build2 introducing a useless
3059         NON_LVALUE_EXPR node.
3060
3061 2007-01-05  Tobias Burnus  <burnus@net-b.de>
3062
3063         * symbol.c (check_conflict): Fix error message.
3064
3065 2007-01-05  Paul Thomas  <pault@gcc.gnu.org>
3066
3067         PR fortran/23232
3068         * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
3069         functions to signal that a DATA statement is being matched.
3070         (gfc_match_data): Call gfc_set_in_match_data on entry and on
3071         exit.
3072         * gfortran.h : Add prototypes for above.
3073         * expr.c (check_init_expr): Avoid check on parameter or
3074         variable if gfc_in_match_data is true.
3075         (gfc_match_init_expr): Do not call error on non-reduction of
3076         expression if gfc_in_match_data is true.
3077
3078         PR fortran/27996
3079         PR fortran/27998
3080         * decl.c (gfc_set_constant_character_len): Add boolean arg to
3081         flag array constructor resolution.  Warn if string is being
3082         truncated.  Standard dependent error if string is padded. Set
3083         new arg to false for all three calls to
3084         gfc_set_constant_character_len.
3085         * match.h : Add boolean arg to prototype for
3086         gfc_set_constant_character_len.
3087         * gfortran.h : Add warn_character_truncation to gfc_options.
3088         * options.c (set_Wall): Set warn_character_truncation if -Wall
3089         is set.
3090         * resolve.c (resolve_code): Warn if rhs string in character
3091         assignment has to be truncated.
3092         * array.c (gfc_resolve_character_array_constructor): Set new
3093         argument to true for call to gfc_set_constant_character_len.
3094
3095 2007-01-05  Tobias Burnus  <burnus@net-b.de>
3096
3097         PR fortran/29624
3098         * interface.c (compare_parameter_intent): New function.
3099           (check_intents): Support pointer intents.
3100         * symbol.c (check_conflict): Support pointer intents,
3101           better conflict_std message.
3102         * expr.c (gfc_check_assign,gfc_check_pointer_assign):
3103           Support pointer intents.
3104         * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
3105           Support pointer intents.
3106
3107 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3108
3109         PR 30371
3110         * check.c (gfc_check_kill_sub): Add checks for non-scalar
3111         arguments.
3112
3113 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3114
3115         * intrinsic.texi: Minor cleanup, reflowing overlong
3116         paragraphs, and correcting whitespace.
3117
3118 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3119
3120         * intrinsic.texi (LBOUND): Add documentation.
3121         (LGE): Add documentation.
3122         (LGT): Add documentation.
3123         (LINK): Add documentation.
3124         (LLE): Add documentation.
3125         (LLT): Add documentation.
3126         (LNBLNK): Add documentation.
3127         (UBOUND): Add documentation.
3128         (UNLINK): Add documentation.
3129
3130 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3131
3132         * intrinsic.texi (IAND): Clarify argument specifications.
3133         (IBCLR): Add documentation.
3134         (IBITS): Add documentation.
3135         (IBSET): Add documentation.
3136         (IEOR): Add documentation.
3137         (IERRNO): Add documentation.
3138         (INDEX): Add documentation.
3139         (IOR): Add documentation.
3140         (ISHFT): Add documentation.
3141         (ISHFTC): Add documentation.
3142         (KILL): Add documentation.
3143         (LEN_TRIM): Add documentation.
3144
3145 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3146
3147         PR 30235
3148         * interface.c (compare_actual_formal): check for
3149         alternate returns when iterating over non-present
3150         arguments.
3151
3152 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3153
3154         * invoke.texi: Update manpage copyright to include 2007.
3155
3156 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3157
3158         * gfortran.texi: Update copyright to include 2007.
3159         * intrinsic.texi: Update copyright to include 2007.
3160         * invoke.texi: Update copyright to include 2007.
3161
3162 2007-01-02  Tobias Burnus  <burnus@net-b.de>
3163             Jakub Jelinek  <jakub@redhat.com>
3164
3165         PR fortran/30276
3166         * scanner.c (open_included_file): Revert patch.
3167           (gfc_open_included_file): Support absolute pathnames.
3168           (gfc_open_intrinsic_module): Support absolute pathnames.
3169
3170 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3171
3172         * gfortran.texi (GNU Fortran and GCC): Rewrite
3173
3174 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3175
3176         * gfortran.texi (Introduction): Lower "Part I:
3177         Introduction" to a chapter, renumber Parts II and III to
3178         Parts I and II.
3179         * intrinsic.texi (Introduction): Rename to "Introduction
3180         to Intrinsics" to avoid conflict with the new chapter.
3181
3182 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3183
3184         * intrinsic.texi (Introduction): Rewrite first paragraph.
3185
3186 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3187
3188         * invoke.texi (OpenMP): Added index entry.
3189         * gfortran.texi (title page): Removed erroneous '*'.
3190
3191 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3192
3193         * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
3194         to description.
3195         (Extensions): Miscellaneous minor rewriting and copyediting.
3196         (BOZ-literal constants): Renamed from Hexadecimal constants.
3197         (Hollerith constants support): Added explanation and 
3198         suggestions for standard-conforming modern equivalents.
3199
3200 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3201
3202         * intrinsic.texi: Improvements to index entries; change
3203         @findex entries to @cindex entries.
3204         * invoke.texi: Standardize and improve index entries.
3205         * gfortran.texi: Fix @code in one index entry.
3206
3207 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3208
3209         * invoke.texi: Change @code-type macros to appropriate
3210         variants (@command, @option, etc.)
3211         * gfortran.texi: Same.
3212
3213 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3214
3215         * intrinsic.texi: Various minor cleanups.
3216
3217 2007-01-02  Steven G. Kargl  <kargls@comcast.net>
3218
3219         * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
3220         build_int_cst.
3221
3222 2007-01-02  Tobias Burnus  <burnus@net-b.de>
3223
3224         PR fortran/30276
3225         * scanner.c (open_included_file): Support full-path filenames.
3226
3227 2007-01-02  Paul Thomas  <pault@gcc.gnu.org>
3228
3229         PR fortran/20896
3230         * interface.c (check_sym_interfaces): Remove call to
3231         resolve_global_procedure.
3232         gfortran.h : Remove prototype for resolve_global_procedure.
3233         resolve.c (resolve_global_procedure): Add static attribute
3234         to function declaration.
3235
3236 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
3237
3238         * ChangeLog: Copy to ...
3239         * ChangeLog-2006: here.