OSDN Git Service

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