OSDN Git Service

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