OSDN Git Service

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