OSDN Git Service

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