OSDN Git Service

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