OSDN Git Service

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