OSDN Git Service

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