OSDN Git Service

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