OSDN Git Service

* invoke.texi: Update -Waliasing description.
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2005-04-19  Arnaud Desitter  <arnaud.desitter@ouce.ox.ac.uk>
2             Steven G. Kargl  <kargls@comcast.net>
3
4         * invoke.texi: Update -Waliasing description
5
6 2005-04-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
7
8         PR fortran/16861
9         * resolve.c (resolve_variable): If e->symtree is not set, this
10         ought to be a FAILURE, and not a segfault.
11
12 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
13
14         PR fortran/17472
15         PR fortran/18209
16         PR fortran/18396
17         PR fortran/19467
18         PR fortran/19657
19         * fortran/trans-io.c (gfc_build_io_library_fndecls): Create
20         declaration for st_set_nml_var and st_set_nml_var_dim. Remove
21         declarations of old namelist functions.
22         (build_dt): Simplified call to transfer_namelist_element.
23         (nml_get_addr_expr): Generates address expression for start of 
24         object data. New function.
25         (nml_full_name): Qualified name for derived type components. New 
26         function.
27         (transfer_namelist_element): Modified for calls to new functions 
28         and improved derived type handling.
29
30 2005-04-17  Richard Guenther  <rguenth@gcc.gnu.org>
31
32         * scanner.c (gfc_next_char_literal): Reset truncation flag
33         for lines ending in a comment for both fixed and free form.
34         (load_line): Do not set truncated flag if only truncating
35         the EOL marker.
36
37 2005-04-15  Richard Guenther  <rguenth@gcc.gnu.org>
38
39         PR fortran/14569
40         * gfortran.h (gfc_linebuf): Add truncated field.
41         * parse.c (next_statement): Handle warning for truncated
42         lines.
43         * scanner.c (load_line): Return if line was truncated.
44         No longer warn for truncated lines.  Remove unused parameters.
45         (load_file): Store load_line return value to linebuf.
46         (gfc_error_recovery): Do not advance line at the end.
47
48 2005-04-14  Steven G. Kargl  <kargls@comcast.net>
49
50         * gfortran.h (gfc_real_info): Add subnormal struct member.
51         * arith.c (gfc_arith_init_1): Set it.
52         (gfc_check_real_range): Use it.
53         * simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.).
54
55 2005-04-12  Kazu Hirata  <kazu@cs.umass.edu>
56
57         * simplify.c: Fix a comment typo.
58
59 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
60
61         * lang.opt: Refer to the GCC internals documentation instead of c.opt.
62
63 2005-04-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
64
65         * simplify.c (gfc_simplify_nearest): Overhaul.
66
67 2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
68
69         * interface.c: Fix a comment typo.
70
71 2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
72
73         * match.c (match_arithmetic_if): Arithmetic IF is obsolete in
74         Fortran 95.
75
76 2005-04-09  Steven G. Kargl  <kargls@comcast.net>
77
78         * simplify.c (gfc_simplify_anint): Use mpfr_round()
79         (gfc_simplify_dnint): ditto.
80         (gfc_simplify_nint): ditto.
81
82 2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
83
84         PR fortran/13257
85         * io.c (check_format): Allow an optional comma
86         between descriptors.
87
88 2005-04-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
89
90         * match.c (match_arithmetic_if): Remove gfc_ prefix and correct
91         comment according to GNU coding style.
92         (gfc_match_if): Remove gfc_ prefix in call to
93         match_arithmetic_if.
94
95 2005-04-08  Diego Novillo  <dnovillo@redhat.com>
96
97         * match.c (gfc_match_arithmetic_if): Declare static.
98
99 2005-04-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
100
101         PR fortran/17229
102         * match.c (gfc_match_arithmetic_if): New function to match an
103         arithmetic IF statement.
104         (gfc_match_if): Use gfc_match_arithmetic_if to match an
105         arithmetic IF statement embedded in a simple IF statement.
106
107 2005-04-07  Steven G. Kargl  <kargls@comcast.net>
108
109         * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x))
110
111 2005-04-06  Steven G. Kargl  <kargls@comcast.net>
112
113         * invoke.texi: Remove documentation of -std=f90 
114
115 2005-04-06  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
116
117         * expr.c (gfc_check_assign): Don't allow NULL as rhs in a
118         non-pointer assignment.
119
120 2005-04-05  Feng Wang  <fengwang@nudt.edu.cn>
121
122         PR fortran/15959
123         PR fortran/20713
124
125         * array.c (resolve_character_array_constructor): New function. Set
126         constant character array's character length.
127         (gfc_resolve_array_constructor): Use it.
128         * decl.c (add_init_expr_to_sym): Set symbol and initializer character
129         length.
130         (gfc_set_constant_character_len): New function. Set constant character
131         expression according the given length.
132         * match.h (gfc_set_constant_character_len): Add prototype.
133
134 2005-04-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
135
136         * intrinsic.texi: BES?? functions are not in the f95 standard.
137
138 2005-04-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
139
140         * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN.
141
142 2005-04-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
143
144         * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1,
145         BESYN, ATAN, COSH, ERF, ERC, SINH, TANH.
146
147 2005-04-02  Steven G. Kargl  <kargls@comcast.net>
148
149         * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos
150
151 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
152
153         * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,
154         trans.h: Fix comment typos.
155
156 2005-03-29  Steven G. Kargl  <kargls@comcast.net>
157
158         * gfortran.h (option_t): Change d8, i8, r8 to flag_default_double,
159         flag_default_integer, flag_default_real
160         * invoke.texi: Update documentation
161         * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8   
162         fdefault-integer-8, and fdefault-real-8 definitions.
163         * options.c (gfc_init_options): Set option defaults
164         (gfc_handle_option): Handle command line options.
165         * trans-types.c (gfc_init_kinds): Use options.
166
167 2005-03-29  Keith Besaw  <kbesaw@us.ibm.com>
168
169         * f95-lang.c (builtin_function): Process the attrs parameter
170         and apply the "const" attribute to the builtin if found.
171
172 2005-03-27  Steven G. Kargl  <kargls@comcast.net>
173
174         * intrinsic.texi: Document AIMAG, AINT, ALL
175
176 2005-03-26  Steven G. Kargl  <kargls@comcast.net>
177
178         * arith.c (check_result): Fix illogical logic.
179
180 2005-03-26  Canqun Yang  <canqun@nudt.edu.cn>
181
182         * trans-common.c (create_common): Build RECORD_NODE for common blocks
183         contain no equivalence objects.
184         (add_equivalences): New argument saw_equiv.
185         (trans_common): New local variable saw_equiv.
186         (finish_equivalences): Add a local variable dummy, Always pass true
187         for the 3rd parameter to create_common.
188
189 2005-03-25  Steven G. Kargl  <kargls@comcast.net>
190
191         * intrinsic.texi: Fix "make dvi"
192
193 2005-03-24  Steven G. Kargl  <kargls@comcast.net>
194
195         * intrinsic.texi: New file.
196         * gfortran.texi: Include it; white space change; fix typo.
197
198 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
199
200         * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
201
202 2005-03-23  Steven Bosscher  <stevenb@suse.de>
203
204         * convert.c (convert): Replace fold (buildN (...)) with fold_buildN.
205         * trans-array.c (gfc_trans_allocate_array_storage,
206         gfc_trans_allocate_temp_array gfc_trans_array_constructor_value,
207         gfc_conv_array_index_ref, gfc_trans_array_bound_check,
208         gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
209         gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_conv_ss_startstride,
210         gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds,
211         gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
212         gfc_conv_expr_descriptor): Likewise.
213         * trans-expr.c (gfc_conv_powi, gfc_conv_string_tmp,
214         gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
215         * trans-intrinsic.c (build_round_expr, gfc_conv_intrinsic_bound,
216         gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_sign,
217         gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
218         gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop,
219         gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits,
220         gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc,
221         gfc_conv_intrinsic_merge, prepare_arg_info,
222         gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_repeat): Likewise.
223         * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do, gfc_trans_do_while,
224         gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs,
225         generate_loop_for_rhs_to_temp, compute_inner_temp_size,
226         allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
227         gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign):
228         Likewise.
229         * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Likewise.
230         * trans.c (gfc_add_modify_expr): Likewise.
231
232 2005-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
233
234         * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill,
235         gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub,
236         gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename,
237         gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror,
238         gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub,
239         gfc_check_perror): new functions to check newly implemented
240         g77 intrinsics.
241         * gfortran.h: adding symbols for new intrinsics.
242         * intrinsic.c (add_functions): adding new intrinsics.
243         (add_subroutines): adding new intrinsics.
244         * intrinsic.h: prototype for all checking and resolving
245         functions.
246         * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub,
247         gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill,
248         gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk,
249         gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub,
250         gfc_resolve_kill_sub, gfc_resolve_link_sub,
251         gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub,
252         gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub,
253         gfc_resolve_perror): new functions to resolve intrinsics.
254         * trans-intrinsic.c (gfc_conv_intrinsic_function): add case
255         for new symbols.
256
257 2005-03-19  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
258
259         * dump-parse-tree.c (gfc_show_expr): Dump name of namespace
260         in which the variable is declared.
261
262         PR fortran/18525
263         * resolve.c (was_declared): Also check for dummy attribute.
264
265 2005-03-19  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
266
267         * gfortran.h (arith): Remove ARITH_0TO0.
268         * arith.c (gfc_arith_error): Remove handling of ARITH_0TO0.
269         (gfc_arith_power): Remove special casing of zero to integral
270         power zero.
271
272 2005-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
273
274         * Make-lang.in (fortran-warn): Remove -Wno-error.
275         (expr.o-warn, resolve.o-warn, simplify.o-warn,
276         trans-common.o-warn): Specify -Wno-error.
277
278 2005-03-17  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
279
280         * trans-array.c (gfc_trans_static_array_pointer,
281         get_array_ctor_var_strlen, gfc_conv_array_index_offset): Fix
282         comment and formatting typos.
283
284 2005-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
285
286         * invoke.texi: Fix typos.
287
288 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
289
290         * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
291
292 2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
293
294         * trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
295         to zero on label_tree.
296
297 2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
298
299         PR fortran/18827
300         * io.c (resolve_tag): Add checking on assigned label.
301         (match_dt_format): Does not set symbol assign attribute.
302         * match.c (gfc_match_goto):Does not set symbol assign attribute.
303         * resolve.c (resolve_code): Add checking on assigned label.
304         * trans-common.c (build_field): Deals with common variable assigned
305         a label.
306         * trans-stmt.c (gfc_conv_label_variable): New function.
307         (gfc_trans_label_assign): Use it.
308         (gfc_trans_goto): Ditto.
309         * trans-io.c (set_string): Ditto.
310         * trans.h (gfc_conv_label_variable): Add prototype.
311
312 2005-03-14  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
313
314         PR fortran/20467
315         * symbol.c (check_conflict): A dummy argument can't be a statement
316         function.
317
318 2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
319
320         * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
321         the argument of the shift to the unsigned type.
322
323 2005-03-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
324
325         PR fortran/16907
326         * resolve.c (gfc_resolve_index): Allow REAL indices as an extension.
327
328 2005-03-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
329
330         PR fortran/20323
331         * resolve.c (gfc_resolve): Check if character lengths are
332         specification expressions.
333
334 2005-03-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
335
336         PR fortran/20361
337         * trans-array.c (gfc_stack_space_left): Remove unused variable.
338         (gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
339         code.
340         * trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
341         Remove declaration / prototype.
342         * trans-common.c (build_equiv_decl): Give union a name.  Check if
343         it can be put on the stack.
344         * trans-decl.c (gfc_stack_space_left): Move function here.
345         (gfc_build_qualified_array): Fix comment typo.
346         * trans.h (gfc_put_var_on_stack): Add prototype.
347
348 2005-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
349
350         * Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error.
351         * decl.c, trans.c: Don't use C++ style comments.
352         * gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access,
353         ifsrc): Give names to enums and use ENUM_BITFIELD.
354         (gfc_access): Remove trailing comma.
355
356 2005-03-05  Steven G. Kargl  <kargls@comcast.net>
357
358         PR 19936
359         * primary.c (match_complex_constant): Mangled complex constant may
360         be an implied do-loop.  Give implied do-loop matcher a chance.
361
362 2005-03-05  Steven G. Kargl  <kargls@comcast.net>
363
364         PR fortran/19754
365         * resolve.c (compare_shapes):  New function.
366         (resolve_operator): Use it.
367
368 2005-03-05  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
369
370         * trans-const.c (gfc_conv_constant_to_tree): Use correct tree
371         type for COMPLEX constants.
372
373 2005-03-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
374
375         PR fortran/19673
376         * trans-expr.c (gfc_conv_function_call): Correctly dereference
377         argument from a pointer function also if it has a result clause.
378
379 2005-03-04  Steven G. Kargl  <kargls@comcast.net>
380
381         * expr.c (gfc_copy_shape_excluding): Change && to ||.
382
383 2005-03-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
384
385         * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo,
386         clarify comment.
387
388 2005-02-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
389         (port from g95)
390
391         PR fortran/19479
392         * simplify.c (gfc_simplify_bound): Rename to ...
393         (simplify_bound): ... this and overhaul.
394
395 2005-02-28  Steven G. Kargl  <kargl@gcc.gnu.org>
396
397         * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
398         (gfc_conv_intrinsic_function): update function calls
399
400 2005-02-27  Steven G. Kargl  <kargl@gcc.gnu.org>
401
402         PR fortran/20058
403         * trans-types.c (gfc_max_integer_kind): Declare
404         (gfc_init_kinds): Initialize it.
405         * gfortran.h (gfc_max_integer_kind): extern it.
406         * primary.c (match_boz_constant): Use it; remove gfortran extension
407         of kind suffixes on BOZ literal constants
408
409
410 2005-02-27  Steven G. Kargl  <kargls@comcast.net>
411
412         * arith.c (gfc_check_real_range):  Remove multiple returns
413         (check_result): New function.
414         (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times,
415         gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it.
416
417
418 2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
419
420         * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
421
422
423 2005-02-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-meunchen.de>
424
425         Unrevert previously reverted patch.  Adding this fix:
426         * module.c (find_true_name): Deal with NULL module.
427
428 2005-02-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
429
430         Revert yesterday's patch:
431         2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
432
433                 * gfortran.h (gfc_component, gfc_actual_arglist, ...
434                 ... argument.  Copy string instead of pointing to it.
435
436 2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
437
438         * gfortran.h (gfc_get_namespace): Add second argument to prototype.
439         * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to
440         gfc_get_namespace.
441         * module.c (mio_namespace_ref, load_needed): Likewise.
442         * parse.c (parse_interface, parse_contained): Likewise.  Here the
443         correct second argument matters.
444         * symbol.c (gfc_get_namespace): Add parent_types argument, only copy
445         parent's implicit types if this is set.
446         (gfc_symbol_init_2): Pass second argument to gfc_get_namespace.
447         * trans-common.c (build_common_decl): Likewise.
448
449         * gfortran.h (symbol_attribute): New 'untyped' field, fix comment
450         formatting.
451         * symbol.c (gfc_set_default_type): Issue error only once, by setting
452         and checking 'untyped' attribute.
453
454         * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'
455         fields into new struct 'op' inside the 'value' union.
456         * arith.c (eval_intrinsic): Adapt all users.
457         * dependency.c (gfc_check_dependency): Likewise.
458         * dump-parse-tree.c (gfc_show_expr): Likewise.
459         * expr.c (gfc_get_expr): Don't clear removed fields.
460         (free_expr0, gfc_copy_expr, gfc_type_convert_binary,
461         gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr,
462         check_intrinsic_op): Adapt to new field names.
463         * interface.c (gfc_extend_expr): Likewise.  Also explicitly
464         nullify 'esym' and 'isym' fields of new function call.
465         * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
466         Adapt to renamed structure fields.
467         * matchexp.c (build_node, match_level_1, match_expr): Likewise.
468         * module.c (mio_expr): Likewise.
469         * resolve.c (resolve_operator): Likewise.
470         (gfc_find_forall_index): Likewise.  Only look through operands
471         if dealing with EXPR_OP
472         * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields.
473         * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op,
474         gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
475
476         [ Reverted ]
477         * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
478         'name' a 'const char *'.
479         (gfc_symbol): Likewise, also for 'module'.
480         (gfc_symtree): Make 'name' a 'const char *'.
481         (gfc_intrinsic_sym): Likewise, also for 'lib_name'.
482         (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
483         'char *' argument.
484         (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
485         initialize 'SYM->module'.
486         * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
487         pointer instead of empty string.
488         * dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
489         * interface.c (gfc_compare_types): Adapt check to account for possible
490         NULL pointer.
491         (compare_actual_formal): Check for NULL pointer instead of empty
492         string.
493         * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
494         Add 'const' qualifier.
495         (conv_name): Return a heap allocated string.
496         (find_conv): Add 'const' qualifier to 'target'.
497         (add_sym): Use 'gfc_get_string' instead of 'strcpy'.
498         (make_generic): Check for NULL pointer instead of empty string.
499         (make_alias): Use 'gfc_get_string' instead of 'strcpy'.
500         (add_conv): No need to strcpy result from 'conv_name'.
501         (sort_actual): Check for NULL pointer instead of empty  string.
502         * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg):
503         Adapt prototype.
504         * module.c (compare_true_names): Compare pointers instead of strings
505         for 'module' member.
506         (find_true_name): Initialize string fields with gfc_get_string.
507         (mio_pool_string): New function.
508         (mio_internal_string): Adapt comment.
509         (mio_component_ref, mio_component, mio_actual_arg): Use
510         'mio_pool_string' instead of 'mio_internal_string'.
511         (mio_symbol_interface): Add 'const' qualifier to string arguments.
512         Add level of indirection. Use 'mio_pool_string' instead of
513         'mio_internal_string'.
514         (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'.
515         (write_common, write_symbol): Use 'mio_pool_string' instead of
516         'mio_internal_string'.
517         (write_symbol0, write_symbol1): Likewise, also check for NULL pointer
518         instead of empty string.
519         (write_operator, write_generic): Pass correct type variable to
520         'mio_symbol_interface'.
521         (write_symtree): Use 'mio_pool_string' instead of
522         'mio_internal_string'.
523         * primary.c (match_keyword_arg): Adapt check to possible
524         case of NULL pointer.  Use 'gfc_get_string' instead of 'strcpy'.
525         * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree,
526         gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of
527         'strcpy'.
528         (ambiguous_symbol): Check for NULL pointer instead of empty string.
529         (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string
530         arguments.
531         * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL
532         pointer instead of empty string.
533         * trans-decl.c (gfc_sym_mangled_identifier,
534         gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl,
535         gfc_get_symbol_decl): Likewise.
536         * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to
537         argument.  Copy string instead of pointing to it.
538
539 2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
540
541         * intrinsic.h, st.c: Update copyright.
542
543 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
544
545         * symbol.c: Typos in comments.
546
547 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
548
549         * expr.c (gfc_type_convert_binary): Typo in comment.
550
551 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
552
553         * check.c (gfc_check_selected_int_kind): New function.
554         * intrinsic.h: Prototype it.
555         * intrinsic.c (add_function): Use it.
556         * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
557           BT_REAL to BT_INTEGER and use gfc_default_integer_kind.
558
559 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
560
561         * check.c (gfc_check_int): improve checking of optional kind
562         * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
563
564 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
565
566         * check.c (gfc_check_achar): New function
567         * intrinsic.h: Prototype it.
568         * intrinsic.c (add_function): Use it.
569
570 2005-02-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
571
572         * trans-stmt.c (generate_loop_for_temp_to_lhs,
573         generate_loop_for_rhs_to_temp): Remove if whose condition is
574         always true.
575
576 2005-02-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
577
578         * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
579         (gfc_use_derived): ... this function.
580
581 2005-02-09  Richard Henderson  <rth@redhat.com>
582
583         * f95-lang.c (gfc_init_builtin_functions): Call
584         build_common_builtin_nodes; do not define any functions handled
585         by it.
586
587 2005-02-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
588
589         * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
590         EXPR_SUBSTRING.
591         (gfc_is_constant_expr): Check 'ref' to determine if substring
592         reference is constant.
593         (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
594         (check_init_expr, check_restricted): Check 'ref' instead of 'op1'
595         and 'op2'.
596         * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.
597
598 2005-02-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
599
600         * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,
601         gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data,
602         gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
603         gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
604         gfc_add_procedure): Add argument.
605         * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name,
606         gfc_match_null, match_type_spec, match_attr_spec,
607         gfc_match_formal_arglist, match_result, gfc_match_function_decl):
608         Update callers to match.
609         (gfc_match_entry) : Likewise, fix comment typo.
610         (gfc_match_subroutine, attr_decl1, gfc_add_dimension,
611         access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc,
612         gfc_match_derived_decl): Update callers.
613         * interface.c (gfc_match_interface): Likewise.
614         * match.c (gfc_match_label, gfc_add_flavor,
615         gfc_match_call, gfc_match_common, gfc_match_block_data,
616         gfc_match_namelist, gfc_match_module, gfc_match_st_function):
617         Likewise.
618         * parse.c (parse_derived, parse_interface, parse_contained),
619         primary.c (gfc_match_rvalue, gfc_match_variable): Likewise.
620         * resolve.c (resolve_formal_arglist, resolve_entries): Update callers.
621         * symbol.c (check_conflict, check_used): Add new 'name' argument,
622         use when printing error message.
623         (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy,
624         gfc_add_generic, gfc_add_in_common, gfc_add_data,
625         gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
626         gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
627         gfc_add_procedure): Add new 'name' argument.  Pass along to
628         check_conflict and check_used.
629         (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic,
630         gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental,
631         gfc_add_pure, gfc_add_recursive, gfc_add_intent,
632         gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new
633         argument in calls to any of the modified functions.
634
635 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
636
637         * gfortran.texi: Don't give last update date.
638
639 2006-01-30  Richard Henderson  <rth@redhat.com>
640
641         * options.c (gfc_init_options): Zero flag_errno_math.
642
643 2005-01-29  Paul Brook  <paul@codesourcery.com>
644
645         PR fortran/18565
646         * check.c (real_or_complex_check): New function.
647         (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
648         * intrinsic.c (add_functions): Use new check functions.
649         * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
650         Add prototypes.
651
652 2005-01-29  Steven G. Kargl  <kargls@comcast.net>
653
654         PR fortran/19589
655         * expr.c (gfc_check_assign):  Check for conformance of logical operands
656
657 2004-01-27  Steven Bosscher  <stevenb@suse.de>
658
659         * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and
660         TREE_USED for all labels.
661         (gfc_trans_entry_master_switch): Use it instead of building a
662         label by hand.
663         * trans-io.c (add_case): Likewise.
664         * trans-stmt.c (gfc_trans_integer_select): Likewise.
665
666 2004-01-23  Paul Brook  <paul@codesourcery.com>
667         Steven G. Kargl  <kargls@comcast.net>
668
669         PR fortran/17941
670         * arith.c (gfc_convert_real): Remove sign handling.
671         * primary.c (match_digits): Allow whitespace after initial sign.
672         (match_real_const): Handle signs here.  Allow whitespace after
673         initial sign.  Remove dead code.
674         (match_const_complex_part): Remove.
675         (match_complex_part): Use match_{real,integer}_const.
676         (match_complex_constant): Cross-promote integer types.
677
678 2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
679
680         PR fortran/19294
681         * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or
682         transpose_c8 for complex types.
683
684 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
685
686         * data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
687         trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
688         trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
689         Follow spelling conventions.
690
691 2005-01-22  Bud Davis  <bdavis9659@comcast.net>
692
693         PR fortran/19313
694         * trans-io.c (gfc_trans_inquire): Added code to support
695         pad.
696
697 2005-01-22  Steven G. Kargl  <kargls@comcast.net>
698
699         * intrinsic.c (make_alias):  Add standard argument.
700         (add_functions): Update make_alias calls.
701
702 2005-01-22  Paul Brook  <paul@codesourcery.com>
703
704         * trans-expr.c (gfc_conv_function_call): Remove bogus TODO.
705
706 2005-01-22  Paul Brook  <paul@codesourcery.com>
707
708         * gfortran.h (gfc_check_access): Add prototype.
709         * match.c (gfc_match_namelist): Remove TODO.
710         * module.c (check_access): Rename ...
711         (gfc_check_access): ... to this.  Boolify.  Update callers.
712         * resolve.c (resolve_symbol): Check for private objects in public
713         namelists.
714
715 2005-01-22  Paul Brook  <paul@codesourcery.com>
716
717         * primary.c (gfc_match_rvalue): Only apply implicit type if variable
718         does not have an explicit type.
719         (gfc_match_variable): Resolve implicit derived types in all cases.
720         Resolve contained function types from their own namespace, not the
721         parent.
722         * resolve.c (resolve_contained_fntype): Remove duplicate sym->result
723         checking.  Resolve from the contained namespace, not the parent.
724
725 2005-01-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
726
727         PR fortran/19543
728         * trans-const.c (gfc_conv_constant_to_tree): Give logical
729         constants the correct type.
730
731         PR fortran/19194
732         * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
733         length parameters.
734         (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
735         pointer fields.
736
737 2005-01-18  Kazu Hirata  <kazu@cs.umass.edu>
738
739         * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
740         gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
741         match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
742         scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
743         trans-io.c, trans-stmt.c, trans.c: Update copyright.
744
745 2005-01-17  Ira Rosen  <irar@il.ibm.com>
746
747         * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins.
748
749 2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
750
751         PR fortran/19182
752         * error.c (error_char): Line-buffer errors / warnings.
753
754 2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
755
756         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed /
757         unsigned issue.  Use build_int_cst instead of converting
758         integer_zero_node.  Remove unnecessary conversion.
759
760         * trans-types.c (gfc_get_character_type_len): : Use
761         gfc_charlen_type_node as basic type for the range field.
762
763         * trans-intrinsic.c (build_fixbound_expr,
764         gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall,
765         gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest,
766         gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead
767         of converting 'integer_zero_node' or 'integer_one_node'
768         respectively.
769         (gfc_conv_intrinsic_ishftc): Same, but store in local variable to
770         evade re-building.
771         (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing,
772         gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use
773         'build_int_cst' instead of converting 'integer_zero_node' or
774         'integer_one_node' respectively.
775
776         * trans-intrinsic.c (gfc_conv_intrinsic_index,
777         gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove
778         'gfc'-prefix from local variable, remove dead code, use correct
779         type when inserting argument.
780
781         * trans-intrinsic.c, trans-types.c: Update copyright years.
782
783 2005-01-16  Steven G. Kargl  <kargls@comcast.net>
784
785         PR 19168
786         * resolve.c (check_case_overlap): Typo in comment.
787         (validate_case_label_expr):  Fix up kinds of case values
788         (resolve_select): Properly handle kind mismatches.
789
790 2004-01-16  Paul Brook  <paul@codesourcery.com>
791
792         PR fortran/17675
793         * trans-common.c (translate_common): Remove duplicate function call.
794         (finish_equivalences): Preserve alignment when biasing offsets.
795
796 2005-01-15  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de
797
798         * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming
799         ASCII-like character encoding.
800
801 2005-01-14  Steven G. Kargl  <kargls@comcast.net>
802
803         * resolve.c (compare_case): Cleanup.
804
805 2005-01-14  Steven G. Kargl  <kargls@comcast.net>
806
807         * resolve.c (compare_case): Give arguments correct type.
808
809 2005-01-13  Kazu Hirata  <kazu@cs.umass.edu>
810
811         * iresolve.c, trans-common.c, trans-types.c: Fix comment
812         typos.
813
814 2005-01-09  Paul Brook  <paul@codesourcery.com>
815
816         PR fortran/17675
817         * trans-common.c (current_common, current_offset): Remove.
818         (create_common): Add head argument.
819         (align_segment): New function.
820         (apply_segment_offset): New function.
821         (translate_common): Merge code from new_segment.  Handle alignment.
822         (new_segment): Remove.
823         (finish_equivalences): Ensure proper alignment.
824
825 2005-01-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
826
827         * trans-const.c: Don't include unused math.h.
828
829         * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
830         gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
831         gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
832         trailing whitespace.
833         (prepare_arg_info): Fix formatting, indenting and remove trailing
834         whitespace.
835         (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
836         trailing whitespace.
837
838         * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
839         gfc_constant_result, gfc_range_check, gfc_arith_power,
840         eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
841         gfc_real2complex, gfc_complex2int, gfc_complex2real,
842         gfc_complex2complex): Fix whitespace issues.
843         * check.c (must_be, type_check, numeric_check, int_or_real_check,
844         logical_array_check, array_check, scalar_check, nonoptional_check,
845         variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
846         gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
847         gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
848         gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
849         gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
850         gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
851         gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
852         gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
853         gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
854         gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
855         gfc_check_lbound, gfc_check_logical, min_max_args,
856         gfc_check_min_max_integer, gfc_check_min_max_real,
857         gfc_check_min_max_double, gfc_check_matmul,
858         gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
859         gfc_check_pack, gfc_check_precision, gfc_check_radix,
860         gfc_check_range, gfc_check_real, gfc_check_repeat,
861         gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
862         gfc_check_set_exponent): Fix formatting issues.
863         (gfc_check_size, gfc_check_sign): Alphabetize function order,
864         remove whitespace-only line.
865         (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
866         gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
867         gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
868         gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
869         gfc_check_random_number, gfc_check_random_seed,
870         gfc_check_second_sub, gfc_check_system_clock,
871         gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
872         gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
873         gfc_check_unlink_sub): Fix formatting issues.
874
875 2005-01-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
876
877         * gfortran.h: Remove outdated comment.  Don't include stdio.h
878         explicitly.
879
880 2005-01-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
881
882         * gfortranspec.c (lang_specific_driver): Change year to 2005 in
883         output of 'gfortran --version'.
884
885 2005-01-03  Steven G. Kargl  <kargls@comcast.net>
886
887         * arith.c: Add system.h; remove string.h
888         * decl.c: Ditto
889         * matchexp.c: Ditto
890         * parse.c: Ditto
891         * resolve.c: Ditto
892         * st.c: Ditto
893         * check.c: Remove stdlib.h and stdarg.h
894         * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
895         * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
896         * f95-lang.c: Add system.h; remove stdio.h
897         * interface.c: Add system.h; remove stdlib.h and string.h
898         * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
899         * io.c: Remove string.h
900         * simplify.c: Ditto
901         * match.c: Remove stdarg.h and string.h
902         * misc.c: Update copyright; add system.h; remove stdlib.h,
903         string.h, and sys/stat.h
904         * module.c: Add system.h; remove string.h, stdio.h, errno.h,
905         unistd.h, and time.h
906         * option.c: Remove string.h and stdlib.h
907         * primary.c: Ditto
908         * scanner.c: Update copyright; add system.h; remove stdlib.h,
909         stdio.h, string.h, and strings.h
910         * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
911         * trans-array.c: Remove stdio.h and gmp.h
912         * trans-const.c: Ditto
913         * trans-expr.c: Ditto
914         * trans-io.c: Ditto
915         * trans-stmt.c: Ditto
916         * trans.c: Ditto
917         * trans-intrinsic.c: Remove stdio.h and string.h
918
919 2004-12-29  Steven G. Kargl  <kargls@comcast.net>
920
921         * gfortran.h (gfc_case): fix typo in comment.
922
923 2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
924
925         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
926         logical shift.  Call fold.  Remove 0-bit shift shortcut.
927         (gfc_conv_intrinsic_ishftc): Convert first argument to at least
928         4 bytes bits.  Convert 2nd and 3rd argument to 4 bytes.  Convert
929         result if width(arg 1) < 4 bytes.  Call fold.
930
931         PR fortran/19032
932         * trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment
933         in front of function to match the standard.  Correct handling
934         of MODULO.
935
936 2004-12-27  Andrew Pinski  <pinskia@physics.uc.edu>
937
938         * trans-expr.c (gfc_conv_cst_int_power): Only check for
939         flag_unsafe_math_optimizations if we have a float type.
940
941 2004-12-23  Steven G. Kargl  <kargls@comcast.net>
942
943         * gfortran.texi: Fix typo.
944
945 2004-12-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
946
947         * trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix
948         comment typo.
949
950 2004-12-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
951
952         PR fortran/18993
953         * match.c (gfc_match_if): Don't explicitly skip optional whitespace.
954         (gfc_match_nullify): Make sure that ')' is in front of the end of
955         statement.
956
957         * scanner.c (skip_fixed_comments): Fix typo in comment preceding
958         function.
959
960 2004-12-14  Richard Henderson  <rth@redhat.com>
961
962         * gfortran.h (gfc_expr.function.name): Make const.
963         (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
964         (gfc_get_string): Update prototype.
965         * iresolve.c: Include tree.h.
966         (string_node, HASH_SIZE, string_head, hash): Remove.
967         (gfc_get_string): Use vsnprintf, get_identifier.
968         (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
969         * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1.
970         (gfc_done_1): Don't call gfc_iresolve_done_1.
971         * module.c (mio_allocated_string): Take and return const char *,
972         instead of modifying char**.
973         (mio_expr): Update to match.
974         * resolve.c (pure_function): Constify name argument.
975         (resolve_function): Constify name.
976         * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise.
977
978 2004-12-12  Richard Henderson  <rth@redhat.com>
979
980         * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
981         gfc_resolve_cshift, gfc_resolve_dot_product, gfc_resolve_eoshift,
982         gfc_resolve_matmul, gfc_resolve_maxloc, gfc_resolve_maxval,
983         gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_pack,
984         gfc_resolve_product, gfc_resolve_reshape, gfc_resolve_shape,
985         gfc_resolve_spread, gfc_resolve_sum, gfc_resolve_transpose,
986         gfc_resolve_unpack: Use PREFIX.
987
988 2004-12-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
989
990         PR fortran/18869
991         * match.c (gfc_match_common): Skip whitespace.
992
993 2004-12-12  Steven G. Kargl  <kargls@comcast.net>
994
995         PR fortran/16581
996         * check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits,
997         gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default
998         integer kind check; Issue error for -std=f95 when needed.
999         * intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to
1000         GFC_STD_F95.
1001         * iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior):
1002         Promote arguments to same kind.
1003
1004 2004-12-12  Steven G. Kargl  <kargls@comcast.net>
1005         Paul Brook  <paul@codesourcery.com>
1006
1007         PR fortran/16222
1008         * resolve.c (gfc_resolve_iterator_expr): New function.
1009         (gfc_resolve_iterator): Use it.  Add real_ok argument.  Convert
1010         start, end and stride to correct type.
1011         (resolve_code): Pass extra argument.
1012         * array.c (resolve_array_list): Pass extra argument.
1013         * gfortran.h (gfc_resolve): Add prototype.
1014         * trans-stmt.c (gfc_trans_do): Remove redundant type conversions.
1015         Handle real type iterators.
1016
1017 2004-12-11  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1018
1019         PR fortran/17175
1020         * iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of
1021         same kind as C's 'int'.
1022         (gfc_resolve_set_exponent): Convert 'I' argument if not of kind 4.
1023
1024 2004-12-08  Richard Henderson  <rth@redhat.com>
1025
1026         * intrinsic.c (gfc_convert_type_warn): Propagate the input shape
1027         to the output expression.
1028         * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
1029         warning conversion.
1030         (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
1031         to index kind.
1032
1033 2004-12-08  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1034
1035         PR fortran/18826
1036         * resolve.c (resolve_code): Impose correct restrictions on
1037         assigned variable.
1038
1039         * decl.c (gfc_match_end): Use locus of END when eos is an error.
1040
1041 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
1042         Paul Brook  <paul@codesourcery.com>
1043
1044         * check.c (gfc_check_flush, gfc_check_fnum): New functions.
1045         (gfc_check_fstat, gfc_check_fstat_sub): New functions.
1046         (gfc_check_stat, gfc_check_stat_sub): New functions.
1047         * gfortran.h (GFC_ISYM_FNUM,GFC_ISYM_FSTAT,GFC_ISYM_STAT): New symbols
1048         * intrinsic.c (add_functions,add_subroutines): Add flush, fnum,
1049         fstat, and stat to intrinsics symbol tables.
1050         * intrinsic.h (gfc_check_flush, gfc_resolve_stat_sub): Add prototypes.
1051         (gfc_resolve_fstat_sub, gfc_resolve_stat): Ditto.
1052         * iresolve.c (gfc_resolve_fnum, gfc_resolve_fstat): New functions.
1053         (gfc_resolve_stat, gfc_resolve_flush): New functions.
1054         (gfc_resolve_stat_sub,gfc_resolve_fstat_sub): New functions
1055         * trans-intrinsic.c (gfc_conv_intrinsic_function): Add new intrinsics.
1056
1057 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
1058
1059         * intrinsic.c: Fix and add comments, fix function declarations
1060         (OPTIONAL,REQUIRED): New symbols
1061         (add_functions,add_subroutines): Use symbols
1062         (gmp.h): Remove unused include
1063
1064 2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
1065
1066         * f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quote
1067         in diagnostics.
1068
1069 2004-11-24  Steven Bosscher  <stevenb@suse.de>
1070
1071         * options.c (gfc_post_options): Don't clear flag_inline_functions.
1072
1073 2004-11-20  Steven G. Kargl  <kargls@comcast.net>
1074
1075         * check.c (gfc_check_getcwd_sub): Fix seg fault.
1076
1077         * check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub,
1078         gfc_check_unlink,gfc_check_unlink_sub): New functions
1079         * gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols
1080         * intrinsic.c (add_functions,add_subroutines): Add umask, unlink,
1081         exit to intrinsics symbol tables.
1082         * intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit,
1083         gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask,
1084         gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub,
1085         gfc_resolve_unlink_sub): Add and sort prototypes.
1086         * iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit,
1087         gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions
1088         * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols
1089
1090 2004-11-16  Paul Brook  <paul@codesourcery.com>
1091
1092         PR fortran/13010
1093         * trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype.
1094         (gfc_array_init_size, gfc_conv_expr_descriptor): Ditto.
1095         * trans-types.c (gfc_get_dtype): Accept array type rather than element
1096         type.
1097         (gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE.
1098         (gfc_get_array_type_bounds): Ditto.
1099         (gfc_get_derived_type): Recurse into derived type pointers.
1100         * trans-types.h (gfc_get_dtype): Add prototype.
1101         * trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment.
1102
1103 2004-11-15  Paul Brook  <paul@codesourcery.com>
1104
1105         * trans-types.c (gfc_get_dtype): Remove obsolete TODO.
1106
1107 2004-11-10  Paul Brook  <paul@codesourcery.com>
1108
1109         PR fortran/18375
1110         * trans-expr.c (gfc_trans_subarray_assign): Free shape before ss.
1111         * trans-io.c (transfer_array_component): Ditto.
1112
1113 2004-11-10  Paul Brook  <paul@codesourcery.com>
1114
1115         * invoke.texi: Fix typo.
1116
1117 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
1118
1119         * arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,
1120         gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c,
1121         module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c,
1122         trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c,
1123         trans-io.c, trans-stmt.c, trans.h: Fix comment formatting.
1124
1125 2004-11-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1126
1127         PR fortran/18023
1128         * io.c (resolve_tag): Tighten up exception for assigned FORMAT.
1129
1130 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
1131
1132         * gfortranspec.c: Replace GNU CC with GCC.
1133
1134 2004-11-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1135
1136         * gfortranspec.c (lang_specific_driver): Change year to 2004.
1137
1138 2004-11-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1139
1140         PR fortran/18111
1141         *  trans-decl.c (create_function_arglist): Set DECL_ARTIFICIAL for
1142         hidden parameters.
1143
1144 2004-11-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1145
1146         PR fortran/15164
1147         * trans-decl.c (gfc_finish_var_decl): Don't declare arguments to
1148         module procedures as if they were module variables.
1149
1150 2004-11-03  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1151
1152         PR fortran/17535
1153         PR fortran/17583
1154         PR fortran/17713
1155         * module.c (write_symbol1): Set module_name for dummy arguments.
1156
1157 2004-11-02  Paul Brook  <paul@codesourcery.com>
1158
1159         * intrinsic.c (check_intrinsic_standard): Include error locus.
1160         Remove VLA.
1161         (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Pass
1162         locus to check_intrinsic_standard.
1163
1164 2004-10-31  Janne Blomqvist  <jblomqvi@cc.hut.fi>
1165
1166         PR fortran/17590
1167         * gfortran.h: Change GFC_STD_* flags to more appropriate
1168         ones. (struct gfc_intrinsic_isym): Add field for standard. (struct
1169         gfc_option_t): Add field for warning about use of nonstandard
1170         intrinsics.
1171         * intrinsic.c (add_sym): Add parameter for standard version, check
1172         this against current standard.
1173         (add_sym_0): Pass standard parameter to add_sym.
1174         (add_sym_1, add_sym_0s, add_sym_1s, add_sym_1m, add_sym_2): Ditto.
1175         (add_sym_2s, add_sym_3, add_sym_3ml, add_sym_3red, add_sym_3s): Ditto.
1176         (add_sym_4, add_sym_4s, add_sym_5, add_sym_5s): Ditto.
1177         (make_generic): Add parameter for standard, check this
1178         against currently selected standard.
1179         (add_functions, add_subroutines): Add parameter to tell which
1180         standard an intrinsic belongs to.
1181         (check_intrinsic_standard): New function.
1182         (gfc_intrinsic_func_interface): Add call to check_intrinsic_standard.
1183         (gfc_intrinsic_sub_interface): Ditto.
1184         * lang.opt: Add Wnonstd-intrinsics option.
1185         * options.c (gfc_init_options): Change to use new GFC_STD_* flags,
1186         init new warning.
1187         (set_Wall): Add warning about nonstd intrinsics.
1188         (gfc_handle_option): Change to use new GFC_STD_* flags,
1189         handle new warning.
1190         * invoke.texi: Update manual to include -Wnonstd-intrinsics.
1191
1192 2004-10-30  Andrew Pinski  <pinskia@physics.uc.edu>
1193
1194         * f95-lang.c (lang_tree_node): Add chain_next to be the TREE_CHAIN.
1195
1196 2004-10-30  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1197
1198         * simplify.c (twos_complement): Calculate mask in GMP arithmetic.
1199
1200 2004-10-30  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1201
1202         * trans.c (gfc_trans_code): Set global locus after recursing. Fix
1203         comment typo.
1204
1205 2004-10-30  Canqun Yang  <canqun@nudt.edu.cn>
1206
1207         * check.c (gfc_check_rand): Allow missing optional argument.
1208         (gfc_check_irand): Ditto.
1209         * intrinsic.c (add_functions): Set arg optional flag for {i,}rand.
1210
1211 2004-10-28  Scott Robert Ladd  <scott.ladd@coyotegulch.com>
1212
1213         PR fortran/13490, PR fortran/17912
1214         * gcc/fortran/gfortran.h: Added pedantic_min_int to gfc_integer_info
1215         * gcc/fortran/gfortran.h: Added ARITH_ASYMMETRIC to arith
1216         * gcc/fortran/arith.c: Added support for an "asymmetric integer"
1217         warning when compiling with pedantic.
1218         * gcc/fortran/arith.c: Set minimum integer values to reflect
1219         realities of two's complement signed integers. Added
1220         pedantic minimum.
1221
1222 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1223
1224         * Make-lang.in (F95_ADDITIONAL_OBJS): Kill.
1225         (f951): Do not depend on F95_ADDITIONAL_OBJS and don't
1226         link it in.
1227
1228 2004-10-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1229
1230         * trans-decl.c (generate_local_decl): Simplify logic, fix comment
1231         typo.
1232         (gfc_generate_function_code): Fix formatting issue.
1233
1234 2004-10-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1235
1236         * module.c: Fix formatting issues.
1237
1238 2004-10-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1239
1240         * module.c (mio_interface_rest): Set where member of interface
1241         while loading.
1242
1243 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
1244
1245         PR fortran/17901
1246         * options.c (gfc_handle_option): Add break after handing the
1247         J/M option.
1248
1249 2004-10-08  Tobias Schlueter  <tobias.shclueter@physik.uni-muenchen.de>
1250
1251         * arith.c: Fix formatting issues.
1252
1253 2004-10-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1254
1255         PR fortran/17676
1256         * resolve.c (resolve_operator): Use correct operator name in message.
1257
1258 2004-10-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1259
1260         * primary.c (match_boz_constant): Allow kind parameter suffixes.
1261         Move standard warning further to the front.
1262
1263 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
1264
1265         * trans-stmt.c: Fix a comment typo.
1266
1267 2004-10-07  Paul Brook  <paul@codesourcery.com>
1268
1269         PR fortran/17678
1270         * trans-array.c (gfc_trans_deferred_array): Leave use associated
1271         variables alone.
1272
1273 2004-10-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1274
1275         PR fortran/17568
1276         * simplify.c (twos_complement): New function.
1277         (gfc_simplify_ishft, gfc_simplify_ishftc): Revise.
1278
1279         * simplify.c (gfc_simplify_abs): Use mpfr_hypot for CABS.
1280
1281 2004-10-06  Paul Brook  <paul@codesourcery.com>
1282
1283         * trans-stmt.c (gfc_trans_simple_do): New function.
1284         (gfc_trans_do): Use it.  Evaluate iteration bounds before entering
1285         loop.  Update comments.
1286
1287 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1288
1289         PR fortran/17283
1290         * iresolve.c (gfc_resolve_pack): Choose function depending if mask
1291         is scalar.
1292
1293         PR fortran/17631
1294         * intrinsic.c (add_sym_5): Remove.
1295         (add_subroutines): Add resolution function for MVBITS.
1296         * intrinsic.h (gfc_resolve_mvbits): Declare resolution function for
1297         MVBITS
1298         * iresolve.c (gfc_resolve_mvbits): New function.
1299         (gfc_resolve_random_number): Remove empty line at end of function.
1300
1301         * trans-const.c (gfc_build_cstring_const): New function.
1302         (gfc_init_cst): Use new function.
1303         * trans-const.h (gfc_build_cstring_const): Add prototype.
1304         * trans-io.c (set_string, set_error_locus): Use new function.
1305         * trans-stmt.c (gfc_trans_goto): Use new function.
1306
1307         PR fortran/17708
1308         * parse.c (accept_statement): Don't treat END DO like END IF and
1309         END SELECT.
1310         (parse_do_block): Generate possible END DO label inside END DO
1311         block.
1312
1313         PR fortran/17776
1314         * check.c (gfc_check_system_sub): New function.
1315         * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SYSTEM.
1316         * intrinsic.c (add_functions): Add 'system'.
1317         (add_subroutines): Add 'system'.
1318         * intrinsic.h (gfc_check_etime_sub, gfc_check_getcwd_sub):
1319         Move prototypes to other suborutines.
1320         (gfc_check_system_sub, gfc_resolve_system, gfc_resolve_system_sub):
1321         Add prototype.
1322         (gfc_resolve_system_clock): Fix formatting of prototype.
1323         * iresolve.c (gfc_resolve_system, gfc_resolve_system_sub): New
1324         functions.
1325         * trans-intrinsic.c (gfc_conv_intrinsic_function): Deal with
1326         GFC_ISYM_SYSTEM.
1327
1328 2004-10-04  Erik Schnetter  <schnetter@aei.mpg.de>
1329
1330         * scanner.c (preprocessor_line): Accept preprocessor lines without
1331         file names.  Check file names for closing quotes.  Handle escaped
1332         quotes in file names.
1333
1334 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1335         Paul Brook  <paul@codesourcery.com>
1336
1337         * trans-array.c (gfc_conv_expr_descriptor): Check for substriungs.
1338         Use gfc_get_expr_charlen.
1339         * trans-expr.c (gfc_get_expr_charlen): New function.
1340         * trans.h (gfc_get_expr_charlen): Add prototype.
1341
1342 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
1343
1344         * trans-intrinsic.c: Fix a comment typo.
1345
1346 2004-10-03  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1347
1348         * simplify.c (range_check): Remove blank line at beginning of function.
1349         (gfc_simplify_dint): Same at end of function.
1350         (gfc_simplify_exponent, gfc_simplify_fraction): Simplify calculations.
1351         (gfc_simplify_bound): Fix indentation.
1352         (gfc_simplify_log10): Simplify calculation.
1353         (gfc_simplify_min, gfc_simplify_max): Remove blank line at beginning
1354         of function.
1355         (gfc_simplify_nearest): Same at end of function.
1356         (gfc_simplify_nint, gfc_simplify_idnint): Same at beginning of
1357         function.
1358         (gfc_simplify_rrspacing, gfc_simplify_set_exponent,
1359         gfc_simplify_spacing): Simplify calulations.
1360
1361 2004-10-03  Feng Wang  <fengwang@nudt.edu.cn>
1362
1363         * trans-intrinsic.c: Fix comments on spacing and rrspacing
1364         (gfc_conv_intrinsic_rrspacing): Add fold on constant trees.
1365
1366 2004-10-01  Jan Hubicka  <jh@suse.cz>
1367
1368         * f95-lang.c (gfc_expand_function): Update call of
1369         tree_rest_of_compilation.
1370         * trans-decl.c (gfc_generate_constructors): Likewise.
1371
1372 2004-09-26  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1373
1374         * trans-intrinsic.c: Comment fixes.
1375
1376 2004-09-25  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1377
1378         * decl.c (add_init_expr_to_sym, variable_decl): Comment fixes.
1379
1380 2004-09-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1381
1382         * trans-types.c (gfc_return_by_reference): Remove superfluous
1383         assertion.
1384
1385         * intrinsic.h (gfc_resolve_getcwd): Update prototype.
1386         * iresolve.c (gfc_resolve_getcwd): Add second argument to function.
1387
1388         PR fortran/17615
1389         * trans-expr.c (gfc_trans_arrayfunc_assign): Look at resolved
1390         function to determine return type.
1391
1392 2004-09-20  Jan Hubicka  <jh@suse.cz>
1393
1394         * trans-decl.c (build_entry_thunks): Finalize the function; do not lower
1395         tree.
1396         (gfc_generate_function_code): Likewise.
1397
1398 2004-09-20  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1399
1400         PR fortran/15957
1401         * simplify.c (gfc_simplify_reshape): Set shape of return value
1402         correctly.
1403
1404 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
1405             Zack Weinberg  <zack@codesourcery.com>
1406
1407         * f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
1408         enumeration constants.
1409
1410 2004-09-17  Paul Brook  <paul@codesourcery.com>
1411
1412         * gfortran.h (struct gfc_linebuf): Don't use C99 empty arrays.
1413         (gfc_linebuf_header_size): Define.
1414         * scanner.c (load_file): Use it.
1415
1416 2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
1417
1418         * array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c,
1419         interface.c, intrinsic.c, io.c, misc.c, module.c, parse.h,
1420         resolve.c, scanner.c, trans-array.c, trans-array.h,
1421         trans-common.c, trans-const.h, trans-decl.c, trans-expr.c,
1422         trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
1423         trans.h: Fix comment typos.  Follow spelling conventions.
1424
1425 2004-09-16  Victor Leikehman  <lei@il.ibm.com>
1426
1427         PR/15364
1428         * trans-io.c (transfer_array_component): New function.
1429         (transfer_expr): For array fields, call transfer_array_component.
1430
1431 2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
1432
1433         * gfortran.texi: Fix a typo.
1434
1435 2004-09-15  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1436
1437         * parse.c (eof_buf): Rename eof to eof_buf.
1438         (unexpected_eof): Same.
1439         (gfc_parse_file): Same.
1440
1441 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
1442
1443         * check.c (gfc_check_getcwd_sub): New function.
1444         * gfortran.h (GFC_ISYM_GETCWD): New symbol.
1445         * intrinsic.c (add_functions): Add function definition;
1446         Use symbol.
1447         * intrinsic.c (add_subroutines): Add subroutine definitions.
1448         * intrinsic.h: Add prototypes.
1449         * iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
1450         New functions.
1451         * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
1452
1453 2004-09-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1454
1455         PR fortran/16485
1456         * module.c (write_symbol): Don't fill in module name here.
1457         (write_symbol0): Fill in here instead.
1458
1459 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
1460
1461         * data.c, decl.c, f95-lang.c, gfortran.h, match.c,
1462         trans-array.c, trans-common.c, trans-expr.c,
1463         trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix
1464         comment typos.  Follow spelling conventions.
1465
1466 2004-09-09  Paul Brook  <paul@codesourcery.com>
1467
1468         * scanner.c (get_file): Add ATTRIBUTE_UNUSED.
1469
1470 2004-09-08  Paul Brook  <paul@codesourcery.com>
1471
1472         * array.c: Don't include assert.h.
1473         * data.c: Don't include assert.h.  Replace assert and abort with
1474         gcc_assert and gcc_unreachable.
1475         * dependency.c: Ditto.
1476         * f95-lang.c: Ditto.
1477         * iresolve.c: Ditto.
1478         * resolve.c: Ditto.
1479         * simplify.c: Ditto.
1480         * symbol.c: Ditto.
1481         * trans-array.c: Ditto.
1482         * trans-common.c: Ditto.
1483         * trans-const.c: Ditto.
1484         * trans-decl.c: Ditto.
1485         * trans-expr.c: Ditto.
1486         * trans-intrinsic.c: Ditto.
1487         * trans-io.c: Ditto.
1488         * trans-stmt.c: Ditto.
1489         * trans-types.c: Ditto.
1490         * trans.c: Ditto.
1491
1492 2004-09-07  Per Bothner  <per@bothner.com>
1493         Paul Brook  <paul@codesourcery.com>
1494
1495         * error.c (show_locus): Handle mapped locations.
1496         * f95-lang.c (gfc_be_parse_file): Initialize mapped locations.
1497         * gfortran.h: Include input.h.
1498         (struct gfc_linebuf): Use source_location.
1499         * scanner.c (get_file): Initialize linemap.
1500         (preprocessor_line): Pass extra argument to get_file.
1501         (load_file): Ditto.  Setup linemap.
1502         (gfc_new_file): Handle mapped locations.
1503         * trans-common.c (build_field, build_equiv_decl, build_common_decl):
1504         Set decl source locations.
1505         (gfc_trans_common): Set blank common block location.
1506         * trans-decl.c (gfc_set_decl_location): New function.
1507         (gfc_get_label_decl, gfc_get_symbol_decl): Use it.
1508         (trans_function_start): Move call to gfc_set_backend_locus..
1509         (build_function_decl): ... to here.
1510         (build_entry_thunks): Set and restore the backend locus.
1511         (gfc_generate_constructors): Remove excess arguments to
1512         init_function_start.
1513         (gfc_generate_block_data): Add comments.  Set the decl locus.
1514         * trans-io.c (set_error_locus): Handle mapped locations.
1515         * trans.c (gfc_get_backend_locus, gfc_get_backend_locus): Ditto.
1516         (gfc_trans_code): Use SET_EXPR_LOCATION.
1517         (gfc_generate_code): Override the location of the new symbol.
1518         * trans.h (gfc_set_decl_location): Add prototype.
1519
1520 2004-08-31  Paul Brook  <paul@codesourcery.com>
1521
1522         * trans-types.c (gfc_type_for_mode): Return NULL for unknown modes.
1523
1524 2004-09-01  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1525
1526         PR fortran/15327
1527         * trans-intrinsic.c (gfc_conv_intrinsic_merge): Do the right thing for
1528         strings.
1529
1530 2004-09-01  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1531
1532         PR fortran/16400
1533         PR fortran/16404
1534         (port from g95)
1535         * resolve.c (resolve_transfer): New function.
1536         (resolve_code): Call resolve_transfer in case of EXEC_TRANSFER.
1537
1538 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1539
1540         PR fortran/16579
1541         * trans-types.c (gfc_init_types): Make gfc_character1_type_node an
1542         unsigned char.
1543
1544 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1545
1546         * CONTRIB, NEWS, README, TODO: Remove obsolete files.
1547
1548 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1549
1550         PR fortran/17244
1551         * trans-types.c (gfc_return_by_reference): Remove TODO error,
1552         add comment pointing out possible issue WRT compatibility with g77.
1553
1554 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1555
1556         * trans-decl.c, trans-expr.c, trans-io.c, trans-types.c: Replace
1557         all occurences of 'gfc_strlen_type_node' by
1558         'gfc_charlen_type_node'.
1559         * trans-types.h: Same. Also update comment accordingly.
1560
1561 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1562
1563         * primary.c: Update copyright boilerplate to say GCC.
1564         * f95-lang.c: Change initial comment to say gfortran.
1565
1566 2004-08-31  Paul Brook  <paul@codesourcery.com>
1567
1568         * trans-types.h: Add comments.
1569         (intmax_type_node, string_type_node, const_string_type_node): Remove.
1570
1571 2004-08-30  Richard Henderson  <rth@redhat.com>
1572
1573         * Make-lang.in (fortran/f95-lang.o): Update dependencies.
1574         (fortran/trans-decl.o, fortran/trans-types.o): Likewise.
1575         * gfortran.h (gfc_integer_info): Add c_char, c_short, c_int,
1576         c_long, c_long_long.
1577         (gfc_logical_info): Add c_bool.
1578         (gfc_real_info): Add mode_precision, c_float, c_double, c_long_double.
1579         * trans-array.c (gfc_array_allocate): Use TYPE_PRECISION
1580         rather than gfc_int[48]_type_node for allocate choice.
1581         * trans-decl.c (gfc_build_intrinsic_function_decls): Cache
1582         local copies of some kind type nodes.
1583         (gfc_build_builtin_function_decls): Likewise.
1584         * trans-expr.c (gfc_conv_power_op): Likewise.
1585         * trans-intrinsic.c (gfc_conv_intrinsic_index,
1586         gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify,
1587         gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat): Likewise.
1588         * trans-stmt.c (gfc_trans_pause, gfc_trans_stop,
1589         gfc_trans_character_select, gfc_trans_allocate): Likewise.
1590         * trans-io.c (gfc_pint4_type_node): Move into ...
1591         (gfc_build_io_library_fndecls): ... here.  Cache local copies of
1592         some kind type nodes.
1593         * trans-types.c (gfc_type_nodes): Remove.
1594         (gfc_character1_type_node, gfc_strlen_type_node): New.
1595         (gfc_integer_types, gfc_logical_types): New.
1596         (gfc_real_types, gfc_complex_types): New.
1597         (gfc_init_kinds): Fill in real mode_precision.
1598         (gfc_build_int_type, gfc_build_real_type): New.
1599         (gfc_build_complex_type, gfc_build_logical_type): New.
1600         (c_size_t_size): New.
1601         (gfc_init_types): Loop over kinds.
1602         (gfc_get_int_type, gfc_get_real_type): Use gfc_validate_kind.
1603         (gfc_get_complex_type, gfc_get_logical_type): Likewise.
1604         (gfc_get_character_type_len): Likewise.
1605         (gfc_type_for_size): Loop over kinds; use a reduced set of
1606         unsigned type nodes.
1607         (gfc_type_for_mode): Loop over kinds.
1608         (gfc_signed_or_unsigned_type): Use gfc_type_for_size.
1609         (gfc_unsigned_type, gfc_signed_type): Use gfc_signed_or_unsigned_type.
1610         * trans-types.h (F95_INT1_TYPE, F95_INT2_TYPE, F95_INT4_TYPE,
1611         F95_INT8_TYPE, F95_INT16_TYPE, F95_REAL4_TYPE, F95_REAL8_TYPE,
1612         F95_REAl16_TYPE, F95_COMPLEX4_TYPE, F95_COMPLEX8_TYPE,
1613         F95_COMPLEX16_TYPE, F95_LOGICAL1_TYPE, F95_LOGICAL2_TYPE,
1614         F95_LOGICAL4_TYPE, F95_LOGICAL8_TYPE, F95_LOGICAL16_TYPE,
1615         F95_CHARACTER1_TYPE, NUM_F95_TYPES, gfc_type_nodes,
1616         gfc_int1_type_node, gfc_int2_type_node, gfc_int4_type_node,
1617         gfc_int8_type_node, gfc_int16_type_node, gfc_real4_type_node,
1618         gfc_real8_type_node, gfc_real16_type_node, gfc_complex4_type_node,
1619         gfc_complex8_type_node, gfc_complex16_type_node,
1620         gfc_logical1_type_node, gfc_logical2_type_node,
1621         gfc_logical4_type_node, gfc_logical8_type_node,
1622         gfc_logical16_type_node, gfc_strlen_kind): Remove.
1623         (gfc_character1_type_node): Turn in to a variable.
1624         (gfc_strlen_type_node): Likewise.
1625
1626 2004-08-30  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1627
1628         * gfortran.h (gfc_namespace): Add new field is_block_data.
1629         * parse.c (accept_statement): Remove special handling for BLOCK DATA.
1630         (parse_block_data): Record BLOCK DATA name, set is_block_data field.
1631         * trans.c (gfc_generate_code): Handle BLOCK DATA units.
1632         * trans.h (gfc_generate_block_data): Add prototype.
1633         * trans-decl.c (gfc_generate_block_data): New function.
1634
1635 2004-08-29  Richard Henderson  <rth@redhat.com>
1636
1637         * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_export.
1638         * trans-types.c (gfc_init_kinds): Reject integer kinds larger
1639         than two HOST_WIDE_INT.
1640
1641 2004-08-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1642
1643         PR fortran/13910
1644         * decl.c (free_variable, free_value, gfc_free_data, var_list,
1645         var_element, top_var_list, match_data_constant, top_val_list,
1646         gfc_match_data): Move here from match.c.
1647         (match_old_style_init): New function.
1648         (variable_decl): Match old-style initialization.
1649         * expr.c (gfc_get_variable_expr): New function.
1650         * gfortran.h (gfc_get_variable_expr): Add prototype.
1651         * gfortran.texi: Start documentation for supported extensions.
1652         * match.c: Remove the functions moved to decl.c.
1653         * match.h (gfc_match_data): Move prototype to under decl.c.
1654         * symbol.c (gfc_find_sym_tree, gfc_find_symbol): Add/correct
1655         comments.
1656
1657 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
1658         Paul Brook  <paul@codesourcery.com>
1659
1660         * check.c (gfc_check_besn, gfc_check_g77_math1): New functions.
1661         * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Define.
1662         (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it.
1663         (build_builtin_fntypes): New function.
1664         (gfc_init_builtin_functions): Use it.
1665         * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_{J,Y}{0,1,N}
1666         and GFC_ISYM_ERF{,C}.
1667         (gfc_c_int_kind): Declare.
1668         * intrinsic.c (add_functions): Add [d]bes* and [d]erf*.
1669         * intrinsic.h (gfc_check_besn, gfc_check_g77_math1, gfc_resolve_besn,
1670         gfc_resolve_g77_math1): Add prototypes.
1671         * resolve.c (gfc_resolve_besn, gfc_resolve_g77_math1): New functions.
1672         * mathbuiltins.def: Add comment.  Change third argument.  Use
1673         DEFINE_MATH_BUILTIN_C.  Add bessel and error functions.
1674         * trans-intrinsic.c (BUILT_IN_FUNCTION): Define.
1675         (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it.
1676         * trans-types.c (gfc_c_int_kind): Declare.
1677         (gfc_init_kinds): Set it.
1678
1679 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
1680         Paul Brook  <paul@codesourcery.com>
1681
1682         * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_GET?ID.
1683         (gfc_check_f, gfc_simplify_f): Add f0.
1684         * intrinsic.c (do_check): Call f0.  Flatten.
1685         (add_sym_0): Fix prototype.  Set f0.
1686         (add_functions): Add getgid, getgid and getuid.
1687         (resolve_intrinsic): Remove obsolete comment.
1688         (do_simplify): Call f0.
1689         * intrinsic.h (gfc_resolve_getgid, gfc_resolve_getpid,
1690         gfc_resolve_getuid): Add prototypes.
1691         * iresolve.c (gfc_resolve_getgid, gfc_resolve_getpid,
1692         gfc_resolve_getuid): New functions.
1693         * trans-intrinsic.c (gfc_conv_intrinsic_function): Handle
1694         GFC_ISYM_GET?ID.
1695
1696 2004-08-28  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1697
1698         * error.c (gfc_error_init_1): Remove blank line in front of
1699         function body. Add missing blank.
1700         (gfc_buffer_error, error_char, error_string): Remove blank line in
1701         front of function body.
1702         (show_locus): Add comma in comment.
1703         (gfc_clear_warning, gfc_warning_check, gfc_clear_error,
1704         gfc_push_error, gfc_pop_error): Remove blank line in front of
1705         function body.
1706         (gfc_get_errors): Typo fix in comment in front of function. Remove
1707         blank line in front of function body.
1708
1709 2004-08-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1710
1711         * gfortran.h (gfc_default_*_kind): Remove prototypes, add extern
1712         variable declaration of same name.
1713         * arith.c, check.c, decl.c, dump_parse_tree.c, expr.c,
1714         intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c,
1715         resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c:
1716         Replace all calls to gfc_default_*_kind with variable accesses.
1717         * trans-types.c: Same as above.
1718         (gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove
1719         static qualifier. Replace all occurences.
1720         (gfc_default_*_kind): Remove functions.
1721
1722 2004-08-26  Richard Henderson  <rth@redhat.com>
1723
1724         * arith.c: Include system.h, not real system headers.
1725         (MPZ_NULL, MPF_NULL, DEF_GFC_INTEGER_KIND, DEF_GFC_LOGICAL_KIND,
1726         DEF_GFC_REAL_KIND, GFC_SP_KIND, GFC_SP_PREC, GFC_SP_EMIN, GFC_SP_EMAX,
1727         GFC_DP_KIND, GFC_DP_PREC, GFC_DP_EMIN, GFC_DP_EMAX, GFC_QP_KIND,
1728         GFC_QP_PREC, GFC_QP_EMIN, GFC_QP_EMAX): Remove.
1729         (gfc_integer_kinds, gfc_logical_kinds, gfc_real_kinds,
1730         gfc_index_integer_kind, gfc_default_integer_kind,
1731         gfc_default_real_kind,gfc_default_double_kind,
1732         gfc_default_character_kind, gfc_default_logical_kind,
1733         gfc_default_complex_kind, validate_integer, validate_real,
1734         validate_logical, validate_character,
1735         gfc_validate_kind): Move to trans-types.c.
1736         (gfc_set_model_kind): Use gfc_validate_kind.
1737         (gfc_set_model): Just copy the current precision to default.
1738         (gfc_arith_init_1): Use mpfr precision 128 for integer setup.
1739         * f95-lang.c (gfc_init_decl_processing): Invoke gfc_init_kinds.
1740         * gfortran.h: Update file commentary.
1741         * trans-types.c (MAX_INT_KINDS, MAX_REAL_KINDS): New.
1742         (gfc_default_integer_kind_1, gfc_default_real_kind_1,
1743         gfc_default_double_kind_1, gfc_default_character_kind_1,
1744         gfc_default_logical_kind_1, gfc_default_complex_kind_1): New.
1745         (gfc_init_kinds): New.
1746         (gfc_init_types): Don't set gfc_index_integer_kind here.
1747         * trans-types.h (gfc_init_kinds): Declare.
1748         * doc/invoke.texi: Clarify DOUBLE PRECISION behaviour wrt -r8.
1749
1750 2004-08-26  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1751
1752         * check.c (gfc_check_atan2): New function.
1753         * intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2
1754         * intrinsic.h (gfc_check_atan2): Add prototype.
1755
1756 2004-08-25  Richard Henderson  <rth@redhat.com>
1757
1758         * arith.c (gfc_validate_kind): Add may_fail argument; abort if
1759         false and we don't validate the kind.
1760         (gfc_check_integer_range, gfc_check_real_range): Update to match.
1761         * check.c (kind_check): Likewise.
1762         * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise.
1763         (match_char_spec, match_logical_spec): Likewise.
1764         * gfortran.h (gfc_validate_kind): Likewise.
1765         * options.c (gfc_handle_option): Likewise.
1766         * primary.c (match_integer_constant, match_real_constant,
1767         match_string_constant, match_logical_constant,
1768         match_const_complex_part): Likewise.
1769         * simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits,
1770         gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr,
1771         gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc,
1772         gfc_simplify_maxexponent, gfc_simplify_minexponent,
1773         gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision,
1774         gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing,
1775         gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan,
1776         gfc_simplify_tiny): Likewise.
1777         * trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
1778         gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
1779         prepare_arg_info): Likewise.
1780
1781 2004-08-25  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1782
1783         * expr.c (gfc_check_assign): Add comment. Add new warning.
1784         * trans-expr.c (gfc_conv_function_call): Correctly dereference
1785         result of pointer valued function when not in pointer assignment.
1786
1787 2004-08-25  Paul Brook  <paul@codesourcery.com>
1788
1789         * config-lang.in: Remove dead commented line.
1790         * module.c: Replace g95 with gfortran in comment.
1791
1792 2004-08-25  Paul Brook  <paul@codesourcery.com>
1793
1794         PR fortran/17190
1795         * arith.c (gfc_mpfr_to_mpz): Workaround mpfr bug.
1796
1797 2004-08-25  Paul Brook  <paul@codesourcery.com>
1798
1799         PR fortran/17144
1800         * trans-array.c (gfc_trans_allocate_temp_array): Remove
1801         string_length argument.
1802         (gfc_trans_array_ctor_element): New function.
1803         (gfc_trans_array_constructor_subarray): Use it.
1804         (gfc_trans_array_constructor_value): Ditto.  Handle constant
1805         character arrays.
1806         (get_array_ctor_var_strlen, get_array_ctor_strlen): New functions.
1807         (gfc_trans_array_constructor): Use them.
1808         (gfc_add_loop_ss_code): Update to new gfc_ss layout.
1809         (gfc_conv_ss_descriptor): Remember section string length.
1810         (gfc_conv_scalarized_array_ref): Ditto.  Remove dead code.
1811         (gfc_conv_resolve_dependencies): Update to new gfc_ss layout.
1812         (gfc_conv_expr_descriptor): Ditto.
1813         (gfc_conv_loop_setup): Ditto.  Spelling fixes.
1814         * trans-array.h (gfc_trans_allocate_temp_array): Update prototype.
1815         * trans-const.c (gfc_conv_constant):  Update to new gfc_ss layout.
1816         * trans-expr.c (gfc_conv_component_ref): Turn error into ICE.
1817         (gfc_conv_variable): Set string_length from section.
1818         (gfc_conv_function_call): Remove extra argument.
1819         (gfc_conv_expr, gfc_conv_expr_reference): Update to new gfc_ss layout.
1820         * trans-types.c (gfc_get_character_type_len): New function.
1821         (gfc_get_character_type): Use it.
1822         (gfc_get_dtype): Return zero for internal types.
1823         * trans-types.h (gfc_get_character_type_len): Add prototype.
1824         * trans.h (struct gfc_ss): Move string_length out of union.
1825
1826 2004-08-25  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1827
1828         * trans.h (build2_v, build3_v): New macros.
1829         (build_v): Remove.
1830         * f95-lang.c (gfc_truthvalue_conversion): Use build2 instead of
1831         build.
1832         * trans-array.c (gfc_conv_descriptor_data,
1833         gfc_conv_descriptor_offset, gfc_conv_descriptor_dimension,
1834         gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound,
1835         gfc_conv_descriptor_ubound, gfc_trans_allocate_array_storage,
1836         gfc_trans_allocate_temp_array,
1837         gfc_trans_array_constructor_subarray,
1838         gfc_trans_array_constructor_value, gfc_conv_array_index_ref,
1839         gfc_trans_array_bound_check, gfc_conv_array_index_offset,
1840         gfc_conv_scalarized_array_ref, gfc_conv_array_ref,
1841         gfc_conv_array_ref, gfc_trans_preloop_setup,
1842         gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride,
1843         gfc_conv_loop_setup, gfc_array_init_size,
1844         gfc_conv_array_initializer, gfc_trans_array_bounds,
1845         gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
1846         gfc_conv_expr_descriptor, gfc_conv_array_parameter,
1847         gfc_trans_deferred_array): Use buildN and buildN_v macros instead
1848         of build and build_v as appropriate.
1849         * trans-common.c (create_common): Same.
1850         * trans-decl.c (gfc_trans_auto_character_variable,
1851         gfc_trans_entry_master_switch, gfc_generate_function_code): Same.
1852         * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
1853         gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi,
1854         gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op,
1855         gfc_conv_expr_op, gfc_conv_function_call,
1856         gfc_trans_structure_assign): Same.
1857         * trans-intrinsic.c (build_fixbound_expr, build_round_expr,
1858         gfc_conv_intrinsic_aint, gfc_conv_intrinsic_bound,
1859         gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod,
1860         gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign,
1861         gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_minmax,
1862         gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
1863         gfc_conv_intrinsic_arith, gfc_conv_intrinsic_minmaxloc,
1864         gfc_conv_intrinsic_minmaxval, gfc_conv_intrinsic_btest,
1865         gfc_conv_intrinsic_bitop, gfc_conv_intrinsic_singlebitop,
1866         gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft,
1867         gfc_conv_intrinsic_merge, gfc_conv_intrinsic_strcmp,
1868         gfc_conv_allocated, gfc_conv_associated, prepare_arg_info,
1869         gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing,
1870         gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat,
1871         gfc_conv_intrinsic_iargc): Same.
1872         * trans-io.c (set_parameter_value, set_parameter_ref, set_string,
1873         set_flag, add_case, io_result, transfer_namelist_element,
1874         transfer_expr): Same.
1875         * trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_if_1,
1876         gfc_trans_arithmetic_if, gfc_trans_do, gfc_trans_do_while,
1877         gfc_trans_integer_select, gfc_trans_logical_select,
1878         gfc_trans_character_select, gfc_trans_forall_loop,
1879         gfc_trans_nested_forall_loop, gfc_do_allocate,
1880         generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
1881         compute_inner_temp_size, compute_overall_iter_number,
1882         allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
1883         gfc_trans_forall_1, gfc_evaluate_where_mask,
1884         gfc_trans_where_assign, gfc_trans_allocate): Same.
1885         * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Same.
1886         * trans.c (gfc_add_modify_expr, gfc_finish_block,
1887         gfc_build_array_ref, gfc_build_function_call,
1888         gfc_trans_runtime_check): Same.
1889
1890 2004-08-25  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1891
1892         * trans-const.c (gfc_conv_mpz_to_tree): Change call to
1893         build_int_cst to build_int_cst_wide in accordance to Nathan's
1894         previous patch.
1895
1896 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
1897
1898         * trans-array.c (gfc_trans_array_constructor_value): Adjust
1899         build_int_cst calls.
1900         * trans-const.c (gfc_build_string_const, gfc_init_constants,
1901         gfc_conv_mpz_to_tree, gfc_conv_constant_to_tree): Likewise.
1902         * trans-decl.c (gfc_get_symbol_decl, build_entry_thunks,
1903         gfc_trans_entry_master_switch): Likewise.
1904         * trans-intrinsic.c (gfc_conv_intrinsic_ibits,
1905         gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
1906         * trans-io.c (add_case, set_error_locus,
1907         transfer_namelist_element, transfer_expr): Likewise.
1908         * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
1909         gfc_trans_stop, gfc_trans_character_select): Likewise.
1910         * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
1911         * trans.c (gfc_trans_runtime_check): Likewise.
1912
1913 2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1914
1915         * trans-decl.c, trans-types.c: Add and remove blank lines as
1916         required.
1917
1918 2004-08-24  Richard Henderson  <rth@redhat.com>
1919
1920         * trans-const.c (gfc_conv_mpz_to_tree): Fix 64-bit shift warning.
1921
1922 2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1923
1924         * resolve.c (merge_argument_lists): Revert unintentionally
1925         committed change.
1926
1927 2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1928
1929         * trans-decl.c (build_function_decl): Fix spelling in comment.
1930         (build_entry_thunks): Remove code with no function.
1931         (gfc_build_intrinsic_function_decls): Remove empty line.
1932
1933         * resolve.c (resolve_entries): Fix a bunch of comment typos.
1934
1935 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
1936
1937         * f95-lang.c (gfc_init_decl_processing): Adjust
1938         build_common_tree_nodes call.
1939
1940 2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1941
1942         * trans-types.c: Spelling and formatting fixes.
1943
1944 2004-08-23  Richard Henderson  <rth@redhat.com>
1945
1946         * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead
1947         of going through an intermediate string.  Fix 32/64 int/long bug.
1948
1949 2004-08-23  Eric Christopher  <echristo@redhat.com>
1950
1951         * trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
1952         usage. Use build_vector_type_for_mode for vector types.
1953
1954 2004-08-22  Richard Henderson  <rth@redhat.com>
1955
1956         PR 13465
1957         * data.c (find_con_by_offset): Search ordered list; handle
1958         elements with repeat counts.
1959         (gfc_assign_data_value_range): New.
1960         * gfortran.h (struct gfc_data_value): Make repeat unsigned.
1961         (gfc_assign_data_value_range): Declare.
1962         * match.c (top_val_list): Extract repeat count into a temporary.
1963         * resolve.c (values): Make left unsigned.
1964         (next_data_value): Don't decrement left.
1965         (check_data_variable): Use gfc_assign_data_value_range.
1966
1967 2004-08-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1968
1969         * trans-const.c, trans-decl.c, trans-expr.c: Spelling fixes.
1970
1971 2004-08-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1972
1973         * check.c (gfc_check_reduction): Rename to ...
1974         (check_reduction): ... this. Make static. Don't check type of
1975         first argument.
1976         (gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions.
1977         * intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and
1978         SUM to use new check functions.
1979         (check_specific): Change logic to call new functions.
1980         * intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum):
1981         Add prototypes.
1982         (gfc_check_reduction): Remove prototype.
1983
1984 2004-08-20  Paul Brook  <paul@codesourcery.com>
1985         Canqun Yang  <canqun@nudt.edu.cn>
1986
1987         PR fortran/17077
1988         * trans-array.c (gfc_conv_array_parameter): Pass correct pointer
1989         for automatic arrays.
1990         * trans-types.c (gfc_get_nodesc_array_type): Add comment.
1991
1992 2004-08-19  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1993         (Port from g95)
1994
1995         PR fortran/17074
1996         * match.c (match_simple_forall, match_simple_where): Forward-declare.
1997         (gfc_match_if): Order statement list alphabetically, add WHERE and
1998         FORALL, remove double PAUSE.
1999         (gfc_match_simple_where, match_forall_header,
2000         gfc_match_simple_forall): New functions.
2001         (gfc_match_forall): Use match_forall_header.
2002
2003 2004-08-19  Paul Brook  <paul@codesourcery.com>
2004
2005         PR fortran/17091
2006         * gfortran.h (gfc_access): Give ACCESS_UNKNOWN value 0.
2007         * symbol.c (gfc_clear_attr): Use memset.
2008
2009 2004-08-19  Paul Brook  <paul@codesourcery.com>
2010
2011         PR fortran/14976
2012         PR fortran/16228
2013         * data.c (assign_substring_data_value): Remove.
2014         (create_character_intializer): New function.
2015         (gfc_assign_data_value): Track the typespec for the current
2016         subobject.  Use create_character_intializer.
2017
2018 2004-08-19  Erik Schnetter  <schnetter@aei.mpg.de>
2019
2020         PR fortran/16946
2021         * check.c (gfc_check_reduction): New function.
2022         (gfc_check_minval_maxval): Removed.
2023         (gfc_check_product): Removed.
2024         (gfc_check_sum): Removed.
2025         * intrinsic.h: Add/remove declarations for these.
2026         * gfortran.h: Add field f3red to union gfc_check_f.
2027         * intrinsic.c (add_sym_3red): New function.
2028         (add_functions): Register maxval, minval, product, and sum intrinsics
2029         through add_sym_3red.
2030         (check_specific): Handle f3red union field.
2031         * iresolve.c: Whitespace change.
2032
2033 2004-08-18  Paul Brook  <paul@codesourcery.com>
2034
2035         * trans-types.c (gfc_sym_type): Use pointer types for optional args.
2036
2037 2004-08-18  Victor Leikehman  <lei@il.ibm.com>
2038
2039         PR fortran/13278
2040         * trans-io.c (transfer_namelist_element): New. Recursively handle
2041         derived-type variables.  Pass string lengths.
2042         (build_dt): Code moved to build_namelist, with some
2043         changes and additions.
2044         (gfc_build_io_library_fndecls): Declare the fifth
2045         argument in st_set_nml_var_char -- string_length.
2046
2047 2004-08-17  Paul Brook  <paul@codesourcery.com>
2048         Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2049
2050         PR fortran/13082
2051         * decl.c (get_proc_name): Update mystery comment.
2052         (gfc_match_entry): Check for errors earlier.  Add entry point to list.
2053         * dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
2054         * gfortran.h (symbol_attribute): Add entry_master.  Document entry.
2055         (struct gfc_entry_list): Define.
2056         (gfc_get_entry_list): Define.
2057         (struct gfc_namespace): Add refs and entries.
2058         (enum gfc_exec_op): Add EXEC_ENTRY.
2059         (struct gfc_code): Add ext.entry.
2060         * module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
2061         (mio_symbol_attribute): Don't save/reture addr->entry.
2062         (mio_namespace_ref): Refcount namespaces.
2063         * parse.c (accept_statement): Handle ST_ENTRY.
2064         (gfc_fixup_sibling_symbols): Mark symbol as referenced.
2065         (parse_contained): Fixup sibling references to entry points
2066         after parsing the procedure body.
2067         * resolve.c (resolve_contained_fntype): New function.
2068         (merge_argument_lists, resolve_entries): New functions.
2069         (resolve_contained_functions): Use them.
2070         (resolve_code): Handle EXEC_ENTRY.
2071         (gfc_resolve): Call resolve_entries.
2072         * st.c (gfc_free_statement): Handle EXEC_ENTRY.
2073         * symbol.c (gfc_get_namespace): Refcount namespaces.
2074         (gfc_free_namespace): Ditto.
2075         * trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
2076         optional when multiple entry points are present.
2077         * trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
2078         (gfc_get_extern_function_decl): Add assertion.  Fix coment.
2079         (create_function_arglist, trans_function_start, build_entry_thunks):
2080         New functions.
2081         (gfc_build_function_decl): Rename ...
2082         (build_function_decl): ... to this.
2083         (gfc_create_function_decl): New function.
2084         (gfc_generate_contained_functions): Use it.
2085         (gfc_trans_entry_master_switch): New function.
2086         (gfc_generate_function_code): Use new functions.
2087         * trans-stmt.c (gfc_trans_entry): New function.
2088         * trans-stmt.h (gfc_trans_entry): Add prototype.
2089         * trans-types.c (gfc_get_function_type): Add entry point argument.
2090         * trans.c (gfc_trans_code): Handle EXEC_ENTRY.
2091         (gfc_generate_module_code): Call gfc_create_function_decl.
2092         * trans.h (gfc_build_function_decl): Remove.
2093         (gfc_create_function_decl): Add prototype.
2094
2095 2004-08-15  Andrew Pinski  <apinski@apple.com>
2096
2097         PR fortran/17030
2098         * f95-lang.c (gfc_init_builtin_functions): Initialize the builtins
2099         for cabs{,f} and copysign{,f}.
2100         * trans-decl.c (gfor_fndecl_math_cabsf): Delete.
2101         (gfor_fndecl_math_cabs): Delete.
2102         (gfor_fndecl_math_sign4): Delete.
2103         (gfor_fndecl_math_sign8): Delete.
2104         (gfc_build_intrinsic_function_decls): Remove the
2105         initializing of cabs{,f} and copysign{,f} functions.
2106         * trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtins
2107         instead of the functions definitions.
2108         (gfc_conv_intrinsic_sign): Likewise.
2109         * trans.h (gfor_fndecl_math_cabsf): Delete.
2110         (gfor_fndecl_math_cabs): Delete.
2111         (gfor_fndecl_math_sign4): Delete.
2112         (gfor_fndecl_math_sign8): Delete.
2113
2114 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
2115
2116         * trans-array.c (gfc_trans_array_constructor_value): Use
2117         build_int_cst.
2118         * trans-const.c (gfc_build_string_const,
2119         gfc_init_constants, gfc_conv_mpz_to_tree,
2120         gfc_conv_constant_to_tree): Likewise.
2121         * trans-decl.c (gfc_get_symbol_decl): Likewise.
2122         * trans-intrinsic.c (gfc_conv_intrinsic_ibits,
2123         gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
2124         * trans-io.c (add_case, set_error_locus, build_dt,
2125         transfer_expr): Likewise.
2126         * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
2127         gfc_trans_stop, gfc_trans_character_select): Likewise.
2128         * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
2129         * trans.c (gfc_trans_runtime_check): Likewise.
2130
2131 2004-08-14  Paul Brook  <paul@codesourcery.com>
2132
2133         * trans-decl.c (gfc_build_function_decl): Remove dead code.
2134
2135 2004-08-14  Paul Brook  <paul@codesourcery.com>
2136
2137         * trans-arry.c (gfc_trans_auto_array_allocation): Remove unused var.
2138
2139 2004-08-13  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2140
2141         * gfortran.h: Add comments.
2142         * parse.c (parse_contained): Fix comment typo.
2143         * resolve.c (was_declared): Ditto.
2144         * symbol.c: Ditto.
2145
2146 2004-08-11  Paul Brook  <paul@codeourcery.com>
2147
2148         PR fortran/16917
2149         * intrinsic.c (add_functions): Add dfloat as an alias for dble.
2150
2151 2004-08-10  Richard Henderson  <rth@redhat.com>
2152
2153         * f95-lang.c (gfc_init_builtin_functions): Remove
2154          __builtin_stack_alloc, add __builtin_alloca.
2155         * trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
2156         * trans-decl.c (gfc_trans_auto_character_variable): Likewise.
2157
2158 2004-08-10  Paul Brook  <paul@codesourcery.com>
2159
2160         * trans-io.c (transfer_expr): Handle pointters.
2161
2162 2004-08-10  Paul Brook  <paul@codesourcery.com>
2163
2164         PR fortran/16919
2165         * trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
2166         (gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
2167         (gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
2168         Handle GFC_SS_COMPONENT.
2169         (gfc_conv_ss_startstride): Ditto.  Set ss->shape.
2170         (gfc_conv_loop_setup): Tweak commends. Remove dead code.
2171         Use ss->shape.
2172         (gfc_conv_array_initializer): Call specific initializer routines.
2173         * trans-expr.c (gfc_trans_structure_assign): New function.
2174         (gfc_trans_subarray_assign): New function.
2175         (gfc_trans_subcomponent_assign): New fucntion
2176         (gfc_conv_structure): Use them.
2177         * trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
2178         (gfc_ss): Add shape.
2179
2180 2004-08-08  Victor Leikehman  <lei@il.ibm.com>
2181
2182         * simplify.c (gfc_simplify_shape): Bugfix.
2183         * expr.c (gfc_copy_shape_excluding): New function.
2184         * gfortran.h (gfc_get_shape): Bugfix.
2185         (gfc_copy_shape_excluding): Added declaration.
2186         * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
2187         gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound,
2188         gfc_resolve_ubound, gfc_resolve_transpose): Added compile
2189         time resolution of shape.
2190
2191 2004-08-06  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2192
2193         * intrinsic.c (add_subroutines): Add getenv and
2194         get_environment_variable. (add_sym_5s): New function.
2195         * intrinsic.h (gfc_resolve_get_environment_variable): Add
2196         prototype.
2197         * iresolve.c (gfc_resolve_get_environment_variable): New
2198         function.
2199
2200 2004-08-06  Feng Wang  <fengwang@nudt.edu.cn>
2201
2202         * f95-lang.c (gfc_init_builtin_functions): Fix the number of
2203         __builtin_pow[f] arguments.
2204
2205 2004-08-06  Steven G. Kargl  <kargls@comcast.net>
2206
2207         * arith.c: Add #define for model numbers.  Remove global GMP variables.
2208         (natural_logarithm,common_logarithm,exponential,sine,
2209         cosine,arctangent,hypercos,hypersine ): Remove.
2210         (gfc_mpfr_to_mpz,gfc_set_model_kind,gfc_set_model): New functions.
2211         (arctangent2,gfc_arith_init_1,gfc_arith_done_1
2212         gfc_check_real_range, gfc_constant_result, gfc_range_check,
2213         gfc_arith_uminus,gfc_arith_plus, gfc_arith_minus, gfc_arith_times,
2214         gfc_arith_divide,complex_reciprocal,complex_pow_ui,
2215         gfc_arith_power,gfc_compare_expr,compare_complex,gfc_convert_real,
2216         gfc_convert_complex,gfc_int2real,gfc_int2complex,
2217         gfc_real2int,gfc_real2real,gfc_real2complex,
2218         gfc_complex2int,gfc_complex2real,gfc_complex2complex): Convert GMP
2219         to MPFR, use new functions.
2220         * arith.h: Remove extern global variables.
2221         (natural_logarithm,common_logarithm,exponential, sine, cosine,
2222         arctangent,hypercos,hypersine): Remove prototypes.
2223         (arctangent2): Update prototype from GMP to MPFR.
2224         (gfc_mpfr_to_mpz, gfc_set_model_kind,gfc_set_model): Add prototypes.
2225         * dump-parse-tree.c (gfc_show_expr): Convert GMP to MPFR.
2226         * expr.c (free_expr0,gfc_copy_expr): Convert GMP to MPFR.
2227         * gfortran.h (GFC_REAL_BITS): Remove.
2228         (arith): Add ARITH_NAN.
2229         Include mpfr.h.  Define GFC_RND_MODE.
2230         Rename GCC_GFORTRAN_H GFC_GFC_H.
2231         (gfc_expr): Convert GMP to MPFR.
2232         * module.c: Add arith.h, correct type in comment.
2233         (mio_gmp_real): Convert GMP to MPFR.
2234         (mio_expr):  Use gfc_set_model_kind().
2235         * primary.c:  Update copyright date with 2004.
2236         (match_real_constant,match_const_complex_part): Convert GMP to MPFR.
2237         * simplify.c: Remove global GMP variables
2238         (gfc_simplify_abs,gfc_simplify_acos,gfc_simplify_aimag,
2239         gfc_simplify_aint,gfc_simplify_dint,gfc_simplify_anint,
2240         gfc_simplify_dnint,gfc_simplify_asin,gfc_simplify_atan,
2241         gfc_simplify_atan2,gfc_simplify_ceiling,simplify_cmplx,
2242         gfc_simplify_conjg,gfc_simplify_cos,gfc_simplify_cosh,
2243         gfc_simplify_dim,gfc_simplify_dprod,gfc_simplify_epsilon,
2244         gfc_simplify_exp,gfc_simplify_exponent,gfc_simplify_floor,
2245         gfc_simplify_fraction,gfc_simplify_huge,gfc_simplify_int,
2246         gfc_simplify_ifix,gfc_simplify_idint,gfc_simplify_log,
2247         gfc_simplify_log10,simplify_min_max,gfc_simplify_mod,
2248         gfc_simplify_modulo,gfc_simplify_nearest,simplify_nint,
2249         gfc_simplify_rrspacing,gfc_simplify_scale,
2250         gfc_simplify_set_exponent,gfc_simplify_sign,gfc_simplify_sin,
2251         gfc_simplify_sinh,gfc_simplify_spacing,gfc_simplify_sqrt,
2252         gfc_simplify_tan,gfc_simplify_tanh,gfc_simplify_tiny,
2253         gfc_simplify_init_1,gfc_simplify_done_1):  Convert GMP to MPFR.
2254         Use new functions.
2255         * trans-const.c (gfc_conv_mpfr_to_tree): Rename from
2256         gfc_conv_mpf_to_tree.  Convert it to use MPFR
2257         (gfc_conv_constant_to_tree): Use it.
2258         * trans-const.h: Update prototype for gfc_conv_mpfr_to_tree().
2259         * trans-intrinsic.c: Add arith.h, remove gmp.h
2260         (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod): Convert GMP to MPFR.
2261
2262 2004-08-06  Victor Leikehman  <lei@il.ibm.com>
2263         Paul Brook  <paul@codesourcery.com>
2264
2265         * trans-array.c (gfc_trans_allocate_array_storage,
2266         gfc_trans_allocate_temp_array, gfc_add_loop_ss_code,
2267         gfc_conv_loop_setup): For functions, if the shape of the result
2268         is not known in compile-time, generate an empty array descriptor for
2269         the result and let the callee to allocate the memory.
2270         (gfc_trans_dummy_array_bias): Do nothing for pointers.
2271         (gfc_conv_expr_descriptor): Use function return values directly.
2272         * trans-expr.c (gfc_conv_function_call): Always add byref call
2273         insn to pre chain.
2274         (gfc_trans_pointer_assignment): Add comments.
2275         (gfc_trans_arrayfunc_assign): Don't chain on expression.
2276
2277 2004-08-01  Roger Sayle  <roger@eyesopen.com>
2278
2279         * options.c (gfc_init_options): Don't warn about the use GNU
2280         extensions by default.
2281         (gfc_post_options): Warn about GNU extensions with -pedantic.
2282         (gfc_handle_option): Don't warn about GNU extensions with -std=gnu.
2283
2284 2004-07-30  Richard Henderson  <rth@redhat.com>
2285
2286         * trans-expr.c (gfc_conv_expr_reference): Create a CONST_DECL
2287         for TREE_CONSTANTs.
2288
2289 2004-07-25  Richard Henderson  <rth@redhat.com>
2290
2291         * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL
2292         and DECL_IGNORED_P on RESULT_DECL.
2293         (gfc_generate_constructors): Likewise.
2294
2295 2004-07-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2296
2297         PR fortran/16465
2298         * lang.opt (ffixed-line-length-none, ffixed-line-length-): New
2299         options.
2300         (ffixed-line-length-80, ffixed-line-length-132): Remove.
2301         * options.c (gfc_handle_options): Deal with changed options.
2302         * scanner.c (load_line): Change second arg to 'char **',
2303         allocate if pointing to NULL. Keep track of buffer's length.
2304         Adapt buffer size to overlong lines. Pad lines to full length
2305         in fixed form.
2306         (load_file): Adapt to new interface of load_line.
2307
2308 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
2309
2310         * trans.h (builtin_function): Declare.
2311
2312 2004-07-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2313
2314         PR fortran/16404
2315         (parts ported from g95)
2316         * parse.h (gfc_state_data): New field do_variable.
2317         (gfc_check_do_variable): Add prototype.
2318         * parse.c (push_state): Initialize field 'do_variable'.
2319         (gfc_check_do_variable): New function.
2320         (parse_do_block): Remember do iterator variable.
2321         (parse_file): Initialize field 'do_variable'.
2322         * match.c (gfc_match_assignment, gfc_match_do,
2323         gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate):
2324         Add previously missing checks.
2325         (gfc_match_return): Reformat error message.
2326         * io.c (match_out_tag): New function.
2327         (match_open_element, match_close_element,
2328         match_file_element, match_dt_element): Call match_out_tag
2329         instead of match_vtag where appropriate.
2330         (match_io_iterator, match_io_element): Add missing check.
2331         (match_io): Reformat error message.
2332         (match_inquire_element): Call match_out_tag where appropriate.
2333
2334         * parse.c (gfc_check_do_variable): Fix error locus.
2335
2336 2004-07-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2337
2338         PR fortran/15129
2339         * trans-decl.c (gfc_build_function_decl): Create a new chardecl
2340         for every assumed length character dummy argument.
2341
2342         PR fortran/15140
2343         * trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.
2344
2345         PR fortran/13792
2346         * simplify.c (gfc_simplify_bound): Copy the bound expression.
2347
2348 2004-07-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2349
2350         PR fortran/15324
2351         * trans-array.c gfc_trans_g77_array,
2352         gfc_trans_dummy_array_bias): Don't call gfc_trans_string_init
2353         for assumed length characters.
2354         (gfc_conv_expr_descriptor): Set se->string_length if dealing
2355         with a character expression.
2356         (gfc_cvonv_array_parameter): Pass string length when passing
2357         character array according to g77 conventions.
2358
2359 2004-07-12  Paul Brook  <paul@codesourcery.com>
2360
2361         * expr.c (gfc_check_assign_symbol): Handle pointer assignments.
2362         * trans-array.c (gfc_trans_auto_array_allocation): Remove
2363         initialization code.
2364         * trans-common.c (create_common): Use gfc_conv_initializer.
2365         * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer.
2366         * trans-expr.c (gfc_conv_initializer): New function.
2367         (gfc_conv_structure): Use it.
2368         * trans.h (gfc_conv_initializer): Add prototype.
2369
2370 2004-07-11  Paul Brook  <paul@codesourcery.com>
2371
2372         PR fortran/15986
2373         * parse.c (gfc_fixup_sibling_symbols): Also look for untyped
2374         variables.
2375         (parse_contained): Mark contained symbols as referenced.
2376
2377 2004-07-11  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2378
2379         PR fortran/16455
2380         * module.c (gfc_dump_module, gfc_use_module): Print locus
2381         when opening of module file fails.
2382
2383         PR fortran/16404
2384         * io.c (match_io): Flag 'WRITE(...), ...' as extension.
2385
2386         PR fortran/16404
2387         * match.c (gfc_match_program): A program name is obligatory.
2388         (gfc_match_return): RETURN in main program is an extension.
2389         (gfc_match_block_data): A space is required before a block data
2390         name.
2391
2392         PR fortran/16433
2393         * primary.c (match_boz_constant): Call gfc_notify_std only if
2394         we actually have a non-standard boz-literal-constant.
2395
2396         PR fortran/15754
2397         * expr.c (gfc_check_assign): Print ranks if incompatible. Issue
2398         warning if assigning NULL().
2399
2400 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
2401
2402         * f95-lang.c (set_block): Remove.
2403         (gfc_clear_binding_stack): New.
2404         (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
2405         (struct binding_level): Remove block_created_by_back_end.
2406         (clear_binding_level): Likewise.
2407         (poplevel): Don't handle block_created_by_back_end.
2408
2409 2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2410
2411         * trans-decl.c (gfc_create_module_variable): Nothing to do if
2412         symbol is in common, because we ...
2413         (gfc_generate_module_vars): Call gfc_trans_common.
2414
2415 2004-07-10  Paul Brook  <paul@codesourcery.com>
2416
2417         * trans-array.c (gfc_build_null_descriptor): New function.
2418         (gfc_trans_static_array_pointer): Use it.
2419         * trans-array.h (gfc_build_null_descriptor): Add prototype.
2420         * trans-expr.c (gfc_conv_structure): Handle array pointers.
2421
2422 2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2423
2424         PR fortran/16336
2425         * decl.c (gfc_match_save): Use-associated common block
2426         doesn't collide.
2427         * gfortran.h (gfc_common_head): Add new field 'name'.
2428         Fix typo in comment after #endif.
2429         * match.c (gfc_get_common): Add new argument from_common,
2430         mangle name if flag is set, fill in new field in structure
2431         gfc_common_head.
2432         (match_common): Set new arg in call to gfc_get_common,
2433         use-associated common block doesn't collide.
2434         * match.h (gfc_get_common): Adapt prototype.
2435         * module.c (load_commons): Set new arg in call to
2436         gfc_get_common.
2437         * symbol.c (free_common_tree): New function.
2438         (gfc_free_namespace): Call new function.
2439         * trans-common.c (several functions): Remove argument
2440         'name', use name from gfc_common_head instead.
2441
2442 2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2443
2444         * expr.c (gfc_check_pointer_assign): Verify that rank of the LHS
2445         and RHS match. Return early if the RHS is NULL().
2446
2447         PR fortran/16336
2448         * match.c (match_common): Fix error reporting for used common.
2449
2450         PR fortran/15969
2451         * trans-expr.c (gfc_conv_structure): Handle initialization
2452         of scalar pointer components.
2453
2454         * parse.c (decode_statement): Fix matching of BLOCK DATA.
2455
2456         * trans-decl.c (generate_local_decl): Remove workaround obsoleted
2457         by fix for PR 15481.
2458
2459 2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2460
2461         * trans-common.c: Fix whitespace issues, make variable names
2462         more readable.
2463         (create_common): Additionally, make loop logic more obvious.
2464
2465 2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2466         Paul Brook  <paul@codesourcery.com>
2467
2468         PR fortran/13415
2469         * trans-common.c (calculate_length): Remove ...
2470         (get_segment_info): Merge into here.  Save field type.
2471         (build_field): Use saved type.
2472         (create_common, new_condition, new_segment, finish_equivalences):
2473         Use new get_segment_info.
2474         * trans-types.c: Update comment.
2475
2476 2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2477
2478         PR fortran/14077
2479         * moduele.c (mio_symbol): Don't I/O initial values unless
2480         symbol is a parameter.
2481
2482 2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2483
2484         PR fortran/13201
2485         * resolve.c (resolve_symbol): Verify that the shape of a
2486         parameter array is not only explicit, but also constant.
2487         * array.c (gfc_is_compile_time_shape): New function.
2488         * gfortran.h (gfc_is_compile_time_shape): Add prototype.
2489
2490 2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2491
2492         PR fortran/15481
2493         PR fortran/13372
2494         PR fortran/13575
2495         PR fortran/15978
2496         * module.c (write_symbol, write_symtree): Remove workaround.
2497         * primary.c (match_actual_arglist): Enhance comment.
2498         (gfc_match_rvalue): Handle function call with first argument
2499         a keyword argument correctly.
2500         * resolve.c (resolve_symbol): Change call to
2501         gfc_set_default_type to issue error if no implicit type
2502         can be found.
2503         * trans-decl.c (gfc_create_module_variable): Remove workaround.
2504
2505 2004-07-08  Paul Brook  <paul@codesourcery.com>
2506
2507         * intrinsic.c (add_sym_4s): New function.
2508         (add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s.
2509
2510 2004-07-04  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2511         Paul Brook  <paul@codesourcery.com>
2512
2513         PR fortran/15280
2514         PR fortran/15665
2515         * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and
2516         GFC_ISYM_COMMAND_ARGUMENT_COUNT.
2517         * intrinsic.c (add_functions):  Identify iargc.  Add
2518         command_argument_count.
2519         (add_subroutines): Resolve getarg.  Add get_command and
2520         get_command_argument.
2521         * intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command,
2522         gfc_resolve_get_command_argument): Add prototypes.
2523         * iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command,
2524         gfc_resolve_get_command_argument): New functions.
2525         * trans-decl.c (gfor_fndecl_iargc): New variable.
2526         (gfc_build_intrinsic_function_decls): Set it.
2527         * trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function.
2528         (gfc_conv_intrinsic_function): Use it.
2529         * trans.h (gfor_fndecl_iargc): Declare.
2530
2531 2004-07-04  Matthias Klose  <doko@debian.org>
2532
2533         * Make-lang.in: Generate and install gfortran man page.
2534         * invoke.texi: Remove extra '@c man end'.
2535
2536 2004-07-04  Richard Henderson  <rth@redhat.com>
2537
2538         * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
2539
2540 2004-07-04  Paul Brook  <paul@codesourcery.com>
2541
2542         * decl.c (gfc_match_implicit_range): Don't use typespec.
2543         (gfc_match_implicit): Handle character selectors.
2544         * gfortran.h (gfc_set_implicit): Remove prototype.
2545         (gfc_add_new_implicit_range, gfc_merge_new_implicit): Update.
2546         * parse.c (accept_statement): Don't call gfc_set_implicit.
2547         * symbol.c (new_ts): Remove.
2548         (gfc_set_implicit_none): Use same loop bounds as other functions.
2549         (gfc_set_implicit): Remove.
2550         (gfc_clear_new_implicit, gfc_add_new_implicit_range): Only set flags.
2551         (gfc_merge_new_implicit): Combine with gfc_set_implicit.
2552
2553 2004-06-30  Richard Henderson  <rth@redhat.com>
2554
2555         * match.c (var_element): Remove unused variable.
2556
2557         * trans-decl.c (gfc_generate_function_code): Don't set
2558         x_whole_function_mode_p.
2559         (gfc_generate_constructors): Likewise.
2560
2561 2004-06-30  Richard Henderson  <rth@redhat.com>
2562
2563         * trans-decl.c (gfc_generate_function_code): Don't set
2564         immediate_size_expand.
2565         (gfc_generate_constructors): Likewise.
2566
2567 2004-06-30  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2568
2569         PR fortran/16161
2570         * decl.c (gfc_match_type_spec): Rename second argument to
2571         'implicit_flag', reverse meaning. Don't match_char_spec if
2572         'implicit_flag' is set. Rename to ...
2573         (match_type_spec): ... this.
2574         (gfc_match_implicit_none, match_implicit_range): Move here
2575         from match.c.
2576         (gfc_match_implicit): Move here from match.c, try to
2577         match_char_len if match_implicit_range doesn't succeed for
2578         CHARACTER implicits. Call renamed fucntion match_type_spec.
2579         (gfc_match_data_decl, match_prefix): Call renamed function
2580         match_type_spec.
2581         * match.c (gfc_match_implicit_none, match_implicit_range,
2582         gfc_match_implicit): Move to decl.c.
2583         * match.h (gfc_match_implicit_none, gfc_match_implicit):
2584         Move protoypes to section 'decl.c'.
2585         (gfc_match_type_spec): Remove prototype.
2586
2587 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2588
2589         * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to
2590         copyright years.
2591
2592 2004-06-29  Steven Bosscher  <stevenb@suse.de>
2593
2594         Make sure types in assignments are compatible.  Mostly mechanical.
2595         * trans-const.h (gfc_index_one_node): New define.
2596         * trans-array.c (gfc_trans_allocate_array_storage,
2597         gfc_trans_allocate_temp_array, gfc_trans_array_constructor_subarray,
2598         gfc_trans_array_constructor_value, gfc_trans_array_constructor,
2599         gfc_conv_array_ubound, gfc_conv_array_ref,
2600         gfc_trans_scalarized_loop_end, gfc_conv_section_startstride,
2601         gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_array_init_size,
2602         gfc_trans_array_bounds, gfc_trans_dummy_array_bias,
2603         gfc_conv_expr_descriptor, gfc_trans_deferred_array): Use the correct
2604         types in assignments, conversions and conditionals for expressions.
2605         * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
2606         gfc_conv_unary_op, gfc_conv_cst_int_power, gfc_conv_string_tmp,
2607         gfc_conv_function_call, gfc_trans_pointer_assignment,
2608         gfc_trans_scalar_assign): Likewise.
2609         * trans-intrinsic.c (build_fixbound_expr, gfc_conv_intrinsic_bound,
2610         gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
2611         gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_btest,
2612         gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ishft,
2613         gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_strcmp,
2614         gfc_conv_allocated, gfc_conv_associated,
2615         gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_trim): Likewise.
2616         * trans-io.c (set_string): Likewise.
2617         * trans-stmt.c (gfc_trans_do, gfc_trans_forall_loop,
2618         gfc_do_allocate, generate_loop_for_temp_to_lhs,
2619         generate_loop_for_rhs_to_temp, compute_inner_temp_size,
2620         compute_overall_iter_number, gfc_trans_assign_need_temp,
2621         gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
2622         gfc_evaluate_where_mask, gfc_trans_where_assign,
2623         gfc_trans_where_2): Likewise.
2624         * trans-types.c (gfc_get_character_type, gfc_build_array_type,
2625         gfc_get_nodesc_array_type, gfc_get_array_type_bounds): Likewise.
2626
2627         * trans.c (gfc_add_modify_expr): Add sanity check that types
2628         for the lhs and rhs are the same for scalar assignments.
2629
2630 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2631
2632         * dump-parse-tree.c (show_common): New function.
2633         (gfc_show_namespace): Show commons.
2634
2635 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2636         Andrew Vaught  <andyv@firstinter.net>
2637
2638         PR fortran/13249
2639         PR fortran/15481
2640         * decl.c (gfc_match_save): Adapt to new common structures,
2641         don't allow saving USE-associated common.
2642         * dump-parse-tree (gfc_show_attr): (saved_)common are not
2643         symbol attributes any longer.
2644         (gfc_show_symbol): Don't show old-style commons any longer.
2645         (gfc_show_namespace): Adapt call to gfc_traverse_symtree to new
2646         interface.
2647         * gfortran.h (symbol_attribute): Remove common and saved_common
2648         attributes.
2649         (gfc_symbol): Remove common_head element.
2650         (gfc_common_head): New struct.
2651         (gfc_get_common_head): New macro.
2652         (gfc_symtree): Add field 'common' to union.
2653         (gfc_namespace): Add field 'common_root'; change type of field
2654         'blank_common' to blank_common.
2655         (gfc_add_data): New prototype.
2656         (gfc_traverse_symtree): Expect a symtree as first argument
2657         instead of namespace.
2658         * match.c (gfc_get_common): New function.
2659         (match_common_name): Change to take char * as argument, adapt,
2660         fix bug with empty name.
2661         (gfc_match_common): Adapt to new data structures. Disallow
2662         redeclaration of USE-associated COMMON-block. Fix bug with
2663         empty common.
2664         (var_element): Adapt to new common structures.
2665         * match.h (gfc_get_common): Declare.
2666         * module.c: Add 2004 to copyright years, add commons to module
2667         file layout description.
2668         (ab_attribute, attr_bits, mio_symbol_attributes): Remove code
2669         for removed attributes.
2670         (mio_symbol): Adapt to new way of storing common relations.
2671         (load_commons): New function.
2672         (read_module): Skip common list on first pass, load_commons at
2673         second.
2674         (write_commons): New function.
2675         (write_module): Call write_commons().
2676         * symbol.c (gfc_add_saved_comon, gfc_add_common): Remove
2677         functions related to removed attributes.
2678         (gfc_add_data): New function.
2679         (gfc_clear_attr): Don't set removed attributes.
2680         (gfc_copy_attr): Don't copy removed attributes.
2681         (traverse_symtree): Remove.
2682         (gfc_traverse_symtree): Don't traverse symbol
2683         tree of the passed namespace, but require a symtree to be passed
2684         instead. Unify with traverse_symtree.
2685         (gfc_traverse_ns): Call gfc_traverse_symtree according to new
2686         interface.
2687         (save_symbol): Remove setting of removed attribute.
2688         * trans-common.c (gfc_sym_mangled_common_id): Change to
2689         take 'char *' argument instead of 'gfc_symbol'.
2690         (build_common_decl, new_segment, translate_common): Adapt to new
2691         data structures, add new
2692         argument name.
2693         (create_common): Adapt to new data structures, add new
2694         argument name. Fix typo in intialization of derived types.
2695         (finish_equivalences): Add second argument in call to
2696         create_common.
2697         (named_common): take 'gfc_symtree' instead of 'gfc_symbol'.
2698         (gfc_trans_common): Adapt to new data structures.
2699         * trans-decl.c (gfc_create_module_variables): Remove test for
2700         removed attribute.
2701
2702 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2703
2704         * io.c: Add 2004 to copyright years.
2705
2706 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2707         Andrew Vaught  <andyv@firstinter.net>
2708
2709         * gfortran.h (gfc_gsymbol): New typedef.
2710         (gfc_gsym_root): New variable.
2711         (gfc_get_gsymbol, gfc_find_gsym): New prototypes.
2712         * parse.c (global_used): New function.
2713         (parse_block_data): Check for double empty BLOCK DATA,
2714         use global symbol table.
2715         (parse_module): Use global symbol table.
2716         (add_global_procedure, add_global_program): New functions.
2717         (gfc_parse_file): Use global symbol table.
2718         * symbol.c (gfc_gsym_root): New variable.
2719         (gfc_find_gsym, gsym_compare, gfc_get_gsymbol): New
2720         functions.
2721
2722 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2723
2724         * module.c (mio_gmp_real): Correct writing of negative numbers.
2725
2726 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2727
2728         PR fortran/15963
2729         * expr.c (check_intrinsic_op): Allow comparison of characters.
2730         Make logic easier.
2731
2732 2004-06-26  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2733         Andrew Vaught  <andyv@firstinter.net>
2734
2735         * decl.c (contained_procedure): New function.
2736         (match_end): Verify correctness of END STATEMENT in
2737         all cases.
2738
2739 2004-06-26  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2740         Andrew Vaught  <andyv@firstinter.net>
2741
2742         PR fortran/15190
2743         * decl.c (gfc_match_type_spec), io.c (match_io), parse.c
2744         (decode_statement): Enforce required space in free-form.
2745
2746 2004-06-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2747
2748         * f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
2749         * trans-array.c (gfc_conv_descriptor_data): Add operand
2750         for COMPONENT_REF.
2751         (gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
2752         (gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
2753         (gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
2754         * trans-common.c (create_common): Likewise.
2755         * trans-expr.c (gfc_conv_component_ref): Likewise.
2756         * trans-io.c (set_parameter_value): Likewise.
2757         (set_parameter_ref, set_string, set_flag, io_result): Likewise.
2758         (transfer_expr): Likewise.
2759         * trans-decl.c (gfc_trans_auto_character_variable):
2760         Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
2761         (gfc_gimplify_function): New function.
2762         (gfc_generate_function-code): Properly handle nested functions.
2763         * trans.c (gfc_build_array_ref): Add two new operands for ARRAY_REF.
2764
2765 2004-06-22  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2766
2767         PR fortran/15750
2768         * io.c (gfc_match_inquire): Bugfix for iolength related stuff.
2769         (gfc_resolve_inquire): Resolve the iolength tag.  Return
2770         SUCCESS at end of function if no failure has occured.
2771         * resolve.c (resolve_code): Resolve if iolength is encountered.
2772         * trans-io.c: (ioparm_iolength, iocall_iolength,
2773         iocall_iolength_done): New variables.
2774         (last_dt): Add IOLENGTH.
2775         (gfc_build_io_library_fndecls ): Set iolength related variables.
2776         (gfc_trans_iolength): Implement.
2777         (gfc_trans_dt_end): Treat iolength as a third form of data transfer.
2778
2779 2004-06-21  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de
2780
2781         PR fortran/15511
2782         * scanner.c (load_line): Don't truncate preprocessor lines.
2783         Reformat error message.
2784         (preprocessor_line): Issue warning in case of malformed
2785         preprocessor line.
2786
2787 2004-06-21  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2788
2789         * resolve.c (resolve_symbol): Add comment in function body.
2790         (check_data_variable): Change type of mark to ar_type, adapt code
2791         accordingly.
2792
2793 2004-06-21  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2794
2795         * array.c (gfc_insert_constructor): Avoid redundant call to
2796         mpz_comp. Add 2004 to copyright years.
2797
2798 2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
2799
2800         * trans.h (stmtblock_t): Change has_scope to unsigned int.
2801
2802 2004-06-20  Steven G. Kargl  <kargls@comcast.net>
2803
2804         * arith.c (gfc_range_check): correct complex underflow.
2805
2806 2004-06-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2807
2808         PR fortran/15962
2809         * match.c (match_case_selector): Call gfc_match_init_expr
2810         instead of gfc_match_expr.
2811         * resolve.c (validate_case_label_expr): No need to check for
2812         constant, since it wouldn't have been matched with the fix to
2813         match.c.
2814
2815 2004-06-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2816
2817         PR fortran/15211
2818         * trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arrays
2819         of strings.
2820
2821 2004-06-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2822
2823         PR fortran/15510
2824         * trans-deecl.c (generate_local_decl): Do not issue warning for
2825         unused variables if they're use associated.
2826
2827 2004-06-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2828         Andrew Vaught <andyv@firstinter.net>
2829
2830         PR fortran/14928
2831         * gfortran.h (gfc_check_f): Add new field f3ml.
2832         * check.c (gfc_check_minloc_maxloc): Take argument list instead
2833         of individual arguments, reorder if necessary.
2834         * intrinsic.h (gfc_check_minloc_maxloc): ... adapt prototype.
2835         * intrinsic.c (add_sym_3ml): New function.
2836         (add_functions): Change to add_sym_3ml for MINLOC, MAXLOC.
2837         (check_specific): Catch special case MINLOC, MAXLOC.
2838
2839 2004-06-14  Paul Brook  <paul@codesourcery.com>
2840
2841         * intrinsic.c (add_sym_2s): Use correct function types.
2842
2843 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2844
2845         * Make-lang.in (F95_OBJS, F95_PARSER_OBJS): Alphabetize.  Move data.c
2846         * data.c (gfc_get_section_index):  Remove dependency on trans.h.
2847
2848 2004-06-12  Steven G. Kargl  <kargls@comcast.net>
2849
2850         * check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_rand
2851         gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions.
2852         * gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME,
2853         GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND.
2854         * trans-intrinsic.c:  Use symbols.
2855         * intrinsic.c (add_sym_2s): New function.
2856         * intrinsic.c: Add etime, dtime, irand, rand, second, srand.
2857         * intrinsic.h: Function prototypes.
2858         * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub
2859         gfc_resolve_srand):  New functions.
2860
2861 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2862
2863         PR fortran/14957
2864         * decl.c (gfc_match_end): Require END {SUBROUTINE|FUNCTION} for
2865         contained procedure.
2866
2867 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2868
2869         PR fortran/12841
2870         * interface.c (compare_parameter, compare_actual_formal): Don't
2871         check types and array shapes for NULL()
2872         * trans-expr.c (conv_function_call): No double indirection for
2873         NULL()
2874
2875 2004-06-09  Toon Moene  <toon@moene.indiv.nluug.nl>
2876
2877         * trans-expr.c (gfc_conv_cst_int_power): Compute
2878         x**(-n) by converting it to (1/x)**n instead of
2879         1/x**n.
2880
2881 2004-06-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2882
2883         PR fortran/13372
2884         * module.c (write_symbol, write_symtree): Don't write symbols
2885         wrongly added to namespace.
2886         * trans-decl.c (gfc_create_module_variable): Don't create a
2887         backend decl for a symbol incorrectly added to namespace.
2888
2889 2004-06-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2890
2891         PR fortran/13201
2892         * resolve.c (resolve_symbol): Verify that parameter array has an
2893         explicit shape. Fix typos and coding style issues in surrounding
2894         lines.
2895
2896 2004-06-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2897
2898         PR fortran/15478
2899         * gfortran.texi: The documentation doesn't contain infomration on
2900         how to report bugs, and shouldn't, so remove the line which
2901         says it does.
2902
2903 2004-06-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2904
2905         * intrinsic.c (sort_actual): Keep track of type of missing
2906         arguments. (Missing from previous commit.)
2907
2908 2004-06-03  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2909
2910         * gfortran.h (gfc_actual_arglist): New field missing_arg_type.
2911         * interface.c (compare_actual_formal): Keep type of omitted
2912         optional arguments.
2913         * trans-expr.c (gfc_conv_function_call): Add string length
2914         argument for omitted string argument.
2915
2916 2004-06-03  Paul Brook  <paul@codesourcery.com>
2917
2918         * trans.c (gfc_finish_block, gfc_add_expr_to_block): Build statement
2919         lists instead of compound expr chains.
2920         (gfc_trans_code): Annotate statement lists.
2921
2922 2004-06-03  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2923
2924         * trans-array.c: Fix spelling in comments.
2925
2926 2004-06-02  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2927
2928         PR fortran/15557
2929         * data.c (assign_substring_data_value): New function.
2930         (gfc_assign_data_value): Call the new function if we're dealing
2931         with a substring LHS.
2932
2933 2004-06-01  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2934
2935         PR fortran/15477
2936         * gfortran.h (GFC_VERSION): Remove.
2937         * gfortran.texi (version-gfortran): Remove, replace by version-GCC
2938         where used.
2939
2940 2004-05-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2941
2942         * trans-types.c: Fix spelling & layout in comments.
2943
2944 2004-05-30  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2945
2946         PR fortran/14067
2947         * trans-const.c (gfc_conv_string_init): Allow variable string
2948         length lower than initialization string length.
2949
2950 2004-05-30  Paul Brook  <paul@codesourcery.com>
2951
2952         PR fortran/15620
2953         * trans-decl.c (gfc_shadow_sym, gfc_restore_sym): New functions.
2954         * trans-expr.c (gfc_trans_string_copy): New function.
2955         (gfc_conv_statement_function): Use them.  Create temp vars.  Enforce
2956         character lengths.
2957         (gfc_conv_string_parameter): Use gfc_trans_string_copy.
2958         * trans-stmt.c (gfc_trans_forall_1): Use gfc_{shadow,restore}_sym.
2959         * trans.h (struct gfc_saved_var): Define.
2960         (gfc_shadow_sym, gfc_restore_sym): Add prototypes.
2961
2962 2004-05-30  Steven G. Kargl  <kargls@comcast.net>
2963
2964         * iresolve.c (gfc_resolve_random_number): Clean up conditional.
2965
2966 2004-05-29  Steven G. Kargl  <kargls@comcast.net>
2967
2968         * simplify.c (gfc_simplify_log): Remove useless line of code.
2969
2970 2004-05-29  Paul Brook  <paul@codesourcery.com>
2971
2972         * trans-common.c (find_equivalence): Find multiple rules.
2973
2974 2004-05-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2975
2976         * gfortran.h (gfc_current_locus, gfc_set_locus): Remove.
2977         (gfc_current_locus): Declare new global variable.
2978         * scanner.c (gfc_current_locus, gfc_set_locus): Remove.
2979         (gfc_current_locus1): Rename ...
2980         (gfc_current_locus): ... to this.
2981         (gfc_at_eof, gfc_at_bol, gfc_at_eol, gfc_advance_line, next_char,
2982         skip_fixed_comments, skip_free_comments, gfc_next_char_literal,
2983         gfc_peek_char, gfc_gobble_whitespace, gfc_new_file): Use
2984         gfc_current_locus instead of gfc_current_locus1, gfc_set_locus()
2985         and gfc_current_locus(), respectively.
2986         * array.c (match_subscript, gfc_match_array_ref, match_array_list,
2987         match_array_cons_element, gfc_match_array_constructor):
2988         Read/modify gfc_current_locus instead of calling gfc_set_locus()
2989         and gfc_current_locus().
2990         * decl.c (gfc_match_null, variable_decl, gfc_match_kind_spec,
2991         match_attr_spec, gfc_match_function_decl, gfc_match_end,
2992         attr_decl1, gfc_match_save): Likewise.
2993         * error.c (error_print, gfc_internal_error): Likewise.
2994         * expr.c (gfc_int_expr, gfc_default_logical_kind): Likewise.
2995         * interface.c (gfc_add_interface): Likewise.
2996         * io.c (gfc_match_format, match_dt_format, match_dt_element,
2997         match_io_iterator, match_io): Likewise.
2998         * match.c (gfc_match_space, gfc_match_eos,
2999         gfc_match_small_literal_int, gfc_match_st_label,
3000         gfc_match_strings, gfc_match_name, gfc_match_iterator,
3001         gfc_match_char, gfc_match, gfc_match_assignment,
3002         gfc_match_pointer_assignment, gfc_match_if, gfc_match_do,
3003         gfc_match_nullify, gfc_match_call, match_implicit_range,
3004         gfc_match_implicit, gfc_match_data, match_case_selector,
3005         gfc_match_case, match_forall_iterator): Likewise.
3006         * matchexp.c (gfc_match_defined_op_name, next_operator,
3007         match_level_1, match_mult_operand, match_ext_mult_operand,
3008         match_add_operand, match_ext_add_operand, match_level_2,
3009         match_level_3, match_level_4, match_and_operand, match_or_operand,
3010         match_equiv_operand, match_level_5, gfc_match_expr): Likewise.
3011         * module.c (gfc_match_use, mio_array_ref, mio_expr): Likewise.
3012         * parse.c (match_word, decode_statement, next_free, next_fixed,
3013         add_statement, verify_st_order, parse_if_block, gfc_parse_file):
3014         Likewise.
3015         * primary.c (match_digits, match_integer_constant,
3016         match_boz_constant, match_real_constant, match_substring,
3017         next_string_char, match_charkind_name, match_string_constant,
3018         match_logical_constant, match_const_complex_part,
3019         match_complex_constant, match_actual_arg, match_keyword_arg,
3020         gfc_match_actual_arglist, gfc_match_structure_constructor,
3021         gfc_match_rvalue, gfc_match_variable): Likewise.
3022         * st.c (gfc_get_code): Likewise.
3023         * symbol.c (check_conflict, check_used, check_done,
3024         duplicate_attr, add_flavor, gfc_add_procedure, gfc_add_intent,
3025         gfc_add_access, gfc_add_explicit_interface, gfc_add_type,
3026         gfc_add_component, gfc_reference_st_label, gfc_new_symbol): Likewise.
3027
3028 2004-05-26  Roger Sayle  <roger@eyesopen.com>
3029
3030         * io.c (format_asterisk): Silence compiler warnings by correcting
3031         the number of elements of a "locus" initializer.
3032
3033 2004-05-25  Roger Sayle  <roger@eyesopen.com>
3034
3035         PR fortran/13912
3036         * matchexp.c: Allow unary operators after arithmetic operators
3037         as a GNU extension.
3038         (match_ext_mult_operand, match_ext_add_operand): New functions.
3039         (match_mult_operand): Tweak to call match_ext_mult_operand.
3040         (match_add_operand): Tweak to call match_ext_mult_operand.
3041         (match_level_2): Rearrange to call match_ext_add_operand.
3042
3043 2004-05-25  Paul Brook  <paul@codesourcery.com>
3044
3045         * expr.c (check_inquiry): Remove bogus tests.
3046
3047 2004-05-23  Paul Brook  <paul@codesourcery.com>
3048
3049         PR fortran/13773
3050         * expr.c (restricted_args): Remove redundant checks/argument.
3051         (external_spec_function): Update to match.
3052         (restricted_intrinsic): Rewrite.
3053
3054 2004-05-23  Paul Brook  <paul@codesourcery.com>
3055         Victor Leikehman  <lei@haifasphere.co.il>
3056
3057         * gfortran.h (struct gfc_symbol): Add equiv_built.
3058         * trans-common.c: Change int to HOST_WIDE_INT.  Capitalize error
3059         messages.
3060         (current_length): Remove.
3061         (add_segments): New function.
3062         (build_equiv_decl): Create initialized common blocks.
3063         (build_common_decl): Always add decl to bindings.
3064         (create_common): Create initializers.
3065         (find_segment_info): Reformat to match coding conventions.
3066         (new_condition): Use add_segments.
3067         (add_condition, find_equivalence, add_equivalences): Move iteration
3068         inside functions.  Only process each segment once.
3069         (new_segment, finish_equivalences, translate_common): Simplify.
3070
3071 2004-05-23  Steven G. Kargl  <kargls@comcast.net>
3072
3073         * check.c (gfc_check_random_seed): Issue for too many arguments.
3074
3075 2004-05-22  Steven G. Kargl  <kargls@comcast.net>
3076
3077         * intrinsic.c (add_subroutines): Use add_sym_3s for random_seed.
3078
3079 2004-05-22  Paul Brook  <paul@codesourcery.com>
3080
3081         * dump-parse-tree.c (gfc_show_equiv): New function.
3082         (gfc_show_namespace): Use it.
3083
3084 2004-05-22  Victor Leikehman  <lei@haifasphere.co.il>
3085
3086         PR fortran/13249
3087         * symbol.c (gfc_add_common): Disable checks to work around other more
3088         fundamental inadequacies.
3089
3090 2004-05-22  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
3091
3092         * trans-decl.c (gfc_get_extern_function_decl): Set DECL_IS_PURE
3093         only for functions.
3094         (gfc_build_function_decl): Likewise.
3095
3096 2004-05-22  Steven G. Kargl  <kargls@comcast.net>
3097
3098         * check.c (gfc_check_system_clock): New function.
3099         * intrinsic.c (add_sym_3s): New function.
3100         (add_subroutines): Use it.
3101         * intrinsic.h (gfc_check_system_clock, gfc_resolve_system_clock):
3102         Add prototypes.
3103         * iresolve.c (gfc_resolve_system_clock): New function.
3104
3105 2004-05-22  Steven G. Kargl  <kargls@comcast.net>
3106
3107         * invoke.texi: Document -Wunderflow and spell check.
3108         * lang.opt: Add Wunderflow.
3109         * gfortran.h (gfc_option_t): Add warn_underflow option.
3110         * options.c (gfc_init_options, set_Wall): Use it.
3111         * primary.c (match_real_constant): Explicitly handle UNDERFLOW.
3112         * arith.c (gfc_arith_uminus, gfc_arith_plus, gfc_arith_minus,
3113         gfc_arith_times, gfc_arith_divide, gfc_arith_power, gfc_real2real,
3114         gfc_real2complex, gfc_complex2real, gfc_complex2complex): Ditto.
3115         * arith.c (common_logarithm): Fix typo in comment.
3116
3117 2004-05-21  Roger Sayle  <roger@eyesopen.com>
3118
3119         * io.c (check_format): As a GNU extension, allow the comma after a
3120         string literal to be optional in a format.  Use gfc_notify_std to
3121         issue an error/warning as appropriate.
3122
3123 2004-05-21  Roger Sayle  <roger@eyesopen.com>
3124
3125         * io.c (check_format): Use gfc_notify_std to determine whether to
3126         issue an error/warning for omitting the digits from the X format.
3127
3128 2004-05-20  Roger Sayle  <roger@eyesopen.com>
3129
3130         * io.c (check_format): Allow the number before the X format to
3131         be optional when not -pedantic.
3132
3133 2004-05-18  Feng Wang  <fengwang@nudt.edu.cn>
3134         Paul Brook  <paul@codesourcery.com>
3135
3136         * f95-lang.c (gfc_init_builtin_functions): Use vold_list_node.
3137         Create decls for __builtin_pow{,f}.
3138         * gfortran.h (PREFIX_LEN): Define.
3139         * trans-decl.c (gfor_fndecl_math_powi): Add.
3140         (gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove.
3141         (gfc_build_intrinsic_function_decls): Create decls for powi.
3142         * trans-expr.c (powi_table): Add.
3143         (gfc_conv_integer_power): Remove.
3144         (gfc_conv_powi): New function.
3145         (gfc_conv_cst_int_power): New function.
3146         (gfc_conv_power_op): Use new powi routines.
3147         * trans.h (struct gfc_powdecl_list): Add.
3148         (gfor_fndecl_math_powi): Add.
3149         (gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove.
3150
3151 2004-05-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3152
3153         * trans.c, trans-decl.c: Fix comment typos.
3154
3155 2004-05-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3156
3157         * trans-const.c (gfc_conv_mpf_to_tree): Fix typo.
3158
3159 2004-05-18  Steve Kargl  <kargls@comcast.net>
3160
3161         * arith.c (gfc_int2complex): Fix incorrect range checking.
3162
3163 2004-05-18  Paul Brook  <paul@codesourcery.com>
3164
3165         PR fortran/13930
3166         * decl.c (add_init_expr_to_sym): Remove incorrect check.
3167         (default_initializer): Move to expr.c.
3168         (variable_decl): Don't assign default initializer to variables.
3169         * expr.c (gfc_default_initializer): Move to here.
3170         * gfortran.h (gfc_default_initializer): Add prototype.
3171         * resolve.c (resolve_symbol): Check for illegal initializers.
3172         Assign default initializer.
3173
3174 2004-05-17  Steve Kargl  <kargls@comcast.net>
3175
3176         * arith.c (gfc_arith_power): Complex number raised to 0 power is 1.
3177
3178 2004-05-17  Steve Kargl  <kargls@comcast.net>
3179
3180         * arith.c (gfc_real2complex): Range checking wrong part of complex
3181         number.
3182
3183 2004-05-16  Paul Brook  <paul@codesourcery.com>
3184
3185         * options.c (gfc_handle_module_path_options): Fix buffer overrun.
3186
3187 2004-05-16  Paul Brook  <paul@codesourcery.com>
3188
3189         * arith.c (gfc_range_check): Fix logic error.
3190
3191 2004-05-16  Steve Kargl  <sgk@troutmask.apl.washington.edu>
3192
3193         * arith.c: Fix comment typos.
3194
3195 2004-05-15  Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3196
3197         PR fortran/13742
3198         * decl.c (add_init_expr_to_sym): Verify that COMMON variable is
3199         not initialized in a disallowed fashion.
3200         * match.c (gfc_match_common): Likewise.
3201         (var_element): Verify that variable is not in the blank COMMON,
3202         if it is in a common.
3203
3204 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
3205
3206         * Make-lang.in (f95.generated-manpages): Remove.
3207         (f95.srcextra): New.
3208         (f95.info, fortran/gfortran.info, fortran/gfortran.dvi,
3209         f95.maintainer-clean): Generate info and dvi files in objdir/doc.
3210         (f95.dvi): Remove.
3211         (dvi): New.
3212         (f95.install-info): Remove.
3213         (install-info): New.
3214
3215 2004-05-15  Victor Leikehman  <lei@haifasphere.co.il>
3216
3217         * decl.c (add_init_expr_to_sym): Check for variable size arrays.
3218
3219 2004-05-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3220
3221         * primary.c (match_boz_constant): Use gfc_notify_std() for
3222         issuing a warning or an error.
3223
3224 2004-05-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3225
3226         PR fortran/13826
3227         * primary.c (match_structure_constructor): Rename ...
3228         (gfc_match_structure_constructor): ... to this. Make non-static.
3229         (gfc_match_rvalue): Call renamed function.
3230         * match.h (gfc_match_structure_constructor): Declare.
3231         * match.c (gfc_match_data_constant): Handle structure
3232         constructor.
3233
3234 2004-05-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3235
3236         PR fortran/13702
3237         (Port from g95)
3238         * gfortran.h (gfc_linebuf): New typedef.
3239         (linebuf): Remove.
3240         (gfc_file): Revamped, use new gfc_linebuf.
3241         (locus): Revamped, use new types.
3242         (gfc_current_file): Remove.
3243         (gfc_current_form, gfc_source_file): New global variables.
3244         * match.c (gfc_match_space, gfc_match_strings): Use
3245         gfc_current_form to find source form.
3246         * module.c (gfc_dump_module): Use gfc_source_file when printing
3247         module header.
3248         * error.c (show_locus, show_loci) Use new data structures to print
3249         locus.
3250         * scanner.c (first_file, first_duplicated_file, gfc_current_file):
3251         Remove.
3252         (file_head, current_file, gfc_current_form, line_head, line_tail,
3253         gfc_current_locus1, gfc_source_file): New global variables.
3254         (gfc_scanner_init1): Set new global variables.
3255         (gfc_scanner_done1): Free new data structures.
3256         (gfc_current_locus): Return pointer to gfc_current_locus1.
3257         (gfc_set_locus): Set gfc_current_locus1.
3258         (gfc_at_eof): Set new variables.
3259         (gfc_at_bol, gfc_at_eol, gfc_advance_line, gfc_next_char): Adapt
3260         to new locus structure.
3261         (gfc_check_include): Remove.
3262         (skip_free_comments, skip_fixed_comments): Use gfc_current_locus1.
3263         (gfc_skip_comments): Use gfc_current_form, find locus with
3264         gfc_current_locus1.
3265         (gfc_next_char): Use gfc_current_form.
3266         (gfc_peek_char, gfc_gobble_whitespace): Use gfc_current_locus1.
3267         (load_line): Use gfc_current_form. Recognize ^Z as EOF. Fix
3268         comment formatting.
3269         (get_file): New function.
3270         (preprocessor_line, include_line): New functions.
3271         (load_file): Move down, rewrite to match new data structures.
3272         (gfc_new_file): Rewrite to match new data structures.
3273         * parse.c (next_statement): Remove code which is now useless. Use
3274         gfc_source_form and gfc_source_file where appropriate.
3275         * trans-decl.c (gfc_get_label_decl): adapt to new data structures
3276         when determining locus of frontend code.
3277         * trans-io.c (set_error_locus): Same.
3278         * trans.c (gfc_get_backend_locus, gfc_set_backend_locus): Likewise.
3279         * lang-specs.h (@f77-cpp-input, @f95-cpp-input): Remove '-P' from
3280         preprocessor flags.
3281         (all): Add missing initializers.
3282
3283 2004-05-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3284
3285         * Make-lang.in (trans-common.o): Remove redundant dependency.
3286         (data.c): Replace object file name ...
3287         (data.o): ... by the correct one.
3288
3289 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3290
3291         * dump-parse-tree.c (gfc_show_array_ref): Print colon only
3292         for ranges when dumping array references.
3293
3294 2004-05-14  Victor Leikehman  <lei@haifasphere.co.il>
3295
3296         * decl.c (variable_decl): Always apply default initializer.
3297
3298 2004-05-08  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
3299
3300         PR fortran/15206
3301         * trans-intrinsic.c (gfc_conv_intrinsic_rrspacing): Fixed to
3302         handle zero correctly.
3303
3304 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3305
3306         * match.c (gfc_match): Eliminate dead code.
3307
3308 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3309
3310         * parse.c (gfc_statement_next_fixed): (Change from Andy's tree)
3311         Detect bad continuation line in fixed form sources.
3312
3313 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3314
3315         PR fortran/15205
3316         * iresolve.c (gfc_resolve_nearest): Add new function.
3317         * intrinsic.h: ... declare it here.
3318         * intrinsic.c (add_functions): ... add it as resolving function
3319         for NEAREST.
3320
3321 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3322
3323         PR fortran/14066
3324         * match.c (gfc_match_do): Allow infinite loops with
3325         label-do-stmt. Do not enforce space after comma.
3326
3327 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3328
3329         PR fortran/15051
3330         * parse.c (parse_interface): Allow empty INTERFACE, remove
3331         seen_body.
3332
3333 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3334
3335         * Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c,
3336         decl.c, dependency.c, dependency.h, dump-parse-tree.c, error.c,
3337         expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c,
3338         intrinsic.h, io.c, iresolve.c, lang-specs.h, match.c, match.h,
3339         matchexp.c, misc.c, module.c, options.c, parse.c, parse.h,
3340         primary.c, resolve.c, scanner.c, simplify.c, st.c, symbol.c,
3341         trans-array.c, trans-array.h, trans-common.c, trans-const.c,
3342         trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c,
3343         trans-io.c, trans-stmt.c, trans-stmt.h, trans-types.c,
3344         trans-types.h, trans.c, trans.h: Update copyright years and
3345         boilerplate.
3346         * data.c: Likewise, also removed two whitespace-only lines.
3347         * gfortranspec.c, lang.opt: Update copyright years.
3348
3349 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>