OSDN Git Service

* trans.h (gfc_conv_cray_pointee): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2005-10-25  Jakub Jelinek  <jakub@redhat.com>
2
3         * trans.h (gfc_conv_cray_pointee): Remove.
4         * trans-expr.c (gfc_conv_variable): Revert 2005-10-24 change.
5         * trans-array.c (gfc_conv_array_parameter): Likewise.
6         * trans-decl.c (gfc_conv_cray_pointee): Remove.
7         (gfc_finish_cray_pointee): New function.
8         (gfc_finish_var_decl): Use it.  Don't return early for Cray
9         pointees.
10         (gfc_create_module_variable): Revert 2005-10-24 change.
11         * decl.c (cray_pointer_decl): Update comment.
12         * gfortran.texi: Don't mention Cray pointees aren't visible in the
13         debugger.
14
15         * symbol.c (check_conflict): Add conflict between cray_pointee
16         and in_common resp. in_equivalence.
17         * resolve.c (resolve_equivalence): Revert 2005-10-24 change.
18
19         * module.c (ab_attribute): Add AB_CRAY_POINTER and AB_CRAY_POINTEE.
20         (attr_bits): Likewise.
21         (mio_symbol_attribute): Save and restore cray_pointe{r,e} attributes.
22         (mio_symbol): For cray_pointee write/read cp_pointer reference.
23
24 2005-10-25  Feng Wang  <fengwang@nudt.edu.cn>
25
26         PR fortran/22290
27         * trans-decl.c (gfc_add_assign_aux_vars): New function. Add two
28         auxiliary variables.
29         (gfc_get_symbol_decl): Use it when a variable, including dummy
30         argument, is assigned a label.
31         (gfc_trans_assign_aux_var): New function. Set initial value of
32         the auxiliary variable explicitly.
33         (gfc_trans_deferred_vars): Use it.
34         * trans-stmt.c (gfc_conv_label_variable): Handle dummy argument.
35
36 2005-10-24  Asher Langton  <langton2@llnl.gov>
37
38         PR fortran/17031
39         PR fortran/22282
40         * check.c (gfc_check_loc): New function.
41         * decl.c (variable_decl): New variables cp_as and sym.  Added a
42         check for variables that have already been declared as Cray
43         Pointers, so we can get the necessary attributes without adding
44         a new symbol.
45         (attr_decl1): Added code to catch pointee symbols and "fix"
46         their array specs.
47         (cray_pointer_decl): New method.
48         (gfc_match_pointer): Added Cray pointer parsing code.
49         (gfc_mod_pointee_as): New method.
50         * expr.c (gfc_check_assign): Added a check to catch vector-type
51         assignments to pointees with an unspecified final dimension.
52         * gfortran.h: (GFC_ISYM_LOC): New.
53         (symbol_attribute): Added cray_pointer and cray_pointee bits.
54         (gfc_array_spec): Added cray_pointee and cp_was_assumed bools.
55         (gfc_symbol): Added gfc_symbol *cp_pointer.
56         (gfc_option): Added flag_cray_pointer.
57         (gfc_add_cray_pointee): Declare.
58         (gfc_add_cray_pointer ): Declare.
59         (gfc_mod_pointee_as): Declare.
60         * intrinsic.c (add_functions): Add code for loc() intrinsic.
61         * intrinsic.h (gfc_check_loc): Declare.
62         (gfc_resolve_loc): Declare.
63         * iresolve.c (gfc_resolve_loc): New.
64         * lang.opt: Added fcray-pointer flag.
65         * options.c (gfc_init_options): Initialized.
66         gfc_match_option.flag_cray_pointer.
67         (gfc_handle_option): Deal with -fcray-pointer.
68         * parse.c:(resolve_equivalence): Added code prohibiting Cray
69         pointees in equivalence statements.
70         * resolve.c (resolve_array_ref): Added code to prevent bounds
71         checking for Cray Pointee arrays.
72         (resolve_equivalence): Prohibited pointees in equivalence
73         statements.
74         * symbol.c (check_conflict): Added Cray pointer/pointee
75         attribute checking.
76         (gfc_add_cray_pointer): New.
77         (gfc_add_cray_pointee): New.
78         (gfc_copy_attr): New code for Cray pointers and pointees.
79         * trans-array.c (gfc_trans_auto_array_allocation): Added code to
80         prevent space from being allocated for pointees.
81         (gfc_conv_array_parameter): Added code to catch pointees and
82         correctly set their base address.
83         * trans-decl.c (gfc_finish_var_decl): Added code to prevent
84         pointee declarations from making it to the back end.
85         (gfc_create_module_variable): Same.
86         * trans-expr.c (gfc_conv_variable): Added code to detect and
87         translate pointees.
88         (gfc_conv_cray_pointee): New.
89         * trans-intrinsic.c (gfc_conv_intrinsic_loc): New.
90         (gfc_conv_intrinsic_function): Added entry point for loc
91         translation.
92         * trans.h (gfc_conv_cray_pointee): Declare.
93
94         * gfortran.texi: Added section on Cray pointers, removed Cray
95         pointers from list of proposed extensions.
96         * intrinsic.texi: Added documentation for loc intrinsic.
97         * invoke.texi: Documented -fcray-pointer flag.
98
99 2005-10-24  Asher Langton  <langton2@llnl.gov>
100
101         * decl.c (gfc_match_save): Changed duplicate SAVE errors to
102         warnings in the absence of strict standard conformance
103         * symbol.c (gfc_add_save): Same.
104
105 2005-10-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
106
107         PR fortran/15586
108         * arith.c (gfc_arith_error): Change message to include locus.
109         (check_result, eval_intrinsic, gfc_int2int, gfc_real2real,
110         gfc_real2complex, gfc_complex2real, gfc_complex2complex): Use
111         the new gfc_arith_error.
112         (arith_error): Rewrite full error messages instead of building
113         them from pieces.
114         * check.c (must_be): Removed.
115         (type_check, numeric_check, int_or_real_check, real_or_complex_check,
116         kind_check, double_check, logical_array_check, array_check,
117         scalar_check, same_type_check, rank_check, kind_value_check,
118         variable_check, gfc_check_allocated, gfc_check_associated,
119         gfc_check_cmplx, gfc_check_dcmplx, gfc_check_dot_product,
120         gfc_check_index, gfc_check_kind, gfc_check_matmul, gfc_check_null,
121         gfc_check_pack, gfc_check_precision, gfc_check_present,
122         gfc_check_spread): Rewrite full error messages instead of
123         building them from pieces.
124         * decl.c (gfc_match_entry): Rewrite full error messages instead
125         of building them from pieces.
126         * parse.c (gfc_state_name): Remove.
127         * parse.h: Remove prototype for gfc_state_name.
128
129 2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
130
131         PR fortran/23635
132         * check.c (gfc_check_ichar_iachar): Move the code around so
133         that the check on the length is after check for
134         references.
135
136 2005-10-23  Asher Langton  <langton2@llnl.gov>
137
138         * decl.c (match_type_spec): Add a BYTE type as an extension.
139
140 2005-10-23  Paul Thomas  <pault@gcc.gnu.org>
141
142         PR fortran/18022
143         * trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL
144         if there is a component ref during an array ref to force
145         use of temporary in assignment.
146
147         PR fortran/24311
148         PR fortran/24384
149         * fortran/iresolve.c (check_charlen_present): New function to
150         add a charlen to the typespec, in the case of constant
151         expressions.
152         (gfc_resolve_merge, gfc_resolve_spread): Call.the above.
153         (gfc_resolve_spread): Make calls to library functions that
154         handle the case of the spread intrinsic with a scalar source.
155
156 2005-10-22  Erik Edelmann  <eedelman@gcc.gnu.org>
157
158         PR fortran/24426
159         * decl.c (variable_decl): Don't assign default initializers to
160         pointers.
161
162 2005-10-21  Jakub Jelinek  <jakub@redhat.com>
163
164         * interface.c (compare_actual_formal): Issue error when attempting
165         to pass an assumed-size array as assumed-shape array argument.
166
167 2005-10-20  Erik Edelmann  <erik.edelmann@iki.fi>
168
169         PR fortran/21625
170         * resolve.c (expr_to_initialize): New function.
171         (resolve_allocate_expr): Take current statement as new
172         argument. Add default initializers to variables of
173         derived types, if they need it.
174         (resolve_code): Provide current statement as argument to
175         resolve_allocate_expr().
176
177 2005-10-19  Paul Thomas  <pault@gcc.gnu.org>
178
179         PR fortran/24440
180         * resolve.c (resolve_symbol): Correct error in check for
181         assumed size array with default initializer by testing
182         for arrayspec before dereferencing it.
183
184 2005-10-17  Paul Thomas  <pault@gcc.gnu.org>
185
186         PR fortran/23446
187         * gfortran.h: Primitive for gfc_is_formal_arg.
188         * resolve.c(gfc_is_formal_arg): New function to signal across
189         several function calls that formal argument lists are being
190         processed.
191         (resolve_formal_arglist): Set/reset the flag for gfc_is_formal_arg.
192         *expr.c(check_restricted): Add check, via gfc_is_formal_arg, if
193         symbol is part of an formal argument declaration.
194
195         PR fortran/21459
196         * decl.c (add_init_expr_to_sym): Make a new character
197         length for each variable, when the expression is NULL
198         and link to cl_list.
199
200         PR fortran/20866
201         * match.c (recursive_stmt_fcn): New function that tests if
202         a statement function resurses through itself or other other
203         statement functions.
204         (gfc_match_st_function): Call recursive_stmt_fcn to check
205         if this is recursive and to raise error if so.
206
207         PR fortran/20849
208         PR fortran/20853
209         * resolve.c (resolve_symbol): Errors for assumed size arrays
210         with default initializer and for external objects with an
211         initializer.
212
213         PR fortran/20837
214         * decl.c (match_attr_spec): Prevent PUBLIC from being used
215         outside a module.
216
217 2005-10-16  Erik Edelmann  <erik.edelmann@iki.fi>
218
219         PR 22273
220         * expr.c (check_inquiry): Add "len" to inquiry_function.
221
222 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
223
224         * primary.c (match_boz_constant): Add missing break after gfc_error.
225
226 2005-10-12  Paul Thomas  <pault@gcc.gnu.org>
227
228         PR fortran/24092
229         * trans-types.c (gfc_get_derived_type): Insert code to obtain backend
230         declaration for derived types, building if necessary.  Return the
231         derived type if the fields have been built by this process.  Otherwise,
232         continue as before but using the already obtained backend_decls for the
233         derived type components.  Change the gcc_assert to act on the field.
234
235 2005-10-12  Paul Thomas  <pault@gcc.gnu.org>
236
237         PR fortran/18082
238         * decl.c (variable_decl): Make a new copy of the character
239         length for each variable, when the expression is not a
240         constant.
241
242 2005-10-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
243
244         * gfortran.h: Add bitmasks for different FPE traps. Add fpe
245         member to options_t.
246         * invoke.texi: Document the new -ffpe-trap option.
247         * lang.opt: Add -ffpe-trap option.
248         * options.c (gfc_init_options): Initialize the FPE option.
249         (gfc_handle_fpe_trap_option): New function to parse the argument
250         of the -ffpe-trap option.
251         (gfc_handle_option): Add case for -ffpe-trap.
252         * trans-decl.c: Declare a tree for the set_fpe library function.
253         (gfc_build_builtin_function_decls): Build this tree.
254         (gfc_generate_function_code): Generate a call to set_fpe at
255         the beginning of the main program.
256         * trans.h: New tree for the set_fpe library function.
257
258 2005-10-12  Paul Thomas  <pault@gcc.gnu.org>
259
260         PR fortran/20847
261         PR fortran/20856
262         * symbol.c (check_conflict): Prevent common variables and
263         function results from having the SAVE attribute,as required
264         by the standard.
265
266 2005-10-12  Paul Thomas  <pault@gcc.gnu.org>
267
268         PR fortran/24207
269         * resolve.c (resolve_symbol): Exclude use and host associated
270         symbols from the test for private objects in a public namelist.
271
272 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
273
274         * trans-common.c (build_field): Fix comment typo.
275         (create_common): Set backend_decl of COMMON or EQUIVALENCEd
276         variables to a VAR_DECL with the COMPONENT_REF in
277         DECL_HAS_VALUE_EXPR rather than COMPONENT_REF directly.
278         * f95-lang.c (gfc_expand_function): Emit debug info for
279         EQUIVALENCEd variables if the equiv union is going to be output.
280
281 2005-10-11  Steven G. Kargl  <kargls@comcast.net>
282
283         PR fortran/20786
284         * iresolve.c (gfc_resolve_aint, gfc_resolve_anint): Type conversion
285         of the argument.
286
287 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
288
289         * f95-lang.c (gfc_init_decl_processing): Initialize
290         void_list_node.
291
292 2005-10-07  Erik Edelmann  <erik.edelmann@iki.fi>
293
294         PR 18568
295         * resolve.c (find_array_spec): Search through the list of
296         components in the symbol of the type instead of the symbol of the
297         variable.
298
299 2005-10-05  Richard Guenther  <rguenther@suse.de>
300
301         PR fortran/24176
302         * parse.c (gfc_parse_file): Exit early for empty files.
303
304 2005-10-03  Steve Ellcey  <sje@cup.hp.com>
305
306         * fortran/trans-types.c (gfc_init_kinds): Only pass float, double,
307         and long double floating point types through to Fortran compiler.
308
309 2005-10-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
310
311         PR fortran/20120
312         * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Add support for long
313         double builtin function.
314         (gfc_init_builtin_functions): Add mfunc_longdouble,
315         mfunc_clongdouble and func_clongdouble_longdouble trees. Build
316         them for round, trunc, cabs, copysign and pow functions.
317         * iresolve.c (gfc_resolve_reshape, gfc_resolve_transpose): Add
318         case for kind 10 and 16.
319         * trans-decl.c: Add trees for cpowl10, cpowl16, ishftc16,
320         exponent10 and exponent16.
321         (gfc_build_intrinsic_function_decls): Build nodes for int16,
322         real10, real16, complex10 and complex16 types. Build all possible
323         combinations for function _gfortran_pow_?n_?n. Build function
324         calls cpowl10, cpowl16, ishftc16, exponent10 and exponent16.
325         * trans-expr.c (gfc_conv_power_op): Add case for integer(16),
326         real(10) and real(16).
327         * trans-intrinsic.c: Add suppport for long double builtin
328         functions in BUILT_IN_FUNCTION, LIBM_FUNCTION and LIBF_FUNCTION
329         macros.
330         (gfc_conv_intrinsic_aint): Add case for integer(16), real(10) and
331         real(16) kinds.
332         (gfc_build_intrinsic_lib_fndecls): Add support for real10_decl
333         and real16_decl in library functions.
334         (gfc_get_intrinsic_lib_fndecl): Add cases for real and complex
335         kinds 10 and 16.
336         (gfc_conv_intrinsic_exponent): Add cases for real(10) and real(16)
337         kinds.
338         (gfc_conv_intrinsic_sign): Likewise.
339         (gfc_conv_intrinsic_ishftc): Add case for integer(16) kind.
340         * trans-types.c (gfc_get_int_type, gfc_get_real_type,
341         gfc_get_complex_type, gfc_get_logical_type): Doesn't error out in
342         the case of kinds not available.
343         * trans.h: Declare trees for cpowl10, cpowl16, ishftc16,
344         exponent10 and exponent16.
345
346 2005-10-01  Paul Thomas  <pault@gcc.gnu.org>
347
348         PR fortran/16404
349         PR fortran/20835
350         PR fortran/20890
351         PR fortran/20899
352         PR fortran/20900
353         PR fortran/20901
354         PR fortran/20902
355         * gfortran.h: Prototype for gfc_add_in_equivalence.
356         * match.c (gfc_match_equivalence): Make a structure component
357         an explicit,rather than a syntax, error in an equivalence
358         group.  Call gfc_add_in_equivalence to add the constraints
359         imposed in check_conflict.
360         * resolve.c (resolve_symbol): Add constraints: No public
361         structures with private-type components and no public
362         procedures with private-type dummy arguments.
363         (resolve_equivalence_derived): Add constraint that prevents
364         a structure equivalence member from having a default
365         initializer.
366         (sequence_type): New static function to determine whether an
367         object is default numeric, default character, non-default
368         or mixed sequence. Add corresponding enum typespec.
369         (resolve_equivalence): Add constraints to equivalence groups
370         or their members: No more than one initialized member and
371         that different types are not equivalenced for std=f95.  All
372         the simple constraints have been moved to check_conflict.
373         * symbol.c (check_conflict): Simple equivalence constraints
374         added, including those removed from resolve_symbol.
375         (gfc_add_in_equivalence): New function to interface calls
376         match_equivalence to check_conflict.
377
378 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
379
380         PR fortran/18518
381         * trans-common.c (build_equiv_decl): Add IS_SAVED argument.
382         If it is true, set TREE_STATIC on the decl.
383         (create_common): If any symbol in equivalence has SAVE attribute,
384         pass true as last argument to build_equiv_decl.
385
386 2005-09-24  Janne Blomqvist  <jblomqvi@cc.hut.fi>
387
388         * trans-io.c (gfc_build_io_library_fndecls): Add entry
389         iocall_x_array for transfer_array.
390         (transfer_array_desc): New function.
391         (gfc_trans_transfer): Add code to call transfer_array_desc.
392
393 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
394
395         PR fortran/23677
396         * symbol.c (gfc_is_var_automatic): Return true if character length
397         is non-constant rather than constant.
398         * resolve.c (gfc_resolve): Don't handle !gfc_option.flag_automatic
399         here.
400         * options.c (gfc_post_options): Set gfc_option.flag_max_stack_var_size
401         to 0 for -fno-automatic.
402
403 2005-09-23  Paul Thomas  <pault@gcc.gnu.org>
404
405         PR fortran/16861
406         * module.c (mio_component_ref): Return if the symbol is NULL
407         and wait for another iteration during module reads.
408         (mio_symtree_ref): Suppress the writing of contained symbols,
409         when a symbol is available in the main namespace.
410         (read_module): Restrict scope of special treatment of contained
411         symbols to variables only and suppress redundant call to
412         find_true_name.
413
414 2005-09-22  Steven G. Kargl  <kargls@comcast.net>
415
416         PR fortran/24005
417         * interface.c (check_interface1): Fix NULL dereference.
418
419 2005-09-22  Erik Edelmann  <erik.edelmann@iki.fi>
420
421         PR fortran/23843
422         * resolve.c (derived_inaccessible): New function.
423         (resolve_transfer): Use it to check for private
424         components.
425
426 2005-09-22  Steven G. Kargl  <kargls@comcast.net>
427
428         PR fortran/23516
429         * intrinsic.c (add_function): Add IMAG, IMAGPART, and REALPART
430         intrinsics.
431         * intrinsic.h: Prototypes for gfc_simplify_realpart and
432         gfc_resolve_realpart.
433         * intrinsic.texi: Document intrinsic procedures.
434         * simplify.c (gfc_simplify_realpart): New function.
435         * irseolve.c (gfc_resolve_realpart): New function.
436
437 2005-09-21  Erik Edelmann  <erik.edelmann@iki.fi>
438
439         PR fortran/19929
440         * trans-stmt.c (gfc_trans_deallocate): Check if the
441         object to be deallocated is an array by looking at
442         expr->rank instead of expr->symtree->n.sym->attr.dimension.
443
444 2005-09-20  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
445
446         PR fortran/23420
447         * io.c (resolve_tag): Don't allow non-CHARACTER constants as formats.
448         (match_io): Fix usage of gfc_find_symbol.
449
450 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
451
452         PR fortran/23663
453         * primary.c (match_actual_arg): Handle ENTRY the same way
454         as FUNCTION.
455
456 2005-09-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
457
458         * Make-lang.in: Make check-fortran alias for check-gfortran.
459
460 2005-09-18  Andreas Jaeger  <aj@suse.de>
461
462         * module.c (read_module): Add missed line from last patch.
463
464 2005-09-18  Erik Edelmann  <erik.edelmann@iki.fi>
465
466         PR fortran/15975
467         * resolve.c (resolve_symbol): Don't assign default
468         initializer to pointers.
469
470 2005-09-18  Paul Thomas  <pault@gcc.gnu.org>
471
472         PR fortran/16861
473         * module.c (read_module): Give symbols from module procedures
474         different true_name entries to those from the module proper.
475
476 2005-09-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
477
478         PR fortran/15586
479         * arith.c (gfc_arith_error): Add translation support for error
480         messages.
481         * array.c (gfc_match_array_ref): Likewise.
482         (gfc_match_array_spec): Likewise.
483         * check.c (must_be): Add msgid convention to third argument.
484         (same_type_check): Add translation support for error message.
485         (rank_check): Likewise.
486         (kind_value_check): Likewise.
487         (gfc_check_associated): Correct typo.
488         (gfc_check_reshape): Add translation support for error message.
489         (gfc_check_spread): Likewise.
490         * error.c (error_printf): Add nocmsgid convention to argument.
491         (gfc_warning, gfc_notify_std, gfc_warning_now, gfc_warning_check)
492         (gfc_error, gfc_error_now): Likewise.
493         (gfc_status): Add cmsgid convention to argument.
494         * expr.c (gfc_extract_int): Add translation support for error
495         messages.
496         (gfc_check_conformance): Add msgid convention to argument.
497         (gfc_check_pointer_assign): Correct tabbing.
498         * gfortran.h: Include intl.h header. Remove prototype for gfc_article.
499         * gfortranspec.c: Include intl.h header.
500         (lang_specific_driver): Add translation support for --version.
501         * io.c (check_format): Add translation support for error message.
502         (format_item_1): Likewise.
503         (data_desc): Likewise.
504         * matchexp.c: Likewise.
505         * misc.c (gfc_article): Remove function.
506         * module.c (bad_module): Use msgid convention. Add translation support
507         for error messages.
508         (require_atom): Add translation support for error messages.
509         * parse.c (gfc_ascii_statement): Likewise.
510         (gfc_state_name): Likewise.
511         * primary.c (match_boz_constant): Reorganise error messages for
512         translations.
513         * resolve.c (resolve_entries): Likewise.
514         (resolve_operator): Add translation support for error messages.
515         (gfc_resolve_expr): Use msgid convention. Reorganise error messages
516         for translations.
517         (resolve_symbol): Add translation support for error messages.
518         * symbol.c (gfc_add_procedure): Remove use of gfc_article function.
519         * trans-const.c (gfc_build_string_const): Use msgid convention.
520
521 2005-09-16  Paul Brook  <paul@codesourcery.com>
522
523         PR fortran/23906
524         * dependency.c (transform_sections): Divide by correct value.
525         Elaborate comment.
526
527 2005-09-14  Paul Thomas  <pault@gcc.gnu.org>
528
529         PR fortran/21875 Internal Unit Array I/O, NIST
530         * fortran/trans-io.c (gfc_build_io_library_fndecls): Add field for
531         array descriptor to IOPARM structure.
532         * fortran/trans-io.c (set_internal_unit): New function to generate code
533         to store the character (array) and the character length for an internal
534         unit.
535         * fortran/trans-io (build_dt): Use the new function set_internal_unit.
536
537 2005-09-14  Paul Thomas  <pault@gcc.gnu.org>
538
539         PR fortran/19358
540         * trans-array.c (gfc_trans_dummy_array_bias): correct the typo
541         which uses dim[i].upper for lbound, rather than dim[i].lower.
542
543 2005-09-13  Erik Edelmann  <erik.edelmann@iki.fi>
544
545         PR fortran/17740
546         * trans-expr.c (gfc_trans_arrayfunc_assign): Check value
547         of attr.elemental for specific function instead of generic name.
548
549 2005-09-13  Richard Sandiford  <richard@codesourcery.com>
550
551         PR fortran/18899
552         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Move initialization
553         of argse.  Remove now-redundant want_pointer assignment.
554         * trans-array.c (gfc_conv_expr_descriptor): When not assigning to
555         a pointer, keep the original bounds of a full array reference.
556
557 2005-09-13  Richard Sandiford  <richard@codesourcery.com>
558
559         PR target/19269
560         * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift)
561         (gfc_resolve_pack, gfc_resolve_reshape, gfc_resolve_spread)
562         (gfc_resolve_transpose, gfc_resolve_unpack): Add "_char" to the name
563         for character-based operations.
564         (gfc_resolve_pack): Remove ATTRIBUTE_UNUSED from array argument.
565         (gfc_resolve_unpack): Copy the whole typespec from the vector.
566         * trans-array.c (gfc_conv_expr_descriptor): In the EXPR_FUNCTION
567         case, get the string length from the scalarization state.
568
569 2005-09-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
570
571         * Make-lang.in: Change targets prefixes from f95 to fortran.
572         * config-lang.in: Change language name to "fortran".
573         * lang.opt: Change language name to "fortran".
574         * options.c: Change CL_F95 to CL_Fortran.
575
576 2005-09-09  Thomas Koenig  <Thomas.Koenig@online.de>
577
578         gfortran.texi:  Document IOSTAT= specifier.
579
580 2005-09-09  Thomas Koenig  <Thomas.Koenig@online.de>
581
582         * gfortran.h:  Add iomsg to gfc_open, gfc_close, gfc_filepos,
583         gfc_inquire and gfc_dt.
584         * dump-parse-tree.c (gfc_show_code_node):  Add iomsg
585         for open, close, file positioning, inquire and namelist.
586         * io.c (io_tag):  Add tag_iomsg.
587         (resolve_tag): Add standards warning for iomsg.
588         (match_open_element):  Add iomsg.
589         (gfc_free_open):  Add iomsg.
590         (gfc_resolve_open):  Add iomsg.
591         (gfc_free_close):  Add iomsg.
592         (match_close_element):  Add iomsg.
593         (gfc_resolve_close):  Add iomsg.
594         (gfc_free_filepos):  Add iomsg.
595         (match_file_element):  Add iomsg.
596         (gfc_resolve_filepos):  Add iostat and iomsg.
597         (match-dt_element):  Add iomsg.
598         (gfc_free_dt):  Add iomsg.
599         (gfc_resolve_dt):  Add iomsg.
600         (gfc_free_inquire):  Add iomsg.
601         (match_inquire_element):  Add iomsg.
602         (gfc_resolve_inquire):  Add iomsg.
603         * trans_io.c:  Add ioparm_iomsg and ioparm_iomsg_len.
604         (gfc_build_io_library_fndecls):  Add iomsg as last field.
605         (gfc_trans_open):  Add iomsg.
606         (gfc_trans_close):  Add iomsg.
607         (build_fileos):  Call set_string for iomsg.
608         (gfc_trans_inquire):  Add iomsg.
609         (build_dt):  Add iomsg.
610
611 2005-09-09  Richard Sandiford  <richard@codesourcery.com>
612
613         * match.h (gfc_match_equiv_variable): Declare.
614
615 2005-09-09  Richard Sandiford  <richard@codesourcery.com>
616
617         PR fortran/19239
618         * Makefile.in (fortran/trans-expr.o): Depend on dependency.h.
619         * dependency.h (gfc_ref_needs_temporary_p): Declare.
620         * dependency.c (gfc_ref_needs_temporary_p): New function.
621         (gfc_check_fncall_dependency): Use it instead of inlined check.
622         By so doing, take advantage of the fact that character substrings
623         within an array reference also need a temporary.
624         * trans.h (GFC_SS_VECTOR): Adjust comment.
625         * trans-array.c (gfc_free_ss): Remove GFC_SS_VECTOR case.
626         (gfc_set_vector_loop_bounds): New function.
627         (gfc_add_loop_ss_code): Call it after evaluating the subscripts of
628         a GFC_SS_SECTION.  Deal with the GFC_SS_VECTOR case by evaluating
629         the vector expression and caching its descriptor for use within
630         the loop.
631         (gfc_conv_array_index_ref, gfc_conv_vector_array_index): Delete.
632         (gfc_conv_array_index_offset): Handle scalar, vector and range
633         dimensions as separate cases of a switch statement.  In the vector
634         case, use the loop variable to calculate a vector index and use the
635         referenced element as the dimension's index.  Perform bounds checking
636         on this final index.
637         (gfc_conv_section_upper_bound): Return null for vector indexes.
638         (gfc_conv_section_startstride): Give vector indexes a start value
639         of 0 and a stride of 1.
640         (gfc_conv_ss_startstride): Adjust for new GFC_SS_VECTOR representation.
641         (gfc_conv_expr_descriptor): Expand comments.  Generalize the
642         handling of the !want_pointer && !direct_byref case.  Use
643         gfc_ref_needs_temporary_p to decide whether the variable case
644         needs a temporary.
645         (gfc_walk_variable_expr): Handle DIMEN_VECTOR by creating a
646         GFC_SS_VECTOR index.
647         * trans-expr.c: Include dependency.h.
648         (gfc_trans_arrayfunc_assign): Fail if the target needs a temporary.
649
650 2005-09-09  Richard Sandiford  <richard@codesourcery.com>
651
652         PR fortran/21104
653         * trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved
654         from trans-expr.c.
655         (gfc_init_interface_mapping, gfc_free_interface_mapping)
656         (gfc_add_interface_mapping, gfc_finish_interface_mapping)
657         (gfc_apply_interface_mapping): Declare.
658         * trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare.
659         (gfc_trans_allocate_temp_array): Add pre and post block arguments.
660         * trans-array.c (gfc_set_loop_bounds_from_array_spec): New function.
661         (gfc_trans_allocate_array_storage): Replace loop argument with
662         separate pre and post blocks.
663         (gfc_trans_allocate_temp_array): Add pre and post block arguments.
664         Update call to gfc_trans_allocate_array_storage.
665         (gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new
666         interface to gfc_trans_allocate_temp_array.
667         * trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping):
668         Moved to trans.h.
669         (gfc_init_interface_mapping, gfc_free_interface_mapping)
670         (gfc_add_interface_mapping, gfc_finish_interface_mapping)
671         (gfc_apply_interface_mapping): Make extern.
672         (gfc_conv_function_call): Build an interface mapping for array
673         return values too.  Call gfc_set_loop_bounds_from_array_spec.
674         Adjust call to gfc_trans_allocate_temp_array so that code is
675         added to SE rather than LOOP.
676
677 2005-09-09  Richard Sandiford  <richard@codesourcery.com>
678
679         PR fortran/12840
680         * trans.h (gfor_fndecl_internal_realloc): Declare.
681         (gfor_fndecl_internal_realloc64): Declare.
682         * trans-decl.c (gfor_fndecl_internal_realloc): New variable.
683         (gfor_fndecl_internal_realloc64): New variable.
684         (gfc_build_builtin_function_decls): Initialize them.
685         * trans-array.h (gfc_trans_allocate_temp_array): Add a fourth argument.
686         * trans-array.c (gfc_trans_allocate_array_storage): Add an argument
687         to say whether the array can grow later.  Don't allocate the array
688         on the stack if so.  Don't call malloc for zero-sized arrays.
689         (gfc_trans_allocate_temp_array): Add a similar argument here.
690         Pass it along to gfc_trans_allocate_array_storage.
691         (gfc_get_iteration_count, gfc_grow_array): New functions.
692         (gfc_iterator_has_dynamic_bounds): New function.
693         (gfc_get_array_constructor_element_size): New function.
694         (gfc_get_array_constructor_size): New function.
695         (gfc_trans_array_ctor_element): Replace pointer argument with
696         a descriptor tree.
697         (gfc_trans_array_constructor_subarray): Likewise.  Take an extra
698         argument to say whether the variable-sized part of the constructor
699         must be allocated using realloc.  Grow the array when this
700         argument is true.
701         (gfc_trans_array_constructor_value): Likewise.
702         (gfc_get_array_cons_size): Delete.
703         (gfc_trans_array_constructor): If the loop bound has not been set,
704         split the allocation into a static part and a dynamic part.  Set
705         loop->to to the bounds for static part before allocating the
706         temporary.  Adjust call to gfc_trans_array_constructor_value.
707         (gfc_conv_loop_setup): Allow any constructor to determine the
708         loop bounds.  Check whether the constructor has a dynamic size
709         and prefer to use something else if so.  Expect the loop bound
710         to be set later.  Adjust call to gfc_trans_allocate_temp_array.
711         * trans-expr.c (gfc_conv_function_call): Adjust another call here.
712
713 2005-09-09  Paul Thomas  <pault@gcc.gnu.org>
714
715         PR fortran/18878
716         * module.c (find_use_name_n): Based on original
717         find_use_name. Either counts number of use names for a
718         given real name or returns use name n.
719         (find_use_name, number_use_names): Interfaces to the
720         function find_use_name_n.
721         (read_module): Add the logic and calls to these functions,
722         so that mutiple reuses of the same real name are loaded.
723
724 2005-09-09  Paul Thomas  <pault@gcc.gnu.org>
725
726         PR fortran/22304
727         PR fortran/23270
728         PR fortran/18870
729         PR fortran/16511
730         PR fortran/17917
731         * gfortran.h: Move definition of BLANK_COMMON_NAME from trans-
732         common.c so that it is accessible to module.c. Add common_head
733         field to gfc_symbol structure. Add field for the equivalence
734         name AND new attr field, in_equivalence.
735         * match.c (gfc_match_common, gfc_match_equivalence): In loops
736         that flag common block equivalences, emit an error if the
737         common blocks are different, using sym->common_head as the
738         common block identifier. Ensure that symbols that are equivalence
739         associated with a common block are marked as being in_common.
740         * module.c (write_blank_common): New.
741         (write_common): Use unmangled common block name.
742         (load_equiv): New function ported from g95.
743         (read_module): Call load_equiv.
744         (write_equiv): New function ported from g95. Correct
745         string referencing for gfc functions. Give module
746         equivalences a unique name.
747         (write_module): Call write_equiv and write_blank_common.
748         * primary.c (match_variable) Old gfc_match_variable, made
749         static and third argument provided to indicate if parent
750         namespace to be visited or not.
751         (gfc_match_variable) New. Interface to match_variable.
752         (gfc_match_equiv_variable) New. Interface to match_variable.
753         * trans-common.c (finish_equivalences): Provide the call
754         to create_common with a gfc_common_header so that
755         module equivalences are made external, rather than local.
756         (find_equivalences): Ensure that all members in common block
757         equivalences are marked as used. This prevents the subsequent
758         call to this function from making local unions.
759         * trans-decl.c (gfc_generate_function_code): Move the call to
760         gfc_generate_contained_functions to after the call to
761         gfc_trans_common so the use-associated, contained common
762         blocks produce the correct references.
763         (gfc_create_module_variable): Return for equivalenced symbols
764         with existing backend declaration.
765
766 2005-09-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
767
768         PR fortran/23765
769         * match.c (gfc_match_common): Remove unnecessary / wrong special
770         cases for end-of-statement.
771
772 2005-09-08  Janne Blomqvist  <jblomqvi@cc.hut.fi>
773
774         * gfortran.texi: Add section about implemented F2003 features.
775
776 2005-09-08  Richard Sandiford  <richard@codesourcery.com>
777
778         PR fortran/15326
779         * trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in
780         the GFC_SS_FUNCTION case too.
781         * trans-expr.c (gfc_conv_function_val): Allow symbols to be bound
782         to function pointers as well as function decls.
783         (gfc_interface_sym_mapping, gfc_interface_mapping): New structures.
784         (gfc_init_interface_mapping, gfc_free_interface_mapping)
785         (gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array)
786         (gfc_set_interface_mapping_bounds, gfc_add_interface_mapping)
787         (gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons)
788         (gfc_apply_interface_mapping_to_ref)
789         (gfc_apply_interface_mapping_to_expr)
790         (gfc_apply_interface_mapping): New functions.
791         (gfc_conv_function_call): Evaluate the arguments before working
792         out where the result should go.  Make the null pointer case provide
793         the string length in parmse.string_length.  Cope with non-constant
794         string lengths, using the above functions to evaluate such lengths.
795         Use a temporary typespec; don't assign to sym->cl->backend_decl.
796         Don't assign to se->string_length when returning a cached array
797         descriptor.
798
799 2005-09-08  Richard Sandiford  <richard@codesourcery.com>
800
801         PR fortran/19928
802         * trans-array.c (gfc_conv_array_ref): Call gfc_advance_se_ss_chain
803         after handling scalarized references.  Make "indexse" inherit from
804         "se" when handling AR_ELEMENTs.
805         (gfc_walk_variable_expr): Add GFC_SS_SCALAR entries for each
806         substring or scalar reference that follows an array section.
807         * trans-expr.c (gfc_conv_variable): When called from within a
808         scalarization loop, start out with "ref" pointing to the scalarized
809         part of the reference.  Don't call gfc_advance_se_ss_chain here.
810
811 2005-09-07  Richard Sandiford  <richard@codesourcery.com>
812
813         PR fortran/23373
814         * trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary
815         descriptor if the rhs is not a null pointer or variable.
816
817 2005-09-07  Thomas Koenig  <Thomas.Koenig@online.de>
818
819         PR fortran/20848
820         * symbol.c(check_conflict):  Add conflict for parameter/save,
821
822 2005-09-06  Richard Sandiford  <richard@codesourcery.com>
823
824         PR fortran/19269
825         * simplify.c (gfc_simplify_transpose): Set the result's typespec from
826         the source, not the first element of the return value.
827
828 2005-09-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
829
830         PR fortran/23661
831         * io.c (match_io): Correctly backup if PRINT followed by
832         symbol which is not a namelist.  Force blank between PRINT
833         and namelist in free form.
834
835 2005-08-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
836
837         PR fortran/20592
838         * gfortran.h (gfc_option_t): Add flag_automatic.
839         * invoke.texi: Document the -fno-automatic option.
840         * lang.opt: Add a -fautomatic option.
841         * options.c (gfc_init_options): Default for -fautomatic is on.
842         (gfc_handle_option): Add handling of -fautomatic option.
843         * resolve.c (gfc_resolve): When -fno-automatic is used, mark
844         needed variables as SAVE.
845
846 2005-08-27  Erik Edelmann  <erik.edelmann@iki.fi>
847
848         * trans-array.c (gfc_trans_deferred_array): Fix comments.
849
850 2005-08-27  Erik Schnetter  <schnetter@aei.mpg.de>
851
852         * primary.c (match_charkind_name): Fix typo in comment leading to
853         function.
854
855 2005-08-25  Erik Edelmann  <eedelman@acclab.helsinki.fi>
856
857         PR fortran/20363
858         * symbol.c (find_special): Remove.
859         (build_sym, add_init_expr, attr_decl1): Remove calls to
860         find_special in favor of calls to gfc_get_symbol.
861
862 2005-08-24  Thomas Koenig  <Thomas.Koenig@online.de>
863
864         PR fortran/17758
865         * gfortran.h (symbol_attribute):  Add noreturn to the structure.
866         (gfc_intrinsic_sym):  Add noreturn to the structure.
867         * intrinsic.c (make_noreturn):  New function.
868         (add_subroutines):  Mark subroutines abort and exit as noreturn.
869         (gfc_intrinsic_sub_interface):  Copy noreturn attribute from
870         isym to the resolved symbol.
871         * trans-decl.c (gfc_get_extern_function_decl): Set function
872         as VOLATILE (== noreturn) if the noreturn attribute is set.
873
874 2005-08-21  Steven G. Kargl  <kargls@comcast.net>
875
876         * decl.c: Typo in comment.
877
878 2005-08-21  Steven G. Kargl  <kargls@comcast.net>
879
880         * array.c: Bump GFC_MAX_AC_EXPAND from 100 to 65535.
881
882 2005-08-21  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
883
884         * gfortran.h (gfc_option_t): Remove source field.  Add
885         flag_d_lines field.
886         (gfc_new_file): Remove arguments in prototype.
887         (gfc_source_file): Make 'const char *'.
888         * f95-lang.c (gfc_init): Use gfc_source_file instead of
889         gfc_option.source.  Call gfc_new_file without arguments.
890         * invoke.texi: Document new options '-fd-lines-as-code' and
891         '-fd-lines-as-comment'.
892         * lang.opt: Add new options.  Alphabetize.
893         * options.c (gfc_init_options): Initialize gfc_source_file instead
894         of gfc_option.source.  Initialize gfc_option.flag_d_lines.
895         (form_from_filename): Move here from scanner.c.  Make
896         'filename' argument 'const'.
897         (gfc_post_options): Set gfc_source_file.  Determine source form.
898         Warn if 'd-lines*' are used in free form.
899         * scanner.c (gfc_source_file): Constify.
900         (skip_fixed_comments): Deal with d-lines.
901         (get_file): Constify argument 'name'.
902         (load_file): Constify argument 'filename'.
903         (form_from_filename): Moved to options.c.
904         (gfc_new_file): Remove arguments.  Don't initialize
905         gfc_source_file, don't determine source form.
906         * trans-const.c (gfc_init_constants): Use gfc_source_file instead
907         of gfc_option.source.
908
909 2005-08-19  Steven G. Kargl  <kargls@comcast.net>
910
911         PR fortran/23065
912         * gfortran.h: Remove PATH_MAX definition.
913         * module.c (write_module, gfc_dump_module): Use alloca to allocate
914         buffers.
915         * scanner.c (gfc_release_include_path, form_from_filename): Ditto.
916
917 2004-08-16  Huang Chun  <chunhuang73@hotmail.com>
918
919         * trans-expr.c (gfc_conv_power_op): Evaluate the expression before
920         expand.
921
922 2005-08-14  Asher Langton  <langton2@llnl.gov>
923
924         * parse.c (match): Enclose macro in do...while(0) and braces.
925
926 2005-08-14  Paul Thomas  <pault@gcc.gnu.org>
927
928         PR fortran/21432.
929         * gfortran.texi: Document PRINT namelist.
930
931 2005-08-14  Paul Thomas  <pault@gcc.gnu.org>
932
933         PR fortran/21432.
934         * io.c (match_io): Add code to implement PRINT namelist.
935
936 2005-08-14  Canqun Yang  <canqun@nudt.edu.cn>
937
938         * trans-stmt.c (gfc_trans_arithmetic_if): Optimized in case of equal
939         labels.
940
941 2005-08-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
942             Steven Bosscher  <stevenb@suse.de>
943
944         PR libfortran/20006
945         * gfortran.h: Add is_main_program member to symbol_attribute.
946         * trans-decl: Add a gfor_fndecl_set_std tree.
947         (gfc_build_builtin_function_decls): Create it.
948         (gfc_generate_function_code): Add this call at the beginning of
949         the main program.
950         * trans.c (gfc_generate_code): Move main_program and attr.
951         * trans.h: Add declaration for gfor_fndecl_set_std.
952
953 2005-08-10  Thomas Koenig  <Thomas.Koenig@online.de>
954
955         PR libfortran/22143
956         gfortran.h:  Declare new function gfc_resolve_dim_arg.
957         resolve.c:  New function gfc_resolve_dim_arg.
958         iresolve.c (gfc_resolve_all):  Use gfc_resolve_dim_arg.
959         (gfc_resolve_any):  Likewise.
960         (gfc_resolve_count):  Likewise.
961         (gfc_resolve_cshift):  Likewise.  If the kind of shift is less
962         gfc_default_integer_kind, convert it to default integer type.
963         (gfc_resolve_eoshift):  Likewise.
964         (gfc_resolve_maxloc):  Use gfc_resolve_dim_arg.
965         (gfc_resolve_maxval):  Likewise.
966         (gfc_resolve_minloc):  Likewise.
967         (gfc_resolve_minval):  Likewise.
968         (gfc_resolve_product):  Likewise.
969         (gfc_resolve_spread):  Likewise.
970         (gfc_resolve_sum):  Likewise.
971
972 2005-08-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
973
974         * check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check
975         functions for new intrinsics TTYNAM and ISATTY.
976         * intrinsic.c (add_functions, add_subroutines): Add new
977         intrinsics.
978         * intrinsic.h: Add prototypes for new check and resolve
979         functions.
980         * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New
981         resolve functions for intrinsics TTYNAM and ISATTY.
982         * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY.
983         * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY.
984
985 2005-08-09  Jakub Jelinek  <jakub@redhat.com>
986
987         * scanner.c (preprocessor_line): Don't write beyond the end of flag
988         buffer.
989
990 2005-08-07   Janne Blomqvist  <jblomqvi@cc.hut.fi>
991
992         PR fortran/22390
993         * dump-parse-tree.c (gfc_show_code_node): Add case for FLUSH.
994         * gfortran.h: Add enums for FLUSH.
995         * io.c (gfc_free_filepos,match_file_element,match_filepos): Modify
996         comment appropriately.  (gfc_match_flush): New function.
997         * match.c (gfc_match_if): Add match for flush.
998         * match.h: Add prototype.
999         * parse.c (decode_statement): Add flush to 'f' case.
1000         (next_statement): Add case for flush. (gfc_ascii_statement): Likewise.
1001         * resolve.c (resolve_code): Add flush case.
1002         * st.c (gfc_free_statement): Add flush case.
1003         * trans-io.c: Add prototype for flush.
1004         (gfc_build_io_library_fndecls): Build fndecl for flush.
1005         (gfc_trans_flush): New function.
1006         * trans-stmt.h: Add prototype.
1007         * trans.c (gfc_trans_code): Add case for flush.
1008
1009 2005-08-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1010
1011         * primary.c (match_hollerith_constant): Fix typo.
1012
1013 2005-08-06  Kazu Hirata  <kazu@codesourcery.com>
1014
1015         * decl.c, dump-parse-tree.c, gfortran.texi, intrinsic.texi,
1016         invoke.texi, resolve.c, trans-array.c, trans-array.h,
1017         trans-common.c, trans-expr.c, trans-io.c, trans.h: Fix
1018         comment/doc typos.  Follow spelling conventions.
1019
1020 2005-08-06  Jakub Jelinek  <jakub@redhat.com>
1021
1022         PR fortran/18833
1023         PR fortran/20850
1024         * primary.c (match_varspec): If equiv_flag, don't look at sym's
1025         attributes, call gfc_match_array_ref up to twice and don't do any
1026         substring or component processing.
1027         * resolve.c (resolve_equivalence): Transform REF_ARRAY into
1028         REF_SUBSTRING or nothing if needed.  Check that substrings
1029         don't have zero length.
1030
1031 2005-08-05  Thomas Koenig  <Thomas.Koenig@online.de>
1032
1033         * trans-expr.c  (gfc_build_builtin_function_decls):  Mark
1034         stop_numeric and stop_string as non-returning.
1035
1036 2005-08-04  Paul Brook  <paul@codesourcery.com>
1037
1038         * trans-expr.c (gfc_conv_expr, gfc_conv_expr_type): Update comments.
1039         (gfc_conv_expr_lhs): Fix assertion.
1040         (gfc_conv_expr_val): Merge post block.  Set se.expr to new value.
1041
1042 2005-08-02  David Edelsohn  <edelsohn@gnu.org>
1043
1044         PR fortran/22491
1045         * expr.c (simplify_parameter_variable): Do not copy the subobject
1046         references if the expression value is a constant.
1047
1048         * expr.c (gfc_simplify_expr): Evaluate constant substrings.
1049
1050 2005-07-31  Jerry DeLisle  <jvdelisle@verizon.net>
1051
1052         * intrinsic.texi: Add documentation for exponent, floor, and fnum and
1053         fix description of ceiling in index.
1054
1055 2005-07-31  Steven Bosscher  <stevenb@suse.de>
1056
1057         * trans-decl.c (gfc_build_builtin_function_decls): Give the internal
1058         malloc functions the 'malloc' attribute.  Give runtime_error the
1059         'noreturn' attribute.
1060
1061 2005-07-31  Steven Bosscher  <stevenb@suse.de>
1062
1063         * trans-stmt.c (gfc_trans_goto): Jump to the known label instead
1064         of the assigned goto variable.
1065
1066 2005-07-29  Steven Bosscher  <stevenb@suse.de>
1067
1068         * trans-types.h (gfc_array_range_type): Add missing GTY decl for this.
1069
1070 2005-07-28  Andrew Pinski  <pinskia@physics.uc.edu>
1071
1072         * fortran/f95-lang.c (language_function): Remove
1073         named_labels, shadowed_labels, returns_value, returns_abnormally,
1074         warn_about_return_type, and extern_inline fields.
1075         (named_labels): Remove variable.
1076         (gfc_init_decl_processing): Remove setting of named_labels.
1077
1078 2005-07-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1079
1080         PR fortran/22503
1081         * resolve.c (resolve_operator): Improve diagnostic for comparison
1082         of logicals with invalid operator.
1083
1084 2005-07-25  Jakub Jelinek  <jakub@redhat.com>
1085
1086         PR fortran/20063
1087         * data.c (gfc_assign_data_value_range): Call
1088         create_character_initializer if last_ts is a character type.
1089
1090 2005-07-22  Manfred Hollstein  <mh@suse.com>
1091
1092         * match.c (gfc_match_symbol): Fix uninitialised warnings.
1093         * matchexp.c (gfc_match_expr): Likewise.
1094
1095 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
1096
1097         Make CONSTRUCTOR use VEC to store initializers.
1098         * trans-array.c (gfc_build_null_descriptor,
1099         gfc_trans_array_constructor_value, gfc_conv_array_initializer):
1100         Update to cope with VEC in CONSTRUCTOR_ELTS.
1101         * trans-common.c (create_common): Likewise.
1102         * trans-expr.c (gfc_conv_structure): Likewise.
1103         * trans-stmt.c (gfc_trans_character_select): Use
1104         build_constructor_from_list instead of build_constructor.
1105
1106 2005-07-19  Paul Thomas  <pault@gcc.gnu.org>
1107
1108         PR fortran/16940
1109         * resolve.c (resolve_symbol): A symbol with FL_UNKNOWN
1110         is matched against interfaces in parent namespaces. If there
1111         the symtree is set to point to the interface.
1112
1113 2005-07-16  David Edelsohn  <edelsohn@gnu.org>
1114
1115         PR fortran/21730
1116         * decl.c (do_parm): Adjust character initializer to character length
1117         of symbol before assigning.
1118
1119 2005-07-14  Steve Ellcey  <sje@cup.hp.com>
1120
1121         * trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5.
1122
1123 2005-07-14  Jakub Jelinek  <jakub@redhat.com>
1124
1125         * gfortran.h (MAX_ERROR_MESSAGE): Remove.
1126         (gfc_error_buf): Add allocated and index fields.  Change message
1127         field from array to a pointer.
1128         * error.c (use_warning_buffer, error_ptr, warning_ptr): Remove.
1129         (cur_error_buffer): New variable.
1130         (error_char): Use cur_error_buffer->{message,index} instead of
1131         {warning,error}_{buffer.message,ptr}.  Reallocate message buffer
1132         if too small.
1133         (gfc_warning, gfc_notify_std, gfc_error, gfc_error_now): Setup
1134         cur_error_buffer and its index rather than {warning,error}_ptr
1135         and use_warning_buffer.
1136         (gfc_warning_check, gfc_error_check): Don't print anything if
1137         message is NULL.
1138         (gfc_push_error): Allocate saved message with xstrdup.
1139         (gfc_pop_error): Free saved message with gfc_free.
1140         (gfc_free_error): New function.
1141         * primary.c (match_complex_constant): Call gfc_free_error if
1142         gfc_pop_error will not be called.
1143         * match.c (gfc_match_st_function): Likewise.
1144
1145         PR fortran/22417
1146         * scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new
1147         file.  Fix file left but not entered warning.
1148
1149 2005-07-14  Feng Wang  <fengwang@nudt.edu.cn>
1150         Steven G. Kargl  <kargls@comcast.net>
1151
1152         * array.c (resolve_character_array_constructor): Allocate gfc_charlen
1153         for the array and attach to namespace list for automatic deallocation.
1154
1155 2005-07-13  Andreas Schwab  <schwab@suse.de>
1156
1157         * Make-lang.in (fortran/dependency.o): Depend on
1158         $(GFORTRAN_TRANS_DEPS).
1159
1160 2005-07-11  Jakub Jelinek  <jakub@redhat.com>
1161
1162         * trans-stmt.c (gfc_trans_forall_loop): Clear maskindex before
1163         the outermost loop.
1164         (gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp,
1165         gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_2):
1166         Don't clear maskindexes here.
1167
1168 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
1169
1170         * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
1171         is removed.
1172
1173 2005-07-08  Jakub Jelinek  <jakub@redhat.com>
1174
1175         * primary.c (gfc_match_rvalue): Handle ENTRY the same way
1176         as FUNCTION.
1177
1178 2005-07-07  Jakub Jelinek  <jakub@redhat.com>
1179
1180         * scanner.c (load_line): Add pbuflen argument, don't make
1181         buflen static.  If maxlen == 0 or preprocessor_flag,
1182         don't truncate at buflen, but at maxlen.  In xrealloc add
1183         1 byte at the end for the terminating '\0'.  Don't fill
1184         with spaces up to buflen, but gfc_option.fixed_line_length.
1185         (load_file): Adjust load_line caller.  Add line_len variable.
1186
1187         * scanner.c (preprocessor_line): Only set current_file->line when errors
1188         have not been encountered.  Warn and don't crash if a file leave
1189         preprocessor line has no corresponding entering line.  Formatting.
1190
1191 2005-07-07  Steven Bosscher  <stevenb@suse.de>
1192
1193         * primary.c (match_hollerith_constant): Use int, not unsigned int,
1194         for the hollerith length.  Fix indentation.
1195
1196 2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
1197
1198         PR fortran/16531
1199         PR fortran/15966
1200         PR fortran/18781
1201         * arith.c (gfc_hollerith2int, gfc_hollerith2real,
1202         gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
1203         New functions.
1204         (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
1205         * arith.h (gfc_hollerith2int, gfc_hollerith2real,
1206         gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
1207         Add prototypes.
1208         * expr.c (free_expr0): Free memery allocated for Hollerith constant.
1209         (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
1210         (gfc_check_assign): Enable conversion from Hollerith to other.
1211         * gfortran.h (bt): Add BT_HOLLERITH.
1212         (gfc_expr): Add from_H flag.
1213         * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
1214         (add_conversions): Add conversions from Hollerith constant to other.
1215         (do_simplify): Don't simplify if  Hollerith constant arguments exist.
1216         * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU.
1217         * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH.
1218         (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH.
1219         * primary.c (match_hollerith_constant): New function.
1220         (gfc_match_literal_constant): Add match Hollerith before Integer.
1221         * simplify.c (gfc_convert_constant): Add conversion from Hollerith
1222         to other.
1223         * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to
1224         convert Hollerith constant to tree.
1225         * trans-io.c (gfc_convert_array_to_string): Get array's address and
1226         length to set string expr.
1227         (set_string): Deal with array assigned Hollerith constant and character
1228         array.
1229         * gfortran.texi: Document Hollerith constants as extention support.
1230
1231 2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
1232
1233         PR fortran/22327
1234         * trans-array.c (gfc_trans_array_constructor_value): Fix index of data.
1235
1236 2005-07-07  Jakub Jelinek  <jakub@redhat.com>
1237
1238         * decl.c (gfc_match_entry): Allow ENTRY without parentheses
1239         even in FUNCTIONs.
1240
1241 2005-07-03  Kazu Hirata  <kazu@codesourcery.com>
1242
1243         * gfortran.texi, intrinsic.texi: Fix typos.
1244         * symbol.c: Fix a comment typo.
1245
1246 2005-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1247
1248         * error.c (error_printf, error_print): Use ATTRIBUTE_GCC_GFC.
1249         * gfortran.h (ATTRIBUTE_GCC_GFC): New.
1250         (gfc_warning, gfc_warning_now, gfc_error, gfc_error_now,
1251         gfc_fatal_error, gfc_internal_error, gfc_notify_std): Use
1252         ATTRIBUTE_GCC_GFC.
1253
1254 2005-07-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1255
1256         PR fortran/20842
1257         * io.c (match_dt_element): Do not allow END tag in PRINT or
1258         WRITE statement.
1259
1260 2005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
1261
1262         * lang.opt: Remove "." from end of help texts.
1263
1264 2005-07-01  Jerry DeLisle  <jvdelisle@verizon.net>
1265
1266         * gfortran.texi: Fix typos and grammar.
1267         * invoke.texi: Fix typos and grammar.
1268         * intrinsic.texi: Add documentaion for eoshift, epsilon, etime, and
1269         exit. Fixed alignment of text for dtime syntax. Fixed a few line
1270         lengths.
1271
1272 2005-06-25  Jakub Jelinek  <jakub@redhat.com>
1273
1274         * trans-stmt.c (gfc_trans_forall_1): Prefer to use smaller logical
1275         type than boolean_type_node.
1276
1277 2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
1278
1279         * all files: Update FSF address in copyright headers.
1280
1281 2005-06-24  Jerry DeLisle  <jvdelisle@verizon.net>
1282
1283         PR fortran/21915
1284         * gfortran.h: Add symbols for new intrinsic functions.
1285         * intrinsic.c: Add new functions acosh, asinh, and atanh.
1286         * intrinsic.h: Add prototypes for the new functions.
1287         * iresolve.c (gfc_resolve_acosh): New function.
1288         (gfc_resolve_asinh): New function.
1289         (gfc_resolve_atanh): New function.
1290         * mathbuiltins.def: Add defines.
1291         * simplify.c (gfc_simplify_acosh): New function.
1292         (gfc_simplify_asinh): New function.
1293         (gfc_simplify_atanh): New function.
1294
1295 2005-06-24  Feng Wang  <fengwang@nudt.edu.cn>
1296
1297         * simplify.c (gfc_simplify_modulo): Don't clear before get result.
1298
1299 2005-06-22  Paul Brook  <paul@codesourcery.com>
1300
1301         PR fortran/21034
1302         * symbol.c (gfc_is_var_automatic): New function.
1303         (save_symbol): Use it.
1304
1305 2005-06-21  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1306             Paul Thomas  <pault@gcc.gnu.org>
1307
1308         PR fortran/22010
1309         Port from g95.
1310         * module.c (mio_namelist): New function. Correct to set
1311         namelist_tail and to give error on renaming namelist by use
1312         association.
1313         (mio_symbol): Call mio_namelist.
1314
1315 2005-06-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1316
1317         * gfortran.h: Add flag_backslash compile-time option.
1318         * lang.opt: Add support for -fbackslash option.
1319         * options.c: Likewise.
1320         * primary.c: Implement behavior for -fno-backslash.
1321         * invoke.texi: Add doc for -fbackslash option.
1322         * gfortran.texi: Remove mention of -fno-backslash as a
1323         possible extension.
1324
1325 2005-06-20  Steven G. Kargl  <kargls@comcast.net>
1326         (port from g95)
1327
1328         PR fortran/21257
1329         * match.c (gfc_match_label): Detect duplicate labels.
1330
1331
1332 2005-06-20  Erik Edelmann  <erik.edelmann@iki.fi>
1333
1334         * intrinsic.c (check_intrinsic_standard): Fix spelling error
1335         in a warning message.
1336
1337 2005-06-18  Erik Edelman  <eedelman@acclab.helsinki.fi>
1338             Steven G. Kargl  <kargls@comast.net>
1339
1340         PR fortran/19926
1341         * primary.c (gfc_match_rvalue):  expr_type can be EXPR_CONSTANT
1342         for an array; check that sym->as is NULL.
1343
1344
1345 2005-06-18  Steven G. Kargl  <kargls@comcast.net>
1346
1347         * intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic
1348         functions whose simplification routine return FAILURE.
1349
1350 2005-06-13  Geoffrey Keating  <geoffk@apple.com>
1351
1352         * Make-lang.in (fortran.install-man): Doesn't depend on installdirs.
1353         (rule for installing f95.1 manpage): Does depend on installdirs.
1354
1355 2005-06-13  Jakub Jelinek  <jakub@redhat.com>
1356
1357         PR fortran/22038
1358         * trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex
1359         in the innermost loop.
1360
1361         * trans-expr.c (gfc_conv_function_call): Return int instead of
1362         void.  Use a local variable for has_alternate_specifier and
1363         return it.  Avoid modification of function type's return value
1364         in place, since it may be shared.
1365         * trans.h (has_alternate_specifier): Remove.
1366         (gfc_conv_function_call): Change return type.
1367         * trans-stmt.c (has_alternate_specifier): Remove.
1368         (gfc_trans_call): Add a local has_alternate_specifier variable,
1369         set it from gfc_conv_function_call return value.
1370
1371 2005-06-12  Richard Henderson  <rth@redhat.com>
1372
1373         * trans-array.c (gfc_conv_descriptor_data_get): Rename from
1374         gfc_conv_descriptor_data.  Cast the result to the DATAPTR type.
1375         (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): New.
1376         (gfc_trans_allocate_array_storage): Use them.
1377         (gfc_array_allocate, gfc_array_deallocate): Likewise.
1378         (gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor): Likewise.
1379         (gfc_trans_deferred_array): Likewise.
1380         * trans-expr.c (gfc_conv_function_call): Likewise.
1381         (gfc_trans_subcomponent_assign): Likewise.
1382         (gfc_trans_pointer_assignment): Likewise.
1383         * trans-intrinsic.c (gfc_conv_allocated): Likewise.
1384         * trans-types.c (gfc_array_descriptor_base): New.
1385         (gfc_get_element_type): Use GFC_TYPE_ARRAY_DATAPTR_TYPE.
1386         (gfc_get_array_descriptor_base): Break out from ...
1387         (gfc_get_array_type_bounds): ... here.  Create type variants.
1388         * trans-array.h (gfc_conv_descriptor_data_get): Declare.
1389         (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare.
1390
1391 2005-06-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1392
1393         * trans-expr.c (gfc_conv_variable): POINTER results don't need f2c
1394         calling conventions.  Look at sym instead of sym->result.
1395         * trans-types.c (gfc_sym_type): Remove workaround for frontend bug.
1396         Remove condition which is always false with workaround removed.
1397         (gfc_return_by_reference): Always look at sym, never at sym->result.
1398
1399 2005-06-11  Steven G. Kargl  <kargls@comcast.net>
1400
1401         PR fortran/17792
1402         PR fortran/21375
1403         * trans-array.c (gfc_array_deallocate): pstat is new argument
1404         (gfc_array_allocate): update gfc_array_deallocate() call.
1405         (gfc_trans_deferred_array): ditto.
1406         * trans-array.h: update gfc_array_deallocate() prototype.
1407         * trans-decl.c (gfc_build_builtin_function_decls): update declaration
1408         * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature.
1409
1410 2005-06-07  Jerry DeLisle  <jvdelisle@verizon.net>
1411
1412         * intrinsic.texi: Add documentation for dcmplx, digits,
1413         dim, idim, ddim, dot_product, dprod, dreal, and dtime.
1414
1415 2005-06-05  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1416
1417         PR fortran/21912
1418         * trans-array.c (gfc_trans_array_constructor_value): Slightly reorder.
1419         Generate correct exit condition in case of negative steps in
1420         implied-do loops.
1421
1422         * invoke.texi: Fix description of flags required for compatibility
1423         with g77.
1424
1425 2005-06-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1426         Erik Schnetter  <schnetter@aei.mpg.de>
1427
1428         PR fortran/19195
1429         * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment,
1430         remove FIXME comment.
1431
1432 2005-06-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1433
1434         * match.c (match_forall_iterator): Don't immediately give error if '='
1435         is not followed by an expression.
1436
1437 2005-06-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1438         Erik Edelmann  <erik.edelmann@iki.fi>
1439
1440         * array.c (gfc_match_array_constructor): Disallow empty array
1441         constructor.
1442
1443 2005-06-03  Jerry DeLisle  <jvdelisle@verizon.net>
1444
1445         * fortran/intrinsic.texi: Add documentation for
1446         command_argument_count, conjg, dconjg, count,
1447         cpu_time, cshift, date_and_time, dble, dfloat.
1448
1449 2005-06-01  Roger Sayle  <roger@eyesopen.com>
1450
1451         * intrinsic.c (add_conv): No longer take a "simplify" argument as
1452         its always gfc_convert_constant, instead take a "standard" argument.
1453         (add_conversions): Change all existing calls of add_conv to pass
1454         GFC_STD_F77 as appropriate.  Additionally, if we're allowing GNU
1455         extensions support integer-logical and logical-integer conversions.
1456         (gfc_convert_type_warn): Warn about use the use of these conversions
1457         as a extension when appropriate, i.e. with -pedantic.
1458         * simplify.c (gfc_convert_constant): Add support for integer to
1459         logical and logical to integer conversions, using gfc_int2log and
1460         gfc_log2int.
1461         * arith.c (gfc_log2int, gfc_int2log): New functions.
1462         * arith.h (gfc_log2int, gfc_int2log): Prototype here.
1463         * gfortran.texi: Document this new GNU extension.
1464
1465 2005-06-01  Paul Thomas  <pault@gcc.gnu.org>
1466
1467         * fortran/trans-expr.c (gfc_conv_variable): Clean up bracketting.
1468         * fortran/trans-expr.c (gfc_conv_function_call): Insert spaces.
1469         Correct comments and replace convert of integer_one_node with
1470         build_int_cst.
1471
1472 2005-06-01  Jakub Jelinek  <jakub@redhat.com>
1473
1474         PR fortran/21729
1475         * resolve.c (resolve_contained_fntype): Use sym->attr.untyped
1476         to avoid giving error multiple times.
1477         (resolve_entries): Don't error about BT_UNKNOWN here.
1478         (resolve_unknown_f): Capitalize IMPLICIT for consistency.
1479         (resolve_fntype): New function.
1480         (gfc_resolve): Call resolve_fntype.
1481
1482 2005-06-01  Feng Wang  <fengwang@nudt.edu.cn>
1483
1484         PR fortran/20883
1485         * fortran/io.c (resolve_tag): Fix error message.
1486
1487 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1488
1489         * fortran/trans-decl.c: Don't include errors.h.
1490         * fortran/Make-lang.in: Updates dependencies.
1491
1492 2005-05-31  Paul Thomas  <pault@gcc.gnu.org>
1493
1494         PR fortran/18109
1495         PR fortran/18283
1496         PR fortran/19107
1497         * fortran/trans-array.c (gfc_conv_expr_descriptor): Obtain the
1498         string length from the expression typespec character length value
1499         and set temp_ss->stringlength and backend_decl. Obtain the
1500         tree expression from gfc_conv_expr rather than gfc_conv_expr_val.
1501         Dereference the expression to obtain the character.
1502         * fortran/trans-expr.c (gfc_conv_component_ref): Remove the
1503         dereference of scalar character pointer structure components.
1504         * fortran/trans-expr.c (gfc_trans_subarray_assign): Obtain the
1505         string length for the structure component from the component
1506         expression.
1507
1508 2005-05-30  Roger Sayle  <roger@eyesopen.com>
1509
1510         * gfortran.h (GFC_STD_LEGACY): New "standard" macro.  Reindent.
1511         * options.c (gfc_init_options): By default, allow legacy extensions
1512         but warn about them.
1513         (gfc_post_options): Make -pedantic warn about legacy extensions
1514         even with -std=legacy.
1515         (gfc_handle_option): Make -std=gnu follow the default behaviour
1516         of warning about legacy extensions, but allowing them. Make the
1517         new -std=legacy accept everything and warn about nothing.
1518         * lang.opt (std=legacy): New F95 command line option.
1519         * invoke.texi: Document both -std=f2003 and -std=legacy.
1520         * gfortran.texi: Explain the two types of extensions and document
1521         how they are affected by the various -std= command line options.
1522
1523 2005-05-30  Kazu Hirata  <kazu@cs.umass.edu>
1524
1525         * trans-expr.c: Remove trailing ^M.
1526
1527         * trans-expr.c: Fix comment typos.
1528
1529 2005-05-29  Paul Thomas  <pault@gcc.gnu.org>
1530
1531         PR fortran/16939
1532         PR fortran/17192
1533         PR fortran/17193
1534         PR fortran/17202
1535         PR fortran/18689
1536         PR fortran/18890
1537         * fortran/trans-array.c (gfc_conv_resolve_dependencies): Add string
1538         length to temp_ss for character pointer array assignments.
1539         * fortran/trans-expr.c (gfc_conv_variable): Correct errors in
1540         dereferencing of characters and character pointers.
1541         * fortran/trans-expr.c (gfc_conv_function_call): Provide string
1542         length as return argument for various kinds of handling of return.
1543         Return a char[]* temporary for character pointer functions and
1544         dereference the temporary upon return.
1545
1546 2005-05-29  Janne Blomqvist  <jblomqvi@vipunen.hut.fi>
1547             Steven G. Kargl  <kargls@comcast.net>
1548
1549         fortran/PR20846
1550         * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage.
1551
1552 2005-05-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1553
1554         PR libfortran/20006
1555         * io.c (format_item_1): Add check and extension warning for
1556         $ edit descriptor.
1557
1558 2005-05-28  Steven G. Kargl  <kargls@comcast.net>
1559
1560         * arith.c (gfc_arith_init_1): Fix off by one problem;
1561         (gfc_check_integer_range): Chop extra bits in subnormal numbers.
1562
1563 2005-05-28  Jerry DeLisle   <jvdelisle@verizon.net>
1564             Steven G. Kargl  <kargls@comcast.net>
1565
1566         * intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING
1567         and CMPLX
1568
1569 2005-05-27  Steven G. Kargl  <kargls@comcast.net>
1570
1571         * trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force
1572         like types in comparsion.
1573
1574 2005-05-26  Kazu Hirata  <kazu@cs.umass.edu>
1575
1576         * data.c, parse.c, trans-array.c, trans-decl.c,
1577         trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
1578         trans.h: Fix comment typos.  Follow spelling conventions.
1579
1580 2005-05-22  Roger Sayle  <roger@eyesopen.com>
1581
1582         * gfortran.texi: Document some more GNU extensions.
1583
1584 2005-05-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1585
1586         * error.c (gfc_warning): Fix typo in comment.
1587
1588 2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
1589
1590         PR libfortran/21127
1591         * fortran/iresolve.c (gfc_resolve_reshape): Add
1592         gfc_type_letter (BT_COMPLEX) for complex to
1593         to resolved function name.
1594
1595 2005-05-18  Erik Edelmann  <erik.edelmann@iki.fi>
1596
1597         * array.c (gfc_match_array_constructor): Support [ ... ]
1598         style array constructors.
1599
1600 2005-05-18  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1601
1602         * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_TRUNC
1603         and BUILT_IN_TRUNCF instead of BUILT_IN_FLOOR and BUILT_IN_FLOORF.
1604         * trans-intrinsic.c (build_fix_expr): Change 'op' argument
1605         to correct enum type.
1606         (gfc_conv_intrinsic_aint): Likewise.  Clarify comment in front of
1607         function.  Add default case to switch, deal with FIX_TRUNC_EXPR
1608         instead of FIX_FLOOR_EXPR.
1609
1610 2005-05-18  Feng Wang  <fengwang@nudt.edu.cn>
1611
1612         PR fortran/20954
1613         * trans-const.c (gfc_conv_const_charlen): Use gfc_charlen_type_node to
1614         build character length.
1615
1616 2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
1617
1618         * trans-types.c (gfc_array_range_type): New variable.
1619         (gfc_init_types): Initialize gfc_array_range_type.
1620         (gfc_get_array_type_bounds): Use gfc_array_range_type.
1621
1622 2005-05-17  Jakub Jelinek  <jakub@redhat.com>
1623
1624         PR fortran/15080
1625         * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2
1626         arguments.  If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead
1627         of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use
1628         just that as index.
1629         (generate_loop_for_rhs_to_temp): Likewise.
1630         (compute_overall_iter_number): Add INNER_SIZE_BODY argument.
1631         It non-NULL, add it to body.
1632         (allocate_temp_for_forall_nest_1): New function, split from
1633         allocate_temp_for_forall_nest.
1634         (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument,
1635         propagate it down to compute_overall_iter_number.  Use
1636         allocate_temp_for_forall_nest_1.
1637         (gfc_trans_assign_need_temp): Remove COUNT2.  Call
1638         compute_inner_temp_size into a new stmtblock_t.  Adjust calls to
1639         allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp
1640         and generate_loop_for_temp_to_lhs.
1641         (gfc_trans_pointer_assign_need_temp): Adjust calls to
1642         allocate_temp_for_forall_nest.
1643         (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new
1644         stmtblock_t.  Call compute_overall_iter_number just once, then
1645         allocate_temp_for_forall_nest_1 twice with the same size.
1646         Initialize mask indexes if nested_forall_info != NULL.
1647         (gfc_trans_where_2): Initialize mask indexes before calling
1648         gfc_trans_nested_forall_loop.
1649
1650 2005-05-15  Feng Wang  <fengwang@nudt.edu.cn>
1651         Jerry DeLisle  <jvdelisle@verizon.net>
1652
1653         PR fortran/17432
1654         * trans-stmt.c (gfc_trans_label_assign): fix pointer type, to
1655         resolve ICE on assign of format label.
1656         * trans-io.c (set_string): add fold-convert to properly
1657         handle assigned format label in write.
1658
1659 2005-05-13  Paul Brook  <paul@codesourcery.com>
1660
1661         * trans-stmt.c (gfc_trans_forall_1): Fix comment typo.
1662
1663 2005-05-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1664
1665         * trans-types.c (gfc_is_nodesc_array): Remove redundant check.
1666
1667 2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1668
1669         PR fortran/21260
1670         * io.c (check_format): Look for literal characters inside
1671         hollerith constant.
1672
1673 2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1674
1675         * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
1676         attribute from result symbol to function symbol.
1677         * trans-expr.c (gfc_conv_function_call): Look at sym->attr.dimension
1678         instead of sym->result->attr.dimension.
1679
1680 2005-05-10  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1681
1682         PR fortran/20178
1683         * gfortran.h (gfc_option): Add flag_f2c.
1684         * invoke.texi: Document '-ff2c' command line option.  Adapt
1685         documentation for '-fno-second-underscore' and '-fno-underscoring'.
1686         * lang.opt (ff2c): New entry.
1687         * options.c (gfc-init_options): Set default calling convention
1688         to -fno-f2c.  Mark -fsecond-underscore unset.
1689         (gfc_post_options): Set -fsecond-underscore if not explicitly set
1690         by user.
1691         (handle_options): Set gfc_option.flag_f2c according to requested
1692         calling convention.
1693         * trans-decl.c (gfc_get_extern_function_decl): Use special f2c
1694         intrinsics where necessary.
1695         (gfc_trans_deferred_vars): Change todo error to assertion.
1696         * trans-expr.c (gfc_conv_variable): Dereference access
1697         to hidden result argument.
1698         (gfc_conv_function_call): Add hidden result argument to argument
1699         list if f2c calling conventions requested.  Slightly restructure
1700         tests.  Convert result of default REAL function to requested type
1701         if f2c calling conventions are used.  Dereference COMPLEX result
1702         if f2c cc are used.
1703         * trans-types.c (gfc_sym_type):  Return double for default REAL
1704         function if f2c cc are used.
1705         (gfc_return_by_reference): Slightly restructure logic.  Return
1706         COMPLEX by reference depending on calling conventions.
1707         (gfc_get_function_type): Correctly make hidden result argument a
1708         pass-by-reference argument for COMPLEX.  Remove old code which does
1709         this for derived types.
1710
1711 2005-05-09  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1712
1713         * match.c (gfc_match_return): Only require space after keyword when
1714         it is obligatory.  Only give stdwarn to after matching is successful.
1715         * dump-parse-tree.c (gfc_show_symbol): Deal with alternate returns.
1716
1717 2005-05-08  Kazu Hirata  <kazu@cs.umass.edu>
1718
1719         * intrinsic.texi: Fix typos.
1720
1721 2005-05-07  Steven G. Kargl  <kargls@comcast.net>
1722
1723         * intrinsic.texi:  Document ASSOCIATED and ATAN2.  Update Bessel function
1724         description to include information about scalar arguments.
1725
1726 2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
1727
1728         * Make-lang.in, dump-parse-tree.c, invoke.texi, lang.opt,
1729         match.h, trans-array.h: Update copyright.
1730
1731 2005-04-29  Tom Tromey  <tromey@redhat.com>
1732
1733         * f95-lang.c (poplevel): Updated for change to build_block.
1734
1735 2005-04-29  Jakub Jelinek  <jakub@redhat.com>
1736
1737         PR fortran/13082
1738         PR fortran/18824
1739         * trans-expr.c (gfc_conv_variable): Handle return values in functions
1740         with alternate entry points.
1741         * resolve.c (resolve_entries): Remove unnecessary string termination
1742         after snprintf.  Set result of entry master.
1743         If all entries have the same type, set entry master's type
1744         to that common type, otherwise set mixed_entry_master attribute.
1745         * trans-types.c (gfc_get_mixed_entry_union): New function.
1746         (gfc_get_function_type): Use it for mixed_entry_master functions.
1747         * gfortran.h (symbol_attribute): Add mixed_entry_master bit.
1748         * decl.c (gfc_match_entry): Set entry->result properly for
1749         function ENTRY.
1750         * trans-decl.c (gfc_get_symbol_decl): For entry_master, skip over
1751         __entry argument.
1752         (build_entry_thunks): Handle return values in entry thunks.
1753         Clear BT_CHARACTER's ts.cl->backend_decl, so that it is not
1754         shared between multiple contexts.
1755         (gfc_get_fake_result_decl): Use DECL_ARGUMENTS from
1756         current_function_decl instead of sym->backend_decl.  Skip over
1757         entry master's entry id argument.  For mixed_entry_master entries or
1758         their results, return a COMPONENT_REF of the fake result.
1759         (gfc_trans_deferred_vars): Don't warn about missing return value if
1760         at least one entry point uses RESULT.
1761         (gfc_generate_function_code): For entry master returning
1762         CHARACTER, copy ts.cl->backend_decl to all entry result syms.
1763         * trans-array.c (gfc_trans_dummy_array_bias): Don't consider return
1764         values optional just because they are in entry master.
1765
1766 2005-04-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1767
1768         * gfortran.h (gfc_namespace): Add seen_implicit_none field,
1769         Tobias forgot this in previous commit.
1770
1771 2005-04-29  Paul Brook   <paul@codesourcery.com>
1772
1773         * trans-expr.c (gfc_conv_expr_present): Fix broken assert.  Update
1774         comment.
1775
1776 2005-04-29  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1777
1778         * gfortran.h (gfc_namespace): Add seen_implicit_none field.
1779         * symbol.c (gfc_set_implicit_none): Give error if there's a previous
1780         IMPLICIT NONE, set seen_implicit_none.
1781         (gfc_merge_new_implicit): Error if there's an IMPLICIT NONE statement.
1782
1783 2005-04-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1784
1785         * gfortran.h (gfc_gsymbol): Make name a const char *.
1786         * symbol.c (gfc_get_gsymbol): Allocate gsymbol name via
1787         gfc_get_string.
1788
1789 2005-04-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1790
1791         PR fortran/20865
1792         * resolve.c (resolve_actual_arglist): Issue an error if a statement
1793         functions is used as actual argument.
1794
1795 2005-04-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1796
1797         PR fortran/21177
1798         * interface.c (compare_parameter): Ignore type for EXPR_NULL
1799         only if type is BT_UNKNOWN.
1800
1801 2005-04-25  Paul Brook  <paul@codesourcery.com>
1802         Steven G. Kargl  <kargls@comcast.net>
1803
1804         PR fortran/20879
1805         * check.c (gfc_check_ichar_iachar): New function.
1806         * instinsic.h (gfc_check_ichar_iachar): Add prototype.
1807         * intrinsic.c (add_functions): Use it.
1808         * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect
1809         character expression lengths.
1810
1811 2005-04-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1812
1813         PR fortran/20059
1814         * trans-common.c (translate_common): Cast offset and
1815         common_segment->offset to type int for warning message.
1816
1817 2005-04-23  DJ Delorie  <dj@redhat.com>
1818
1819         * trans-decl.c: Adjust warning() callers.
1820
1821 2005-04-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1822
1823         * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as
1824         intermediate representation.  Fix typo in comment.
1825
1826 2005-04-21  Steven G. Kargl  <kargls@comcast.net>
1827
1828         * trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation;
1829         simplify logic; Add a gcc_assert.
1830
1831 2005-04-19  Steven G. Kargl  <kargls@comcast.net>
1832
1833         * trans-const.c (gfc_conv_mpz_to_tree): Fix comment.
1834
1835 2005-04-19  Arnaud Desitter  <arnaud.desitter@ouce.ox.ac.uk>
1836             Steven G. Kargl  <kargls@comcast.net>
1837
1838         * invoke.texi: Update -Waliasing description
1839
1840 2005-04-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1841
1842         PR fortran/16861
1843         * resolve.c (resolve_variable): If e->symtree is not set, this
1844         ought to be a FAILURE, and not a segfault.
1845
1846 2005-04-17  Paul Thomas  <pault@gcc.gnu.org>
1847
1848         PR fortran/17472
1849         PR fortran/18209
1850         PR fortran/18396
1851         PR fortran/19467
1852         PR fortran/19657
1853         * fortran/trans-io.c (gfc_build_io_library_fndecls): Create
1854         declaration for st_set_nml_var and st_set_nml_var_dim. Remove
1855         declarations of old namelist functions.
1856         (build_dt): Simplified call to transfer_namelist_element.
1857         (nml_get_addr_expr): Generates address expression for start of
1858         object data. New function.
1859         (nml_full_name): Qualified name for derived type components. New
1860         function.
1861         (transfer_namelist_element): Modified for calls to new functions
1862         and improved derived type handling.
1863
1864 2005-04-17  Richard Guenther  <rguenth@gcc.gnu.org>
1865
1866         * scanner.c (gfc_next_char_literal): Reset truncation flag
1867         for lines ending in a comment for both fixed and free form.
1868         (load_line): Do not set truncated flag if only truncating
1869         the EOL marker.
1870
1871 2005-04-15  Richard Guenther  <rguenth@gcc.gnu.org>
1872
1873         PR fortran/14569
1874         * gfortran.h (gfc_linebuf): Add truncated field.
1875         * parse.c (next_statement): Handle warning for truncated
1876         lines.
1877         * scanner.c (load_line): Return if line was truncated.
1878         No longer warn for truncated lines.  Remove unused parameters.
1879         (load_file): Store load_line return value to linebuf.
1880         (gfc_error_recovery): Do not advance line at the end.
1881
1882 2005-04-14  Steven G. Kargl  <kargls@comcast.net>
1883
1884         * gfortran.h (gfc_real_info): Add subnormal struct member.
1885         * arith.c (gfc_arith_init_1): Set it.
1886         (gfc_check_real_range): Use it.
1887         * simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.).
1888
1889 2005-04-12  Kazu Hirata  <kazu@cs.umass.edu>
1890
1891         * simplify.c: Fix a comment typo.
1892
1893 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
1894
1895         * lang.opt: Refer to the GCC internals documentation instead of c.opt.
1896
1897 2005-04-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1898
1899         * simplify.c (gfc_simplify_nearest): Overhaul.
1900
1901 2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
1902
1903         * interface.c: Fix a comment typo.
1904
1905 2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1906
1907         * match.c (match_arithmetic_if): Arithmetic IF is obsolete in
1908         Fortran 95.
1909
1910 2005-04-09  Steven G. Kargl  <kargls@comcast.net>
1911
1912         * simplify.c (gfc_simplify_anint): Use mpfr_round()
1913         (gfc_simplify_dnint): ditto.
1914         (gfc_simplify_nint): ditto.
1915
1916 2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
1917
1918         PR fortran/13257
1919         * io.c (check_format): Allow an optional comma
1920         between descriptors.
1921
1922 2005-04-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1923
1924         * match.c (match_arithmetic_if): Remove gfc_ prefix and correct
1925         comment according to GNU coding style.
1926         (gfc_match_if): Remove gfc_ prefix in call to
1927         match_arithmetic_if.
1928
1929 2005-04-08  Diego Novillo  <dnovillo@redhat.com>
1930
1931         * match.c (gfc_match_arithmetic_if): Declare static.
1932
1933 2005-04-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1934
1935         PR fortran/17229
1936         * match.c (gfc_match_arithmetic_if): New function to match an
1937         arithmetic IF statement.
1938         (gfc_match_if): Use gfc_match_arithmetic_if to match an
1939         arithmetic IF statement embedded in a simple IF statement.
1940
1941 2005-04-07  Steven G. Kargl  <kargls@comcast.net>
1942
1943         * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x))
1944
1945 2005-04-06  Steven G. Kargl  <kargls@comcast.net>
1946
1947         * invoke.texi: Remove documentation of -std=f90
1948
1949 2005-04-06  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1950
1951         * expr.c (gfc_check_assign): Don't allow NULL as rhs in a
1952         non-pointer assignment.
1953
1954 2005-04-05  Feng Wang  <fengwang@nudt.edu.cn>
1955
1956         PR fortran/15959
1957         PR fortran/20713
1958
1959         * array.c (resolve_character_array_constructor): New function. Set
1960         constant character array's character length.
1961         (gfc_resolve_array_constructor): Use it.
1962         * decl.c (add_init_expr_to_sym): Set symbol and initializer character
1963         length.
1964         (gfc_set_constant_character_len): New function. Set constant character
1965         expression according the given length.
1966         * match.h (gfc_set_constant_character_len): Add prototype.
1967
1968 2005-04-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1969
1970         * intrinsic.texi: BES?? functions are not in the f95 standard.
1971
1972 2005-04-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1973
1974         * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN.
1975
1976 2005-04-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1977
1978         * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1,
1979         BESYN, ATAN, COSH, ERF, ERC, SINH, TANH.
1980
1981 2005-04-02  Steven G. Kargl  <kargls@comcast.net>
1982
1983         * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos
1984
1985 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
1986
1987         * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,
1988         trans.h: Fix comment typos.
1989
1990 2005-03-29  Steven G. Kargl  <kargls@comcast.net>
1991
1992         * gfortran.h (option_t): Change d8, i8, r8 to flag_default_double,
1993         flag_default_integer, flag_default_real
1994         * invoke.texi: Update documentation
1995         * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8
1996         fdefault-integer-8, and fdefault-real-8 definitions.
1997         * options.c (gfc_init_options): Set option defaults
1998         (gfc_handle_option): Handle command line options.
1999         * trans-types.c (gfc_init_kinds): Use options.
2000
2001 2005-03-29  Keith Besaw  <kbesaw@us.ibm.com>
2002
2003         * f95-lang.c (builtin_function): Process the attrs parameter
2004         and apply the "const" attribute to the builtin if found.
2005
2006 2005-03-27  Steven G. Kargl  <kargls@comcast.net>
2007
2008         * intrinsic.texi: Document AIMAG, AINT, ALL
2009
2010 2005-03-26  Steven G. Kargl  <kargls@comcast.net>
2011
2012         * arith.c (check_result): Fix illogical logic.
2013
2014 2005-03-26  Canqun Yang  <canqun@nudt.edu.cn>
2015
2016         * trans-common.c (create_common): Build RECORD_NODE for common blocks
2017         contain no equivalence objects.
2018         (add_equivalences): New argument saw_equiv.
2019         (trans_common): New local variable saw_equiv.
2020         (finish_equivalences): Add a local variable dummy, Always pass true
2021         for the 3rd parameter to create_common.
2022
2023 2005-03-25  Steven G. Kargl  <kargls@comcast.net>
2024
2025         * intrinsic.texi: Fix "make dvi"
2026
2027 2005-03-24  Steven G. Kargl  <kargls@comcast.net>
2028
2029         * intrinsic.texi: New file.
2030         * gfortran.texi: Include it; white space change; fix typo.
2031
2032 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
2033
2034         * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2035
2036 2005-03-23  Steven Bosscher  <stevenb@suse.de>
2037
2038         * convert.c (convert): Replace fold (buildN (...)) with fold_buildN.
2039         * trans-array.c (gfc_trans_allocate_array_storage,
2040         gfc_trans_allocate_temp_array gfc_trans_array_constructor_value,
2041         gfc_conv_array_index_ref, gfc_trans_array_bound_check,
2042         gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
2043         gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_conv_ss_startstride,
2044         gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds,
2045         gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
2046         gfc_conv_expr_descriptor): Likewise.
2047         * trans-expr.c (gfc_conv_powi, gfc_conv_string_tmp,
2048         gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
2049         * trans-intrinsic.c (build_round_expr, gfc_conv_intrinsic_bound,
2050         gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_sign,
2051         gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
2052         gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop,
2053         gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits,
2054         gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc,
2055         gfc_conv_intrinsic_merge, prepare_arg_info,
2056         gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_repeat): Likewise.
2057         * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do, gfc_trans_do_while,
2058         gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs,
2059         generate_loop_for_rhs_to_temp, compute_inner_temp_size,
2060         allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
2061         gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign):
2062         Likewise.
2063         * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Likewise.
2064         * trans.c (gfc_add_modify_expr): Likewise.
2065
2066 2005-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2067
2068         * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill,
2069         gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub,
2070         gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename,
2071         gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror,
2072         gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub,
2073         gfc_check_perror): new functions to check newly implemented
2074         g77 intrinsics.
2075         * gfortran.h: adding symbols for new intrinsics.
2076         * intrinsic.c (add_functions): adding new intrinsics.
2077         (add_subroutines): adding new intrinsics.
2078         * intrinsic.h: prototype for all checking and resolving
2079         functions.
2080         * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub,
2081         gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill,
2082         gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk,
2083         gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub,
2084         gfc_resolve_kill_sub, gfc_resolve_link_sub,
2085         gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub,
2086         gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub,
2087         gfc_resolve_perror): new functions to resolve intrinsics.
2088         * trans-intrinsic.c (gfc_conv_intrinsic_function): add case
2089         for new symbols.
2090
2091 2005-03-19  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2092
2093         * dump-parse-tree.c (gfc_show_expr): Dump name of namespace
2094         in which the variable is declared.
2095
2096         PR fortran/18525
2097         * resolve.c (was_declared): Also check for dummy attribute.
2098
2099 2005-03-19  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2100
2101         * gfortran.h (arith): Remove ARITH_0TO0.
2102         * arith.c (gfc_arith_error): Remove handling of ARITH_0TO0.
2103         (gfc_arith_power): Remove special casing of zero to integral
2104         power zero.
2105
2106 2005-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2107
2108         * Make-lang.in (fortran-warn): Remove -Wno-error.
2109         (expr.o-warn, resolve.o-warn, simplify.o-warn,
2110         trans-common.o-warn): Specify -Wno-error.
2111
2112 2005-03-17  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2113
2114         * trans-array.c (gfc_trans_static_array_pointer,
2115         get_array_ctor_var_strlen, gfc_conv_array_index_offset): Fix
2116         comment and formatting typos.
2117
2118 2005-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2119
2120         * invoke.texi: Fix typos.
2121
2122 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
2123
2124         * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
2125
2126 2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
2127
2128         * trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
2129         to zero on label_tree.
2130
2131 2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
2132
2133         PR fortran/18827
2134         * io.c (resolve_tag): Add checking on assigned label.
2135         (match_dt_format): Does not set symbol assign attribute.
2136         * match.c (gfc_match_goto):Does not set symbol assign attribute.
2137         * resolve.c (resolve_code): Add checking on assigned label.
2138         * trans-common.c (build_field): Deals with common variable assigned
2139         a label.
2140         * trans-stmt.c (gfc_conv_label_variable): New function.
2141         (gfc_trans_label_assign): Use it.
2142         (gfc_trans_goto): Ditto.
2143         * trans-io.c (set_string): Ditto.
2144         * trans.h (gfc_conv_label_variable): Add prototype.
2145
2146 2005-03-14  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2147
2148         PR fortran/20467
2149         * symbol.c (check_conflict): A dummy argument can't be a statement
2150         function.
2151
2152 2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
2153
2154         * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
2155         the argument of the shift to the unsigned type.
2156
2157 2005-03-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2158
2159         PR fortran/16907
2160         * resolve.c (gfc_resolve_index): Allow REAL indices as an extension.
2161
2162 2005-03-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2163
2164         PR fortran/20323
2165         * resolve.c (gfc_resolve): Check if character lengths are
2166         specification expressions.
2167
2168 2005-03-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2169
2170         PR fortran/20361
2171         * trans-array.c (gfc_stack_space_left): Remove unused variable.
2172         (gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
2173         code.
2174         * trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
2175         Remove declaration / prototype.
2176         * trans-common.c (build_equiv_decl): Give union a name.  Check if
2177         it can be put on the stack.
2178         * trans-decl.c (gfc_stack_space_left): Move function here.
2179         (gfc_build_qualified_array): Fix comment typo.
2180         * trans.h (gfc_put_var_on_stack): Add prototype.
2181
2182 2005-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2183
2184         * Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error.
2185         * decl.c, trans.c: Don't use C++ style comments.
2186         * gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access,
2187         ifsrc): Give names to enums and use ENUM_BITFIELD.
2188         (gfc_access): Remove trailing comma.
2189
2190 2005-03-05  Steven G. Kargl  <kargls@comcast.net>
2191
2192         PR 19936
2193         * primary.c (match_complex_constant): Mangled complex constant may
2194         be an implied do-loop.  Give implied do-loop matcher a chance.
2195
2196 2005-03-05  Steven G. Kargl  <kargls@comcast.net>
2197
2198         PR fortran/19754
2199         * resolve.c (compare_shapes):  New function.
2200         (resolve_operator): Use it.
2201
2202 2005-03-05  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2203
2204         * trans-const.c (gfc_conv_constant_to_tree): Use correct tree
2205         type for COMPLEX constants.
2206
2207 2005-03-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2208
2209         PR fortran/19673
2210         * trans-expr.c (gfc_conv_function_call): Correctly dereference
2211         argument from a pointer function also if it has a result clause.
2212
2213 2005-03-04  Steven G. Kargl  <kargls@comcast.net>
2214
2215         * expr.c (gfc_copy_shape_excluding): Change && to ||.
2216
2217 2005-03-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2218
2219         * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo,
2220         clarify comment.
2221
2222 2005-02-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2223         (port from g95)
2224
2225         PR fortran/19479
2226         * simplify.c (gfc_simplify_bound): Rename to ...
2227         (simplify_bound): ... this and overhaul.
2228
2229 2005-02-28  Steven G. Kargl  <kargl@gcc.gnu.org>
2230
2231         * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
2232         (gfc_conv_intrinsic_function): update function calls
2233
2234 2005-02-27  Steven G. Kargl  <kargl@gcc.gnu.org>
2235
2236         PR fortran/20058
2237         * trans-types.c (gfc_max_integer_kind): Declare
2238         (gfc_init_kinds): Initialize it.
2239         * gfortran.h (gfc_max_integer_kind): extern it.
2240         * primary.c (match_boz_constant): Use it; remove gfortran extension
2241         of kind suffixes on BOZ literal constants
2242
2243
2244 2005-02-27  Steven G. Kargl  <kargls@comcast.net>
2245
2246         * arith.c (gfc_check_real_range):  Remove multiple returns
2247         (check_result): New function.
2248         (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times,
2249         gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it.
2250
2251
2252 2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2253
2254         * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
2255
2256
2257 2005-02-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-meunchen.de>
2258
2259         Unrevert previously reverted patch.  Adding this fix:
2260         * module.c (find_true_name): Deal with NULL module.
2261
2262 2005-02-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2263
2264         Revert yesterday's patch:
2265         2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2266
2267                 * gfortran.h (gfc_component, gfc_actual_arglist, ...
2268                 ... argument.  Copy string instead of pointing to it.
2269
2270 2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2271
2272         * gfortran.h (gfc_get_namespace): Add second argument to prototype.
2273         * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to
2274         gfc_get_namespace.
2275         * module.c (mio_namespace_ref, load_needed): Likewise.
2276         * parse.c (parse_interface, parse_contained): Likewise.  Here the
2277         correct second argument matters.
2278         * symbol.c (gfc_get_namespace): Add parent_types argument, only copy
2279         parent's implicit types if this is set.
2280         (gfc_symbol_init_2): Pass second argument to gfc_get_namespace.
2281         * trans-common.c (build_common_decl): Likewise.
2282
2283         * gfortran.h (symbol_attribute): New 'untyped' field, fix comment
2284         formatting.
2285         * symbol.c (gfc_set_default_type): Issue error only once, by setting
2286         and checking 'untyped' attribute.
2287
2288         * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'
2289         fields into new struct 'op' inside the 'value' union.
2290         * arith.c (eval_intrinsic): Adapt all users.
2291         * dependency.c (gfc_check_dependency): Likewise.
2292         * dump-parse-tree.c (gfc_show_expr): Likewise.
2293         * expr.c (gfc_get_expr): Don't clear removed fields.
2294         (free_expr0, gfc_copy_expr, gfc_type_convert_binary,
2295         gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr,
2296         check_intrinsic_op): Adapt to new field names.
2297         * interface.c (gfc_extend_expr): Likewise.  Also explicitly
2298         nullify 'esym' and 'isym' fields of new function call.
2299         * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
2300         Adapt to renamed structure fields.
2301         * matchexp.c (build_node, match_level_1, match_expr): Likewise.
2302         * module.c (mio_expr): Likewise.
2303         * resolve.c (resolve_operator): Likewise.
2304         (gfc_find_forall_index): Likewise.  Only look through operands
2305         if dealing with EXPR_OP
2306         * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields.
2307         * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op,
2308         gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
2309
2310         [ Reverted ]
2311         * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
2312         'name' a 'const char *'.
2313         (gfc_symbol): Likewise, also for 'module'.
2314         (gfc_symtree): Make 'name' a 'const char *'.
2315         (gfc_intrinsic_sym): Likewise, also for 'lib_name'.
2316         (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
2317         'char *' argument.
2318         (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
2319         initialize 'SYM->module'.
2320         * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
2321         pointer instead of empty string.
2322         * dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
2323         * interface.c (gfc_compare_types): Adapt check to account for possible
2324         NULL pointer.
2325         (compare_actual_formal): Check for NULL pointer instead of empty
2326         string.
2327         * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
2328         Add 'const' qualifier.
2329         (conv_name): Return a heap allocated string.
2330         (find_conv): Add 'const' qualifier to 'target'.
2331         (add_sym): Use 'gfc_get_string' instead of 'strcpy'.
2332         (make_generic): Check for NULL pointer instead of empty string.
2333         (make_alias): Use 'gfc_get_string' instead of 'strcpy'.
2334         (add_conv): No need to strcpy result from 'conv_name'.
2335         (sort_actual): Check for NULL pointer instead of empty  string.
2336         * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg):
2337         Adapt prototype.
2338         * module.c (compare_true_names): Compare pointers instead of strings
2339         for 'module' member.
2340         (find_true_name): Initialize string fields with gfc_get_string.
2341         (mio_pool_string): New function.
2342         (mio_internal_string): Adapt comment.
2343         (mio_component_ref, mio_component, mio_actual_arg): Use
2344         'mio_pool_string' instead of 'mio_internal_string'.
2345         (mio_symbol_interface): Add 'const' qualifier to string arguments.
2346         Add level of indirection. Use 'mio_pool_string' instead of
2347         'mio_internal_string'.
2348         (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'.
2349         (write_common, write_symbol): Use 'mio_pool_string' instead of
2350         'mio_internal_string'.
2351         (write_symbol0, write_symbol1): Likewise, also check for NULL pointer
2352         instead of empty string.
2353         (write_operator, write_generic): Pass correct type variable to
2354         'mio_symbol_interface'.
2355         (write_symtree): Use 'mio_pool_string' instead of
2356         'mio_internal_string'.
2357         * primary.c (match_keyword_arg): Adapt check to possible
2358         case of NULL pointer.  Use 'gfc_get_string' instead of 'strcpy'.
2359         * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree,
2360         gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of
2361         'strcpy'.
2362         (ambiguous_symbol): Check for NULL pointer instead of empty string.
2363         (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string
2364         arguments.
2365         * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL
2366         pointer instead of empty string.
2367         * trans-decl.c (gfc_sym_mangled_identifier,
2368         gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl,
2369         gfc_get_symbol_decl): Likewise.
2370         * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to
2371         argument.  Copy string instead of pointing to it.
2372
2373 2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
2374
2375         * intrinsic.h, st.c: Update copyright.
2376
2377 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
2378
2379         * symbol.c: Typos in comments.
2380
2381 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
2382
2383         * expr.c (gfc_type_convert_binary): Typo in comment.
2384
2385 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
2386
2387         * check.c (gfc_check_selected_int_kind): New function.
2388         * intrinsic.h: Prototype it.
2389         * intrinsic.c (add_function): Use it.
2390         * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
2391           BT_REAL to BT_INTEGER and use gfc_default_integer_kind.
2392
2393 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
2394
2395         * check.c (gfc_check_int): improve checking of optional kind
2396         * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
2397
2398 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
2399
2400         * check.c (gfc_check_achar): New function
2401         * intrinsic.h: Prototype it.
2402         * intrinsic.c (add_function): Use it.
2403
2404 2005-02-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2405
2406         * trans-stmt.c (generate_loop_for_temp_to_lhs,
2407         generate_loop_for_rhs_to_temp): Remove if whose condition is
2408         always true.
2409
2410 2005-02-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2411
2412         * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
2413         (gfc_use_derived): ... this function.
2414
2415 2005-02-09  Richard Henderson  <rth@redhat.com>
2416
2417         * f95-lang.c (gfc_init_builtin_functions): Call
2418         build_common_builtin_nodes; do not define any functions handled
2419         by it.
2420
2421 2005-02-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2422
2423         * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
2424         EXPR_SUBSTRING.
2425         (gfc_is_constant_expr): Check 'ref' to determine if substring
2426         reference is constant.
2427         (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
2428         (check_init_expr, check_restricted): Check 'ref' instead of 'op1'
2429         and 'op2'.
2430         * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.
2431
2432 2005-02-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2433
2434         * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,
2435         gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data,
2436         gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
2437         gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
2438         gfc_add_procedure): Add argument.
2439         * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name,
2440         gfc_match_null, match_type_spec, match_attr_spec,
2441         gfc_match_formal_arglist, match_result, gfc_match_function_decl):
2442         Update callers to match.
2443         (gfc_match_entry): Likewise, fix comment typo.
2444         (gfc_match_subroutine, attr_decl1, gfc_add_dimension,
2445         access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc,
2446         gfc_match_derived_decl): Update callers.
2447         * interface.c (gfc_match_interface): Likewise.
2448         * match.c (gfc_match_label, gfc_add_flavor,
2449         gfc_match_call, gfc_match_common, gfc_match_block_data,
2450         gfc_match_namelist, gfc_match_module, gfc_match_st_function):
2451         Likewise.
2452         * parse.c (parse_derived, parse_interface, parse_contained),
2453         primary.c (gfc_match_rvalue, gfc_match_variable): Likewise.
2454         * resolve.c (resolve_formal_arglist, resolve_entries): Update callers.
2455         * symbol.c (check_conflict, check_used): Add new 'name' argument,
2456         use when printing error message.
2457         (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy,
2458         gfc_add_generic, gfc_add_in_common, gfc_add_data,
2459         gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
2460         gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
2461         gfc_add_procedure): Add new 'name' argument.  Pass along to
2462         check_conflict and check_used.
2463         (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic,
2464         gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental,
2465         gfc_add_pure, gfc_add_recursive, gfc_add_intent,
2466         gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new
2467         argument in calls to any of the modified functions.
2468
2469 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
2470
2471         * gfortran.texi: Don't give last update date.
2472
2473 2006-01-30  Richard Henderson  <rth@redhat.com>
2474
2475         * options.c (gfc_init_options): Zero flag_errno_math.
2476
2477 2005-01-29  Paul Brook  <paul@codesourcery.com>
2478
2479         PR fortran/18565
2480         * check.c (real_or_complex_check): New function.
2481         (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
2482         * intrinsic.c (add_functions): Use new check functions.
2483         * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
2484         Add prototypes.
2485
2486 2005-01-29  Steven G. Kargl  <kargls@comcast.net>
2487
2488         PR fortran/19589
2489         * expr.c (gfc_check_assign):  Check for conformance of logical operands
2490
2491 2004-01-27  Steven Bosscher  <stevenb@suse.de>
2492
2493         * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and
2494         TREE_USED for all labels.
2495         (gfc_trans_entry_master_switch): Use it instead of building a
2496         label by hand.
2497         * trans-io.c (add_case): Likewise.
2498         * trans-stmt.c (gfc_trans_integer_select): Likewise.
2499
2500 2004-01-23  Paul Brook  <paul@codesourcery.com>
2501         Steven G. Kargl  <kargls@comcast.net>
2502
2503         PR fortran/17941
2504         * arith.c (gfc_convert_real): Remove sign handling.
2505         * primary.c (match_digits): Allow whitespace after initial sign.
2506         (match_real_const): Handle signs here.  Allow whitespace after
2507         initial sign.  Remove dead code.
2508         (match_const_complex_part): Remove.
2509         (match_complex_part): Use match_{real,integer}_const.
2510         (match_complex_constant): Cross-promote integer types.
2511
2512 2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
2513
2514         PR fortran/19294
2515         * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or
2516         transpose_c8 for complex types.
2517
2518 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
2519
2520         * data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
2521         trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
2522         trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
2523         Follow spelling conventions.
2524
2525 2005-01-22  Bud Davis  <bdavis9659@comcast.net>
2526
2527         PR fortran/19313
2528         * trans-io.c (gfc_trans_inquire): Added code to support
2529         pad.
2530
2531 2005-01-22  Steven G. Kargl  <kargls@comcast.net>
2532
2533         * intrinsic.c (make_alias):  Add standard argument.
2534         (add_functions): Update make_alias calls.
2535
2536 2005-01-22  Paul Brook  <paul@codesourcery.com>
2537
2538         * trans-expr.c (gfc_conv_function_call): Remove bogus TODO.
2539
2540 2005-01-22  Paul Brook  <paul@codesourcery.com>
2541
2542         * gfortran.h (gfc_check_access): Add prototype.
2543         * match.c (gfc_match_namelist): Remove TODO.
2544         * module.c (check_access): Rename ...
2545         (gfc_check_access): ... to this.  Boolify.  Update callers.
2546         * resolve.c (resolve_symbol): Check for private objects in public
2547         namelists.
2548
2549 2005-01-22  Paul Brook  <paul@codesourcery.com>
2550
2551         * primary.c (gfc_match_rvalue): Only apply implicit type if variable
2552         does not have an explicit type.
2553         (gfc_match_variable): Resolve implicit derived types in all cases.
2554         Resolve contained function types from their own namespace, not the
2555         parent.
2556         * resolve.c (resolve_contained_fntype): Remove duplicate sym->result
2557         checking.  Resolve from the contained namespace, not the parent.
2558
2559 2005-01-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2560
2561         PR fortran/19543
2562         * trans-const.c (gfc_conv_constant_to_tree): Give logical
2563         constants the correct type.
2564
2565         PR fortran/19194
2566         * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
2567         length parameters.
2568         (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
2569         pointer fields.
2570
2571 2005-01-18  Kazu Hirata  <kazu@cs.umass.edu>
2572
2573         * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
2574         gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
2575         match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
2576         scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
2577         trans-io.c, trans-stmt.c, trans.c: Update copyright.
2578
2579 2005-01-17  Ira Rosen  <irar@il.ibm.com>
2580
2581         * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins.
2582
2583 2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2584
2585         PR fortran/19182
2586         * error.c (error_char): Line-buffer errors / warnings.
2587
2588 2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2589
2590         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed /
2591         unsigned issue.  Use build_int_cst instead of converting
2592         integer_zero_node.  Remove unnecessary conversion.
2593
2594         * trans-types.c (gfc_get_character_type_len): Use
2595         gfc_charlen_type_node as basic type for the range field.
2596
2597         * trans-intrinsic.c (build_fixbound_expr,
2598         gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall,
2599         gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest,
2600         gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead
2601         of converting 'integer_zero_node' or 'integer_one_node'
2602         respectively.
2603         (gfc_conv_intrinsic_ishftc): Same, but store in local variable to
2604         evade re-building.
2605         (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing,
2606         gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use
2607         'build_int_cst' instead of converting 'integer_zero_node' or
2608         'integer_one_node' respectively.
2609
2610         * trans-intrinsic.c (gfc_conv_intrinsic_index,
2611         gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove
2612         'gfc'-prefix from local variable, remove dead code, use correct
2613         type when inserting argument.
2614
2615         * trans-intrinsic.c, trans-types.c: Update copyright years.
2616
2617 2005-01-16  Steven G. Kargl  <kargls@comcast.net>
2618
2619         PR 19168
2620         * resolve.c (check_case_overlap): Typo in comment.
2621         (validate_case_label_expr):  Fix up kinds of case values
2622         (resolve_select): Properly handle kind mismatches.
2623
2624 2004-01-16  Paul Brook  <paul@codesourcery.com>
2625
2626         PR fortran/17675
2627         * trans-common.c (translate_common): Remove duplicate function call.
2628         (finish_equivalences): Preserve alignment when biasing offsets.
2629
2630 2005-01-15  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de
2631
2632         * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming
2633         ASCII-like character encoding.
2634
2635 2005-01-14  Steven G. Kargl  <kargls@comcast.net>
2636
2637         * resolve.c (compare_case): Cleanup.
2638
2639 2005-01-14  Steven G. Kargl  <kargls@comcast.net>
2640
2641         * resolve.c (compare_case): Give arguments correct type.
2642
2643 2005-01-13  Kazu Hirata  <kazu@cs.umass.edu>
2644
2645         * iresolve.c, trans-common.c, trans-types.c: Fix comment
2646         typos.
2647
2648 2005-01-09  Paul Brook  <paul@codesourcery.com>
2649
2650         PR fortran/17675
2651         * trans-common.c (current_common, current_offset): Remove.
2652         (create_common): Add head argument.
2653         (align_segment): New function.
2654         (apply_segment_offset): New function.
2655         (translate_common): Merge code from new_segment.  Handle alignment.
2656         (new_segment): Remove.
2657         (finish_equivalences): Ensure proper alignment.
2658
2659 2005-01-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2660
2661         * trans-const.c: Don't include unused math.h.
2662
2663         * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
2664         gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
2665         gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
2666         trailing whitespace.
2667         (prepare_arg_info): Fix formatting, indenting and remove trailing
2668         whitespace.
2669         (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
2670         trailing whitespace.
2671
2672         * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
2673         gfc_constant_result, gfc_range_check, gfc_arith_power,
2674         eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
2675         gfc_real2complex, gfc_complex2int, gfc_complex2real,
2676         gfc_complex2complex): Fix whitespace issues.
2677         * check.c (must_be, type_check, numeric_check, int_or_real_check,
2678         logical_array_check, array_check, scalar_check, nonoptional_check,
2679         variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
2680         gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
2681         gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
2682         gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
2683         gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
2684         gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
2685         gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
2686         gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
2687         gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
2688         gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
2689         gfc_check_lbound, gfc_check_logical, min_max_args,
2690         gfc_check_min_max_integer, gfc_check_min_max_real,
2691         gfc_check_min_max_double, gfc_check_matmul,
2692         gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
2693         gfc_check_pack, gfc_check_precision, gfc_check_radix,
2694         gfc_check_range, gfc_check_real, gfc_check_repeat,
2695         gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
2696         gfc_check_set_exponent): Fix formatting issues.
2697         (gfc_check_size, gfc_check_sign): Alphabetize function order,
2698         remove whitespace-only line.
2699         (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
2700         gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
2701         gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
2702         gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
2703         gfc_check_random_number, gfc_check_random_seed,
2704         gfc_check_second_sub, gfc_check_system_clock,
2705         gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
2706         gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
2707         gfc_check_unlink_sub): Fix formatting issues.
2708
2709 2005-01-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2710
2711         * gfortran.h: Remove outdated comment.  Don't include stdio.h
2712         explicitly.
2713
2714 2005-01-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2715
2716         * gfortranspec.c (lang_specific_driver): Change year to 2005 in
2717         output of 'gfortran --version'.
2718
2719 2005-01-03  Steven G. Kargl  <kargls@comcast.net>
2720
2721         * arith.c: Add system.h; remove string.h
2722         * decl.c: Ditto
2723         * matchexp.c: Ditto
2724         * parse.c: Ditto
2725         * resolve.c: Ditto
2726         * st.c: Ditto
2727         * check.c: Remove stdlib.h and stdarg.h
2728         * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
2729         * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
2730         * f95-lang.c: Add system.h; remove stdio.h
2731         * interface.c: Add system.h; remove stdlib.h and string.h
2732         * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
2733         * io.c: Remove string.h
2734         * simplify.c: Ditto
2735         * match.c: Remove stdarg.h and string.h
2736         * misc.c: Update copyright; add system.h; remove stdlib.h,
2737         string.h, and sys/stat.h
2738         * module.c: Add system.h; remove string.h, stdio.h, errno.h,
2739         unistd.h, and time.h
2740         * option.c: Remove string.h and stdlib.h
2741         * primary.c: Ditto
2742         * scanner.c: Update copyright; add system.h; remove stdlib.h,
2743         stdio.h, string.h, and strings.h
2744         * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
2745         * trans-array.c: Remove stdio.h and gmp.h
2746         * trans-const.c: Ditto
2747         * trans-expr.c: Ditto
2748         * trans-io.c: Ditto
2749         * trans-stmt.c: Ditto
2750         * trans.c: Ditto
2751         * trans-intrinsic.c: Remove stdio.h and string.h
2752
2753 2004-12-29  Steven G. Kargl  <kargls@comcast.net>
2754
2755         * gfortran.h (gfc_case): fix typo in comment.
2756
2757 2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2758
2759         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
2760         logical shift.  Call fold.  Remove 0-bit shift shortcut.
2761         (gfc_conv_intrinsic_ishftc): Convert first argument to at least
2762         4 bytes bits.  Convert 2nd and 3rd argument to 4 bytes.  Convert
2763         result if width(arg 1) < 4 bytes.  Call fold.
2764
2765         PR fortran/19032
2766         * trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment
2767         in front of function to match the standard.  Correct handling
2768         of MODULO.
2769
2770 2004-12-27  Andrew Pinski  <pinskia@physics.uc.edu>
2771
2772         * trans-expr.c (gfc_conv_cst_int_power): Only check for
2773         flag_unsafe_math_optimizations if we have a float type.
2774
2775 2004-12-23  Steven G. Kargl  <kargls@comcast.net>
2776
2777         * gfortran.texi: Fix typo.
2778
2779 2004-12-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2780
2781         * trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix
2782         comment typo.
2783
2784 2004-12-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2785
2786         PR fortran/18993
2787         * match.c (gfc_match_if): Don't explicitly skip optional whitespace.
2788         (gfc_match_nullify): Make sure that ')' is in front of the end of
2789         statement.
2790
2791         * scanner.c (skip_fixed_comments): Fix typo in comment preceding
2792         function.
2793
2794 2004-12-14  Richard Henderson  <rth@redhat.com>
2795
2796         * gfortran.h (gfc_expr.function.name): Make const.
2797         (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
2798         (gfc_get_string): Update prototype.
2799         * iresolve.c: Include tree.h.
2800         (string_node, HASH_SIZE, string_head, hash): Remove.
2801         (gfc_get_string): Use vsnprintf, get_identifier.
2802         (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
2803         * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1.
2804         (gfc_done_1): Don't call gfc_iresolve_done_1.
2805         * module.c (mio_allocated_string): Take and return const char *,
2806         instead of modifying char**.
2807         (mio_expr): Update to match.
2808         * resolve.c (pure_function): Constify name argument.
2809         (resolve_function): Constify name.
2810         * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise.
2811
2812 2004-12-12  Richard Henderson  <rth@redhat.com>
2813
2814         * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
2815         gfc_resolve_cshift, gfc_resolve_dot_product, gfc_resolve_eoshift,
2816         gfc_resolve_matmul, gfc_resolve_maxloc, gfc_resolve_maxval,
2817         gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_pack,
2818         gfc_resolve_product, gfc_resolve_reshape, gfc_resolve_shape,
2819         gfc_resolve_spread, gfc_resolve_sum, gfc_resolve_transpose,
2820         gfc_resolve_unpack: Use PREFIX.
2821
2822 2004-12-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2823
2824         PR fortran/18869
2825         * match.c (gfc_match_common): Skip whitespace.
2826
2827 2004-12-12  Steven G. Kargl  <kargls@comcast.net>
2828
2829         PR fortran/16581
2830         * check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits,
2831         gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default
2832         integer kind check; Issue error for -std=f95 when needed.
2833         * intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to
2834         GFC_STD_F95.
2835         * iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior):
2836         Promote arguments to same kind.
2837
2838 2004-12-12  Steven G. Kargl  <kargls@comcast.net>
2839         Paul Brook  <paul@codesourcery.com>
2840
2841         PR fortran/16222
2842         * resolve.c (gfc_resolve_iterator_expr): New function.
2843         (gfc_resolve_iterator): Use it.  Add real_ok argument.  Convert
2844         start, end and stride to correct type.
2845         (resolve_code): Pass extra argument.
2846         * array.c (resolve_array_list): Pass extra argument.
2847         * gfortran.h (gfc_resolve): Add prototype.
2848         * trans-stmt.c (gfc_trans_do): Remove redundant type conversions.
2849         Handle real type iterators.
2850
2851 2004-12-11  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2852
2853         PR fortran/17175
2854         * iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of
2855         same kind as C's 'int'.
2856         (gfc_resolve_set_exponent): Convert 'I' argument if not of kind 4.
2857
2858 2004-12-08  Richard Henderson  <rth@redhat.com>
2859
2860         * intrinsic.c (gfc_convert_type_warn): Propagate the input shape
2861         to the output expression.
2862         * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
2863         warning conversion.
2864         (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
2865         to index kind.
2866
2867 2004-12-08  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2868
2869         PR fortran/18826
2870         * resolve.c (resolve_code): Impose correct restrictions on
2871         assigned variable.
2872
2873         * decl.c (gfc_match_end): Use locus of END when eos is an error.
2874
2875 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
2876         Paul Brook  <paul@codesourcery.com>
2877
2878         * check.c (gfc_check_flush, gfc_check_fnum): New functions.
2879         (gfc_check_fstat, gfc_check_fstat_sub): New functions.
2880         (gfc_check_stat, gfc_check_stat_sub): New functions.
2881         * gfortran.h (GFC_ISYM_FNUM,GFC_ISYM_FSTAT,GFC_ISYM_STAT): New symbols
2882         * intrinsic.c (add_functions,add_subroutines): Add flush, fnum,
2883         fstat, and stat to intrinsics symbol tables.
2884         * intrinsic.h (gfc_check_flush, gfc_resolve_stat_sub): Add prototypes.
2885         (gfc_resolve_fstat_sub, gfc_resolve_stat): Ditto.
2886         * iresolve.c (gfc_resolve_fnum, gfc_resolve_fstat): New functions.
2887         (gfc_resolve_stat, gfc_resolve_flush): New functions.
2888         (gfc_resolve_stat_sub,gfc_resolve_fstat_sub): New functions
2889         * trans-intrinsic.c (gfc_conv_intrinsic_function): Add new intrinsics.
2890
2891 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
2892
2893         * intrinsic.c: Fix and add comments, fix function declarations
2894         (OPTIONAL,REQUIRED): New symbols
2895         (add_functions,add_subroutines): Use symbols
2896         (gmp.h): Remove unused include
2897
2898 2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
2899
2900         * f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quote
2901         in diagnostics.
2902
2903 2004-11-24  Steven Bosscher  <stevenb@suse.de>
2904
2905         * options.c (gfc_post_options): Don't clear flag_inline_functions.
2906
2907 2004-11-20  Steven G. Kargl  <kargls@comcast.net>
2908
2909         * check.c (gfc_check_getcwd_sub): Fix seg fault.
2910
2911         * check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub,
2912         gfc_check_unlink,gfc_check_unlink_sub): New functions
2913         * gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols
2914         * intrinsic.c (add_functions,add_subroutines): Add umask, unlink,
2915         exit to intrinsics symbol tables.
2916         * intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit,
2917         gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask,
2918         gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub,
2919         gfc_resolve_unlink_sub): Add and sort prototypes.
2920         * iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit,
2921         gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions
2922         * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols
2923
2924 2004-11-16  Paul Brook  <paul@codesourcery.com>
2925
2926         PR fortran/13010
2927         * trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype.
2928         (gfc_array_init_size, gfc_conv_expr_descriptor): Ditto.
2929         * trans-types.c (gfc_get_dtype): Accept array type rather than element
2930         type.
2931         (gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE.
2932         (gfc_get_array_type_bounds): Ditto.
2933         (gfc_get_derived_type): Recurse into derived type pointers.
2934         * trans-types.h (gfc_get_dtype): Add prototype.
2935         * trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment.
2936
2937 2004-11-15  Paul Brook  <paul@codesourcery.com>
2938
2939         * trans-types.c (gfc_get_dtype): Remove obsolete TODO.
2940
2941 2004-11-10  Paul Brook  <paul@codesourcery.com>
2942
2943         PR fortran/18375
2944         * trans-expr.c (gfc_trans_subarray_assign): Free shape before ss.
2945         * trans-io.c (transfer_array_component): Ditto.
2946
2947 2004-11-10  Paul Brook  <paul@codesourcery.com>
2948
2949         * invoke.texi: Fix typo.
2950
2951 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2952
2953         * arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,
2954         gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c,
2955         module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c,
2956         trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c,
2957         trans-io.c, trans-stmt.c, trans.h: Fix comment formatting.
2958
2959 2004-11-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2960
2961         PR fortran/18023
2962         * io.c (resolve_tag): Tighten up exception for assigned FORMAT.
2963
2964 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
2965
2966         * gfortranspec.c: Replace GNU CC with GCC.
2967
2968 2004-11-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2969
2970         * gfortranspec.c (lang_specific_driver): Change year to 2004.
2971
2972 2004-11-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2973
2974         PR fortran/18111
2975         *  trans-decl.c (create_function_arglist): Set DECL_ARTIFICIAL for
2976         hidden parameters.
2977
2978 2004-11-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2979
2980         PR fortran/15164
2981         * trans-decl.c (gfc_finish_var_decl): Don't declare arguments to
2982         module procedures as if they were module variables.
2983
2984 2004-11-03  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2985
2986         PR fortran/17535
2987         PR fortran/17583
2988         PR fortran/17713
2989         * module.c (write_symbol1): Set module_name for dummy arguments.
2990
2991 2004-11-02  Paul Brook  <paul@codesourcery.com>
2992
2993         * intrinsic.c (check_intrinsic_standard): Include error locus.
2994         Remove VLA.
2995         (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Pass
2996         locus to check_intrinsic_standard.
2997
2998 2004-10-31  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2999
3000         PR fortran/17590
3001         * gfortran.h: Change GFC_STD_* flags to more appropriate
3002         ones. (struct gfc_intrinsic_isym): Add field for standard. (struct
3003         gfc_option_t): Add field for warning about use of nonstandard
3004         intrinsics.
3005         * intrinsic.c (add_sym): Add parameter for standard version, check
3006         this against current standard.
3007         (add_sym_0): Pass standard parameter to add_sym.
3008         (add_sym_1, add_sym_0s, add_sym_1s, add_sym_1m, add_sym_2): Ditto.
3009         (add_sym_2s, add_sym_3, add_sym_3ml, add_sym_3red, add_sym_3s): Ditto.
3010         (add_sym_4, add_sym_4s, add_sym_5, add_sym_5s): Ditto.
3011         (make_generic): Add parameter for standard, check this
3012         against currently selected standard.
3013         (add_functions, add_subroutines): Add parameter to tell which
3014         standard an intrinsic belongs to.
3015         (check_intrinsic_standard): New function.
3016         (gfc_intrinsic_func_interface): Add call to check_intrinsic_standard.
3017         (gfc_intrinsic_sub_interface): Ditto.
3018         * lang.opt: Add Wnonstd-intrinsics option.
3019         * options.c (gfc_init_options): Change to use new GFC_STD_* flags,
3020         init new warning.
3021         (set_Wall): Add warning about nonstd intrinsics.
3022         (gfc_handle_option): Change to use new GFC_STD_* flags,
3023         handle new warning.
3024         * invoke.texi: Update manual to include -Wnonstd-intrinsics.
3025
3026 2004-10-30  Andrew Pinski  <pinskia@physics.uc.edu>
3027
3028         * f95-lang.c (lang_tree_node): Add chain_next to be the TREE_CHAIN.
3029
3030 2004-10-30  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3031
3032         * simplify.c (twos_complement): Calculate mask in GMP arithmetic.
3033
3034 2004-10-30  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3035
3036         * trans.c (gfc_trans_code): Set global locus after recursing. Fix
3037         comment typo.
3038
3039 2004-10-30  Canqun Yang  <canqun@nudt.edu.cn>
3040
3041         * check.c (gfc_check_rand): Allow missing optional argument.
3042         (gfc_check_irand): Ditto.
3043         * intrinsic.c (add_functions): Set arg optional flag for {i,}rand.
3044
3045 2004-10-28  Scott Robert Ladd  <scott.ladd@coyotegulch.com>
3046
3047         PR fortran/13490, PR fortran/17912
3048         * gcc/fortran/gfortran.h: Added pedantic_min_int to gfc_integer_info
3049         * gcc/fortran/gfortran.h: Added ARITH_ASYMMETRIC to arith
3050         * gcc/fortran/arith.c: Added support for an "asymmetric integer"
3051         warning when compiling with pedantic.
3052         * gcc/fortran/arith.c: Set minimum integer values to reflect
3053         realities of two's complement signed integers. Added
3054         pedantic minimum.
3055
3056 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
3057
3058         * Make-lang.in (F95_ADDITIONAL_OBJS): Kill.
3059         (f951): Do not depend on F95_ADDITIONAL_OBJS and don't
3060         link it in.
3061
3062 2004-10-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3063
3064         * trans-decl.c (generate_local_decl): Simplify logic, fix comment
3065         typo.
3066         (gfc_generate_function_code): Fix formatting issue.
3067
3068 2004-10-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3069
3070         * module.c: Fix formatting issues.
3071
3072 2004-10-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3073
3074         * module.c (mio_interface_rest): Set where member of interface
3075         while loading.
3076
3077 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
3078
3079         PR fortran/17901
3080         * options.c (gfc_handle_option): Add break after handing the
3081         J/M option.
3082
3083 2004-10-08  Tobias Schlueter  <tobias.shclueter@physik.uni-muenchen.de>
3084
3085         * arith.c: Fix formatting issues.
3086
3087 2004-10-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3088
3089         PR fortran/17676
3090         * resolve.c (resolve_operator): Use correct operator name in message.
3091
3092 2004-10-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3093
3094         * primary.c (match_boz_constant): Allow kind parameter suffixes.
3095         Move standard warning further to the front.
3096
3097 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
3098
3099         * trans-stmt.c: Fix a comment typo.
3100
3101 2004-10-07  Paul Brook  <paul@codesourcery.com>
3102
3103         PR fortran/17678
3104         * trans-array.c (gfc_trans_deferred_array): Leave use associated
3105         variables alone.
3106
3107 2004-10-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3108
3109         PR fortran/17568
3110         * simplify.c (twos_complement): New function.
3111         (gfc_simplify_ishft, gfc_simplify_ishftc): Revise.
3112
3113         * simplify.c (gfc_simplify_abs): Use mpfr_hypot for CABS.
3114
3115 2004-10-06  Paul Brook  <paul@codesourcery.com>
3116
3117         * trans-stmt.c (gfc_trans_simple_do): New function.
3118         (gfc_trans_do): Use it.  Evaluate iteration bounds before entering
3119         loop.  Update comments.
3120
3121 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3122
3123         PR fortran/17283
3124         * iresolve.c (gfc_resolve_pack): Choose function depending if mask
3125         is scalar.
3126
3127         PR fortran/17631
3128         * intrinsic.c (add_sym_5): Remove.
3129         (add_subroutines): Add resolution function for MVBITS.
3130         * intrinsic.h (gfc_resolve_mvbits): Declare resolution function for
3131         MVBITS
3132         * iresolve.c (gfc_resolve_mvbits): New function.
3133         (gfc_resolve_random_number): Remove empty line at end of function.
3134
3135         * trans-const.c (gfc_build_cstring_const): New function.
3136         (gfc_init_cst): Use new function.
3137         * trans-const.h (gfc_build_cstring_const): Add prototype.
3138         * trans-io.c (set_string, set_error_locus): Use new function.
3139         * trans-stmt.c (gfc_trans_goto): Use new function.
3140
3141         PR fortran/17708
3142         * parse.c (accept_statement): Don't treat END DO like END IF and
3143         END SELECT.
3144         (parse_do_block): Generate possible END DO label inside END DO
3145         block.
3146
3147         PR fortran/17776
3148         * check.c (gfc_check_system_sub): New function.
3149         * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SYSTEM.
3150         * intrinsic.c (add_functions): Add 'system'.
3151         (add_subroutines): Add 'system'.
3152         * intrinsic.h (gfc_check_etime_sub, gfc_check_getcwd_sub):
3153         Move prototypes to other suborutines.
3154         (gfc_check_system_sub, gfc_resolve_system, gfc_resolve_system_sub):
3155         Add prototype.
3156         (gfc_resolve_system_clock): Fix formatting of prototype.
3157         * iresolve.c (gfc_resolve_system, gfc_resolve_system_sub): New
3158         functions.
3159         * trans-intrinsic.c (gfc_conv_intrinsic_function): Deal with
3160         GFC_ISYM_SYSTEM.
3161
3162 2004-10-04  Erik Schnetter  <schnetter@aei.mpg.de>
3163
3164         * scanner.c (preprocessor_line): Accept preprocessor lines without
3165         file names.  Check file names for closing quotes.  Handle escaped
3166         quotes in file names.
3167
3168 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3169         Paul Brook  <paul@codesourcery.com>
3170
3171         * trans-array.c (gfc_conv_expr_descriptor): Check for substriungs.
3172         Use gfc_get_expr_charlen.
3173         * trans-expr.c (gfc_get_expr_charlen): New function.
3174         * trans.h (gfc_get_expr_charlen): Add prototype.
3175
3176 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
3177
3178         * trans-intrinsic.c: Fix a comment typo.
3179
3180 2004-10-03  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3181
3182         * simplify.c (range_check): Remove blank line at beginning of function.
3183         (gfc_simplify_dint): Same at end of function.
3184         (gfc_simplify_exponent, gfc_simplify_fraction): Simplify calculations.
3185         (gfc_simplify_bound): Fix indentation.
3186         (gfc_simplify_log10): Simplify calculation.
3187         (gfc_simplify_min, gfc_simplify_max): Remove blank line at beginning
3188         of function.
3189         (gfc_simplify_nearest): Same at end of function.
3190         (gfc_simplify_nint, gfc_simplify_idnint): Same at beginning of
3191         function.
3192         (gfc_simplify_rrspacing, gfc_simplify_set_exponent,
3193         gfc_simplify_spacing): Simplify calulations.
3194
3195 2004-10-03  Feng Wang  <fengwang@nudt.edu.cn>
3196
3197         * trans-intrinsic.c: Fix comments on spacing and rrspacing
3198         (gfc_conv_intrinsic_rrspacing): Add fold on constant trees.
3199
3200 2004-10-01  Jan Hubicka  <jh@suse.cz>
3201
3202         * f95-lang.c (gfc_expand_function): Update call of
3203         tree_rest_of_compilation.
3204         * trans-decl.c (gfc_generate_constructors): Likewise.
3205
3206 2004-09-26  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3207
3208         * trans-intrinsic.c: Comment fixes.
3209
3210 2004-09-25  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3211
3212         * decl.c (add_init_expr_to_sym, variable_decl): Comment fixes.
3213
3214 2004-09-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3215
3216         * trans-types.c (gfc_return_by_reference): Remove superfluous
3217         assertion.
3218
3219         * intrinsic.h (gfc_resolve_getcwd): Update prototype.
3220         * iresolve.c (gfc_resolve_getcwd): Add second argument to function.
3221
3222         PR fortran/17615
3223         * trans-expr.c (gfc_trans_arrayfunc_assign): Look at resolved
3224         function to determine return type.
3225
3226 2004-09-20  Jan Hubicka  <jh@suse.cz>
3227
3228         * trans-decl.c (build_entry_thunks): Finalize the function; do not lower
3229         tree.
3230         (gfc_generate_function_code): Likewise.
3231
3232 2004-09-20  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3233
3234         PR fortran/15957
3235         * simplify.c (gfc_simplify_reshape): Set shape of return value
3236         correctly.
3237
3238 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
3239             Zack Weinberg  <zack@codesourcery.com>
3240
3241         * f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
3242         enumeration constants.
3243
3244 2004-09-17  Paul Brook  <paul@codesourcery.com>
3245
3246         * gfortran.h (struct gfc_linebuf): Don't use C99 empty arrays.
3247         (gfc_linebuf_header_size): Define.
3248         * scanner.c (load_file): Use it.
3249
3250 2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
3251
3252         * array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c,
3253         interface.c, intrinsic.c, io.c, misc.c, module.c, parse.h,
3254         resolve.c, scanner.c, trans-array.c, trans-array.h,
3255         trans-common.c, trans-const.h, trans-decl.c, trans-expr.c,
3256         trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
3257         trans.h: Fix comment typos.  Follow spelling conventions.
3258
3259 2004-09-16  Victor Leikehman  <lei@il.ibm.com>
3260
3261         PR/15364
3262         * trans-io.c (transfer_array_component): New function.
3263         (transfer_expr): For array fields, call transfer_array_component.
3264
3265 2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
3266
3267         * gfortran.texi: Fix a typo.
3268
3269 2004-09-15  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
3270
3271         * parse.c (eof_buf): Rename eof to eof_buf.
3272         (unexpected_eof): Same.
3273         (gfc_parse_file): Same.
3274
3275 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
3276
3277         * check.c (gfc_check_getcwd_sub): New function.
3278         * gfortran.h (GFC_ISYM_GETCWD): New symbol.
3279         * intrinsic.c (add_functions): Add function definition;
3280         Use symbol.
3281         * intrinsic.c (add_subroutines): Add subroutine definitions.
3282         * intrinsic.h: Add prototypes.
3283         * iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
3284         New functions.
3285         * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
3286
3287 2004-09-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3288
3289         PR fortran/16485
3290         * module.c (write_symbol): Don't fill in module name here.
3291         (write_symbol0): Fill in here instead.
3292
3293 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
3294
3295         * data.c, decl.c, f95-lang.c, gfortran.h, match.c,
3296         trans-array.c, trans-common.c, trans-expr.c,
3297         trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix
3298         comment typos.  Follow spelling conventions.
3299
3300 2004-09-09  Paul Brook  <paul@codesourcery.com>
3301
3302         * scanner.c (get_file): Add ATTRIBUTE_UNUSED.
3303
3304 2004-09-08  Paul Brook  <paul@codesourcery.com>
3305
3306         * array.c: Don't include assert.h.
3307         * data.c: Don't include assert.h.  Replace assert and abort with
3308         gcc_assert and gcc_unreachable.
3309         * dependency.c: Ditto.
3310         * f95-lang.c: Ditto.
3311         * iresolve.c: Ditto.
3312         * resolve.c: Ditto.
3313         * simplify.c: Ditto.
3314         * symbol.c: Ditto.
3315         * trans-array.c: Ditto.
3316         * trans-common.c: Ditto.
3317         * trans-const.c: Ditto.
3318         * trans-decl.c: Ditto.
3319         * trans-expr.c: Ditto.
3320         * trans-intrinsic.c: Ditto.
3321         * trans-io.c: Ditto.
3322         * trans-stmt.c: Ditto.
3323         * trans-types.c: Ditto.
3324         * trans.c: Ditto.
3325
3326 2004-09-07  Per Bothner  <per@bothner.com>
3327         Paul Brook  <paul@codesourcery.com>
3328
3329         * error.c (show_locus): Handle mapped locations.
3330         * f95-lang.c (gfc_be_parse_file): Initialize mapped locations.
3331         * gfortran.h: Include input.h.
3332         (struct gfc_linebuf): Use source_location.
3333         * scanner.c (get_file): Initialize linemap.
3334         (preprocessor_line): Pass extra argument to get_file.
3335         (load_file): Ditto.  Setup linemap.
3336         (gfc_new_file): Handle mapped locations.
3337         * trans-common.c (build_field, build_equiv_decl, build_common_decl):
3338         Set decl source locations.
3339         (gfc_trans_common): Set blank common block location.
3340         * trans-decl.c (gfc_set_decl_location): New function.
3341         (gfc_get_label_decl, gfc_get_symbol_decl): Use it.
3342         (trans_function_start): Move call to gfc_set_backend_locus..
3343         (build_function_decl): ... to here.
3344         (build_entry_thunks): Set and restore the backend locus.
3345         (gfc_generate_constructors): Remove excess arguments to