OSDN Git Service

2005-11-27 Bernhard Fischer <rep.nop@aon.at>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2005-11-27 Bernhard Fischer <rep.nop@aon.at>
2
3         * gfortran.h: remove superfluous whitespace and use GNU
4         comment-style for the documentation of backend_decl.
5
6 2005-11-27  Steven G. Kargl  <kargls@comcast.net>
7
8         PR fortran/24917
9         * primary.c (match_boz_constant):  Implement postfix BOZ constants;
10         (match_string_constant): Peek for b, o, z, and x
11
12 2005-11-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
13
14         PR fortran/23912
15         * iresolve.c (gfc_resolve_dim, gfc_resolve_mod,
16         gfc_resolve_modulo): When arguments have different kinds, fold
17         the lower one to the largest kind.
18         * check.c (gfc_check_a_p): Arguments of different kinds is not
19         a hard error, but an extension.
20         * simplify.c (gfc_simplify_dim, gfc_simplify_mod,
21         gfc_simplify_modulo): When arguments have different kinds, fold
22         the lower one to the largest kind.
23
24 2005-11-21  Jakub Jelinek  <jakub@redhat.com>
25
26         PR fortran/14943
27         PR fortran/21647
28         * Make-lang.in (fortran/trans-io.o): Depend on fortran/ioparm.def.
29         * dump-parse-tree.c (gfc_show_code_node): Dump c->block for
30         EXEC_{READ,WRITE,IOLENGTH} nodes.
31         * io.c (terminate_io, match_io, gfc_match_inquire): Put data
32         transfer commands into EXEC_{READ,WRITE,IOLENGTH}'s code->block.
33         * resolve.c (resolve_blocks): Handle EXEC_{READ,WRITE,IOLENGTH}.
34         * trans-io.c (ioparm_unit, ioparm_err, ioparm_end, ioparm_eor,
35         ioparm_list_format, ioparm_library_return, ioparm_iostat,
36         ioparm_exist, ioparm_opened, ioparm_number, ioparm_named,
37         ioparm_rec, ioparm_nextrec, ioparm_size, ioparm_recl_in,
38         ioparm_recl_out, ioparm_iolength, ioparm_file, ioparm_file_len,
39         ioparm_status, ioparm_status_len, ioparm_access, ioparm_access_len,
40         ioparm_form, ioparm_form_len, ioparm_blank, ioparm_blank_len,
41         ioparm_position, ioparm_position_len, ioparm_action,
42         ioparm_action_len, ioparm_delim, ioparm_delim_len, ioparm_pad,
43         ioparm_pad_len, ioparm_format, ioparm_format_len, ioparm_advance,
44         ioparm_advance_len, ioparm_name, ioparm_name_len,
45         ioparm_internal_unit, ioparm_internal_unit_len,
46         ioparm_internal_unit_desc, ioparm_sequential, ioparm_sequential_len,
47         ioparm_direct, ioparm_direct_len, ioparm_formatted,
48         ioparm_formatted_len, ioparm_unformatted, ioparm_unformatted_len,
49         ioparm_read, ioparm_read_len, ioparm_write, ioparm_write_len,
50         ioparm_readwrite, ioparm_readwrite_len, ioparm_namelist_name,
51         ioparm_namelist_name_len, ioparm_namelist_read_mode, ioparm_iomsg,
52         ioparm_iomsg_len, ioparm_var): Remove.
53         (enum ioparam_type, enum iofield_type, enum iofield,
54         enum iocall): New enums.
55         (gfc_st_parameter_field, gfc_st_parameter): New typedefs.
56         (st_parameter, st_parameter_field, iocall): New variables.
57         (ADD_FIELD, ADD_STRING): Remove.
58         (dt_parm, dt_post_end_block): New variables.
59         (gfc_build_st_parameter): New function.
60         (gfc_build_io_library_fndecls): Use it.  Initialize iocall
61         array rather than ioparm_*, add extra first arguments to
62         the function types.
63         (set_parameter_const): New function.
64         (set_parameter_value): Add type argument, return a bitmask.
65         Changed to set a field in automatic structure variable rather
66         than set a field in a global _gfortran_ioparm variable.
67         (set_parameter_ref): Likewise.  If requested var has different
68         size than what field should point to, call with a temporary and
69         then copy into the user variable.  Add postblock argument.
70         (set_string): Remove var_len argument, add type argument, return
71         a bitmask.  Changed to set fields in automatic structure variable
72         rather than set a field in a global _gfortran_ioparm variable.
73         (set_internal_unit): Remove iunit, iunit_len, iunit_desc arguments,
74         add var argument.  Return a bitmask.  Changed to set fields in
75         automatic structure variable rather than set a field in a global
76         _gfortran_ioparm variable.
77         (set_flag): Removed.
78         (io_result): Add var argument.  Changed to read common.flags field
79         from automatic structure variable and bitwise AND it with 3.
80         (set_error_locus): Add var argument.  Changed to set fields in
81         automatic structure variable rather than set a field in a global
82         _gfortran_{filename,line} variables.
83         (gfc_trans_open): Use gfc_start_block rather than gfc_init_block.
84         Create a temporary st_parameter_* structure.  Adjust callers of
85         all above mentioned functions.  Pass address of the temporary
86         variable as first argument to the generated function call.
87         Use iocall array rather than ioparm_* separate variables.
88         (gfc_trans_close, build_filepos, gfc_trans_inquire): Likewise.
89         (build_dt): Likewise.  Change first argument to tree from tree *.
90         Don't dereference code->ext.dt if last_dt == INQUIRE.  Emit
91         IOLENGTH argument setup here.  Set dt_parm/dt_post_end_block
92         variables and gfc_trans_code the nested data transfer commands
93         in code->block.
94         (gfc_trans_iolength): Just set last_dt and call build_dt immediately.
95         (transfer_namelist_element): Pass address of dt_parm variable
96         to generated functions.  Use iocall array rather than ioparm_*
97         separate variables.
98         (gfc_trans_backspace, gfc_trans_endfile, gfc_trans_rewind,
99         gfc_trans_flush, gfc_trans_read, gfc_trans_write): Use iocall array
100         rather than ioparm_* separate variables.
101         (gfc_trans_dt_end): Likewise.  Pass address of dt_parm variable
102         as first argument to generated function.  Adjust io_result caller.
103         Prepend dt_post_end_block before io_result code.
104         (transfer_expr): Use iocall array rather than ioparm_* separate
105         variables.  Pass address of dt_parm variables as first argument
106         to generated functions.
107         * ioparm.def: New file.
108
109 2005-11-21  Paul Thomas  <pault@gcc.gnu.org>
110
111         PR fortran/24223
112         * resolve.c (resolve_contained_fntype) Error if an internal
113         function is assumed character length.
114
115         PR fortran/24705
116         * trans-decl.c (gfc_create_module_variable) Skip ICE in
117         when backend decl has been built and the symbol is marked
118         as being in an equivalence statement.
119
120 2005-11-20  Toon Moene  <toon@moene.indiv.nluug.nl>
121
122         * invoke.texi: Remove superfluous @item.
123
124 2005-11-19  Janne Blomqvist  <jb@gcc.gnu.org>
125
126         PR fortran/24862
127         * trans-io.c (gfc_trans_transfer): Handle arrays of derived type.
128
129 2005-11-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
130
131         PR fortran/20811
132         * scanner.c (gfc_open_included_file): Add an extra include_cwd
133         argument. Only include files in the current working directory if
134         its value is true.
135         * gfortran.h: Change prototype for gfc_open_included_file.
136         (load_file): Don't search for include files in the current working
137         directory.
138         * options.c (gfc_post_options): Add the directory of the source file
139         to the list of paths for included files.
140         * module.c (gfc_use_module): Look for module files in the current
141         directory.
142
143 2005-11-16  Alan Modra  <amodra@bigpond.net.au>
144
145         PR fortran/24096
146         * trans-types.c (gfc_init_kinds): Use one less for max_exponent
147         of IBM extended double format.
148
149 2005-11-13  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
150
151         * intrinsic.c (add_functions): Add COMPLEX, FTELL, FGETC, FGET,
152         FPUTC, FPUT, AND, XOR and OR intrinsic functions.
153         (add_subroutines): Add FGETC, FGET, FPUTC, FPUT and FTELL intrinsic
154         subroutines.
155         * gfortran.h: Add GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET,
156         GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL,
157         GFC_ISYM_OR, GFC_ISYM_XOR.
158         * iresolve.c (gfc_resolve_and, gfc_resolve_complex,
159         gfc_resolve_or, gfc_resolve_fgetc, gfc_resolve_fget,
160         gfc_resolve_fputc, gfc_resolve_fput, gfc_resolve_ftell,
161         gfc_resolve_xor, gfc_resolve_fgetc_sub, gfc_resolve_fget_sub,
162         gfc_resolve_fputc_sub, gfc_resolve_fput_sub, gfc_resolve_ftell_sub):
163         New functions.
164         * check.c (gfc_check_complex, gfc_check_fgetputc_sub,
165         gfc_check_fgetputc, gfc_check_fgetput_sub, gfc_check_fgetput,
166         gfc_check_ftell, gfc_check_ftell_sub, gfc_check_and): New functions.
167         * simplify.c (gfc_simplify_and, gfc_simplify_complex, gfc_simplify_or,
168         gfc_simplify_xor): New functions.
169         * trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for
170         GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC,
171         GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR and
172         GFC_ISYM_XOR.
173         * intrinsic.h: Add prototypes for all functions added to iresolve.c,
174         simplify.c and check.c.
175
176 2005-11-10  Paul Thomas  <pault@gcc.gnu.org>
177             Steven G. Kargl <kargls@comcast.net>
178
179         PR fortran/15976
180         * resolve.c (resolve_symbol): Disallow automatic arrays in module scope.
181
182 2005-11-10  Paul Thomas  <pault@gcc.gnu.org>
183
184         PR fortran/24655
185         PR fortran/24755
186         * match.c (recursive_stmt_fcn): Add checks that symtree exists
187         for the expression to weed out inline intrinsic functions and
188         parameters.
189
190         PR fortran/24409
191         * module.c (mio_symtree_ref): Correct the patch of 0923 so that
192         a symbol is not substituted for by a the symbol for the module
193         itself and to prevent the promotion of a formal argument.
194
195 2005-11-10  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
196
197         PR fortran/24643
198         * primary.c (match_varspec): Check for implicitly typed CHARACTER
199         variables before matching substrings.
200
201 2005-11-09  Steven G. Kargl  <kargls@comcast.net>
202
203         * trans-intrinsic.c: Typo in comment.
204
205 2005-11-09  Erik Edelmann  <eedelman@gcc.gnu.org>
206
207         PR fortran/22607
208         * trans-decl.c(build_function_decl): Don't set
209         DECL_IS_PURE (fndecl) = 1 for return-by-reference
210         functions.
211
212 2005-11-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
213
214         * dump-parse-tree.c: Fix comment typo, add a few blank lines.
215
216 2005-11-07  Steven G. Kargl  <kargls@comcast.net>
217
218         * error.c: Use flag_fatal_error.
219         * invoke.texi:  Remove -Werror from list of options.
220
221 2005-11-06  Paul Thomas  <pault@gcc.gnu.org>
222
223         PR fortran/24534
224         * resolve.c (resolve_symbol): Exclude case of PRIVATE declared
225         within derived type from error associated with PRIVATE type
226         components within derived type.
227
228         PR fortran/20838
229         PR fortran/20840
230         * gfortran.h: Add prototype for gfc_has_vector_index.
231         * io.c (gfc_resolve_dt): Error if internal unit has a vector index.
232         * expr.c (gfc_has_vector_index): New function to check if any of
233         the array references of an expression have vector inidices.
234         (gfc_check_pointer_assign): Error if internal unit has a vector index.
235
236         PR fortran/17737
237         * data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
238         and replace by a standard dependent warning/error if overwriting an
239         existing initialization.
240         * decl.c (gfc_data_variable): Remove old error for already initialized
241         variable and the unused error check for common block variables.  Add
242         error for hots associated variable and standard dependent error for
243         common block variables, outside of blockdata.
244         * symbol.c (check_conflict): Add constraints for DATA statement.
245
246 2005-11-06  Janne Blomqvist <jb@gcc.gnu.org>
247
248         PR fortran/24174
249         PR fortran/24305
250         * fortran/trans-io.c (gfc_build_io_library_fndecls): Add kind
251         argument to transfer_array.
252         (transfer_array_desc): Add kind argument.
253
254 2005-11-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
255
256         * intrinsic.c (add_functions): Add ctime and fdate intrinsics.
257         (add_subroutines): Likewise.
258         * intrinsic.h: Prototypes for gfc_check_ctime,
259         gfc_check_ctime_sub, gfc_check_fdate_sub, gfc_resolve_ctime,
260         gfc_resolve_fdate, gfc_resolve_ctime_sub, gfc_resolve_fdate_sub.
261         * gfortran.h: Add GFC_ISYM_CTIME and GFC_ISYM_FDATE.
262         * iresolve.c (gfc_resolve_ctime, gfc_resolve_fdate,
263         gfc_resolve_ctime_sub, gfc_resolve_fdate_sub): New functions.
264         * trans-decl.c (gfc_build_intrinsic_function_decls): Add
265         gfor_fndecl_fdate and gfor_fndecl_ctime.
266         * check.c (gfc_check_ctime, gfc_check_ctime_sub,
267         gfc_check_fdate_sub): New functions.
268         * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
269         gfc_conv_intrinsic_fdate): New functions.
270         (gfc_conv_intrinsic_function): Add cases for GFC_ISYM_CTIME
271         and GFC_ISYM_FDATE.
272         * intrinsic.texi: Documentation for the new CTIME and FDATE
273         intrinsics.
274         * trans.h: Declarations for gfor_fndecl_ctime and gfor_fndecl_fdate.
275
276 2005-11-05  Kazu Hirata  <kazu@codesourcery.com>
277
278         * decl.c, trans-decl.c: Fix comment typos.
279         * gfortran.texi: Fix a typo.
280
281 2005-11-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
282
283         * intrinsic.c (add_functions): Add function version of TTYNAM.
284         * intrinsic.h: Add prototypes for gfc_check_ttynam and
285         gfc_resolve_ttynam.
286         * gfortran.h: Add case for GFC_ISYM_TTYNAM.
287         * iresolve.c (gfc_resolve_ttynam): New function.
288         * trans-decl.c (gfc_build_intrinsic_function_decls): Add a tree
289         for function call to library ttynam.
290         * check.c (gfc_check_ttynam): New function.
291         * trans-intrinsic.c (gfc_conv_intrinsic_ttynam): New function.
292         (): Call gfc_conv_intrinsic_ttynam.
293         * trans.h: Add prototype for gfor_fndecl_ttynam.
294
295 2005-11-04  Steven G. Kargl <kargls@comcast.net>
296
297         PR fortran/24636
298         * match.c (gfc_match_stopcode):  Set stop_code = -1.
299
300 2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
301
302         PR fortran/18452
303         * lang-specs.h: Pass -lang-fortran to the preprocessor.
304
305 2005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
306
307         PR fortran/18157
308         * trans-array.c (gfc_conv_resolve_dependencies): Use the correct
309         type for the temporary array.
310         * trans-expr.c (gfc_trans_assignment): Pass lss
311         instead of lss_section
312         to gfc_conv_resolve_dependencies to get the
313         correct type.
314
315 2005-11-02  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
316
317         * decl.c (gfc_match_entry): Function entries don't need an argument
318         list if there's no RESULT clause.
319
320 2005-11-01  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
321
322         PR fortran/24008
323         * decl.c (gfc_match_entry): Function entries need an argument list.
324
325 2005-11-01  Erik Edelmann  <eedelman@gcc.gnu.org>
326
327         PR 24245
328         * trans.c (gfc_generate_code): Move code to create a main
329         program symbol from here ...
330         * parse.c (main_program_symbol): ... to this new
331         function, setting the locus from gfc_current_locus
332         instead of ns->code->loc.
333         (gfc_parse_file):  Call main_program_symbol for main programs.
334
335 2005-11-01  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
336
337         PR fortran/24404
338         * resolve.c (resolve_symbol): Output symbol names in more error
339         messages, clarify error message.
340
341 2005-11-01  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
342
343         * dump-parse-tree.c (show_symtree): Revert change unintentionally
344         committed in r106246.
345
346 2005-11-01  Paul Thomas  <pault@gcc.gnu.org>
347
348         PR fortran/21565
349         * symbol.c (check_conflict): An object cannot be in a namelist and in
350         block data.
351
352         PR fortran/18737
353         * resolve.c (resolve_symbol): Set the error flag to
354         gfc_set_default_type, in the case of an external symbol, so that
355         an error message is emitted if IMPLICIT NONE is set.
356
357         PR fortran/14994
358         * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SECNDS to enum.
359         * check.c (gfc_check_secnds): New function.
360         * intrinsic.c (add_functions): Add call to secnds.
361         * iresolve.c (gfc_resolve_secnds): New function.
362         * trans-intrinsic (gfc_conv_intrinsic_function): Add call to
363         secnds via case GFC_ISYM_SECNDS.
364         * intrinsic.texi: Add documentation for secnds.
365
366 2005-10-31  Andreas Schwab  <schwab@suse.de>
367
368         * Make-lang.in (GFORTRAN_TARGET_INSTALL_NAME): Define.
369         (GFORTRAN_CROSS_NAME): Remove.
370         (fortran.install-common): Correctly install a cross compiler.
371         (fortran.uninstall): Use GFORTRAN_TARGET_INSTALL_NAME instead of
372         GFORTRAN_CROSS_NAME.
373
374 2005-10-30  Erik Edelmann  <eedelman@gcc.gnu.org>
375
376         * gfortran.texi: Update contributors.
377
378 2005-10-30  Erik Edelmann  <eedelman@gcc.gnu.org>
379
380         PR fortran/18883
381         * trans-decl.c (gfc_finish_var_decl): Add decl to the
382         current function, rather than the parent.  Make
383         assertion accept fake result variables.
384         * trans-expr.c (gfc_conv_variable): If the character
385         length of an ENTRY isn't set, get the length from
386         the master function instead.
387
388 2005-10-30  Thomas Koenig  <Thomas.Koenig@online.de>
389
390         * gfortran.texi:  Remove reservations about I/O usability.  Document
391         that array intrinsics mostly work.
392
393 2005-10-30  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
394
395         * gfortran.texi: Move license stuff to back.  Add information
396         on ENUM and ENUMERATOR.
397         * invoke.texi: Document -fshort-enums.
398
399 2005-10-30  Gaurav Gautam  <gauravga@noida.hcltech.com>
400             Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
401
402         * arith.c (gfc_enum_initializer): New function.
403         (gfc_check_integer_range): Made extern.
404         * decl.c (enumerator_history): New typedef.
405         (last_initializer, enum_history, max_enum): New variables.
406         (create_enum_history, gfc_free_enum_history): New functions.
407         (add_init_expr_to_sym): Call create_enum_history if parsing ENUM.
408         (variable_decl): Modified to parse enumerator definition.
409         (match_attr_spec): Add PARAMETER attribute to ENUMERATORs.
410         (gfc_match_data_decl): Issues error, if match_type_spec do not
411         return desired return values.
412         (set_enum_kind, gfc_match_enum, gfc_match_enumerator_def): New
413         functions.
414         (gfc_match_end): Deal with END ENUM.
415         * gfortran.h (gfc_statement): ST_ENUM, ST_ENUMERATOR, ST_END_ENUM
416         added.
417         (symbol_attribute): Bit field for enumerator added.
418         (gfc_options): Add fshort_enums.
419         (gfc_enum_initializer, gfc_check_integer_range): Add prototypes.
420         * options.c: Include target.h
421         (gfc_init_options): Initialize fshort_enums.
422         (gfc_handle_option): Deal with fshort_enums.
423         * parse.c (decode_statement): Match ENUM and ENUMERATOR statement.
424         (gfc_ascii_statement): Deal with the enumerator statements.
425         (parse_enum): New function to parse enum construct.
426         (parse_spec): Added case ST_ENUM.
427         * parse.h (gfc_compile_state): COMP_ENUM added.
428         (gfc_match_enum, gfc_match_enumerator_def, gfc_free_enum_history):
429         Prototype added.
430         * symbol.c (gfc_copy_attr): Copy enumeration attribute.
431         * lang.opt (fshort-enums): Option added.
432
433 2005-10-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
434
435         * check.c (gfc_check_malloc, gfc_check_free): New functions.
436         * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_MALLOC.
437         * intrinsic.c (add_functions): Add symbols for MALLOC function.
438         (add_subroutines): Add symbol for FREE subroutine.
439         * intrinsic.h: Prototypes for gfc_check_malloc, gfc_check_free,
440         gfc_resolve_malloc and gfc_resolve_free.
441         * intrinsic.texi: Add doc for FREE and MALLOC intrinsics.
442         * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): New
443         functions.
444         * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case for
445         GFC_ISYM_MALLOC.
446
447 2005-10-30  Steven Bosscher  <stevenb@suse.de>
448
449         * gfortran.texi: Update contributors.
450
451 2005-10-29  Steven Bosscher  <stevenb@suse.de>
452
453         * interface.c: Fix previous checkin (an incomplete patch
454         was commited for me).
455
456 2005-10-29  Joseph S. Myers  <joseph@codesourcery.com>
457
458         * intrinsic.texi: Remove empty @cindex line.
459
460 2005-10-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
461
462         * check.c (gfc_check_alarm_sub, gfc_check_signal,
463         gfc_check_signal_sub): New functions.
464         * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIGNAL.
465         * intrinsic.c (add_functions): Add signal intrinsic.
466         (add_subroutines): Add signal and alarm intrinsics.
467         * intrinsic.texi: Document the new intrinsics.
468         * iresolve.c (gfc_resolve_signal, gfc_resolve_alarm_sub,
469         gfc_resolve_signal_sub): New functions.
470         * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case
471         for GFC_ISYM_SIGNAL.
472         * intrinsic.h: Add prototypes for gfc_check_alarm_sub,
473         gfc_check_signal, gfc_check_signal_sub, gfc_resolve_signal,
474         gfc_resolve_alarm_sub, gfc_resolve_signal_sub.
475
476 2005-10-28  Steven Bosscher  <stevenb@suse.de>
477
478         PR fortran/24545
479         * interface.c (gfc_match_end_interface): Fix typo in 
480         INTERFACE_USER_OP case.
481
482 2005-10-26  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
483
484         PR fortran/15586
485         * resolve.c (resolve_symbol): Remove the use of whynot, so that
486         error messages are not built from pieces.
487
488 2005-10-26  Paul Thomas  <pault@gcc.gnu.org>
489
490         PR fortran/24158
491         * decl.c (gfc_match_data_decl): Correct broken bit of code
492         that prevents undefined derived types from being used as
493         components of another derived type.
494         * resolve.c (resolve_symbol): Add backstop error when derived
495         type variables arrive here with a type that has no components.
496
497 2005-10-25  Jakub Jelinek  <jakub@redhat.com>
498
499         * trans.h (gfc_conv_cray_pointee): Remove.
500         * trans-expr.c (gfc_conv_variable): Revert 2005-10-24 change.
501         * trans-array.c (gfc_conv_array_parameter): Likewise.
502         * trans-decl.c (gfc_conv_cray_pointee): Remove.
503         (gfc_finish_cray_pointee): New function.
504         (gfc_finish_var_decl): Use it.  Don't return early for Cray
505         pointees.
506         (gfc_create_module_variable): Revert 2005-10-24 change.
507         * decl.c (cray_pointer_decl): Update comment.
508         * gfortran.texi: Don't mention Cray pointees aren't visible in the
509         debugger.
510
511         * symbol.c (check_conflict): Add conflict between cray_pointee
512         and in_common resp. in_equivalence.
513         * resolve.c (resolve_equivalence): Revert 2005-10-24 change.
514
515         * module.c (ab_attribute): Add AB_CRAY_POINTER and AB_CRAY_POINTEE.
516         (attr_bits): Likewise.
517         (mio_symbol_attribute): Save and restore cray_pointe{r,e} attributes.
518         (mio_symbol): For cray_pointee write/read cp_pointer reference.
519
520 2005-10-25  Feng Wang  <fengwang@nudt.edu.cn>
521
522         PR fortran/22290
523         * trans-decl.c (gfc_add_assign_aux_vars): New function. Add two
524         auxiliary variables.
525         (gfc_get_symbol_decl): Use it when a variable, including dummy
526         argument, is assigned a label.
527         (gfc_trans_assign_aux_var): New function. Set initial value of
528         the auxiliary variable explicitly.
529         (gfc_trans_deferred_vars): Use it.
530         * trans-stmt.c (gfc_conv_label_variable): Handle dummy argument.
531
532 2005-10-24  Asher Langton  <langton2@llnl.gov>
533
534         PR fortran/17031
535         PR fortran/22282
536         * check.c (gfc_check_loc): New function.
537         * decl.c (variable_decl): New variables cp_as and sym.  Added a
538         check for variables that have already been declared as Cray
539         Pointers, so we can get the necessary attributes without adding
540         a new symbol.
541         (attr_decl1): Added code to catch pointee symbols and "fix"
542         their array specs.
543         (cray_pointer_decl): New method.
544         (gfc_match_pointer): Added Cray pointer parsing code.
545         (gfc_mod_pointee_as): New method.
546         * expr.c (gfc_check_assign): Added a check to catch vector-type
547         assignments to pointees with an unspecified final dimension.
548         * gfortran.h: (GFC_ISYM_LOC): New.
549         (symbol_attribute): Added cray_pointer and cray_pointee bits.
550         (gfc_array_spec): Added cray_pointee and cp_was_assumed bools.
551         (gfc_symbol): Added gfc_symbol *cp_pointer.
552         (gfc_option): Added flag_cray_pointer.
553         (gfc_add_cray_pointee): Declare.
554         (gfc_add_cray_pointer ): Declare.
555         (gfc_mod_pointee_as): Declare.
556         * intrinsic.c (add_functions): Add code for loc() intrinsic.
557         * intrinsic.h (gfc_check_loc): Declare.
558         (gfc_resolve_loc): Declare.
559         * iresolve.c (gfc_resolve_loc): New.
560         * lang.opt: Added fcray-pointer flag.
561         * options.c (gfc_init_options): Initialized.
562         gfc_match_option.flag_cray_pointer.
563         (gfc_handle_option): Deal with -fcray-pointer.
564         * parse.c:(resolve_equivalence): Added code prohibiting Cray
565         pointees in equivalence statements.
566         * resolve.c (resolve_array_ref): Added code to prevent bounds
567         checking for Cray Pointee arrays.
568         (resolve_equivalence): Prohibited pointees in equivalence
569         statements.
570         * symbol.c (check_conflict): Added Cray pointer/pointee
571         attribute checking.
572         (gfc_add_cray_pointer): New.
573         (gfc_add_cray_pointee): New.
574         (gfc_copy_attr): New code for Cray pointers and pointees.
575         * trans-array.c (gfc_trans_auto_array_allocation): Added code to
576         prevent space from being allocated for pointees.
577         (gfc_conv_array_parameter): Added code to catch pointees and
578         correctly set their base address.
579         * trans-decl.c (gfc_finish_var_decl): Added code to prevent
580         pointee declarations from making it to the back end.
581         (gfc_create_module_variable): Same.
582         * trans-expr.c (gfc_conv_variable): Added code to detect and
583         translate pointees.
584         (gfc_conv_cray_pointee): New.
585         * trans-intrinsic.c (gfc_conv_intrinsic_loc): New.
586         (gfc_conv_intrinsic_function): Added entry point for loc
587         translation.
588         * trans.h (gfc_conv_cray_pointee): Declare.
589
590         * gfortran.texi: Added section on Cray pointers, removed Cray
591         pointers from list of proposed extensions.
592         * intrinsic.texi: Added documentation for loc intrinsic.
593         * invoke.texi: Documented -fcray-pointer flag.
594
595 2005-10-24  Asher Langton  <langton2@llnl.gov>
596
597         * decl.c (gfc_match_save): Changed duplicate SAVE errors to
598         warnings in the absence of strict standard conformance
599         * symbol.c (gfc_add_save): Same.
600
601 2005-10-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
602
603         PR fortran/15586
604         * arith.c (gfc_arith_error): Change message to include locus.
605         (check_result, eval_intrinsic, gfc_int2int, gfc_real2real,
606         gfc_real2complex, gfc_complex2real, gfc_complex2complex): Use
607         the new gfc_arith_error.
608         (arith_error): Rewrite full error messages instead of building
609         them from pieces.
610         * check.c (must_be): Removed.
611         (type_check, numeric_check, int_or_real_check, real_or_complex_check,
612         kind_check, double_check, logical_array_check, array_check,
613         scalar_check, same_type_check, rank_check, kind_value_check,
614         variable_check, gfc_check_allocated, gfc_check_associated,
615         gfc_check_cmplx, gfc_check_dcmplx, gfc_check_dot_product,
616         gfc_check_index, gfc_check_kind, gfc_check_matmul, gfc_check_null,
617         gfc_check_pack, gfc_check_precision, gfc_check_present,
618         gfc_check_spread): Rewrite full error messages instead of
619         building them from pieces.
620         * decl.c (gfc_match_entry): Rewrite full error messages instead
621         of building them from pieces.
622         * parse.c (gfc_state_name): Remove.
623         * parse.h: Remove prototype for gfc_state_name.
624
625 2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
626
627         PR fortran/23635
628         * check.c (gfc_check_ichar_iachar): Move the code around so
629         that the check on the length is after check for
630         references.
631
632 2005-10-23  Asher Langton  <langton2@llnl.gov>
633
634         * decl.c (match_type_spec): Add a BYTE type as an extension.
635
636 2005-10-23  Paul Thomas  <pault@gcc.gnu.org>
637
638         PR fortran/18022
639         * trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL
640         if there is a component ref during an array ref to force
641         use of temporary in assignment.
642
643         PR fortran/24311
644         PR fortran/24384
645         * fortran/iresolve.c (check_charlen_present): New function to
646         add a charlen to the typespec, in the case of constant
647         expressions.
648         (gfc_resolve_merge, gfc_resolve_spread): Call.the above.
649         (gfc_resolve_spread): Make calls to library functions that
650         handle the case of the spread intrinsic with a scalar source.
651
652 2005-10-22  Erik Edelmann  <eedelman@gcc.gnu.org>
653
654         PR fortran/24426
655         * decl.c (variable_decl): Don't assign default initializers to
656         pointers.
657
658 2005-10-21  Jakub Jelinek  <jakub@redhat.com>
659
660         * interface.c (compare_actual_formal): Issue error when attempting
661         to pass an assumed-size array as assumed-shape array argument.
662
663 2005-10-20  Erik Edelmann  <erik.edelmann@iki.fi>
664
665         PR fortran/21625
666         * resolve.c (expr_to_initialize): New function.
667         (resolve_allocate_expr): Take current statement as new
668         argument. Add default initializers to variables of
669         derived types, if they need it.
670         (resolve_code): Provide current statement as argument to
671         resolve_allocate_expr().
672
673 2005-10-19  Paul Thomas  <pault@gcc.gnu.org>
674
675         PR fortran/24440
676         * resolve.c (resolve_symbol): Correct error in check for
677         assumed size array with default initializer by testing
678         for arrayspec before dereferencing it.
679
680 2005-10-17  Paul Thomas  <pault@gcc.gnu.org>
681
682         PR fortran/23446
683         * gfortran.h: Primitive for gfc_is_formal_arg.
684         * resolve.c(gfc_is_formal_arg): New function to signal across
685         several function calls that formal argument lists are being
686         processed.
687         (resolve_formal_arglist): Set/reset the flag for gfc_is_formal_arg.
688         *expr.c(check_restricted): Add check, via gfc_is_formal_arg, if
689         symbol is part of an formal argument declaration.
690
691         PR fortran/21459
692         * decl.c (add_init_expr_to_sym): Make a new character
693         length for each variable, when the expression is NULL
694         and link to cl_list.
695
696         PR fortran/20866
697         * match.c (recursive_stmt_fcn): New function that tests if
698         a statement function resurses through itself or other other
699         statement functions.
700         (gfc_match_st_function): Call recursive_stmt_fcn to check
701         if this is recursive and to raise error if so.
702
703         PR fortran/20849
704         PR fortran/20853
705         * resolve.c (resolve_symbol): Errors for assumed size arrays
706         with default initializer and for external objects with an
707         initializer.
708
709         PR fortran/20837
710         * decl.c (match_attr_spec): Prevent PUBLIC from being used
711         outside a module.
712
713 2005-10-16  Erik Edelmann  <erik.edelmann@iki.fi>
714
715         PR 22273
716         * expr.c (check_inquiry): Add "len" to inquiry_function.
717
718 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
719
720         * primary.c (match_boz_constant): Add missing break after gfc_error.
721
722 2005-10-12  Paul Thomas  <pault@gcc.gnu.org>
723
724         PR fortran/24092
725         * trans-types.c (gfc_get_derived_type): Insert code to obtain backend
726         declaration for derived types, building if necessary.  Return the
727         derived type if the fields have been built by this process.  Otherwise,
728         continue as before but using the already obtained backend_decls for the
729         derived type components.  Change the gcc_assert to act on the field.
730
731 2005-10-12  Paul Thomas  <pault@gcc.gnu.org>
732
733         PR fortran/18082
734         * decl.c (variable_decl): Make a new copy of the character
735         length for each variable, when the expression is not a
736         constant.
737
738 2005-10-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
739
740         * gfortran.h: Add bitmasks for different FPE traps. Add fpe
741         member to options_t.
742         * invoke.texi: Document the new -ffpe-trap option.
743         * lang.opt: Add -ffpe-trap option.
744         * options.c (gfc_init_options): Initialize the FPE option.
745         (gfc_handle_fpe_trap_option): New function to parse the argument
746         of the -ffpe-trap option.
747         (gfc_handle_option): Add case for -ffpe-trap.
748         * trans-decl.c: Declare a tree for the set_fpe library function.
749         (gfc_build_builtin_function_decls): Build this tree.
750         (gfc_generate_function_code): Generate a call to set_fpe at
751         the beginning of the main program.
752         * trans.h: New tree for the set_fpe library function.
753
754 2005-10-12  Paul Thomas  <pault@gcc.gnu.org>
755
756         PR fortran/20847
757         PR fortran/20856
758         * symbol.c (check_conflict): Prevent common variables and
759         function results from having the SAVE attribute,as required
760         by the standard.
761
762 2005-10-12  Paul Thomas  <pault@gcc.gnu.org>
763
764         PR fortran/24207
765         * resolve.c (resolve_symbol): Exclude use and host associated
766         symbols from the test for private objects in a public namelist.
767
768 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
769
770         * trans-common.c (build_field): Fix comment typo.
771         (create_common): Set backend_decl of COMMON or EQUIVALENCEd
772         variables to a VAR_DECL with the COMPONENT_REF in
773         DECL_HAS_VALUE_EXPR rather than COMPONENT_REF directly.
774         * f95-lang.c (gfc_expand_function): Emit debug info for
775         EQUIVALENCEd variables if the equiv union is going to be output.
776
777 2005-10-11  Steven G. Kargl  <kargls@comcast.net>
778
779         PR fortran/20786
780         * iresolve.c (gfc_resolve_aint, gfc_resolve_anint): Type conversion
781         of the argument.
782
783 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
784
785         * f95-lang.c (gfc_init_decl_processing): Initialize
786         void_list_node.
787
788 2005-10-07  Erik Edelmann  <erik.edelmann@iki.fi>
789
790         PR 18568
791         * resolve.c (find_array_spec): Search through the list of
792         components in the symbol of the type instead of the symbol of the
793         variable.
794
795 2005-10-05  Richard Guenther  <rguenther@suse.de>
796
797         PR fortran/24176
798         * parse.c (gfc_parse_file): Exit early for empty files.
799
800 2005-10-03  Steve Ellcey  <sje@cup.hp.com>
801
802         * fortran/trans-types.c (gfc_init_kinds): Only pass float, double,
803         and long double floating point types through to Fortran compiler.
804
805 2005-10-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
806
807         PR fortran/20120
808         * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Add support for long
809         double builtin function.
810         (gfc_init_builtin_functions): Add mfunc_longdouble,
811         mfunc_clongdouble and func_clongdouble_longdouble trees. Build
812         them for round, trunc, cabs, copysign and pow functions.
813         * iresolve.c (gfc_resolve_reshape, gfc_resolve_transpose): Add
814         case for kind 10 and 16.
815         * trans-decl.c: Add trees for cpowl10, cpowl16, ishftc16,
816         exponent10 and exponent16.
817         (gfc_build_intrinsic_function_decls): Build nodes for int16,
818         real10, real16, complex10 and complex16 types. Build all possible
819         combinations for function _gfortran_pow_?n_?n. Build function
820         calls cpowl10, cpowl16, ishftc16, exponent10 and exponent16.
821         * trans-expr.c (gfc_conv_power_op): Add case for integer(16),
822         real(10) and real(16).
823         * trans-intrinsic.c: Add suppport for long double builtin
824         functions in BUILT_IN_FUNCTION, LIBM_FUNCTION and LIBF_FUNCTION
825         macros.
826         (gfc_conv_intrinsic_aint): Add case for integer(16), real(10) and
827         real(16) kinds.
828         (gfc_build_intrinsic_lib_fndecls): Add support for real10_decl
829         and real16_decl in library functions.
830         (gfc_get_intrinsic_lib_fndecl): Add cases for real and complex
831         kinds 10 and 16.
832         (gfc_conv_intrinsic_exponent): Add cases for real(10) and real(16)
833         kinds.
834         (gfc_conv_intrinsic_sign): Likewise.
835         (gfc_conv_intrinsic_ishftc): Add case for integer(16) kind.
836         * trans-types.c (gfc_get_int_type, gfc_get_real_type,
837         gfc_get_complex_type, gfc_get_logical_type): Doesn't error out in
838         the case of kinds not available.
839         * trans.h: Declare trees for cpowl10, cpowl16, ishftc16,
840         exponent10 and exponent16.
841
842 2005-10-01  Paul Thomas  <pault@gcc.gnu.org>
843
844         PR fortran/16404
845         PR fortran/20835
846         PR fortran/20890
847         PR fortran/20899
848         PR fortran/20900
849         PR fortran/20901
850         PR fortran/20902
851         * gfortran.h: Prototype for gfc_add_in_equivalence.
852         * match.c (gfc_match_equivalence): Make a structure component
853         an explicit,rather than a syntax, error in an equivalence
854         group.  Call gfc_add_in_equivalence to add the constraints
855         imposed in check_conflict.
856         * resolve.c (resolve_symbol): Add constraints: No public
857         structures with private-type components and no public
858         procedures with private-type dummy arguments.
859         (resolve_equivalence_derived): Add constraint that prevents
860         a structure equivalence member from having a default
861         initializer.
862         (sequence_type): New static function to determine whether an
863         object is default numeric, default character, non-default
864         or mixed sequence. Add corresponding enum typespec.
865         (resolve_equivalence): Add constraints to equivalence groups
866         or their members: No more than one initialized member and
867         that different types are not equivalenced for std=f95.  All
868         the simple constraints have been moved to check_conflict.
869         * symbol.c (check_conflict): Simple equivalence constraints
870         added, including those removed from resolve_symbol.
871         (gfc_add_in_equivalence): New function to interface calls
872         match_equivalence to check_conflict.
873
874 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
875
876         PR fortran/18518
877         * trans-common.c (build_equiv_decl): Add IS_SAVED argument.
878         If it is true, set TREE_STATIC on the decl.
879         (create_common): If any symbol in equivalence has SAVE attribute,
880         pass true as last argument to build_equiv_decl.
881
882 2005-09-24  Janne Blomqvist  <jblomqvi@cc.hut.fi>
883
884         * trans-io.c (gfc_build_io_library_fndecls): Add entry
885         iocall_x_array for transfer_array.
886         (transfer_array_desc): New function.
887         (gfc_trans_transfer): Add code to call transfer_array_desc.
888
889 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
890
891         PR fortran/23677
892         * symbol.c (gfc_is_var_automatic): Return true if character length
893         is non-constant rather than constant.
894         * resolve.c (gfc_resolve): Don't handle !gfc_option.flag_automatic
895         here.
896         * options.c (gfc_post_options): Set gfc_option.flag_max_stack_var_size
897         to 0 for -fno-automatic.
898
899 2005-09-23  Paul Thomas  <pault@gcc.gnu.org>
900
901         PR fortran/16861
902         * module.c (mio_component_ref): Return if the symbol is NULL
903         and wait for another iteration during module reads.
904         (mio_symtree_ref): Suppress the writing of contained symbols,
905         when a symbol is available in the main namespace.
906         (read_module): Restrict scope of special treatment of contained
907         symbols to variables only and suppress redundant call to
908         find_true_name.
909
910 2005-09-22  Steven G. Kargl  <kargls@comcast.net>
911
912         PR fortran/24005
913         * interface.c (check_interface1): Fix NULL dereference.
914
915 2005-09-22  Erik Edelmann  <erik.edelmann@iki.fi>
916
917         PR fortran/23843
918         * resolve.c (derived_inaccessible): New function.
919         (resolve_transfer): Use it to check for private
920         components.
921
922 2005-09-22  Steven G. Kargl  <kargls@comcast.net>
923
924         PR fortran/23516
925         * intrinsic.c (add_function): Add IMAG, IMAGPART, and REALPART
926         intrinsics.
927         * intrinsic.h: Prototypes for gfc_simplify_realpart and
928         gfc_resolve_realpart.
929         * intrinsic.texi: Document intrinsic procedures.
930         * simplify.c (gfc_simplify_realpart): New function.
931         * irseolve.c (gfc_resolve_realpart): New function.
932
933 2005-09-21  Erik Edelmann  <erik.edelmann@iki.fi>
934
935         PR fortran/19929
936         * trans-stmt.c (gfc_trans_deallocate): Check if the
937         object to be deallocated is an array by looking at
938         expr->rank instead of expr->symtree->n.sym->attr.dimension.
939
940 2005-09-20  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
941
942         PR fortran/23420
943         * io.c (resolve_tag): Don't allow non-CHARACTER constants as formats.
944         (match_io): Fix usage of gfc_find_symbol.
945
946 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
947
948         PR fortran/23663
949         * primary.c (match_actual_arg): Handle ENTRY the same way
950         as FUNCTION.
951
952 2005-09-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
953
954         * Make-lang.in: Make check-fortran alias for check-gfortran.
955
956 2005-09-18  Andreas Jaeger  <aj@suse.de>
957
958         * module.c (read_module): Add missed line from last patch.
959
960 2005-09-18  Erik Edelmann  <erik.edelmann@iki.fi>
961
962         PR fortran/15975
963         * resolve.c (resolve_symbol): Don't assign default
964         initializer to pointers.
965
966 2005-09-18  Paul Thomas  <pault@gcc.gnu.org>
967
968         PR fortran/16861
969         * module.c (read_module): Give symbols from module procedures
970         different true_name entries to those from the module proper.
971
972 2005-09-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
973
974         PR fortran/15586
975         * arith.c (gfc_arith_error): Add translation support for error
976         messages.
977         * array.c (gfc_match_array_ref): Likewise.
978         (gfc_match_array_spec): Likewise.
979         * check.c (must_be): Add msgid convention to third argument.
980         (same_type_check): Add translation support for error message.
981         (rank_check): Likewise.
982         (kind_value_check): Likewise.
983         (gfc_check_associated): Correct typo.
984         (gfc_check_reshape): Add translation support for error message.
985         (gfc_check_spread): Likewise.
986         * error.c (error_printf): Add nocmsgid convention to argument.
987         (gfc_warning, gfc_notify_std, gfc_warning_now, gfc_warning_check)
988         (gfc_error, gfc_error_now): Likewise.
989         (gfc_status): Add cmsgid convention to argument.
990         * expr.c (gfc_extract_int): Add translation support for error
991         messages.
992         (gfc_check_conformance): Add msgid convention to argument.
993         (gfc_check_pointer_assign): Correct tabbing.
994         * gfortran.h: Include intl.h header. Remove prototype for gfc_article.
995         * gfortranspec.c: Include intl.h header.
996         (lang_specific_driver): Add translation support for --version.
997         * io.c (check_format): Add translation support for error message.
998         (format_item_1): Likewise.
999         (data_desc): Likewise.
1000         * matchexp.c: Likewise.
1001         * misc.c (gfc_article): Remove function.
1002         * module.c (bad_module): Use msgid convention. Add translation support
1003         for error messages.
1004         (require_atom): Add translation support for error messages.
1005         * parse.c (gfc_ascii_statement): Likewise.
1006         (gfc_state_name): Likewise.
1007         * primary.c (match_boz_constant): Reorganise error messages for
1008         translations.
1009         * resolve.c (resolve_entries): Likewise.
1010         (resolve_operator): Add translation support for error messages.
1011         (gfc_resolve_expr): Use msgid convention. Reorganise error messages
1012         for translations.
1013         (resolve_symbol): Add translation support for error messages.
1014         * symbol.c (gfc_add_procedure): Remove use of gfc_article function.
1015         * trans-const.c (gfc_build_string_const): Use msgid convention.
1016
1017 2005-09-16  Paul Brook  <paul@codesourcery.com>
1018
1019         PR fortran/23906
1020         * dependency.c (transform_sections): Divide by correct value.
1021         Elaborate comment.
1022
1023 2005-09-14  Paul Thomas  <pault@gcc.gnu.org>
1024
1025         PR fortran/21875 Internal Unit Array I/O, NIST
1026         * fortran/trans-io.c (gfc_build_io_library_fndecls): Add field for
1027         array descriptor to IOPARM structure.
1028         * fortran/trans-io.c (set_internal_unit): New function to generate code
1029         to store the character (array) and the character length for an internal
1030         unit.
1031         * fortran/trans-io (build_dt): Use the new function set_internal_unit.
1032
1033 2005-09-14  Paul Thomas  <pault@gcc.gnu.org>
1034
1035         PR fortran/19358
1036         * trans-array.c (gfc_trans_dummy_array_bias): correct the typo
1037         which uses dim[i].upper for lbound, rather than dim[i].lower.
1038
1039 2005-09-13  Erik Edelmann  <erik.edelmann@iki.fi>
1040
1041         PR fortran/17740
1042         * trans-expr.c (gfc_trans_arrayfunc_assign): Check value
1043         of attr.elemental for specific function instead of generic name.
1044
1045 2005-09-13  Richard Sandiford  <richard@codesourcery.com>
1046
1047         PR fortran/18899
1048         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Move initialization
1049         of argse.  Remove now-redundant want_pointer assignment.
1050         * trans-array.c (gfc_conv_expr_descriptor): When not assigning to
1051         a pointer, keep the original bounds of a full array reference.
1052
1053 2005-09-13  Richard Sandiford  <richard@codesourcery.com>
1054
1055         PR target/19269
1056         * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift)
1057         (gfc_resolve_pack, gfc_resolve_reshape, gfc_resolve_spread)
1058         (gfc_resolve_transpose, gfc_resolve_unpack): Add "_char" to the name
1059         for character-based operations.
1060         (gfc_resolve_pack): Remove ATTRIBUTE_UNUSED from array argument.
1061         (gfc_resolve_unpack): Copy the whole typespec from the vector.
1062         * trans-array.c (gfc_conv_expr_descriptor): In the EXPR_FUNCTION
1063         case, get the string length from the scalarization state.
1064
1065 2005-09-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1066
1067         * Make-lang.in: Change targets prefixes from f95 to fortran.
1068         * config-lang.in: Change language name to "fortran".
1069         * lang.opt: Change language name to "fortran".
1070         * options.c: Change CL_F95 to CL_Fortran.
1071
1072 2005-09-09  Thomas Koenig  <Thomas.Koenig@online.de>
1073
1074         gfortran.texi:  Document IOSTAT= specifier.
1075
1076 2005-09-09  Thomas Koenig  <Thomas.Koenig@online.de>
1077
1078         * gfortran.h:  Add iomsg to gfc_open, gfc_close, gfc_filepos,
1079         gfc_inquire and gfc_dt.
1080         * dump-parse-tree.c (gfc_show_code_node):  Add iomsg
1081         for open, close, file positioning, inquire and namelist.
1082         * io.c (io_tag):  Add tag_iomsg.
1083         (resolve_tag): Add standards warning for iomsg.
1084         (match_open_element):  Add iomsg.
1085         (gfc_free_open):  Add iomsg.
1086         (gfc_resolve_open):  Add iomsg.
1087         (gfc_free_close):  Add iomsg.
1088         (match_close_element):  Add iomsg.
1089         (gfc_resolve_close):  Add iomsg.
1090         (gfc_free_filepos):  Add iomsg.
1091         (match_file_element):  Add iomsg.
1092         (gfc_resolve_filepos):  Add iostat and iomsg.
1093         (match-dt_element):  Add iomsg.
1094         (gfc_free_dt):  Add iomsg.
1095         (gfc_resolve_dt):  Add iomsg.
1096         (gfc_free_inquire):  Add iomsg.
1097         (match_inquire_element):  Add iomsg.
1098         (gfc_resolve_inquire):  Add iomsg.
1099         * trans_io.c:  Add ioparm_iomsg and ioparm_iomsg_len.
1100         (gfc_build_io_library_fndecls):  Add iomsg as last field.
1101         (gfc_trans_open):  Add iomsg.
1102         (gfc_trans_close):  Add iomsg.
1103         (build_fileos):  Call set_string for iomsg.
1104         (gfc_trans_inquire):  Add iomsg.
1105         (build_dt):  Add iomsg.
1106
1107 2005-09-09  Richard Sandiford  <richard@codesourcery.com>
1108
1109         * match.h (gfc_match_equiv_variable): Declare.
1110
1111 2005-09-09  Richard Sandiford  <richard@codesourcery.com>
1112
1113         PR fortran/19239
1114         * Makefile.in (fortran/trans-expr.o): Depend on dependency.h.
1115         * dependency.h (gfc_ref_needs_temporary_p): Declare.
1116         * dependency.c (gfc_ref_needs_temporary_p): New function.
1117         (gfc_check_fncall_dependency): Use it instead of inlined check.
1118         By so doing, take advantage of the fact that character substrings
1119         within an array reference also need a temporary.
1120         * trans.h (GFC_SS_VECTOR): Adjust comment.
1121         * trans-array.c (gfc_free_ss): Remove GFC_SS_VECTOR case.
1122         (gfc_set_vector_loop_bounds): New function.
1123         (gfc_add_loop_ss_code): Call it after evaluating the subscripts of
1124         a GFC_SS_SECTION.  Deal with the GFC_SS_VECTOR case by evaluating
1125         the vector expression and caching its descriptor for use within
1126         the loop.
1127         (gfc_conv_array_index_ref, gfc_conv_vector_array_index): Delete.
1128         (gfc_conv_array_index_offset): Handle scalar, vector and range
1129         dimensions as separate cases of a switch statement.  In the vector
1130         case, use the loop variable to calculate a vector index and use the
1131         referenced element as the dimension's index.  Perform bounds checking
1132         on this final index.
1133         (gfc_conv_section_upper_bound): Return null for vector indexes.
1134         (gfc_conv_section_startstride): Give vector indexes a start value
1135         of 0 and a stride of 1.
1136         (gfc_conv_ss_startstride): Adjust for new GFC_SS_VECTOR representation.
1137         (gfc_conv_expr_descriptor): Expand comments.  Generalize the
1138         handling of the !want_pointer && !direct_byref case.  Use
1139         gfc_ref_needs_temporary_p to decide whether the variable case
1140         needs a temporary.
1141         (gfc_walk_variable_expr): Handle DIMEN_VECTOR by creating a
1142         GFC_SS_VECTOR index.
1143         * trans-expr.c: Include dependency.h.
1144         (gfc_trans_arrayfunc_assign): Fail if the target needs a temporary.
1145
1146 2005-09-09  Richard Sandiford  <richard@codesourcery.com>
1147
1148         PR fortran/21104
1149         * trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved
1150         from trans-expr.c.
1151         (gfc_init_interface_mapping, gfc_free_interface_mapping)
1152         (gfc_add_interface_mapping, gfc_finish_interface_mapping)
1153         (gfc_apply_interface_mapping): Declare.
1154         * trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare.
1155         (gfc_trans_allocate_temp_array): Add pre and post block arguments.
1156         * trans-array.c (gfc_set_loop_bounds_from_array_spec): New function.
1157         (gfc_trans_allocate_array_storage): Replace loop argument with
1158         separate pre and post blocks.
1159         (gfc_trans_allocate_temp_array): Add pre and post block arguments.
1160         Update call to gfc_trans_allocate_array_storage.
1161         (gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new
1162         interface to gfc_trans_allocate_temp_array.
1163         * trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping):
1164         Moved to trans.h.
1165         (gfc_init_interface_mapping, gfc_free_interface_mapping)
1166         (gfc_add_interface_mapping, gfc_finish_interface_mapping)
1167         (gfc_apply_interface_mapping): Make extern.
1168         (gfc_conv_function_call): Build an interface mapping for array
1169         return values too.  Call gfc_set_loop_bounds_from_array_spec.
1170         Adjust call to gfc_trans_allocate_temp_array so that code is
1171         added to SE rather than LOOP.
1172
1173 2005-09-09  Richard Sandiford  <richard@codesourcery.com>
1174
1175         PR fortran/12840
1176         * trans.h (gfor_fndecl_internal_realloc): Declare.
1177         (gfor_fndecl_internal_realloc64): Declare.
1178         * trans-decl.c (gfor_fndecl_internal_realloc): New variable.
1179         (gfor_fndecl_internal_realloc64): New variable.
1180         (gfc_build_builtin_function_decls): Initialize them.
1181         * trans-array.h (gfc_trans_allocate_temp_array): Add a fourth argument.
1182         * trans-array.c (gfc_trans_allocate_array_storage): Add an argument
1183         to say whether the array can grow later.  Don't allocate the array
1184         on the stack if so.  Don't call malloc for zero-sized arrays.
1185         (gfc_trans_allocate_temp_array): Add a similar argument here.
1186         Pass it along to gfc_trans_allocate_array_storage.
1187         (gfc_get_iteration_count, gfc_grow_array): New functions.
1188         (gfc_iterator_has_dynamic_bounds): New function.
1189         (gfc_get_array_constructor_element_size): New function.
1190         (gfc_get_array_constructor_size): New function.
1191         (gfc_trans_array_ctor_element): Replace pointer argument with
1192         a descriptor tree.
1193         (gfc_trans_array_constructor_subarray): Likewise.  Take an extra
1194         argument to say whether the variable-sized part of the constructor
1195         must be allocated using realloc.  Grow the array when this
1196         argument is true.
1197         (gfc_trans_array_constructor_value): Likewise.
1198         (gfc_get_array_cons_size): Delete.
1199         (gfc_trans_array_constructor): If the loop bound has not been set,
1200         split the allocation into a static part and a dynamic part.  Set
1201         loop->to to the bounds for static part before allocating the
1202         temporary.  Adjust call to gfc_trans_array_constructor_value.
1203         (gfc_conv_loop_setup): Allow any constructor to determine the
1204         loop bounds.  Check whether the constructor has a dynamic size
1205         and prefer to use something else if so.  Expect the loop bound
1206         to be set later.  Adjust call to gfc_trans_allocate_temp_array.
1207         * trans-expr.c (gfc_conv_function_call): Adjust another call here.
1208
1209 2005-09-09  Paul Thomas  <pault@gcc.gnu.org>
1210
1211         PR fortran/18878
1212         * module.c (find_use_name_n): Based on original
1213         find_use_name. Either counts number of use names for a
1214         given real name or returns use name n.
1215         (find_use_name, number_use_names): Interfaces to the
1216         function find_use_name_n.
1217         (read_module): Add the logic and calls to these functions,
1218         so that mutiple reuses of the same real name are loaded.
1219
1220 2005-09-09  Paul Thomas  <pault@gcc.gnu.org>
1221
1222         PR fortran/22304
1223         PR fortran/23270
1224         PR fortran/18870
1225         PR fortran/16511
1226         PR fortran/17917
1227         * gfortran.h: Move definition of BLANK_COMMON_NAME from trans-
1228         common.c so that it is accessible to module.c. Add common_head
1229         field to gfc_symbol structure. Add field for the equivalence
1230         name AND new attr field, in_equivalence.
1231         * match.c (gfc_match_common, gfc_match_equivalence): In loops
1232         that flag common block equivalences, emit an error if the
1233         common blocks are different, using sym->common_head as the
1234         common block identifier. Ensure that symbols that are equivalence
1235         associated with a common block are marked as being in_common.
1236         * module.c (write_blank_common): New.
1237         (write_common): Use unmangled common block name.
1238         (load_equiv): New function ported from g95.
1239         (read_module): Call load_equiv.
1240         (write_equiv): New function ported from g95. Correct
1241         string referencing for gfc functions. Give module
1242         equivalences a unique name.
1243         (write_module): Call write_equiv and write_blank_common.
1244         * primary.c (match_variable) Old gfc_match_variable, made
1245         static and third argument provided to indicate if parent
1246         namespace to be visited or not.
1247         (gfc_match_variable) New. Interface to match_variable.
1248         (gfc_match_equiv_variable) New. Interface to match_variable.
1249         * trans-common.c (finish_equivalences): Provide the call
1250         to create_common with a gfc_common_header so that
1251         module equivalences are made external, rather than local.
1252         (find_equivalences): Ensure that all members in common block
1253         equivalences are marked as used. This prevents the subsequent
1254         call to this function from making local unions.
1255         * trans-decl.c (gfc_generate_function_code): Move the call to
1256         gfc_generate_contained_functions to after the call to
1257         gfc_trans_common so the use-associated, contained common
1258         blocks produce the correct references.
1259         (gfc_create_module_variable): Return for equivalenced symbols
1260         with existing backend declaration.
1261
1262 2005-09-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1263
1264         PR fortran/23765
1265         * match.c (gfc_match_common): Remove unnecessary / wrong special
1266         cases for end-of-statement.
1267
1268 2005-09-08  Janne Blomqvist  <jblomqvi@cc.hut.fi>
1269
1270         * gfortran.texi: Add section about implemented F2003 features.
1271
1272 2005-09-08  Richard Sandiford  <richard@codesourcery.com>
1273
1274         PR fortran/15326
1275         * trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in
1276         the GFC_SS_FUNCTION case too.
1277         * trans-expr.c (gfc_conv_function_val): Allow symbols to be bound
1278         to function pointers as well as function decls.
1279         (gfc_interface_sym_mapping, gfc_interface_mapping): New structures.
1280         (gfc_init_interface_mapping, gfc_free_interface_mapping)
1281         (gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array)
1282         (gfc_set_interface_mapping_bounds, gfc_add_interface_mapping)
1283         (gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons)
1284         (gfc_apply_interface_mapping_to_ref)
1285         (gfc_apply_interface_mapping_to_expr)
1286         (gfc_apply_interface_mapping): New functions.
1287         (gfc_conv_function_call): Evaluate the arguments before working
1288         out where the result should go.  Make the null pointer case provide
1289         the string length in parmse.string_length.  Cope with non-constant
1290         string lengths, using the above functions to evaluate such lengths.
1291         Use a temporary typespec; don't assign to sym->cl->backend_decl.
1292         Don't assign to se->string_length when returning a cached array
1293         descriptor.
1294
1295 2005-09-08  Richard Sandiford  <richard@codesourcery.com>
1296
1297         PR fortran/19928
1298         * trans-array.c (gfc_conv_array_ref): Call gfc_advance_se_ss_chain
1299         after handling scalarized references.  Make "indexse" inherit from
1300         "se" when handling AR_ELEMENTs.
1301         (gfc_walk_variable_expr): Add GFC_SS_SCALAR entries for each
1302         substring or scalar reference that follows an array section.
1303         * trans-expr.c (gfc_conv_variable): When called from within a
1304         scalarization loop, start out with "ref" pointing to the scalarized
1305         part of the reference.  Don't call gfc_advance_se_ss_chain here.
1306
1307 2005-09-07  Richard Sandiford  <richard@codesourcery.com>
1308
1309         PR fortran/23373
1310         * trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary
1311         descriptor if the rhs is not a null pointer or variable.
1312
1313 2005-09-07  Thomas Koenig  <Thomas.Koenig@online.de>
1314
1315         PR fortran/20848
1316         * symbol.c(check_conflict):  Add conflict for parameter/save,
1317
1318 2005-09-06  Richard Sandiford  <richard@codesourcery.com>
1319
1320         PR fortran/19269
1321         * simplify.c (gfc_simplify_transpose): Set the result's typespec from
1322         the source, not the first element of the return value.
1323
1324 2005-09-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1325
1326         PR fortran/23661
1327         * io.c (match_io): Correctly backup if PRINT followed by
1328         symbol which is not a namelist.  Force blank between PRINT
1329         and namelist in free form.
1330
1331 2005-08-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1332
1333         PR fortran/20592
1334         * gfortran.h (gfc_option_t): Add flag_automatic.
1335         * invoke.texi: Document the -fno-automatic option.
1336         * lang.opt: Add a -fautomatic option.
1337         * options.c (gfc_init_options): Default for -fautomatic is on.
1338         (gfc_handle_option): Add handling of -fautomatic option.
1339         * resolve.c (gfc_resolve): When -fno-automatic is used, mark
1340         needed variables as SAVE.
1341
1342 2005-08-27  Erik Edelmann  <erik.edelmann@iki.fi>
1343
1344         * trans-array.c (gfc_trans_deferred_array): Fix comments.
1345
1346 2005-08-27  Erik Schnetter  <schnetter@aei.mpg.de>
1347
1348         * primary.c (match_charkind_name): Fix typo in comment leading to
1349         function.
1350
1351 2005-08-25  Erik Edelmann  <eedelman@acclab.helsinki.fi>
1352
1353         PR fortran/20363
1354         * symbol.c (find_special): Remove.
1355         (build_sym, add_init_expr, attr_decl1): Remove calls to
1356         find_special in favor of calls to gfc_get_symbol.
1357
1358 2005-08-24  Thomas Koenig  <Thomas.Koenig@online.de>
1359
1360         PR fortran/17758
1361         * gfortran.h (symbol_attribute):  Add noreturn to the structure.
1362         (gfc_intrinsic_sym):  Add noreturn to the structure.
1363         * intrinsic.c (make_noreturn):  New function.
1364         (add_subroutines):  Mark subroutines abort and exit as noreturn.
1365         (gfc_intrinsic_sub_interface):  Copy noreturn attribute from
1366         isym to the resolved symbol.
1367         * trans-decl.c (gfc_get_extern_function_decl): Set function
1368         as VOLATILE (== noreturn) if the noreturn attribute is set.
1369
1370 2005-08-21  Steven G. Kargl  <kargls@comcast.net>
1371
1372         * decl.c: Typo in comment.
1373
1374 2005-08-21  Steven G. Kargl  <kargls@comcast.net>
1375
1376         * array.c: Bump GFC_MAX_AC_EXPAND from 100 to 65535.
1377
1378 2005-08-21  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1379
1380         * gfortran.h (gfc_option_t): Remove source field.  Add
1381         flag_d_lines field.
1382         (gfc_new_file): Remove arguments in prototype.
1383         (gfc_source_file): Make 'const char *'.
1384         * f95-lang.c (gfc_init): Use gfc_source_file instead of
1385         gfc_option.source.  Call gfc_new_file without arguments.
1386         * invoke.texi: Document new options '-fd-lines-as-code' and
1387         '-fd-lines-as-comment'.
1388         * lang.opt: Add new options.  Alphabetize.
1389         * options.c (gfc_init_options): Initialize gfc_source_file instead
1390         of gfc_option.source.  Initialize gfc_option.flag_d_lines.
1391         (form_from_filename): Move here from scanner.c.  Make
1392         'filename' argument 'const'.
1393         (gfc_post_options): Set gfc_source_file.  Determine source form.
1394         Warn if 'd-lines*' are used in free form.
1395         * scanner.c (gfc_source_file): Constify.
1396         (skip_fixed_comments): Deal with d-lines.
1397         (get_file): Constify argument 'name'.
1398         (load_file): Constify argument 'filename'.
1399         (form_from_filename): Moved to options.c.
1400         (gfc_new_file): Remove arguments.  Don't initialize
1401         gfc_source_file, don't determine source form.
1402         * trans-const.c (gfc_init_constants): Use gfc_source_file instead
1403         of gfc_option.source.
1404
1405 2005-08-19  Steven G. Kargl  <kargls@comcast.net>
1406
1407         PR fortran/23065
1408         * gfortran.h: Remove PATH_MAX definition.
1409         * module.c (write_module, gfc_dump_module): Use alloca to allocate
1410         buffers.
1411         * scanner.c (gfc_release_include_path, form_from_filename): Ditto.
1412
1413 2004-08-16  Huang Chun  <chunhuang73@hotmail.com>
1414
1415         * trans-expr.c (gfc_conv_power_op): Evaluate the expression before
1416         expand.
1417
1418 2005-08-14  Asher Langton  <langton2@llnl.gov>
1419
1420         * parse.c (match): Enclose macro in do...while(0) and braces.
1421
1422 2005-08-14  Paul Thomas  <pault@gcc.gnu.org>
1423
1424         PR fortran/21432.
1425         * gfortran.texi: Document PRINT namelist.
1426
1427 2005-08-14  Paul Thomas  <pault@gcc.gnu.org>
1428
1429         PR fortran/21432.
1430         * io.c (match_io): Add code to implement PRINT namelist.
1431
1432 2005-08-14  Canqun Yang  <canqun@nudt.edu.cn>
1433
1434         * trans-stmt.c (gfc_trans_arithmetic_if): Optimized in case of equal
1435         labels.
1436
1437 2005-08-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1438             Steven Bosscher  <stevenb@suse.de>
1439
1440         PR libfortran/20006
1441         * gfortran.h: Add is_main_program member to symbol_attribute.
1442         * trans-decl: Add a gfor_fndecl_set_std tree.
1443         (gfc_build_builtin_function_decls): Create it.
1444         (gfc_generate_function_code): Add this call at the beginning of
1445         the main program.
1446         * trans.c (gfc_generate_code): Move main_program and attr.
1447         * trans.h: Add declaration for gfor_fndecl_set_std.
1448
1449 2005-08-10  Thomas Koenig  <Thomas.Koenig@online.de>
1450
1451         PR libfortran/22143
1452         gfortran.h:  Declare new function gfc_resolve_dim_arg.
1453         resolve.c:  New function gfc_resolve_dim_arg.
1454         iresolve.c (gfc_resolve_all):  Use gfc_resolve_dim_arg.
1455         (gfc_resolve_any):  Likewise.
1456         (gfc_resolve_count):  Likewise.
1457         (gfc_resolve_cshift):  Likewise.  If the kind of shift is less
1458         gfc_default_integer_kind, convert it to default integer type.
1459         (gfc_resolve_eoshift):  Likewise.
1460         (gfc_resolve_maxloc):  Use gfc_resolve_dim_arg.
1461         (gfc_resolve_maxval):  Likewise.
1462         (gfc_resolve_minloc):  Likewise.
1463         (gfc_resolve_minval):  Likewise.
1464         (gfc_resolve_product):  Likewise.
1465         (gfc_resolve_spread):  Likewise.
1466         (gfc_resolve_sum):  Likewise.
1467
1468 2005-08-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1469
1470         * check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check
1471         functions for new intrinsics TTYNAM and ISATTY.
1472         * intrinsic.c (add_functions, add_subroutines): Add new
1473         intrinsics.
1474         * intrinsic.h: Add prototypes for new check and resolve
1475         functions.
1476         * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New
1477         resolve functions for intrinsics TTYNAM and ISATTY.
1478         * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY.
1479         * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY.
1480
1481 2005-08-09  Jakub Jelinek  <jakub@redhat.com>
1482
1483         * scanner.c (preprocessor_line): Don't write beyond the end of flag
1484         buffer.
1485
1486 2005-08-07   Janne Blomqvist  <jblomqvi@cc.hut.fi>
1487
1488         PR fortran/22390
1489         * dump-parse-tree.c (gfc_show_code_node): Add case for FLUSH.
1490         * gfortran.h: Add enums for FLUSH.
1491         * io.c (gfc_free_filepos,match_file_element,match_filepos): Modify
1492         comment appropriately.  (gfc_match_flush): New function.
1493         * match.c (gfc_match_if): Add match for flush.
1494         * match.h: Add prototype.
1495         * parse.c (decode_statement): Add flush to 'f' case.
1496         (next_statement): Add case for flush. (gfc_ascii_statement): Likewise.
1497         * resolve.c (resolve_code): Add flush case.
1498         * st.c (gfc_free_statement): Add flush case.
1499         * trans-io.c: Add prototype for flush.
1500         (gfc_build_io_library_fndecls): Build fndecl for flush.
1501         (gfc_trans_flush): New function.
1502         * trans-stmt.h: Add prototype.
1503         * trans.c (gfc_trans_code): Add case for flush.
1504
1505 2005-08-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1506
1507         * primary.c (match_hollerith_constant): Fix typo.
1508
1509 2005-08-06  Kazu Hirata  <kazu@codesourcery.com>
1510
1511         * decl.c, dump-parse-tree.c, gfortran.texi, intrinsic.texi,
1512         invoke.texi, resolve.c, trans-array.c, trans-array.h,
1513         trans-common.c, trans-expr.c, trans-io.c, trans.h: Fix
1514         comment/doc typos.  Follow spelling conventions.
1515
1516 2005-08-06  Jakub Jelinek  <jakub@redhat.com>
1517
1518         PR fortran/18833
1519         PR fortran/20850
1520         * primary.c (match_varspec): If equiv_flag, don't look at sym's
1521         attributes, call gfc_match_array_ref up to twice and don't do any
1522         substring or component processing.
1523         * resolve.c (resolve_equivalence): Transform REF_ARRAY into
1524         REF_SUBSTRING or nothing if needed.  Check that substrings
1525         don't have zero length.
1526
1527 2005-08-05  Thomas Koenig  <Thomas.Koenig@online.de>
1528
1529         * trans-expr.c  (gfc_build_builtin_function_decls):  Mark
1530         stop_numeric and stop_string as non-returning.
1531
1532 2005-08-04  Paul Brook  <paul@codesourcery.com>
1533
1534         * trans-expr.c (gfc_conv_expr, gfc_conv_expr_type): Update comments.
1535         (gfc_conv_expr_lhs): Fix assertion.
1536         (gfc_conv_expr_val): Merge post block.  Set se.expr to new value.
1537
1538 2005-08-02  David Edelsohn  <edelsohn@gnu.org>
1539
1540         PR fortran/22491
1541         * expr.c (simplify_parameter_variable): Do not copy the subobject
1542         references if the expression value is a constant.
1543
1544         * expr.c (gfc_simplify_expr): Evaluate constant substrings.
1545
1546 2005-07-31  Jerry DeLisle  <jvdelisle@verizon.net>
1547
1548         * intrinsic.texi: Add documentation for exponent, floor, and fnum and
1549         fix description of ceiling in index.
1550
1551 2005-07-31  Steven Bosscher  <stevenb@suse.de>
1552
1553         * trans-decl.c (gfc_build_builtin_function_decls): Give the internal
1554         malloc functions the 'malloc' attribute.  Give runtime_error the
1555         'noreturn' attribute.
1556
1557 2005-07-31  Steven Bosscher  <stevenb@suse.de>
1558
1559         * trans-stmt.c (gfc_trans_goto): Jump to the known label instead
1560         of the assigned goto variable.
1561
1562 2005-07-29  Steven Bosscher  <stevenb@suse.de>
1563
1564         * trans-types.h (gfc_array_range_type): Add missing GTY decl for this.
1565
1566 2005-07-28  Andrew Pinski  <pinskia@physics.uc.edu>
1567
1568         * fortran/f95-lang.c (language_function): Remove
1569         named_labels, shadowed_labels, returns_value, returns_abnormally,
1570         warn_about_return_type, and extern_inline fields.
1571         (named_labels): Remove variable.
1572         (gfc_init_decl_processing): Remove setting of named_labels.
1573
1574 2005-07-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1575
1576         PR fortran/22503
1577         * resolve.c (resolve_operator): Improve diagnostic for comparison
1578         of logicals with invalid operator.
1579
1580 2005-07-25  Jakub Jelinek  <jakub@redhat.com>
1581
1582         PR fortran/20063
1583         * data.c (gfc_assign_data_value_range): Call
1584         create_character_initializer if last_ts is a character type.
1585
1586 2005-07-22  Manfred Hollstein  <mh@suse.com>
1587
1588         * match.c (gfc_match_symbol): Fix uninitialised warnings.
1589         * matchexp.c (gfc_match_expr): Likewise.
1590
1591 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
1592
1593         Make CONSTRUCTOR use VEC to store initializers.
1594         * trans-array.c (gfc_build_null_descriptor,
1595         gfc_trans_array_constructor_value, gfc_conv_array_initializer):
1596         Update to cope with VEC in CONSTRUCTOR_ELTS.
1597         * trans-common.c (create_common): Likewise.
1598         * trans-expr.c (gfc_conv_structure): Likewise.
1599         * trans-stmt.c (gfc_trans_character_select): Use
1600         build_constructor_from_list instead of build_constructor.
1601
1602 2005-07-19  Paul Thomas  <pault@gcc.gnu.org>
1603
1604         PR fortran/16940
1605         * resolve.c (resolve_symbol): A symbol with FL_UNKNOWN
1606         is matched against interfaces in parent namespaces. If there
1607         the symtree is set to point to the interface.
1608
1609 2005-07-16  David Edelsohn  <edelsohn@gnu.org>
1610
1611         PR fortran/21730
1612         * decl.c (do_parm): Adjust character initializer to character length
1613         of symbol before assigning.
1614
1615 2005-07-14  Steve Ellcey  <sje@cup.hp.com>
1616
1617         * trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5.
1618
1619 2005-07-14  Jakub Jelinek  <jakub@redhat.com>
1620
1621         * gfortran.h (MAX_ERROR_MESSAGE): Remove.
1622         (gfc_error_buf): Add allocated and index fields.  Change message
1623         field from array to a pointer.
1624         * error.c (use_warning_buffer, error_ptr, warning_ptr): Remove.
1625         (cur_error_buffer): New variable.
1626         (error_char): Use cur_error_buffer->{message,index} instead of
1627         {warning,error}_{buffer.message,ptr}.  Reallocate message buffer
1628         if too small.
1629         (gfc_warning, gfc_notify_std, gfc_error, gfc_error_now): Setup
1630         cur_error_buffer and its index rather than {warning,error}_ptr
1631         and use_warning_buffer.
1632         (gfc_warning_check, gfc_error_check): Don't print anything if
1633         message is NULL.
1634         (gfc_push_error): Allocate saved message with xstrdup.
1635         (gfc_pop_error): Free saved message with gfc_free.
1636         (gfc_free_error): New function.
1637         * primary.c (match_complex_constant): Call gfc_free_error if
1638         gfc_pop_error will not be called.
1639         * match.c (gfc_match_st_function): Likewise.
1640
1641         PR fortran/22417
1642         * scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new
1643         file.  Fix file left but not entered warning.
1644
1645 2005-07-14  Feng Wang  <fengwang@nudt.edu.cn>
1646         Steven G. Kargl  <kargls@comcast.net>
1647
1648         * array.c (resolve_character_array_constructor): Allocate gfc_charlen
1649         for the array and attach to namespace list for automatic deallocation.
1650
1651 2005-07-13  Andreas Schwab  <schwab@suse.de>
1652
1653         * Make-lang.in (fortran/dependency.o): Depend on
1654         $(GFORTRAN_TRANS_DEPS).
1655
1656 2005-07-11  Jakub Jelinek  <jakub@redhat.com>
1657
1658         * trans-stmt.c (gfc_trans_forall_loop): Clear maskindex before
1659         the outermost loop.
1660         (gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp,
1661         gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_2):
1662         Don't clear maskindexes here.
1663
1664 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
1665
1666         * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
1667         is removed.
1668
1669 2005-07-08  Jakub Jelinek  <jakub@redhat.com>
1670
1671         * primary.c (gfc_match_rvalue): Handle ENTRY the same way
1672         as FUNCTION.
1673
1674 2005-07-07  Jakub Jelinek  <jakub@redhat.com>
1675
1676         * scanner.c (load_line): Add pbuflen argument, don't make
1677         buflen static.  If maxlen == 0 or preprocessor_flag,
1678         don't truncate at buflen, but at maxlen.  In xrealloc add
1679         1 byte at the end for the terminating '\0'.  Don't fill
1680         with spaces up to buflen, but gfc_option.fixed_line_length.
1681         (load_file): Adjust load_line caller.  Add line_len variable.
1682
1683         * scanner.c (preprocessor_line): Only set current_file->line when errors
1684         have not been encountered.  Warn and don't crash if a file leave
1685         preprocessor line has no corresponding entering line.  Formatting.
1686
1687 2005-07-07  Steven Bosscher  <stevenb@suse.de>
1688
1689         * primary.c (match_hollerith_constant): Use int, not unsigned int,
1690         for the hollerith length.  Fix indentation.
1691
1692 2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
1693
1694         PR fortran/16531
1695         PR fortran/15966
1696         PR fortran/18781
1697         * arith.c (gfc_hollerith2int, gfc_hollerith2real,
1698         gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
1699         New functions.
1700         (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
1701         * arith.h (gfc_hollerith2int, gfc_hollerith2real,
1702         gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
1703         Add prototypes.
1704         * expr.c (free_expr0): Free memery allocated for Hollerith constant.
1705         (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
1706         (gfc_check_assign): Enable conversion from Hollerith to other.
1707         * gfortran.h (bt): Add BT_HOLLERITH.
1708         (gfc_expr): Add from_H flag.
1709         * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
1710         (add_conversions): Add conversions from Hollerith constant to other.
1711         (do_simplify): Don't simplify if  Hollerith constant arguments exist.
1712         * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU.
1713         * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH.
1714         (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH.
1715         * primary.c (match_hollerith_constant): New function.
1716         (gfc_match_literal_constant): Add match Hollerith before Integer.
1717         * simplify.c (gfc_convert_constant): Add conversion from Hollerith
1718         to other.
1719         * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to
1720         convert Hollerith constant to tree.
1721         * trans-io.c (gfc_convert_array_to_string): Get array's address and
1722         length to set string expr.
1723         (set_string): Deal with array assigned Hollerith constant and character
1724         array.
1725         * gfortran.texi: Document Hollerith constants as extention support.
1726
1727 2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
1728
1729         PR fortran/22327
1730         * trans-array.c (gfc_trans_array_constructor_value): Fix index of data.
1731
1732 2005-07-07  Jakub Jelinek  <jakub@redhat.com>
1733
1734         * decl.c (gfc_match_entry): Allow ENTRY without parentheses
1735         even in FUNCTIONs.
1736
1737 2005-07-03  Kazu Hirata  <kazu@codesourcery.com>
1738
1739         * gfortran.texi, intrinsic.texi: Fix typos.
1740         * symbol.c: Fix a comment typo.
1741
1742 2005-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1743
1744         * error.c (error_printf, error_print): Use ATTRIBUTE_GCC_GFC.
1745         * gfortran.h (ATTRIBUTE_GCC_GFC): New.
1746         (gfc_warning, gfc_warning_now, gfc_error, gfc_error_now,
1747         gfc_fatal_error, gfc_internal_error, gfc_notify_std): Use
1748         ATTRIBUTE_GCC_GFC.
1749
1750 2005-07-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1751
1752         PR fortran/20842
1753         * io.c (match_dt_element): Do not allow END tag in PRINT or
1754         WRITE statement.
1755
1756 2005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
1757
1758         * lang.opt: Remove "." from end of help texts.
1759
1760 2005-07-01  Jerry DeLisle  <jvdelisle@verizon.net>
1761
1762         * gfortran.texi: Fix typos and grammar.
1763         * invoke.texi: Fix typos and grammar.
1764         * intrinsic.texi: Add documentaion for eoshift, epsilon, etime, and
1765         exit. Fixed alignment of text for dtime syntax. Fixed a few line
1766         lengths.
1767
1768 2005-06-25  Jakub Jelinek  <jakub@redhat.com>
1769
1770         * trans-stmt.c (gfc_trans_forall_1): Prefer to use smaller logical
1771         type than boolean_type_node.
1772
1773 2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
1774
1775         * all files: Update FSF address in copyright headers.
1776
1777 2005-06-24  Jerry DeLisle  <jvdelisle@verizon.net>
1778
1779         PR fortran/21915
1780         * gfortran.h: Add symbols for new intrinsic functions.
1781         * intrinsic.c: Add new functions acosh, asinh, and atanh.
1782         * intrinsic.h: Add prototypes for the new functions.
1783         * iresolve.c (gfc_resolve_acosh): New function.
1784         (gfc_resolve_asinh): New function.
1785         (gfc_resolve_atanh): New function.
1786         * mathbuiltins.def: Add defines.
1787         * simplify.c (gfc_simplify_acosh): New function.
1788         (gfc_simplify_asinh): New function.
1789         (gfc_simplify_atanh): New function.
1790
1791 2005-06-24  Feng Wang  <fengwang@nudt.edu.cn>
1792
1793         * simplify.c (gfc_simplify_modulo): Don't clear before get result.
1794
1795 2005-06-22  Paul Brook  <paul@codesourcery.com>
1796
1797         PR fortran/21034
1798         * symbol.c (gfc_is_var_automatic): New function.
1799         (save_symbol): Use it.
1800
1801 2005-06-21  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1802             Paul Thomas  <pault@gcc.gnu.org>
1803
1804         PR fortran/22010
1805         Port from g95.
1806         * module.c (mio_namelist): New function. Correct to set
1807         namelist_tail and to give error on renaming namelist by use
1808         association.
1809         (mio_symbol): Call mio_namelist.
1810
1811 2005-06-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1812
1813         * gfortran.h: Add flag_backslash compile-time option.
1814         * lang.opt: Add support for -fbackslash option.
1815         * options.c: Likewise.
1816         * primary.c: Implement behavior for -fno-backslash.
1817         * invoke.texi: Add doc for -fbackslash option.
1818         * gfortran.texi: Remove mention of -fno-backslash as a
1819         possible extension.
1820
1821 2005-06-20  Steven G. Kargl  <kargls@comcast.net>
1822         (port from g95)
1823
1824         PR fortran/21257
1825         * match.c (gfc_match_label): Detect duplicate labels.
1826
1827
1828 2005-06-20  Erik Edelmann  <erik.edelmann@iki.fi>
1829
1830         * intrinsic.c (check_intrinsic_standard): Fix spelling error
1831         in a warning message.
1832
1833 2005-06-18  Erik Edelman  <eedelman@acclab.helsinki.fi>
1834             Steven G. Kargl  <kargls@comast.net>
1835
1836         PR fortran/19926
1837         * primary.c (gfc_match_rvalue):  expr_type can be EXPR_CONSTANT
1838         for an array; check that sym->as is NULL.
1839
1840
1841 2005-06-18  Steven G. Kargl  <kargls@comcast.net>
1842
1843         * intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic
1844         functions whose simplification routine return FAILURE.
1845
1846 2005-06-13  Geoffrey Keating  <geoffk@apple.com>
1847
1848         * Make-lang.in (fortran.install-man): Doesn't depend on installdirs.
1849         (rule for installing f95.1 manpage): Does depend on installdirs.
1850
1851 2005-06-13  Jakub Jelinek  <jakub@redhat.com>
1852
1853         PR fortran/22038
1854         * trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex
1855         in the innermost loop.
1856
1857         * trans-expr.c (gfc_conv_function_call): Return int instead of
1858         void.  Use a local variable for has_alternate_specifier and
1859         return it.  Avoid modification of function type's return value
1860         in place, since it may be shared.
1861         * trans.h (has_alternate_specifier): Remove.
1862         (gfc_conv_function_call): Change return type.
1863         * trans-stmt.c (has_alternate_specifier): Remove.
1864         (gfc_trans_call): Add a local has_alternate_specifier variable,
1865         set it from gfc_conv_function_call return value.
1866
1867 2005-06-12  Richard Henderson  <rth@redhat.com>
1868
1869         * trans-array.c (gfc_conv_descriptor_data_get): Rename from
1870         gfc_conv_descriptor_data.  Cast the result to the DATAPTR type.
1871         (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): New.
1872         (gfc_trans_allocate_array_storage): Use them.
1873         (gfc_array_allocate, gfc_array_deallocate): Likewise.
1874         (gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor): Likewise.
1875         (gfc_trans_deferred_array): Likewise.
1876         * trans-expr.c (gfc_conv_function_call): Likewise.
1877         (gfc_trans_subcomponent_assign): Likewise.
1878         (gfc_trans_pointer_assignment): Likewise.
1879         * trans-intrinsic.c (gfc_conv_allocated): Likewise.
1880         * trans-types.c (gfc_array_descriptor_base): New.
1881         (gfc_get_element_type): Use GFC_TYPE_ARRAY_DATAPTR_TYPE.
1882         (gfc_get_array_descriptor_base): Break out from ...
1883         (gfc_get_array_type_bounds): ... here.  Create type variants.
1884         * trans-array.h (gfc_conv_descriptor_data_get): Declare.
1885         (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare.
1886
1887 2005-06-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1888
1889         * trans-expr.c (gfc_conv_variable): POINTER results don't need f2c
1890         calling conventions.  Look at sym instead of sym->result.
1891         * trans-types.c (gfc_sym_type): Remove workaround for frontend bug.
1892         Remove condition which is always false with workaround removed.
1893         (gfc_return_by_reference): Always look at sym, never at sym->result.
1894
1895 2005-06-11  Steven G. Kargl  <kargls@comcast.net>
1896
1897         PR fortran/17792
1898         PR fortran/21375
1899         * trans-array.c (gfc_array_deallocate): pstat is new argument
1900         (gfc_array_allocate): update gfc_array_deallocate() call.
1901         (gfc_trans_deferred_array): ditto.
1902         * trans-array.h: update gfc_array_deallocate() prototype.
1903         * trans-decl.c (gfc_build_builtin_function_decls): update declaration
1904         * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature.
1905
1906 2005-06-07  Jerry DeLisle  <jvdelisle@verizon.net>
1907
1908         * intrinsic.texi: Add documentation for dcmplx, digits,
1909         dim, idim, ddim, dot_product, dprod, dreal, and dtime.
1910
1911 2005-06-05  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1912
1913         PR fortran/21912
1914         * trans-array.c (gfc_trans_array_constructor_value): Slightly reorder.
1915         Generate correct exit condition in case of negative steps in
1916         implied-do loops.
1917
1918         * invoke.texi: Fix description of flags required for compatibility
1919         with g77.
1920
1921 2005-06-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1922         Erik Schnetter  <schnetter@aei.mpg.de>
1923
1924         PR fortran/19195
1925         * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment,
1926         remove FIXME comment.
1927
1928 2005-06-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1929
1930         * match.c (match_forall_iterator): Don't immediately give error if '='
1931         is not followed by an expression.
1932
1933 2005-06-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1934         Erik Edelmann  <erik.edelmann@iki.fi>
1935
1936         * array.c (gfc_match_array_constructor): Disallow empty array
1937         constructor.
1938
1939 2005-06-03  Jerry DeLisle  <jvdelisle@verizon.net>
1940
1941         * fortran/intrinsic.texi: Add documentation for
1942         command_argument_count, conjg, dconjg, count,
1943         cpu_time, cshift, date_and_time, dble, dfloat.
1944
1945 2005-06-01  Roger Sayle  <roger@eyesopen.com>
1946
1947         * intrinsic.c (add_conv): No longer take a "simplify" argument as
1948         its always gfc_convert_constant, instead take a "standard" argument.
1949         (add_conversions): Change all existing calls of add_conv to pass
1950         GFC_STD_F77 as appropriate.  Additionally, if we're allowing GNU
1951         extensions support integer-logical and logical-integer conversions.
1952         (gfc_convert_type_warn): Warn about use the use of these conversions
1953         as a extension when appropriate, i.e. with -pedantic.
1954         * simplify.c (gfc_convert_constant): Add support for integer to
1955         logical and logical to integer conversions, using gfc_int2log and
1956         gfc_log2int.
1957         * arith.c (gfc_log2int, gfc_int2log): New functions.
1958         * arith.h (gfc_log2int, gfc_int2log): Prototype here.
1959         * gfortran.texi: Document this new GNU extension.
1960
1961 2005-06-01  Paul Thomas  <pault@gcc.gnu.org>
1962
1963         * fortran/trans-expr.c (gfc_conv_variable): Clean up bracketting.
1964         * fortran/trans-expr.c (gfc_conv_function_call): Insert spaces.
1965         Correct comments and replace convert of integer_one_node with
1966         build_int_cst.
1967
1968 2005-06-01  Jakub Jelinek  <jakub@redhat.com>
1969
1970         PR fortran/21729
1971         * resolve.c (resolve_contained_fntype): Use sym->attr.untyped
1972         to avoid giving error multiple times.
1973         (resolve_entries): Don't error about BT_UNKNOWN here.
1974         (resolve_unknown_f): Capitalize IMPLICIT for consistency.
1975         (resolve_fntype): New function.
1976         (gfc_resolve): Call resolve_fntype.
1977
1978 2005-06-01  Feng Wang  <fengwang@nudt.edu.cn>
1979
1980         PR fortran/20883
1981         * fortran/io.c (resolve_tag): Fix error message.
1982
1983 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1984
1985         * fortran/trans-decl.c: Don't include errors.h.
1986         * fortran/Make-lang.in: Updates dependencies.
1987
1988 2005-05-31  Paul Thomas  <pault@gcc.gnu.org>
1989
1990         PR fortran/18109
1991         PR fortran/18283
1992         PR fortran/19107
1993         * fortran/trans-array.c (gfc_conv_expr_descriptor): Obtain the
1994         string length from the expression typespec character length value
1995         and set temp_ss->stringlength and backend_decl. Obtain the
1996         tree expression from gfc_conv_expr rather than gfc_conv_expr_val.
1997         Dereference the expression to obtain the character.
1998         * fortran/trans-expr.c (gfc_conv_component_ref): Remove the
1999         dereference of scalar character pointer structure components.
2000         * fortran/trans-expr.c (gfc_trans_subarray_assign): Obtain the
2001         string length for the structure component from the component
2002         expression.
2003
2004 2005-05-30  Roger Sayle  <roger@eyesopen.com>
2005
2006         * gfortran.h (GFC_STD_LEGACY): New "standard" macro.  Reindent.
2007         * options.c (gfc_init_options): By default, allow legacy extensions
2008         but warn about them.
2009         (gfc_post_options): Make -pedantic warn about legacy extensions
2010         even with -std=legacy.
2011         (gfc_handle_option): Make -std=gnu follow the default behaviour
2012         of warning about legacy extensions, but allowing them. Make the
2013         new -std=legacy accept everything and warn about nothing.
2014         * lang.opt (std=legacy): New F95 command line option.
2015         * invoke.texi: Document both -std=f2003 and -std=legacy.
2016         * gfortran.texi: Explain the two types of extensions and document
2017         how they are affected by the various -std= command line options.
2018
2019 2005-05-30  Kazu Hirata  <kazu@cs.umass.edu>
2020
2021         * trans-expr.c: Remove trailing ^M.
2022
2023         * trans-expr.c: Fix comment typos.
2024
2025 2005-05-29  Paul Thomas  <pault@gcc.gnu.org>
2026
2027         PR fortran/16939
2028         PR fortran/17192
2029         PR fortran/17193
2030         PR fortran/17202
2031         PR fortran/18689
2032         PR fortran/18890
2033         * fortran/trans-array.c (gfc_conv_resolve_dependencies): Add string
2034         length to temp_ss for character pointer array assignments.
2035         * fortran/trans-expr.c (gfc_conv_variable): Correct errors in
2036         dereferencing of characters and character pointers.
2037         * fortran/trans-expr.c (gfc_conv_function_call): Provide string
2038         length as return argument for various kinds of handling of return.
2039         Return a char[]* temporary for character pointer functions and
2040         dereference the temporary upon return.
2041
2042 2005-05-29  Janne Blomqvist  <jblomqvi@vipunen.hut.fi>
2043             Steven G. Kargl  <kargls@comcast.net>
2044
2045         fortran/PR20846
2046         * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage.
2047
2048 2005-05-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2049
2050         PR libfortran/20006
2051         * io.c (format_item_1): Add check and extension warning for
2052         $ edit descriptor.
2053
2054 2005-05-28  Steven G. Kargl  <kargls@comcast.net>
2055
2056         * arith.c (gfc_arith_init_1): Fix off by one problem;
2057         (gfc_check_integer_range): Chop extra bits in subnormal numbers.
2058
2059 2005-05-28  Jerry DeLisle   <jvdelisle@verizon.net>
2060             Steven G. Kargl  <kargls@comcast.net>
2061
2062         * intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING
2063         and CMPLX
2064
2065 2005-05-27  Steven G. Kargl  <kargls@comcast.net>
2066
2067         * trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force
2068         like types in comparsion.
2069
2070 2005-05-26  Kazu Hirata  <kazu@cs.umass.edu>
2071
2072         * data.c, parse.c, trans-array.c, trans-decl.c,
2073         trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
2074         trans.h: Fix comment typos.  Follow spelling conventions.
2075
2076 2005-05-22  Roger Sayle  <roger@eyesopen.com>
2077
2078         * gfortran.texi: Document some more GNU extensions.
2079
2080 2005-05-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2081
2082         * error.c (gfc_warning): Fix typo in comment.
2083
2084 2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
2085
2086         PR libfortran/21127
2087         * fortran/iresolve.c (gfc_resolve_reshape): Add
2088         gfc_type_letter (BT_COMPLEX) for complex to
2089         to resolved function name.
2090
2091 2005-05-18  Erik Edelmann  <erik.edelmann@iki.fi>
2092
2093         * array.c (gfc_match_array_constructor): Support [ ... ]
2094         style array constructors.
2095
2096 2005-05-18  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2097
2098         * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_TRUNC
2099         and BUILT_IN_TRUNCF instead of BUILT_IN_FLOOR and BUILT_IN_FLOORF.
2100         * trans-intrinsic.c (build_fix_expr): Change 'op' argument
2101         to correct enum type.
2102         (gfc_conv_intrinsic_aint): Likewise.  Clarify comment in front of
2103         function.  Add default case to switch, deal with FIX_TRUNC_EXPR
2104         instead of FIX_FLOOR_EXPR.
2105
2106 2005-05-18  Feng Wang  <fengwang@nudt.edu.cn>
2107
2108         PR fortran/20954
2109         * trans-const.c (gfc_conv_const_charlen): Use gfc_charlen_type_node to
2110         build character length.
2111
2112 2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
2113
2114         * trans-types.c (gfc_array_range_type): New variable.
2115         (gfc_init_types): Initialize gfc_array_range_type.
2116         (gfc_get_array_type_bounds): Use gfc_array_range_type.
2117
2118 2005-05-17  Jakub Jelinek  <jakub@redhat.com>
2119
2120         PR fortran/15080
2121         * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2
2122         arguments.  If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead
2123         of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use
2124         just that as index.
2125         (generate_loop_for_rhs_to_temp): Likewise.
2126         (compute_overall_iter_number): Add INNER_SIZE_BODY argument.
2127         It non-NULL, add it to body.
2128         (allocate_temp_for_forall_nest_1): New function, split from
2129         allocate_temp_for_forall_nest.
2130         (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument,
2131         propagate it down to compute_overall_iter_number.  Use
2132         allocate_temp_for_forall_nest_1.
2133         (gfc_trans_assign_need_temp): Remove COUNT2.  Call
2134         compute_inner_temp_size into a new stmtblock_t.  Adjust calls to
2135         allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp
2136         and generate_loop_for_temp_to_lhs.
2137         (gfc_trans_pointer_assign_need_temp): Adjust calls to
2138         allocate_temp_for_forall_nest.
2139         (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new
2140         stmtblock_t.  Call compute_overall_iter_number just once, then
2141         allocate_temp_for_forall_nest_1 twice with the same size.
2142         Initialize mask indexes if nested_forall_info != NULL.
2143         (gfc_trans_where_2): Initialize mask indexes before calling
2144         gfc_trans_nested_forall_loop.
2145
2146 2005-05-15  Feng Wang  <fengwang@nudt.edu.cn>
2147         Jerry DeLisle  <jvdelisle@verizon.net>
2148
2149         PR fortran/17432
2150         * trans-stmt.c (gfc_trans_label_assign): fix pointer type, to
2151         resolve ICE on assign of format label.
2152         * trans-io.c (set_string): add fold-convert to properly
2153         handle assigned format label in write.
2154
2155 2005-05-13  Paul Brook  <paul@codesourcery.com>
2156
2157         * trans-stmt.c (gfc_trans_forall_1): Fix comment typo.
2158
2159 2005-05-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2160
2161         * trans-types.c (gfc_is_nodesc_array): Remove redundant check.
2162
2163 2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2164
2165         PR fortran/21260
2166         * io.c (check_format): Look for literal characters inside
2167         hollerith constant.
2168
2169 2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2170
2171         * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
2172         attribute from result symbol to function symbol.
2173         * trans-expr.c (gfc_conv_function_call): Look at sym->attr.dimension
2174         instead of sym->result->attr.dimension.
2175
2176 2005-05-10  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2177
2178         PR fortran/20178
2179         * gfortran.h (gfc_option): Add flag_f2c.
2180         * invoke.texi: Document '-ff2c' command line option.  Adapt
2181         documentation for '-fno-second-underscore' and '-fno-underscoring'.
2182         * lang.opt (ff2c): New entry.
2183         * options.c (gfc-init_options): Set default calling convention
2184         to -fno-f2c.  Mark -fsecond-underscore unset.
2185         (gfc_post_options): Set -fsecond-underscore if not explicitly set
2186         by user.
2187         (handle_options): Set gfc_option.flag_f2c according to requested
2188         calling convention.
2189         * trans-decl.c (gfc_get_extern_function_decl): Use special f2c
2190         intrinsics where necessary.
2191         (gfc_trans_deferred_vars): Change todo error to assertion.
2192         * trans-expr.c (gfc_conv_variable): Dereference access
2193         to hidden result argument.
2194         (gfc_conv_function_call): Add hidden result argument to argument
2195         list if f2c calling conventions requested.  Slightly restructure
2196         tests.  Convert result of default REAL function to requested type
2197         if f2c calling conventions are used.  Dereference COMPLEX result
2198         if f2c cc are used.
2199         * trans-types.c (gfc_sym_type):  Return double for default REAL
2200         function if f2c cc are used.
2201         (gfc_return_by_reference): Slightly restructure logic.  Return
2202         COMPLEX by reference depending on calling conventions.
2203         (gfc_get_function_type): Correctly make hidden result argument a
2204         pass-by-reference argument for COMPLEX.  Remove old code which does
2205         this for derived types.
2206
2207 2005-05-09  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2208
2209         * match.c (gfc_match_return): Only require space after keyword when
2210         it is obligatory.  Only give stdwarn to after matching is successful.
2211         * dump-parse-tree.c (gfc_show_symbol): Deal with alternate returns.
2212
2213 2005-05-08  Kazu Hirata  <kazu@cs.umass.edu>
2214
2215         * intrinsic.texi: Fix typos.
2216
2217 2005-05-07  Steven G. Kargl  <kargls@comcast.net>
2218
2219         * intrinsic.texi:  Document ASSOCIATED and ATAN2.  Update Bessel function
2220         description to include information about scalar arguments.
2221
2222 2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
2223
2224         * Make-lang.in, dump-parse-tree.c, invoke.texi, lang.opt,
2225         match.h, trans-array.h: Update copyright.
2226
2227 2005-04-29  Tom Tromey  <tromey@redhat.com>
2228
2229         * f95-lang.c (poplevel): Updated for change to build_block.
2230
2231 2005-04-29  Jakub Jelinek  <jakub@redhat.com>
2232
2233         PR fortran/13082
2234         PR fortran/18824
2235         * trans-expr.c (gfc_conv_variable): Handle return values in functions
2236         with alternate entry points.
2237         * resolve.c (resolve_entries): Remove unnecessary string termination
2238         after snprintf.  Set result of entry master.
2239         If all entries have the same type, set entry master's type
2240         to that common type, otherwise set mixed_entry_master attribute.
2241         * trans-types.c (gfc_get_mixed_entry_union): New function.
2242         (gfc_get_function_type): Use it for mixed_entry_master functions.
2243         * gfortran.h (symbol_attribute): Add mixed_entry_master bit.
2244         * decl.c (gfc_match_entry): Set entry->result properly for
2245         function ENTRY.
2246         * trans-decl.c (gfc_get_symbol_decl): For entry_master, skip over
2247         __entry argument.
2248         (build_entry_thunks): Handle return values in entry thunks.
2249         Clear BT_CHARACTER's ts.cl->backend_decl, so that it is not
2250         shared between multiple contexts.
2251         (gfc_get_fake_result_decl): Use DECL_ARGUMENTS from
2252         current_function_decl instead of sym->backend_decl.  Skip over
2253         entry master's entry id argument.  For mixed_entry_master entries or
2254         their results, return a COMPONENT_REF of the fake result.
2255         (gfc_trans_deferred_vars): Don't warn about missing return value if
2256         at least one entry point uses RESULT.
2257         (gfc_generate_function_code): For entry master returning
2258         CHARACTER, copy ts.cl->backend_decl to all entry result syms.
2259         * trans-array.c (gfc_trans_dummy_array_bias): Don't consider return
2260         values optional just because they are in entry master.
2261
2262 2005-04-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2263
2264         * gfortran.h (gfc_namespace): Add seen_implicit_none field,
2265         Tobias forgot this in previous commit.
2266
2267 2005-04-29  Paul Brook   <paul@codesourcery.com>
2268
2269         * trans-expr.c (gfc_conv_expr_present): Fix broken assert.  Update
2270         comment.
2271
2272 2005-04-29  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2273
2274         * gfortran.h (gfc_namespace): Add seen_implicit_none field.
2275         * symbol.c (gfc_set_implicit_none): Give error if there's a previous
2276         IMPLICIT NONE, set seen_implicit_none.
2277         (gfc_merge_new_implicit): Error if there's an IMPLICIT NONE statement.
2278
2279 2005-04-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2280
2281         * gfortran.h (gfc_gsymbol): Make name a const char *.
2282         * symbol.c (gfc_get_gsymbol): Allocate gsymbol name via
2283         gfc_get_string.
2284
2285 2005-04-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2286
2287         PR fortran/20865
2288         * resolve.c (resolve_actual_arglist): Issue an error if a statement
2289         functions is used as actual argument.
2290
2291 2005-04-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2292
2293         PR fortran/21177
2294         * interface.c (compare_parameter): Ignore type for EXPR_NULL
2295         only if type is BT_UNKNOWN.
2296
2297 2005-04-25  Paul Brook  <paul@codesourcery.com>
2298         Steven G. Kargl  <kargls@comcast.net>
2299
2300         PR fortran/20879
2301         * check.c (gfc_check_ichar_iachar): New function.
2302         * instinsic.h (gfc_check_ichar_iachar): Add prototype.
2303         * intrinsic.c (add_functions): Use it.
2304         * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect
2305         character expression lengths.
2306
2307 2005-04-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2308
2309         PR fortran/20059
2310         * trans-common.c (translate_common): Cast offset and
2311         common_segment->offset to type int for warning message.
2312
2313 2005-04-23  DJ Delorie  <dj@redhat.com>
2314
2315         * trans-decl.c: Adjust warning() callers.
2316
2317 2005-04-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2318
2319         * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as
2320         intermediate representation.  Fix typo in comment.
2321
2322 2005-04-21  Steven G. Kargl  <kargls@comcast.net>
2323
2324         * trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation;
2325         simplify logic; Add a gcc_assert.
2326
2327 2005-04-19  Steven G. Kargl  <kargls@comcast.net>
2328
2329         * trans-const.c (gfc_conv_mpz_to_tree): Fix comment.
2330
2331 2005-04-19  Arnaud Desitter  <arnaud.desitter@ouce.ox.ac.uk>
2332             Steven G. Kargl  <kargls@comcast.net>
2333
2334         * invoke.texi: Update -Waliasing description
2335
2336 2005-04-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2337
2338         PR fortran/16861
2339         * resolve.c (resolve_variable): If e->symtree is not set, this
2340         ought to be a FAILURE, and not a segfault.
2341
2342 2005-04-17  Paul Thomas  <pault@gcc.gnu.org>
2343
2344         PR fortran/17472
2345         PR fortran/18209
2346         PR fortran/18396
2347         PR fortran/19467
2348         PR fortran/19657
2349         * fortran/trans-io.c (gfc_build_io_library_fndecls): Create
2350         declaration for st_set_nml_var and st_set_nml_var_dim. Remove
2351         declarations of old namelist functions.
2352         (build_dt): Simplified call to transfer_namelist_element.
2353         (nml_get_addr_expr): Generates address expression for start of
2354         object data. New function.
2355         (nml_full_name): Qualified name for derived type components. New
2356         function.
2357         (transfer_namelist_element): Modified for calls to new functions
2358         and improved derived type handling.
2359
2360 2005-04-17  Richard Guenther  <rguenth@gcc.gnu.org>
2361
2362         * scanner.c (gfc_next_char_literal): Reset truncation flag
2363         for lines ending in a comment for both fixed and free form.
2364         (load_line): Do not set truncated flag if only truncating
2365         the EOL marker.
2366
2367 2005-04-15  Richard Guenther  <rguenth@gcc.gnu.org>
2368
2369         PR fortran/14569
2370         * gfortran.h (gfc_linebuf): Add truncated field.
2371         * parse.c (next_statement): Handle warning for truncated
2372         lines.
2373         * scanner.c (load_line): Return if line was truncated.
2374         No longer warn for truncated lines.  Remove unused parameters.
2375         (load_file): Store load_line return value to linebuf.
2376         (gfc_error_recovery): Do not advance line at the end.
2377
2378 2005-04-14  Steven G. Kargl  <kargls@comcast.net>
2379
2380         * gfortran.h (gfc_real_info): Add subnormal struct member.
2381         * arith.c (gfc_arith_init_1): Set it.
2382         (gfc_check_real_range): Use it.
2383         * simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.).
2384
2385 2005-04-12  Kazu Hirata  <kazu@cs.umass.edu>
2386
2387         * simplify.c: Fix a comment typo.
2388
2389 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
2390
2391         * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2392
2393 2005-04-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2394
2395         * simplify.c (gfc_simplify_nearest): Overhaul.
2396
2397 2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
2398
2399         * interface.c: Fix a comment typo.
2400
2401 2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2402
2403         * match.c (match_arithmetic_if): Arithmetic IF is obsolete in
2404         Fortran 95.
2405
2406 2005-04-09  Steven G. Kargl  <kargls@comcast.net>
2407
2408         * simplify.c (gfc_simplify_anint): Use mpfr_round()
2409         (gfc_simplify_dnint): ditto.
2410         (gfc_simplify_nint): ditto.
2411
2412 2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
2413
2414         PR fortran/13257
2415         * io.c (check_format): Allow an optional comma
2416         between descriptors.
2417
2418 2005-04-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2419
2420         * match.c (match_arithmetic_if): Remove gfc_ prefix and correct
2421         comment according to GNU coding style.
2422         (gfc_match_if): Remove gfc_ prefix in call to
2423         match_arithmetic_if.
2424
2425 2005-04-08  Diego Novillo  <dnovillo@redhat.com>
2426
2427         * match.c (gfc_match_arithmetic_if): Declare static.
2428
2429 2005-04-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2430
2431         PR fortran/17229
2432         * match.c (gfc_match_arithmetic_if): New function to match an
2433         arithmetic IF statement.
2434         (gfc_match_if): Use gfc_match_arithmetic_if to match an
2435         arithmetic IF statement embedded in a simple IF statement.
2436
2437 2005-04-07  Steven G. Kargl  <kargls@comcast.net>
2438
2439         * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x))
2440
2441 2005-04-06  Steven G. Kargl  <kargls@comcast.net>
2442
2443         * invoke.texi: Remove documentation of -std=f90
2444
2445 2005-04-06  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2446
2447         * expr.c (gfc_check_assign): Don't allow NULL as rhs in a
2448         non-pointer assignment.
2449
2450 2005-04-05  Feng Wang  <fengwang@nudt.edu.cn>
2451
2452         PR fortran/15959
2453         PR fortran/20713
2454
2455         * array.c (resolve_character_array_constructor): New function. Set
2456         constant character array's character length.
2457         (gfc_resolve_array_constructor): Use it.
2458         * decl.c (add_init_expr_to_sym): Set symbol and initializer character
2459         length.
2460         (gfc_set_constant_character_len): New function. Set constant character
2461         expression according the given length.
2462         * match.h (gfc_set_constant_character_len): Add prototype.
2463
2464 2005-04-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2465
2466         * intrinsic.texi: BES?? functions are not in the f95 standard.
2467
2468 2005-04-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2469
2470         * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN.
2471
2472 2005-04-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2473
2474         * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1,
2475         BESYN, ATAN, COSH, ERF, ERC, SINH, TANH.
2476
2477 2005-04-02  Steven G. Kargl  <kargls@comcast.net>
2478
2479         * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos
2480
2481 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
2482
2483         * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,
2484         trans.h: Fix comment typos.
2485
2486 2005-03-29  Steven G. Kargl  <kargls@comcast.net>
2487
2488         * gfortran.h (option_t): Change d8, i8, r8 to flag_default_double,
2489         flag_default_integer, flag_default_real
2490         * invoke.texi: Update documentation
2491         * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8
2492         fdefault-integer-8, and fdefault-real-8 definitions.
2493         * options.c (gfc_init_options): Set option defaults
2494         (gfc_handle_option): Handle command line options.
2495         * trans-types.c (gfc_init_kinds): Use options.
2496
2497 2005-03-29  Keith Besaw  <kbesaw@us.ibm.com>
2498
2499         * f95-lang.c (builtin_function): Process the attrs parameter
2500         and apply the "const" attribute to the builtin if found.
2501
2502 2005-03-27  Steven G. Kargl  <kargls@comcast.net>
2503
2504         * intrinsic.texi: Document AIMAG, AINT, ALL
2505
2506 2005-03-26  Steven G. Kargl  <kargls@comcast.net>
2507
2508         * arith.c (check_result): Fix illogical logic.
2509
2510 2005-03-26  Canqun Yang  <canqun@nudt.edu.cn>
2511
2512         * trans-common.c (create_common): Build RECORD_NODE for common blocks
2513         contain no equivalence objects.
2514         (add_equivalences): New argument saw_equiv.
2515         (trans_common): New local variable saw_equiv.
2516         (finish_equivalences): Add a local variable dummy, Always pass true
2517         for the 3rd parameter to create_common.
2518
2519 2005-03-25  Steven G. Kargl  <kargls@comcast.net>
2520
2521         * intrinsic.texi: Fix "make dvi"
2522
2523 2005-03-24  Steven G. Kargl  <kargls@comcast.net>
2524
2525         * intrinsic.texi: New file.
2526         * gfortran.texi: Include it; white space change; fix typo.
2527
2528 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
2529
2530         * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2531
2532 2005-03-23  Steven Bosscher  <stevenb@suse.de>
2533
2534         * convert.c (convert): Replace fold (buildN (...)) with fold_buildN.
2535         * trans-array.c (gfc_trans_allocate_array_storage,
2536         gfc_trans_allocate_temp_array gfc_trans_array_constructor_value,
2537         gfc_conv_array_index_ref, gfc_trans_array_bound_check,
2538         gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
2539         gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_conv_ss_startstride,
2540         gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds,
2541         gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
2542         gfc_conv_expr_descriptor): Likewise.
2543         * trans-expr.c (gfc_conv_powi, gfc_conv_string_tmp,
2544         gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
2545         * trans-intrinsic.c (build_round_expr, gfc_conv_intrinsic_bound,
2546         gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_sign,
2547         gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
2548         gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop,
2549         gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits,
2550         gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc,
2551         gfc_conv_intrinsic_merge, prepare_arg_info,
2552         gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_repeat): Likewise.
2553         * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do, gfc_trans_do_while,
2554         gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs,
2555         generate_loop_for_rhs_to_temp, compute_inner_temp_size,
2556         allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
2557         gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign):
2558         Likewise.
2559         * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Likewise.
2560         * trans.c (gfc_add_modify_expr): Likewise.
2561
2562 2005-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2563
2564         * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill,
2565         gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub,
2566         gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename,
2567         gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror,
2568         gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub,
2569         gfc_check_perror): new functions to check newly implemented
2570         g77 intrinsics.
2571         * gfortran.h: adding symbols for new intrinsics.
2572         * intrinsic.c (add_functions): adding new intrinsics.
2573         (add_subroutines): adding new intrinsics.
2574         * intrinsic.h: prototype for all checking and resolving
2575         functions.
2576         * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub,
2577         gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill,
2578         gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk,
2579         gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub,
2580         gfc_resolve_kill_sub, gfc_resolve_link_sub,
2581         gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub,
2582         gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub,
2583         gfc_resolve_perror): new functions to resolve intrinsics.
2584         * trans-intrinsic.c (gfc_conv_intrinsic_function): add case
2585         for new symbols.
2586
2587 2005-03-19  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2588
2589         * dump-parse-tree.c (gfc_show_expr): Dump name of namespace
2590         in which the variable is declared.
2591
2592         PR fortran/18525
2593         * resolve.c (was_declared): Also check for dummy attribute.
2594
2595 2005-03-19  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2596
2597         * gfortran.h (arith): Remove ARITH_0TO0.
2598         * arith.c (gfc_arith_error): Remove handling of ARITH_0TO0.
2599         (gfc_arith_power): Remove special casing of zero to integral
2600         power zero.
2601
2602 2005-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2603
2604         * Make-lang.in (fortran-warn): Remove -Wno-error.
2605         (expr.o-warn, resolve.o-warn, simplify.o-warn,
2606         trans-common.o-warn): Specify -Wno-error.
2607
2608 2005-03-17  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2609
2610         * trans-array.c (gfc_trans_static_array_pointer,
2611         get_array_ctor_var_strlen, gfc_conv_array_index_offset): Fix
2612         comment and formatting typos.
2613
2614 2005-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2615
2616         * invoke.texi: Fix typos.
2617
2618 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
2619
2620         * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
2621
2622 2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
2623
2624         * trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
2625         to zero on label_tree.
2626
2627 2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
2628
2629         PR fortran/18827
2630         * io.c (resolve_tag): Add checking on assigned label.
2631         (match_dt_format): Does not set symbol assign attribute.
2632         * match.c (gfc_match_goto):Does not set symbol assign attribute.
2633         * resolve.c (resolve_code): Add checking on assigned label.
2634         * trans-common.c (build_field): Deals with common variable assigned
2635         a label.
2636         * trans-stmt.c (gfc_conv_label_variable): New function.
2637         (gfc_trans_label_assign): Use it.
2638         (gfc_trans_goto): Ditto.
2639         * trans-io.c (set_string): Ditto.
2640         * trans.h (gfc_conv_label_variable): Add prototype.
2641
2642 2005-03-14  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2643
2644         PR fortran/20467
2645         * symbol.c (check_conflict): A dummy argument can't be a statement
2646         function.
2647
2648 2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
2649
2650         * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
2651         the argument of the shift to the unsigned type.
2652
2653 2005-03-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2654
2655         PR fortran/16907
2656         * resolve.c (gfc_resolve_index): Allow REAL indices as an extension.
2657
2658 2005-03-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2659
2660         PR fortran/20323
2661         * resolve.c (gfc_resolve): Check if character lengths are
2662         specification expressions.
2663
2664 2005-03-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2665
2666         PR fortran/20361
2667         * trans-array.c (gfc_stack_space_left): Remove unused variable.
2668         (gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
2669         code.
2670         * trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
2671         Remove declaration / prototype.
2672         * trans-common.c (build_equiv_decl): Give union a name.  Check if
2673         it can be put on the stack.
2674         * trans-decl.c (gfc_stack_space_left): Move function here.
2675         (gfc_build_qualified_array): Fix comment typo.
2676         * trans.h (gfc_put_var_on_stack): Add prototype.
2677
2678 2005-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2679
2680         * Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error.
2681         * decl.c, trans.c: Don't use C++ style comments.
2682         * gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access,
2683         ifsrc): Give names to enums and use ENUM_BITFIELD.
2684         (gfc_access): Remove trailing comma.
2685
2686 2005-03-05  Steven G. Kargl  <kargls@comcast.net>
2687
2688         PR 19936
2689         * primary.c (match_complex_constant): Mangled complex constant may
2690         be an implied do-loop.  Give implied do-loop matcher a chance.
2691
2692 2005-03-05  Steven G. Kargl  <kargls@comcast.net>
2693
2694         PR fortran/19754
2695         * resolve.c (compare_shapes):  New function.
2696         (resolve_operator): Use it.
2697
2698 2005-03-05  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2699
2700         * trans-const.c (gfc_conv_constant_to_tree): Use correct tree
2701         type for COMPLEX constants.
2702
2703 2005-03-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2704
2705         PR fortran/19673
2706         * trans-expr.c (gfc_conv_function_call): Correctly dereference
2707         argument from a pointer function also if it has a result clause.
2708
2709 2005-03-04  Steven G. Kargl  <kargls@comcast.net>
2710
2711         * expr.c (gfc_copy_shape_excluding): Change && to ||.
2712
2713 2005-03-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2714
2715         * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo,
2716         clarify comment.
2717
2718 2005-02-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2719         (port from g95)
2720
2721         PR fortran/19479
2722         * simplify.c (gfc_simplify_bound): Rename to ...
2723         (simplify_bound): ... this and overhaul.
2724
2725 2005-02-28  Steven G. Kargl  <kargl@gcc.gnu.org>
2726
2727         * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
2728         (gfc_conv_intrinsic_function): update function calls
2729
2730 2005-02-27  Steven G. Kargl  <kargl@gcc.gnu.org>
2731
2732         PR fortran/20058
2733         * trans-types.c (gfc_max_integer_kind): Declare
2734         (gfc_init_kinds): Initialize it.
2735         * gfortran.h (gfc_max_integer_kind): extern it.
2736         * primary.c (match_boz_constant): Use it; remove gfortran extension
2737         of kind suffixes on BOZ literal constants
2738
2739
2740 2005-02-27  Steven G. Kargl  <kargls@comcast.net>
2741
2742         * arith.c (gfc_check_real_range):  Remove multiple returns
2743         (check_result): New function.
2744         (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times,
2745         gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it.
2746
2747
2748 2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2749
2750         * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
2751
2752
2753 2005-02-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-meunchen.de>
2754
2755         Unrevert previously reverted patch.  Adding this fix:
2756         * module.c (find_true_name): Deal with NULL module.
2757
2758 2005-02-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2759
2760         Revert yesterday's patch:
2761         2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2762
2763                 * gfortran.h (gfc_component, gfc_actual_arglist, ...
2764                 ... argument.  Copy string instead of pointing to it.
2765
2766 2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2767
2768         * gfortran.h (gfc_get_namespace): Add second argument to prototype.
2769         * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to
2770         gfc_get_namespace.
2771         * module.c (mio_namespace_ref, load_needed): Likewise.
2772         * parse.c (parse_interface, parse_contained): Likewise.  Here the
2773         correct second argument matters.
2774         * symbol.c (gfc_get_namespace): Add parent_types argument, only copy
2775         parent's implicit types if this is set.
2776         (gfc_symbol_init_2): Pass second argument to gfc_get_namespace.
2777         * trans-common.c (build_common_decl): Likewise.
2778
2779         * gfortran.h (symbol_attribute): New 'untyped' field, fix comment
2780         formatting.
2781         * symbol.c (gfc_set_default_type): Issue error only once, by setting
2782         and checking 'untyped' attribute.
2783
2784         * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'
2785         fields into new struct 'op' inside the 'value' union.
2786         * arith.c (eval_intrinsic): Adapt all users.
2787         * dependency.c (gfc_check_dependency): Likewise.
2788         * dump-parse-tree.c (gfc_show_expr): Likewise.
2789         * expr.c (gfc_get_expr): Don't clear removed fields.
2790         (free_expr0, gfc_copy_expr, gfc_type_convert_binary,
2791         gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr,
2792         check_intrinsic_op): Adapt to new field names.
2793         * interface.c (gfc_extend_expr): Likewise.  Also explicitly
2794         nullify 'esym' and 'isym' fields of new function call.
2795         * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
2796         Adapt to renamed structure fields.
2797         * matchexp.c (build_node, match_level_1, match_expr): Likewise.
2798         * module.c (mio_expr): Likewise.
2799         * resolve.c (resolve_operator): Likewise.
2800         (gfc_find_forall_index): Likewise.  Only look through operands
2801         if dealing with EXPR_OP
2802         * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields.
2803         * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op,
2804         gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
2805
2806         [ Reverted ]
2807         * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
2808         'name' a 'const char *'.
2809         (gfc_symbol): Likewise, also for 'module'.
2810         (gfc_symtree): Make 'name' a 'const char *'.
2811         (gfc_intrinsic_sym): Likewise, also for 'lib_name'.
2812         (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
2813         'char *' argument.
2814         (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
2815         initialize 'SYM->module'.
2816         * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
2817         pointer instead of empty string.
2818         * dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
2819         * interface.c (gfc_compare_types): Adapt check to account for possible
2820         NULL pointer.
2821         (compare_actual_formal): Check for NULL pointer instead of empty
2822         string.
2823         * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
2824         Add 'const' qualifier.
2825         (conv_name): Return a heap allocated string.
2826         (find_conv): Add 'const' qualifier to 'target'.
2827         (add_sym): Use 'gfc_get_string' instead of 'strcpy'.
2828         (make_generic): Check for NULL pointer instead of empty string.
2829         (make_alias): Use 'gfc_get_string' instead of 'strcpy'.
2830         (add_conv): No need to strcpy result from 'conv_name'.
2831         (sort_actual): Check for NULL pointer instead of empty  string.
2832         * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg):
2833         Adapt prototype.
2834         * module.c (compare_true_names): Compare pointers instead of strings
2835         for 'module' member.
2836         (find_true_name): Initialize string fields with gfc_get_string.
2837         (mio_pool_string): New function.
2838         (mio_internal_string): Adapt comment.
2839         (mio_component_ref, mio_component, mio_actual_arg): Use
2840         'mio_pool_string' instead of 'mio_internal_string'.
2841         (mio_symbol_interface): Add 'const' qualifier to string arguments.
2842         Add level of indirection. Use 'mio_pool_string' instead of
2843         'mio_internal_string'.
2844         (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'.
2845         (write_common, write_symbol): Use 'mio_pool_string' instead of
2846         'mio_internal_string'.
2847         (write_symbol0, write_symbol1): Likewise, also check for NULL pointer
2848         instead of empty string.
2849         (write_operator, write_generic): Pass correct type variable to
2850         'mio_symbol_interface'.
2851         (write_symtree): Use 'mio_pool_string' instead of
2852         'mio_internal_string'.
2853         * primary.c (match_keyword_arg): Adapt check to possible
2854         case of NULL pointer.  Use 'gfc_get_string' instead of 'strcpy'.
2855         * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree,
2856         gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of
2857         'strcpy'.
2858         (ambiguous_symbol): Check for NULL pointer instead of empty string.
2859         (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string
2860         arguments.
2861         * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL
2862         pointer instead of empty string.
2863         * trans-decl.c (gfc_sym_mangled_identifier,
2864         gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl,
2865         gfc_get_symbol_decl): Likewise.
2866         * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to
2867         argument.  Copy string instead of pointing to it.
2868
2869 2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
2870
2871         * intrinsic.h, st.c: Update copyright.
2872
2873 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
2874
2875         * symbol.c: Typos in comments.
2876
2877 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
2878
2879         * expr.c (gfc_type_convert_binary): Typo in comment.
2880
2881 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
2882
2883         * check.c (gfc_check_selected_int_kind): New function.
2884         * intrinsic.h: Prototype it.
2885         * intrinsic.c (add_function): Use it.
2886         * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
2887           BT_REAL to BT_INTEGER and use gfc_default_integer_kind.
2888
2889 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
2890
2891         * check.c (gfc_check_int): improve checking of optional kind
2892         * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
2893
2894 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
2895
2896         * check.c (gfc_check_achar): New function
2897         * intrinsic.h: Prototype it.
2898         * intrinsic.c (add_function): Use it.
2899
2900 2005-02-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2901
2902         * trans-stmt.c (generate_loop_for_temp_to_lhs,
2903         generate_loop_for_rhs_to_temp): Remove if whose condition is
2904         always true.
2905
2906 2005-02-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2907
2908         * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
2909         (gfc_use_derived): ... this function.
2910
2911 2005-02-09  Richard Henderson  <rth@redhat.com>
2912
2913         * f95-lang.c (gfc_init_builtin_functions): Call
2914         build_common_builtin_nodes; do not define any functions handled
2915         by it.
2916
2917 2005-02-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2918
2919         * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
2920         EXPR_SUBSTRING.
2921         (gfc_is_constant_expr): Check 'ref' to determine if substring
2922         reference is constant.
2923         (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
2924         (check_init_expr, check_restricted): Check 'ref' instead of 'op1'
2925         and 'op2'.
2926         * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.
2927
2928 2005-02-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2929
2930         * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,
2931         gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data,
2932         gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
2933         gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
2934         gfc_add_procedure): Add argument.
2935         * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name,
2936         gfc_match_null, match_type_spec, match_attr_spec,
2937         gfc_match_formal_arglist, match_result, gfc_match_function_decl):
2938         Update callers to match.
2939         (gfc_match_entry): Likewise, fix comment typo.
2940         (gfc_match_subroutine, attr_decl1, gfc_add_dimension,
2941         access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc,
2942         gfc_match_derived_decl): Update callers.
2943         * interface.c (gfc_match_interface): Likewise.
2944         * match.c (gfc_match_label, gfc_add_flavor,
2945         gfc_match_call, gfc_match_common, gfc_match_block_data,
2946         gfc_match_namelist, gfc_match_module, gfc_match_st_function):
2947         Likewise.
2948         * parse.c (parse_derived, parse_interface, parse_contained),
2949         primary.c (gfc_match_rvalue, gfc_match_variable): Likewise.
2950         * resolve.c (resolve_formal_arglist, resolve_entries): Update callers.
2951         * symbol.c (check_conflict, check_used): Add new 'name' argument,
2952         use when printing error message.
2953         (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy,
2954         gfc_add_generic, gfc_add_in_common, gfc_add_data,
2955         gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
2956         gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
2957         gfc_add_procedure): Add new 'name' argument.  Pass along to
2958         check_conflict and check_used.
2959         (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic,
2960         gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental,
2961         gfc_add_pure, gfc_add_recursive, gfc_add_intent,
2962         gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new
2963         argument in calls to any of the modified functions.
2964
2965 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
2966
2967         * gfortran.texi: Don't give last update date.
2968
2969 2006-01-30  Richard Henderson  <rth@redhat.com>
2970
2971         * options.c (gfc_init_options): Zero flag_errno_math.
2972
2973 2005-01-29  Paul Brook  <paul@codesourcery.com>
2974
2975         PR fortran/18565
2976         * check.c (real_or_complex_check): New function.
2977         (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
2978         * intrinsic.c (add_functions): Use new check functions.
2979         * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
2980         Add prototypes.
2981
2982 2005-01-29  Steven G. Kargl  <kargls@comcast.net>
2983
2984         PR fortran/19589
2985         * expr.c (gfc_check_assign):  Check for conformance of logical operands
2986
2987 2004-01-27  Steven Bosscher  <stevenb@suse.de>
2988
2989         * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and
2990         TREE_USED for all labels.
2991         (gfc_trans_entry_master_switch): Use it instead of building a
2992         label by hand.
2993         * trans-io.c (add_case): Likewise.
2994         * trans-stmt.c (gfc_trans_integer_select): Likewise.
2995
2996 2004-01-23  Paul Brook  <paul@codesourcery.com>
2997         Steven G. Kargl  <kargls@comcast.net>
2998
2999         PR fortran/17941
3000         * arith.c (gfc_convert_real): Remove sign handling.
3001         * primary.c (match_digits): Allow whitespace after initial sign.
3002         (match_real_const): Handle signs here.  Allow whitespace after
3003         initial sign.  Remove dead code.
3004         (match_const_complex_part): Remove.
3005         (match_complex_part): Use match_{real,integer}_const.
3006         (match_complex_constant): Cross-promote integer types.
3007
3008 2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
3009
3010         PR fortran/19294
3011         * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or
3012         transpose_c8 for complex types.
3013
3014 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
3015
3016         * data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
3017         trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
3018         trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
3019         Follow spelling conventions.
3020
3021 2005-01-22  Bud Davis  <bdavis9659@comcast.net>
3022
3023         PR fortran/19313
3024         * trans-io.c (gfc_trans_inquire): Added code to support
3025         pad.
3026
3027 2005-01-22  Steven G. Kargl  <kargls@comcast.net>
3028
3029         * intrinsic.c (make_alias):  Add standard argument.
3030         (add_functions): Update make_alias calls.
3031
3032 2005-01-22  Paul Brook  <paul@codesourcery.com>
3033
3034         * trans-expr.c (gfc_conv_function_call): Remove bogus TODO.
3035
3036 2005-01-22  Paul Brook  <paul@codesourcery.com>
3037
3038         * gfortran.h (gfc_check_access): Add prototype.
3039         * match.c (gfc_match_namelist): Remove TODO.
3040         * module.c (check_access): Rename ...
3041         (gfc_check_access): ... to this.  Boolify.  Update callers.
3042         * resolve.c (resolve_symbol): Check for private objects in public
3043         namelists.
3044
3045 2005-01-22  Paul Brook  <paul@codesourcery.com>
3046
3047         * primary.c (gfc_match_rvalue): Only apply implicit type if variable
3048         does not have an explicit type.
3049         (gfc_match_variable): Resolve implicit derived types in all cases.
3050         Resolve contained function types from their own namespace, not the
3051         parent.
3052         * resolve.c (resolve_contained_fntype): Remove duplicate sym->result
3053         checking.  Resolve from the contained namespace, not the parent.
3054
3055 2005-01-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
3056
3057         PR fortran/19543
3058         * trans-const.c (gfc_conv_constant_to_tree): Give logical
3059         constants the correct type.
3060
3061         PR fortran/19194
3062         * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
3063         length parameters.
3064         (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
3065         pointer fields.
3066
3067 2005-01-18  Kazu Hirata  <kazu@cs.umass.edu>
3068
3069         * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
3070         gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
3071         match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
3072         scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
3073         trans-io.c, trans-stmt.c, trans.c: Update copyright.
3074
3075 2005-01-17  Ira Rosen  <irar@il.ibm.com>
3076
3077         * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins.
3078
3079 2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3080
3081         PR fortran/19182
3082         * error.c (error_char): Line-buffer errors / warnings.
3083
3084 2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3085
3086         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed /
3087         unsigned issue.  Use build_int_cst instead of converting
3088         integer_zero_node.  Remove unnecessary conversion.
3089
3090         * trans-types.c (gfc_get_character_type_len): Use
3091         gfc_charlen_type_node as basic type for the range field.
3092
3093         * trans-intrinsic.c (build_fixbound_expr,
3094         gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall,
3095         gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest,
3096         gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead
3097         of converting 'integer_zero_node' or 'integer_one_node'
3098         respectively.
3099         (gfc_conv_intrinsic_ishftc): Same, but store in local variable to
3100         evade re-building.
3101         (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing,
3102         gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use
3103         'build_int_cst' instead of converting 'integer_zero_node' or
3104         'integer_one_node' respectively.
3105
3106         * trans-intrinsic.c (gfc_conv_intrinsic_index,
3107         gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove
3108         'gfc'-prefix from local variable, remove dead code, use correct
3109         type when inserting argument.
3110
3111         * trans-intrinsic.c, trans-types.c: Update copyright years.
3112
3113 2005-01-16  Steven G. Kargl  <kargls@comcast.net>
3114
3115         PR 19168
3116         * resolve.c (check_case_overlap): Typo in comment.
3117         (validate_case_label_expr):  Fix up kinds of case values
3118         (resolve_select): Properly handle kind mismatches.
3119
3120 2004-01-16  Paul Brook  <paul@codesourcery.com>
3121
3122         PR fortran/17675
3123         * trans-common.c (translate_common): Remove duplicate function call.
3124         (finish_equivalences): Preserve alignment when biasing offsets.
3125
3126 2005-01-15  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de
3127
3128         * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming
3129         ASCII-like character encoding.
3130
3131 2005-01-14  Steven G. Kargl  <kargls@comcast.net>
3132
3133         * resolve.c (compare_case): Cleanup.
3134
3135 2005-01-14  Steven G. Kargl  <kargls@comcast.net>
3136
3137         * resolve.c (compare_case): Give arguments correct type.
3138
3139 2005-01-13  Kazu Hirata  <kazu@cs.umass.edu>
3140
3141         * iresolve.c, trans-common.c, trans-types.c: Fix comment
3142         typos.
3143
3144 2005-01-09  Paul Brook  <paul@codesourcery.com>
3145
3146         PR fortran/17675
3147         * trans-common.c (current_common, current_offset): Remove.
3148         (create_common): Add head argument.
3149         (align_segment): New function.
3150         (apply_segment_offset): New function.
3151         (translate_common): Merge code from new_segment.  Handle alignment.
3152         (new_segment): Remove.
3153         (finish_equivalences): Ensure proper alignment.
3154
3155 2005-01-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
3156
3157         * trans-const.c: Don't include unused math.h.
3158
3159         * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
3160         gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
3161         gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
3162         trailing whitespace.
3163         (prepare_arg_info): Fix formatting, indenting and remove trailing
3164         whitespace.
3165         (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
3166         trailing whitespace.
3167
3168         * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
3169         gfc_constant_result, gfc_range_check, gfc_arith_power,
3170         eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
3171         gfc_real2complex, gfc_complex2int, gfc_complex2real,
3172         gfc_complex2complex): Fix whitespace issues.
3173         * check.c (must_be, type_check, numeric_check, int_or_real_check,
3174         logical_array_check, array_check, scalar_check, nonoptional_check,
3175         variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
3176         gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
3177         gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
3178         gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
3179         gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
3180         gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
3181         gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
3182         gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
3183         gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
3184         gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
3185         gfc_check_lbound, gfc_check_logical, min_max_args,
3186         gfc_check_min_max_integer, gfc_check_min_max_real,
3187         gfc_check_min_max_double, gfc_check_matmul,
3188         gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
3189         gfc_check_pack, gfc_check_precision, gfc_check_radix,
3190         gfc_check_range, gfc_check_real, gfc_check_repeat,
3191         gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
3192         gfc_check_set_exponent): Fix formatting issues.
3193         (gfc_check_size, gfc_check_sign): Alphabetize function order,
3194         remove whitespace-only line.
3195         (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
3196         gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
3197         gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
3198         gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
3199         gfc_check_random_number, gfc_check_random_seed,
3200         gfc_check_second_sub, gfc_check_system_clock,
3201         gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
3202         gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
3203         gfc_check_unlink_sub): Fix formatting issues.
3204
3205 2005-01-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
3206
3207         * gfortran.h: Remove outdated comment.  Don't include stdio.h
3208         explicitly.
3209
3210 2005-01-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3211
3212         * gfortranspec.c (lang_specific_driver): Change year to 2005 in
3213         output of 'gfortran --version'.
3214
3215 2005-01-03  Steven G. Kargl  <kargls@comcast.net>
3216
3217         * arith.c: Add system.h; remove string.h
3218         * decl.c: Ditto
3219         * matchexp.c: Ditto
3220         * parse.c: Ditto
3221         * resolve.c: Ditto
3222         * st.c: Ditto
3223         * check.c: Remove stdlib.h and stdarg.h
3224         * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
3225         * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
3226         * f95-lang.c: Add system.h; remove stdio.h
3227         * interface.c: Add system.h; remove stdlib.h and string.h
3228         * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
3229         * io.c: Remove string.h
3230         * simplify.c: Ditto
3231         * match.c: Remove stdarg.h and string.h
3232         * misc.c: Update copyright; add system.h; remove stdlib.h,
3233         string.h, and sys/stat.h
3234         * module.c: Add system.h; remove string.h, stdio.h, errno.h,
3235         unistd.h, and time.h
3236         * option.c: Remove string.h and stdlib.h
3237         * primary.c: Ditto
3238         * scanner.c: Update copyright; add system.h; remove stdlib.h,
3239         stdio.h, string.h, and strings.h
3240         * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
3241         * trans-array.c: Remove stdio.h and gmp.h
3242         * trans-const.c: Ditto
3243         * trans-expr.c: Ditto
3244         * trans-io.c: Ditto
3245         * trans-stmt.c: Ditto
3246         * trans.c: Ditto
3247         * trans-intrinsic.c: Remove stdio.h and string.h
3248
3249 2004-12-29  Steven G. Kargl  <kargls@comcast.net>
3250
3251         * gfortran.h (gfc_case): fix typo in comment.
3252
3253 2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3254
3255         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
3256         logical shift.  Call fold.  Remove 0-bit shift shortcut.
3257         (gfc_conv_intrinsic_ishftc): Convert first argument to at least
3258         4 bytes bits.  Convert 2nd and 3rd argument to 4 bytes.  Convert
3259         result if width(arg 1) < 4 bytes.  Call fold.
3260
3261         PR fortran/19032
3262         * trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment
3263         in front of function to match the standard.  Correct handling
3264         of MODULO.
3265
3266 2004-12-27  Andrew Pinski  <pinskia@physics.uc.edu>
3267
3268         * trans-expr.c (gfc_conv_cst_int_power): Only check for
3269         flag_unsafe_math_optimizations if we have a float type.
3270
3271 2004-12-23  Steven G. Kargl  <kargls@comcast.net>
3272
3273         * gfortran.texi: Fix typo.
3274
3275 2004-12-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3276
3277         * trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix
3278         comment typo.
3279
3280 2004-12-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3281
3282         PR fortran/18993
3283         * match.c (gfc_match_if): Don't explicitly skip optional whitespace.
3284         (gfc_match_nullify): Make sure that ')' is in front of the end of
3285         statement.
3286
3287         * scanner.c (skip_fixed_comments): Fix typo in comment preceding
3288         function.
3289
3290 2004-12-14  Richard Henderson  <rth@redhat.com>
3291
3292         * gfortran.h (gfc_expr.function.name): Make const.
3293         (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
3294         (gfc_get_string): Update prototype.
3295         * iresolve.c: Include tree.h.
3296         (string_node, HASH_SIZE, string_head, hash): Remove.
3297         (gfc_get_string): Use vsnprintf, get_identifier.
3298         (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
3299         * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1.
3300         (gfc_done_1): Don't call gfc_iresolve_done_1.
3301         * module.c (mio_allocated_string): Take and return const char *,
3302         instead of modifying char**.
3303         (mio_expr): Update to match.
3304         * resolve.c (pure_function): Constify name argument.
3305         (resolve_function): Constify name.
3306         * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise.
3307
3308 2004-12-12  Richard Henderson  <rth@redhat.com>
3309
3310         * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
3311         gfc_resolve_cshift, gfc_resolve_dot_product, gfc_resolve_eoshift,
3312         gfc_resolve_matmul, gfc_resolve_maxloc, gfc_resolve_maxval,
3313         gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_pack,
3314         gfc_resolve_product, gfc_resolve_reshape, gfc_resolve_shape,
3315         gfc_resolve_spread, gfc_resolve_sum, gfc_resolve_transpose,
3316         gfc_resolve_unpack: Use PREFIX.
3317
3318 2004-12-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3319
3320         PR fortran/18869
3321         * match.c (gfc_match_common): Skip whitespace.
3322
3323 2004-12-12  Steven G. Kargl  <kargls@comcast.net>
3324
3325         PR fortran/16581
3326        &