OSDN Git Service

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