OSDN Git Service

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