]> gcc.gnu.org Git - gcc.git/blob - gcc/fortran/ChangeLog
intrinsic.c (check_intrinsic_standard): Fix spelling error in a warning message.
[gcc.git] / gcc / fortran / ChangeLog
1 2005-06-20 Erik Edelmann <erik.edelmann@iki.fi>
2
3 * intrinsic.c (check_intrinsic_standard): Fix spelling error
4 in a warning message.
5
6 2005-06-18 Erik Edelman <eedelman@acclab.helsinki.fi>
7 Steven G. Kargl <kargls@comast.net>
8
9 PR fortran/19926
10 * primary.c (gfc_match_rvalue): expr_type can be EXPR_CONSTANT
11 for an array; check that sym->as is NULL.
12
13
14 2005-06-18 Steven G. Kargl <kargls@comcast.net>
15
16 * intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic
17 functions whose simplification routine return FAILURE.
18
19 2005-06-13 Geoffrey Keating <geoffk@apple.com>
20
21 * Make-lang.in (fortran.install-man): Doesn't depend on installdirs.
22 (rule for installing f95.1 manpage): Does depend on installdirs.
23
24 2005-06-13 Jakub Jelinek <jakub@redhat.com>
25
26 PR fortran/22038
27 * trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex
28 in the innermost loop.
29
30 2005-06-12 Richard Henderson <rth@redhat.com>
31
32 * trans-array.c (gfc_conv_descriptor_data_get): Rename from
33 gfc_conv_descriptor_data. Cast the result to the DATAPTR type.
34 (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): New.
35 (gfc_trans_allocate_array_storage): Use them.
36 (gfc_array_allocate, gfc_array_deallocate): Likewise.
37 (gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor): Likewise.
38 (gfc_trans_deferred_array): Likewise.
39 * trans-expr.c (gfc_conv_function_call): Likewise.
40 (gfc_trans_subcomponent_assign): Likewise.
41 (gfc_trans_pointer_assignment): Likewise.
42 * trans-intrinsic.c (gfc_conv_allocated): Likewise.
43 * trans-types.c (gfc_array_descriptor_base): New.
44 (gfc_get_element_type): Use GFC_TYPE_ARRAY_DATAPTR_TYPE.
45 (gfc_get_array_descriptor_base): Break out from ...
46 (gfc_get_array_type_bounds): ... here. Create type variants.
47 * trans-array.h (gfc_conv_descriptor_data_get): Declare.
48 (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare.
49
50 2005-06-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
51
52 * trans-expr.c (gfc_conv_variable): POINTER results don't need f2c
53 calling conventions. Look at sym instead of sym->result.
54 * trans-types.c (gfc_sym_type): Remove workaround for frontend bug.
55 Remove condition which is always false with workaround removed.
56 (gfc_return_by_reference): Always look at sym, never at sym->result.
57
58 2005-06-11 Steven G. Kargl <kargls@comcast.net>
59
60 PR fortran/17792
61 PR fortran/21375
62 * trans-array.c (gfc_array_deallocate): pstat is new argument
63 (gfc_array_allocate): update gfc_array_deallocate() call.
64 (gfc_trans_deferred_array): ditto.
65 * trans-array.h: update gfc_array_deallocate() prototype.
66 * trans-decl.c (gfc_build_builtin_function_decls): update declaration
67 * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature.
68
69 2005-06-07 Jerry DeLisle <jvdelisle@verizon.net>
70
71 * intrinsic.texi: Add documentation for dcmplx, digits,
72 dim, idim, ddim, dot_product, dprod, dreal, and dtime.
73
74 2005-06-05 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
75
76 PR fortran/21912
77 * trans-array.c (gfc_trans_array_constructor_value): Slightly reorder.
78 Generate correct exit condition in case of negative steps in
79 implied-do loops.
80
81 * invoke.texi: Fix description of flags required for compatibility
82 with g77.
83
84 2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
85 Erik Schnetter <schnetter@aei.mpg.de>
86
87 PR fortran/19195
88 * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment,
89 remove FIXME comment.
90
91 2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
92
93 * match.c (match_forall_iterator): Don't immediately give error if '='
94 is not followed by an expression.
95
96 2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
97 Erik Edelmann <erik.edelmann@iki.fi>
98
99 * array.c (gfc_match_array_constructor): Disallow empty array
100 constructor.
101
102 2005-06-03 Jerry DeLisle <jvdelisle@verizon.net>
103
104 * fortran/intrinsic.texi: Add documentation for
105 command_argument_count, conjg, dconjg, count,
106 cpu_time, cshift, date_and_time, dble, dfloat.
107
108 2005-06-01 Roger Sayle <roger@eyesopen.com>
109
110 * intrinsic.c (add_conv): No longer take a "simplify" argument as
111 its always gfc_convert_constant, instead take a "standard" argument.
112 (add_conversions): Change all existing calls of add_conv to pass
113 GFC_STD_F77 as appropriate. Additionally, if we're allowing GNU
114 extensions support integer-logical and logical-integer conversions.
115 (gfc_convert_type_warn): Warn about use the use of these conversions
116 as a extension when appropriate, i.e. with -pedantic.
117 * simplify.c (gfc_convert_constant): Add support for integer to
118 logical and logical to integer conversions, using gfc_int2log and
119 gfc_log2int.
120 * arith.c (gfc_log2int, gfc_int2log): New functions.
121 * arith.h (gfc_log2int, gfc_int2log): Prototype here.
122 * gfortran.texi: Document this new GNU extension.
123
124 2005-06-01 Paul Thomas <pault@gcc.gnu.org>
125
126 * fortran/trans-expr.c (gfc_conv_variable): Clean up bracketting.
127 * fortran/trans-expr.c (gfc_conv_function_call): Insert spaces.
128 Correct comments and replace convert of integer_one_node with
129 build_int_cst.
130
131 2005-06-01 Jakub Jelinek <jakub@redhat.com>
132
133 PR fortran/21729
134 * resolve.c (resolve_contained_fntype): Use sym->attr.untyped
135 to avoid giving error multiple times.
136 (resolve_entries): Don't error about BT_UNKNOWN here.
137 (resolve_unknown_f): Capitalize IMPLICIT for consistency.
138 (resolve_fntype): New function.
139 (gfc_resolve): Call resolve_fntype.
140
141 2005-06-01 Feng Wang <fengwang@nudt.edu.cn>
142
143 PR fortran/20883
144 * fortran/io.c (resolve_tag): Fix error message.
145
146 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
147
148 * fortran/trans-decl.c: Don't include errors.h.
149 * fortran/Make-lang.in: Updates dependencies.
150
151 2005-05-31 Paul Thomas <pault@gcc.gnu.org>
152
153 PR fortran/18109
154 PR fortran/18283
155 PR fortran/19107
156 * fortran/trans-array.c (gfc_conv_expr_descriptor): Obtain the
157 string length from the expression typespec character length value
158 and set temp_ss->stringlength and backend_decl. Obtain the
159 tree expression from gfc_conv_expr rather than gfc_conv_expr_val.
160 Dereference the expression to obtain the character.
161 * fortran/trans-expr.c (gfc_conv_component_ref): Remove the
162 dereference of scalar character pointer structure components.
163 * fortran/trans-expr.c (gfc_trans_subarray_assign): Obtain the
164 string length for the structure component from the component
165 expression.
166
167 2005-05-30 Roger Sayle <roger@eyesopen.com>
168
169 * gfortran.h (GFC_STD_LEGACY): New "standard" macro. Reindent.
170 * options.c (gfc_init_options): By default, allow legacy extensions
171 but warn about them.
172 (gfc_post_options): Make -pedantic warn about legacy extensions
173 even with -std=legacy.
174 (gfc_handle_option): Make -std=gnu follow the default behaviour
175 of warning about legacy extensions, but allowing them. Make the
176 new -std=legacy accept everything and warn about nothing.
177 * lang.opt (std=legacy): New F95 command line option.
178 * invoke.texi: Document both -std=f2003 and -std=legacy.
179 * gfortran.texi: Explain the two types of extensions and document
180 how they are affected by the various -std= command line options.
181
182 2005-05-30 Kazu Hirata <kazu@cs.umass.edu>
183
184 * trans-expr.c: Remove trailing ^M.
185
186 * trans-expr.c: Fix comment typos.
187
188 2005-05-29 Paul Thomas <pault@gcc.gnu.org>
189
190 PR fortran/16939
191 PR fortran/17192
192 PR fortran/17193
193 PR fortran/17202
194 PR fortran/18689
195 PR fortran/18890
196 * fortran/trans-array.c (gfc_conv_resolve_dependencies): Add string
197 length to temp_ss for character pointer array assignments.
198 * fortran/trans-expr.c (gfc_conv_variable): Correct errors in
199 dereferencing of characters and character pointers.
200 * fortran/trans-expr.c (gfc_conv_function_call): Provide string
201 length as return argument for various kinds of handling of return.
202 Return a char[]* temporary for character pointer functions and
203 dereference the temporary upon return.
204
205 2005-05-29 Janne Blomqvist <jblomqvi@vipunen.hut.fi>
206 Steven G. Kargl <kargls@comcast.net>
207
208 fortran/PR20846
209 * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage.
210
211 2005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
212
213 PR libfortran/20006
214 * io.c (format_item_1): Add check and extension warning for
215 $ edit descriptor.
216
217 2005-05-28 Steven G. Kargl <kargls@comcast.net>
218
219 * arith.c (gfc_arith_init_1): Fix off by one problem;
220 (gfc_check_integer_range): Chop extra bits in subnormal numbers.
221
222 2005-05-28 Jerry DeLisle <jvdelisle@verizon.net>
223 Steven G. Kargl <kargls@comcast.net>
224
225 * intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING
226 and CMPLX
227
228 2005-05-27 Steven G. Kargl <kargls@comcast.net>
229
230 * trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force
231 like types in comparsion.
232
233 2005-05-26 Kazu Hirata <kazu@cs.umass.edu>
234
235 * data.c, parse.c, trans-array.c, trans-decl.c,
236 trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
237 trans.h: Fix comment typos. Follow spelling conventions.
238
239 2005-05-22 Roger Sayle <roger@eyesopen.com>
240
241 * gfortran.texi: Document some more GNU extensions.
242
243 2005-05-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
244
245 * error.c (gfc_warning): Fix typo in comment.
246
247 2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
248
249 PR libfortran/21127
250 * fortran/iresolve.c (gfc_resolve_reshape): Add
251 gfc_type_letter (BT_COMPLEX) for complex to
252 to resolved function name.
253
254 2005-05-18 Erik Edelmann <erik.edelmann@iki.fi>
255
256 * array.c (gfc_match_array_constructor): Support [ ... ]
257 style array constructors.
258
259 2005-05-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
260
261 * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_TRUNC
262 and BUILT_IN_TRUNCF instead of BUILT_IN_FLOOR and BUILT_IN_FLOORF.
263 * trans-intrinsic.c (build_fix_expr): Change 'op' argument
264 to correct enum type.
265 (gfc_conv_intrinsic_aint): Likewise. Clarify comment in front of
266 function. Add default case to switch, deal with FIX_TRUNC_EXPR
267 instead of FIX_FLOOR_EXPR.
268
269 2005-05-18 Feng Wang <fengwang@nudt.edu.cn>
270
271 PR fortran/20954
272 * trans-const.c (gfc_conv_const_charlen): Use gfc_charlen_type_node to
273 build character length.
274
275 2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
276
277 * trans-types.c (gfc_array_range_type): New variable.
278 (gfc_init_types): Initialize gfc_array_range_type.
279 (gfc_get_array_type_bounds): Use gfc_array_range_type.
280
281 2005-05-17 Jakub Jelinek <jakub@redhat.com>
282
283 PR fortran/15080
284 * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2
285 arguments. If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead
286 of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use
287 just that as index.
288 (generate_loop_for_rhs_to_temp): Likewise.
289 (compute_overall_iter_number): Add INNER_SIZE_BODY argument.
290 It non-NULL, add it to body.
291 (allocate_temp_for_forall_nest_1): New function, split from
292 allocate_temp_for_forall_nest.
293 (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument,
294 propagate it down to compute_overall_iter_number. Use
295 allocate_temp_for_forall_nest_1.
296 (gfc_trans_assign_need_temp): Remove COUNT2. Call
297 compute_inner_temp_size into a new stmtblock_t. Adjust calls to
298 allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp
299 and generate_loop_for_temp_to_lhs.
300 (gfc_trans_pointer_assign_need_temp): Adjust calls to
301 allocate_temp_for_forall_nest.
302 (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new
303 stmtblock_t. Call compute_overall_iter_number just once, then
304 allocate_temp_for_forall_nest_1 twice with the same size.
305 Initialize mask indexes if nested_forall_info != NULL.
306 (gfc_trans_where_2): Initialize mask indexes before calling
307 gfc_trans_nested_forall_loop.
308
309 2005-05-15 Feng Wang <fengwang@nudt.edu.cn>
310 Jerry DeLisle <jvdelisle@verizon.net>
311
312 PR fortran/17432
313 * trans-stmt.c (gfc_trans_label_assign): fix pointer type, to
314 resolve ICE on assign of format label.
315 * trans-io.c (set_string): add fold-convert to properly
316 handle assigned format label in write.
317
318 2005-05-13 Paul Brook <paul@codesourcery.com>
319
320 * trans-stmt.c (gfc_trans_forall_1): Fix comment typo.
321
322 2005-05-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
323
324 * trans-types.c (gfc_is_nodesc_array): Remove redundant check.
325
326 2005-05-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
327
328 PR fortran/21260
329 * io.c (check_format): Look for literal characters inside
330 hollerith constant.
331
332 2005-05-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
333
334 * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
335 attribute from result symbol to function symbol.
336 * trans-expr.c (gfc_conv_function_call): Look at sym->attr.dimension
337 instead of sym->result->attr.dimension.
338
339 2005-05-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
340
341 PR fortran/20178
342 * gfortran.h (gfc_option): Add flag_f2c.
343 * invoke.texi: Document '-ff2c' command line option. Adapt
344 documentation for '-fno-second-underscore' and '-fno-underscoring'.
345 * lang.opt (ff2c): New entry.
346 * options.c (gfc-init_options): Set default calling convention
347 to -fno-f2c. Mark -fsecond-underscore unset.
348 (gfc_post_options): Set -fsecond-underscore if not explicitly set
349 by user.
350 (handle_options): Set gfc_option.flag_f2c according to requested
351 calling convention.
352 * trans-decl.c (gfc_get_extern_function_decl): Use special f2c
353 intrinsics where necessary.
354 (gfc_trans_deferred_vars): Change todo error to assertion.
355 * trans-expr.c (gfc_conv_variable): Dereference access
356 to hidden result argument.
357 (gfc_conv_function_call): Add hidden result argument to argument
358 list if f2c calling conventions requested. Slightly restructure
359 tests. Convert result of default REAL function to requested type
360 if f2c calling conventions are used. Dereference COMPLEX result
361 if f2c cc are used.
362 * trans-types.c (gfc_sym_type): Return double for default REAL
363 function if f2c cc are used.
364 (gfc_return_by_reference): Slightly restructure logic. Return
365 COMPLEX by reference depending on calling conventions.
366 (gfc_get_function_type): Correctly make hidden result argument a
367 pass-by-reference argument for COMPLEX. Remove old code which does
368 this for derived types.
369
370 2005-05-09 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
371
372 * match.c (gfc_match_return): Only require space after keyword when
373 it is obligatory. Only give stdwarn to after matching is successful.
374 * dump-parse-tree.c (gfc_show_symbol): Deal with alternate returns.
375
376 2005-05-08 Kazu Hirata <kazu@cs.umass.edu>
377
378 * intrinsic.texi: Fix typos.
379
380 2005-05-07 Steven G. Kargl <kargls@comcast.net>
381
382 * intrinsic.texi: Document ASSOCIATED and ATAN2. Update Bessel function
383 description to include information about scalar arguments.
384
385 2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
386
387 * Make-lang.in, dump-parse-tree.c, invoke.texi, lang.opt,
388 match.h, trans-array.h: Update copyright.
389
390 2005-04-29 Tom Tromey <tromey@redhat.com>
391
392 * f95-lang.c (poplevel): Updated for change to build_block.
393
394 2005-04-29 Jakub Jelinek <jakub@redhat.com>
395
396 PR fortran/13082
397 PR fortran/18824
398 * trans-expr.c (gfc_conv_variable): Handle return values in functions
399 with alternate entry points.
400 * resolve.c (resolve_entries): Remove unnecessary string termination
401 after snprintf. Set result of entry master.
402 If all entries have the same type, set entry master's type
403 to that common type, otherwise set mixed_entry_master attribute.
404 * trans-types.c (gfc_get_mixed_entry_union): New function.
405 (gfc_get_function_type): Use it for mixed_entry_master functions.
406 * gfortran.h (symbol_attribute): Add mixed_entry_master bit.
407 * decl.c (gfc_match_entry): Set entry->result properly for
408 function ENTRY.
409 * trans-decl.c (gfc_get_symbol_decl): For entry_master, skip over
410 __entry argument.
411 (build_entry_thunks): Handle return values in entry thunks.
412 Clear BT_CHARACTER's ts.cl->backend_decl, so that it is not
413 shared between multiple contexts.
414 (gfc_get_fake_result_decl): Use DECL_ARGUMENTS from
415 current_function_decl instead of sym->backend_decl. Skip over
416 entry master's entry id argument. For mixed_entry_master entries or
417 their results, return a COMPONENT_REF of the fake result.
418 (gfc_trans_deferred_vars): Don't warn about missing return value if
419 at least one entry point uses RESULT.
420 (gfc_generate_function_code): For entry master returning
421 CHARACTER, copy ts.cl->backend_decl to all entry result syms.
422 * trans-array.c (gfc_trans_dummy_array_bias): Don't consider return
423 values optional just because they are in entry master.
424
425 2005-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
426
427 * gfortran.h (gfc_namespace): Add seen_implicit_none field,
428 Tobias forgot this in previous commit.
429
430 2005-04-29 Paul Brook <paul@codesourcery.com>
431
432 * trans-expr.c (gfc_conv_expr_present): Fix broken assert. Update
433 comment.
434
435 2005-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
436
437 * gfortran.h (gfc_namespace): Add seen_implicit_none field.
438 * symbol.c (gfc_set_implicit_none): Give error if there's a previous
439 IMPLICIT NONE, set seen_implicit_none.
440 (gfc_merge_new_implicit): Error if there's an IMPLICIT NONE statement.
441
442 2005-04-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
443
444 * gfortran.h (gfc_gsymbol): Make name a const char *.
445 * symbol.c (gfc_get_gsymbol): Allocate gsymbol name via
446 gfc_get_string.
447
448 2005-04-28 Francois-Xavier Coudert <coudert@clipper.ens.fr>
449
450 PR fortran/20865
451 * resolve.c (resolve_actual_arglist): Issue an error if a statement
452 functions is used as actual argument.
453
454 2005-04-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
455
456 PR fortran/21177
457 * interface.c (compare_parameter): Ignore type for EXPR_NULL
458 only if type is BT_UNKNOWN.
459
460 2005-04-25 Paul Brook <paul@codesourcery.com>
461 Steven G. Kargl <kargls@comcast.net>
462
463 PR fortran/20879
464 * check.c (gfc_check_ichar_iachar): New function.
465 * instinsic.h (gfc_check_ichar_iachar): Add prototype.
466 * intrinsic.c (add_functions): Use it.
467 * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect
468 character expression lengths.
469
470 2005-04-24 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
471
472 PR fortran/20059
473 * trans-common.c (translate_common): Cast offset and
474 common_segment->offset to type int for warning message.
475
476 2005-04-23 DJ Delorie <dj@redhat.com>
477
478 * trans-decl.c: Adjust warning() callers.
479
480 2005-04-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
481
482 * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as
483 intermediate representation. Fix typo in comment.
484
485 2005-04-21 Steven G. Kargl <kargls@comcast.net>
486
487 * trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation;
488 simplify logic; Add a gcc_assert.
489
490 2005-04-19 Steven G. Kargl <kargls@comcast.net>
491
492 * trans-const.c (gfc_conv_mpz_to_tree): Fix comment.
493
494 2005-04-19 Arnaud Desitter <arnaud.desitter@ouce.ox.ac.uk>
495 Steven G. Kargl <kargls@comcast.net>
496
497 * invoke.texi: Update -Waliasing description
498
499 2005-04-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
500
501 PR fortran/16861
502 * resolve.c (resolve_variable): If e->symtree is not set, this
503 ought to be a FAILURE, and not a segfault.
504
505 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
506
507 PR fortran/17472
508 PR fortran/18209
509 PR fortran/18396
510 PR fortran/19467
511 PR fortran/19657
512 * fortran/trans-io.c (gfc_build_io_library_fndecls): Create
513 declaration for st_set_nml_var and st_set_nml_var_dim. Remove
514 declarations of old namelist functions.
515 (build_dt): Simplified call to transfer_namelist_element.
516 (nml_get_addr_expr): Generates address expression for start of
517 object data. New function.
518 (nml_full_name): Qualified name for derived type components. New
519 function.
520 (transfer_namelist_element): Modified for calls to new functions
521 and improved derived type handling.
522
523 2005-04-17 Richard Guenther <rguenth@gcc.gnu.org>
524
525 * scanner.c (gfc_next_char_literal): Reset truncation flag
526 for lines ending in a comment for both fixed and free form.
527 (load_line): Do not set truncated flag if only truncating
528 the EOL marker.
529
530 2005-04-15 Richard Guenther <rguenth@gcc.gnu.org>
531
532 PR fortran/14569
533 * gfortran.h (gfc_linebuf): Add truncated field.
534 * parse.c (next_statement): Handle warning for truncated
535 lines.
536 * scanner.c (load_line): Return if line was truncated.
537 No longer warn for truncated lines. Remove unused parameters.
538 (load_file): Store load_line return value to linebuf.
539 (gfc_error_recovery): Do not advance line at the end.
540
541 2005-04-14 Steven G. Kargl <kargls@comcast.net>
542
543 * gfortran.h (gfc_real_info): Add subnormal struct member.
544 * arith.c (gfc_arith_init_1): Set it.
545 (gfc_check_real_range): Use it.
546 * simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.).
547
548 2005-04-12 Kazu Hirata <kazu@cs.umass.edu>
549
550 * simplify.c: Fix a comment typo.
551
552 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
553
554 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
555
556 2005-04-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
557
558 * simplify.c (gfc_simplify_nearest): Overhaul.
559
560 2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
561
562 * interface.c: Fix a comment typo.
563
564 2005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
565
566 * match.c (match_arithmetic_if): Arithmetic IF is obsolete in
567 Fortran 95.
568
569 2005-04-09 Steven G. Kargl <kargls@comcast.net>
570
571 * simplify.c (gfc_simplify_anint): Use mpfr_round()
572 (gfc_simplify_dnint): ditto.
573 (gfc_simplify_nint): ditto.
574
575 2005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
576
577 PR fortran/13257
578 * io.c (check_format): Allow an optional comma
579 between descriptors.
580
581 2005-04-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
582
583 * match.c (match_arithmetic_if): Remove gfc_ prefix and correct
584 comment according to GNU coding style.
585 (gfc_match_if): Remove gfc_ prefix in call to
586 match_arithmetic_if.
587
588 2005-04-08 Diego Novillo <dnovillo@redhat.com>
589
590 * match.c (gfc_match_arithmetic_if): Declare static.
591
592 2005-04-08 Francois-Xavier Coudert <coudert@clipper.ens.fr>
593
594 PR fortran/17229
595 * match.c (gfc_match_arithmetic_if): New function to match an
596 arithmetic IF statement.
597 (gfc_match_if): Use gfc_match_arithmetic_if to match an
598 arithmetic IF statement embedded in a simple IF statement.
599
600 2005-04-07 Steven G. Kargl <kargls@comcast.net>
601
602 * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x))
603
604 2005-04-06 Steven G. Kargl <kargls@comcast.net>
605
606 * invoke.texi: Remove documentation of -std=f90
607
608 2005-04-06 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
609
610 * expr.c (gfc_check_assign): Don't allow NULL as rhs in a
611 non-pointer assignment.
612
613 2005-04-05 Feng Wang <fengwang@nudt.edu.cn>
614
615 PR fortran/15959
616 PR fortran/20713
617
618 * array.c (resolve_character_array_constructor): New function. Set
619 constant character array's character length.
620 (gfc_resolve_array_constructor): Use it.
621 * decl.c (add_init_expr_to_sym): Set symbol and initializer character
622 length.
623 (gfc_set_constant_character_len): New function. Set constant character
624 expression according the given length.
625 * match.h (gfc_set_constant_character_len): Add prototype.
626
627 2005-04-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
628
629 * intrinsic.texi: BES?? functions are not in the f95 standard.
630
631 2005-04-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
632
633 * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN.
634
635 2005-04-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
636
637 * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1,
638 BESYN, ATAN, COSH, ERF, ERC, SINH, TANH.
639
640 2005-04-02 Steven G. Kargl <kargls@comcast.net>
641
642 * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos
643
644 2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
645
646 * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,
647 trans.h: Fix comment typos.
648
649 2005-03-29 Steven G. Kargl <kargls@comcast.net>
650
651 * gfortran.h (option_t): Change d8, i8, r8 to flag_default_double,
652 flag_default_integer, flag_default_real
653 * invoke.texi: Update documentation
654 * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8
655 fdefault-integer-8, and fdefault-real-8 definitions.
656 * options.c (gfc_init_options): Set option defaults
657 (gfc_handle_option): Handle command line options.
658 * trans-types.c (gfc_init_kinds): Use options.
659
660 2005-03-29 Keith Besaw <kbesaw@us.ibm.com>
661
662 * f95-lang.c (builtin_function): Process the attrs parameter
663 and apply the "const" attribute to the builtin if found.
664
665 2005-03-27 Steven G. Kargl <kargls@comcast.net>
666
667 * intrinsic.texi: Document AIMAG, AINT, ALL
668
669 2005-03-26 Steven G. Kargl <kargls@comcast.net>
670
671 * arith.c (check_result): Fix illogical logic.
672
673 2005-03-26 Canqun Yang <canqun@nudt.edu.cn>
674
675 * trans-common.c (create_common): Build RECORD_NODE for common blocks
676 contain no equivalence objects.
677 (add_equivalences): New argument saw_equiv.
678 (trans_common): New local variable saw_equiv.
679 (finish_equivalences): Add a local variable dummy, Always pass true
680 for the 3rd parameter to create_common.
681
682 2005-03-25 Steven G. Kargl <kargls@comcast.net>
683
684 * intrinsic.texi: Fix "make dvi"
685
686 2005-03-24 Steven G. Kargl <kargls@comcast.net>
687
688 * intrinsic.texi: New file.
689 * gfortran.texi: Include it; white space change; fix typo.
690
691 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
692
693 * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
694
695 2005-03-23 Steven Bosscher <stevenb@suse.de>
696
697 * convert.c (convert): Replace fold (buildN (...)) with fold_buildN.
698 * trans-array.c (gfc_trans_allocate_array_storage,
699 gfc_trans_allocate_temp_array gfc_trans_array_constructor_value,
700 gfc_conv_array_index_ref, gfc_trans_array_bound_check,
701 gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
702 gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_conv_ss_startstride,
703 gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds,
704 gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
705 gfc_conv_expr_descriptor): Likewise.
706 * trans-expr.c (gfc_conv_powi, gfc_conv_string_tmp,
707 gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
708 * trans-intrinsic.c (build_round_expr, gfc_conv_intrinsic_bound,
709 gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_sign,
710 gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
711 gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop,
712 gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits,
713 gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc,
714 gfc_conv_intrinsic_merge, prepare_arg_info,
715 gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_repeat): Likewise.
716 * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do, gfc_trans_do_while,
717 gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs,
718 generate_loop_for_rhs_to_temp, compute_inner_temp_size,
719 allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
720 gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign):
721 Likewise.
722 * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Likewise.
723 * trans.c (gfc_add_modify_expr): Likewise.
724
725 2005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
726
727 * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill,
728 gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub,
729 gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename,
730 gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror,
731 gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub,
732 gfc_check_perror): new functions to check newly implemented
733 g77 intrinsics.
734 * gfortran.h: adding symbols for new intrinsics.
735 * intrinsic.c (add_functions): adding new intrinsics.
736 (add_subroutines): adding new intrinsics.
737 * intrinsic.h: prototype for all checking and resolving
738 functions.
739 * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub,
740 gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill,
741 gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk,
742 gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub,
743 gfc_resolve_kill_sub, gfc_resolve_link_sub,
744 gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub,
745 gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub,
746 gfc_resolve_perror): new functions to resolve intrinsics.
747 * trans-intrinsic.c (gfc_conv_intrinsic_function): add case
748 for new symbols.
749
750 2005-03-19 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
751
752 * dump-parse-tree.c (gfc_show_expr): Dump name of namespace
753 in which the variable is declared.
754
755 PR fortran/18525
756 * resolve.c (was_declared): Also check for dummy attribute.
757
758 2005-03-19 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
759
760 * gfortran.h (arith): Remove ARITH_0TO0.
761 * arith.c (gfc_arith_error): Remove handling of ARITH_0TO0.
762 (gfc_arith_power): Remove special casing of zero to integral
763 power zero.
764
765 2005-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
766
767 * Make-lang.in (fortran-warn): Remove -Wno-error.
768 (expr.o-warn, resolve.o-warn, simplify.o-warn,
769 trans-common.o-warn): Specify -Wno-error.
770
771 2005-03-17 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
772
773 * trans-array.c (gfc_trans_static_array_pointer,
774 get_array_ctor_var_strlen, gfc_conv_array_index_offset): Fix
775 comment and formatting typos.
776
777 2005-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
778
779 * invoke.texi: Fix typos.
780
781 2005-03-15 Zack Weinberg <zack@codesourcery.com>
782
783 * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
784
785 2005-03-15 Feng Wang <fengwang@nudt.edu.cn>
786
787 * trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
788 to zero on label_tree.
789
790 2005-03-15 Feng Wang <fengwang@nudt.edu.cn>
791
792 PR fortran/18827
793 * io.c (resolve_tag): Add checking on assigned label.
794 (match_dt_format): Does not set symbol assign attribute.
795 * match.c (gfc_match_goto):Does not set symbol assign attribute.
796 * resolve.c (resolve_code): Add checking on assigned label.
797 * trans-common.c (build_field): Deals with common variable assigned
798 a label.
799 * trans-stmt.c (gfc_conv_label_variable): New function.
800 (gfc_trans_label_assign): Use it.
801 (gfc_trans_goto): Ditto.
802 * trans-io.c (set_string): Ditto.
803 * trans.h (gfc_conv_label_variable): Add prototype.
804
805 2005-03-14 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
806
807 PR fortran/20467
808 * symbol.c (check_conflict): A dummy argument can't be a statement
809 function.
810
811 2005-03-14 Zdenek Dvorak <dvorakz@suse.cz>
812
813 * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
814 the argument of the shift to the unsigned type.
815
816 2005-03-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
817
818 PR fortran/16907
819 * resolve.c (gfc_resolve_index): Allow REAL indices as an extension.
820
821 2005-03-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
822
823 PR fortran/20323
824 * resolve.c (gfc_resolve): Check if character lengths are
825 specification expressions.
826
827 2005-03-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
828
829 PR fortran/20361
830 * trans-array.c (gfc_stack_space_left): Remove unused variable.
831 (gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
832 code.
833 * trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
834 Remove declaration / prototype.
835 * trans-common.c (build_equiv_decl): Give union a name. Check if
836 it can be put on the stack.
837 * trans-decl.c (gfc_stack_space_left): Move function here.
838 (gfc_build_qualified_array): Fix comment typo.
839 * trans.h (gfc_put_var_on_stack): Add prototype.
840
841 2005-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
842
843 * Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error.
844 * decl.c, trans.c: Don't use C++ style comments.
845 * gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access,
846 ifsrc): Give names to enums and use ENUM_BITFIELD.
847 (gfc_access): Remove trailing comma.
848
849 2005-03-05 Steven G. Kargl <kargls@comcast.net>
850
851 PR 19936
852 * primary.c (match_complex_constant): Mangled complex constant may
853 be an implied do-loop. Give implied do-loop matcher a chance.
854
855 2005-03-05 Steven G. Kargl <kargls@comcast.net>
856
857 PR fortran/19754
858 * resolve.c (compare_shapes): New function.
859 (resolve_operator): Use it.
860
861 2005-03-05 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
862
863 * trans-const.c (gfc_conv_constant_to_tree): Use correct tree
864 type for COMPLEX constants.
865
866 2005-03-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
867
868 PR fortran/19673
869 * trans-expr.c (gfc_conv_function_call): Correctly dereference
870 argument from a pointer function also if it has a result clause.
871
872 2005-03-04 Steven G. Kargl <kargls@comcast.net>
873
874 * expr.c (gfc_copy_shape_excluding): Change && to ||.
875
876 2005-03-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
877
878 * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo,
879 clarify comment.
880
881 2005-02-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
882 (port from g95)
883
884 PR fortran/19479
885 * simplify.c (gfc_simplify_bound): Rename to ...
886 (simplify_bound): ... this and overhaul.
887
888 2005-02-28 Steven G. Kargl <kargl@gcc.gnu.org>
889
890 * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
891 (gfc_conv_intrinsic_function): update function calls
892
893 2005-02-27 Steven G. Kargl <kargl@gcc.gnu.org>
894
895 PR fortran/20058
896 * trans-types.c (gfc_max_integer_kind): Declare
897 (gfc_init_kinds): Initialize it.
898 * gfortran.h (gfc_max_integer_kind): extern it.
899 * primary.c (match_boz_constant): Use it; remove gfortran extension
900 of kind suffixes on BOZ literal constants
901
902
903 2005-02-27 Steven G. Kargl <kargls@comcast.net>
904
905 * arith.c (gfc_check_real_range): Remove multiple returns
906 (check_result): New function.
907 (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times,
908 gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it.
909
910
911 2005-02-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
912
913 * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
914
915
916 2005-02-24 Tobias Schl"uter <tobias.schlueter@physik.uni-meunchen.de>
917
918 Unrevert previously reverted patch. Adding this fix:
919 * module.c (find_true_name): Deal with NULL module.
920
921 2005-02-24 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
922
923 Revert yesterday's patch:
924 2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
925
926 * gfortran.h (gfc_component, gfc_actual_arglist, ...
927 ... argument. Copy string instead of pointing to it.
928
929 2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
930
931 * gfortran.h (gfc_get_namespace): Add second argument to prototype.
932 * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to
933 gfc_get_namespace.
934 * module.c (mio_namespace_ref, load_needed): Likewise.
935 * parse.c (parse_interface, parse_contained): Likewise. Here the
936 correct second argument matters.
937 * symbol.c (gfc_get_namespace): Add parent_types argument, only copy
938 parent's implicit types if this is set.
939 (gfc_symbol_init_2): Pass second argument to gfc_get_namespace.
940 * trans-common.c (build_common_decl): Likewise.
941
942 * gfortran.h (symbol_attribute): New 'untyped' field, fix comment
943 formatting.
944 * symbol.c (gfc_set_default_type): Issue error only once, by setting
945 and checking 'untyped' attribute.
946
947 * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'
948 fields into new struct 'op' inside the 'value' union.
949 * arith.c (eval_intrinsic): Adapt all users.
950 * dependency.c (gfc_check_dependency): Likewise.
951 * dump-parse-tree.c (gfc_show_expr): Likewise.
952 * expr.c (gfc_get_expr): Don't clear removed fields.
953 (free_expr0, gfc_copy_expr, gfc_type_convert_binary,
954 gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr,
955 check_intrinsic_op): Adapt to new field names.
956 * interface.c (gfc_extend_expr): Likewise. Also explicitly
957 nullify 'esym' and 'isym' fields of new function call.
958 * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
959 Adapt to renamed structure fields.
960 * matchexp.c (build_node, match_level_1, match_expr): Likewise.
961 * module.c (mio_expr): Likewise.
962 * resolve.c (resolve_operator): Likewise.
963 (gfc_find_forall_index): Likewise. Only look through operands
964 if dealing with EXPR_OP
965 * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields.
966 * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op,
967 gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
968
969 [ Reverted ]
970 * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
971 'name' a 'const char *'.
972 (gfc_symbol): Likewise, also for 'module'.
973 (gfc_symtree): Make 'name' a 'const char *'.
974 (gfc_intrinsic_sym): Likewise, also for 'lib_name'.
975 (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
976 'char *' argument.
977 (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
978 initialize 'SYM->module'.
979 * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
980 pointer instead of empty string.
981 * dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
982 * interface.c (gfc_compare_types): Adapt check to account for possible
983 NULL pointer.
984 (compare_actual_formal): Check for NULL pointer instead of empty
985 string.
986 * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
987 Add 'const' qualifier.
988 (conv_name): Return a heap allocated string.
989 (find_conv): Add 'const' qualifier to 'target'.
990 (add_sym): Use 'gfc_get_string' instead of 'strcpy'.
991 (make_generic): Check for NULL pointer instead of empty string.
992 (make_alias): Use 'gfc_get_string' instead of 'strcpy'.
993 (add_conv): No need to strcpy result from 'conv_name'.
994 (sort_actual): Check for NULL pointer instead of empty string.
995 * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg):
996 Adapt prototype.
997 * module.c (compare_true_names): Compare pointers instead of strings
998 for 'module' member.
999 (find_true_name): Initialize string fields with gfc_get_string.
1000 (mio_pool_string): New function.
1001 (mio_internal_string): Adapt comment.
1002 (mio_component_ref, mio_component, mio_actual_arg): Use
1003 'mio_pool_string' instead of 'mio_internal_string'.
1004 (mio_symbol_interface): Add 'const' qualifier to string arguments.
1005 Add level of indirection. Use 'mio_pool_string' instead of
1006 'mio_internal_string'.
1007 (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'.
1008 (write_common, write_symbol): Use 'mio_pool_string' instead of
1009 'mio_internal_string'.
1010 (write_symbol0, write_symbol1): Likewise, also check for NULL pointer
1011 instead of empty string.
1012 (write_operator, write_generic): Pass correct type variable to
1013 'mio_symbol_interface'.
1014 (write_symtree): Use 'mio_pool_string' instead of
1015 'mio_internal_string'.
1016 * primary.c (match_keyword_arg): Adapt check to possible
1017 case of NULL pointer. Use 'gfc_get_string' instead of 'strcpy'.
1018 * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree,
1019 gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of
1020 'strcpy'.
1021 (ambiguous_symbol): Check for NULL pointer instead of empty string.
1022 (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string
1023 arguments.
1024 * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL
1025 pointer instead of empty string.
1026 * trans-decl.c (gfc_sym_mangled_identifier,
1027 gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl,
1028 gfc_get_symbol_decl): Likewise.
1029 * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to
1030 argument. Copy string instead of pointing to it.
1031
1032 2005-02-23 Kazu Hirata <kazu@cs.umass.edu>
1033
1034 * intrinsic.h, st.c: Update copyright.
1035
1036 2005-02-20 Steven G. Kargl <kargls@comcast.net>
1037
1038 * symbol.c: Typos in comments.
1039
1040 2005-02-20 Steven G. Kargl <kargls@comcast.net>
1041
1042 * expr.c (gfc_type_convert_binary): Typo in comment.
1043
1044 2005-02-19 Steven G. Kargl <kargls@comcast.net>
1045
1046 * check.c (gfc_check_selected_int_kind): New function.
1047 * intrinsic.h: Prototype it.
1048 * intrinsic.c (add_function): Use it.
1049 * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
1050 BT_REAL to BT_INTEGER and use gfc_default_integer_kind.
1051
1052 2005-02-19 Steven G. Kargl <kargls@comcast.net>
1053
1054 * check.c (gfc_check_int): improve checking of optional kind
1055 * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
1056
1057 2005-02-19 Steven G. Kargl <kargls@comcast.net>
1058
1059 * check.c (gfc_check_achar): New function
1060 * intrinsic.h: Prototype it.
1061 * intrinsic.c (add_function): Use it.
1062
1063 2005-02-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1064
1065 * trans-stmt.c (generate_loop_for_temp_to_lhs,
1066 generate_loop_for_rhs_to_temp): Remove if whose condition is
1067 always true.
1068
1069 2005-02-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1070
1071 * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
1072 (gfc_use_derived): ... this function.
1073
1074 2005-02-09 Richard Henderson <rth@redhat.com>
1075
1076 * f95-lang.c (gfc_init_builtin_functions): Call
1077 build_common_builtin_nodes; do not define any functions handled
1078 by it.
1079
1080 2005-02-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1081
1082 * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
1083 EXPR_SUBSTRING.
1084 (gfc_is_constant_expr): Check 'ref' to determine if substring
1085 reference is constant.
1086 (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
1087 (check_init_expr, check_restricted): Check 'ref' instead of 'op1'
1088 and 'op2'.
1089 * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.
1090
1091 2005-02-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1092
1093 * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,
1094 gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data,
1095 gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
1096 gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
1097 gfc_add_procedure): Add argument.
1098 * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name,
1099 gfc_match_null, match_type_spec, match_attr_spec,
1100 gfc_match_formal_arglist, match_result, gfc_match_function_decl):
1101 Update callers to match.
1102 (gfc_match_entry) : Likewise, fix comment typo.
1103 (gfc_match_subroutine, attr_decl1, gfc_add_dimension,
1104 access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc,
1105 gfc_match_derived_decl): Update callers.
1106 * interface.c (gfc_match_interface): Likewise.
1107 * match.c (gfc_match_label, gfc_add_flavor,
1108 gfc_match_call, gfc_match_common, gfc_match_block_data,
1109 gfc_match_namelist, gfc_match_module, gfc_match_st_function):
1110 Likewise.
1111 * parse.c (parse_derived, parse_interface, parse_contained),
1112 primary.c (gfc_match_rvalue, gfc_match_variable): Likewise.
1113 * resolve.c (resolve_formal_arglist, resolve_entries): Update callers.
1114 * symbol.c (check_conflict, check_used): Add new 'name' argument,
1115 use when printing error message.
1116 (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy,
1117 gfc_add_generic, gfc_add_in_common, gfc_add_data,
1118 gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
1119 gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
1120 gfc_add_procedure): Add new 'name' argument. Pass along to
1121 check_conflict and check_used.
1122 (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic,
1123 gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental,
1124 gfc_add_pure, gfc_add_recursive, gfc_add_intent,
1125 gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new
1126 argument in calls to any of the modified functions.
1127
1128 2005-02-06 Joseph S. Myers <joseph@codesourcery.com>
1129
1130 * gfortran.texi: Don't give last update date.
1131
1132 2006-01-30 Richard Henderson <rth@redhat.com>
1133
1134 * options.c (gfc_init_options): Zero flag_errno_math.
1135
1136 2005-01-29 Paul Brook <paul@codesourcery.com>
1137
1138 PR fortran/18565
1139 * check.c (real_or_complex_check): New function.
1140 (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
1141 * intrinsic.c (add_functions): Use new check functions.
1142 * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
1143 Add prototypes.
1144
1145 2005-01-29 Steven G. Kargl <kargls@comcast.net>
1146
1147 PR fortran/19589
1148 * expr.c (gfc_check_assign): Check for conformance of logical operands
1149
1150 2004-01-27 Steven Bosscher <stevenb@suse.de>
1151
1152 * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and
1153 TREE_USED for all labels.
1154 (gfc_trans_entry_master_switch): Use it instead of building a
1155 label by hand.
1156 * trans-io.c (add_case): Likewise.
1157 * trans-stmt.c (gfc_trans_integer_select): Likewise.
1158
1159 2004-01-23 Paul Brook <paul@codesourcery.com>
1160 Steven G. Kargl <kargls@comcast.net>
1161
1162 PR fortran/17941
1163 * arith.c (gfc_convert_real): Remove sign handling.
1164 * primary.c (match_digits): Allow whitespace after initial sign.
1165 (match_real_const): Handle signs here. Allow whitespace after
1166 initial sign. Remove dead code.
1167 (match_const_complex_part): Remove.
1168 (match_complex_part): Use match_{real,integer}_const.
1169 (match_complex_constant): Cross-promote integer types.
1170
1171 2005-01-23 James A. Morrison <phython@gcc.gnu.org>
1172
1173 PR fortran/19294
1174 * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or
1175 transpose_c8 for complex types.
1176
1177 2005-01-23 Kazu Hirata <kazu@cs.umass.edu>
1178
1179 * data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
1180 trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
1181 trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
1182 Follow spelling conventions.
1183
1184 2005-01-22 Bud Davis <bdavis9659@comcast.net>
1185
1186 PR fortran/19313
1187 * trans-io.c (gfc_trans_inquire): Added code to support
1188 pad.
1189
1190 2005-01-22 Steven G. Kargl <kargls@comcast.net>
1191
1192 * intrinsic.c (make_alias): Add standard argument.
1193 (add_functions): Update make_alias calls.
1194
1195 2005-01-22 Paul Brook <paul@codesourcery.com>
1196
1197 * trans-expr.c (gfc_conv_function_call): Remove bogus TODO.
1198
1199 2005-01-22 Paul Brook <paul@codesourcery.com>
1200
1201 * gfortran.h (gfc_check_access): Add prototype.
1202 * match.c (gfc_match_namelist): Remove TODO.
1203 * module.c (check_access): Rename ...
1204 (gfc_check_access): ... to this. Boolify. Update callers.
1205 * resolve.c (resolve_symbol): Check for private objects in public
1206 namelists.
1207
1208 2005-01-22 Paul Brook <paul@codesourcery.com>
1209
1210 * primary.c (gfc_match_rvalue): Only apply implicit type if variable
1211 does not have an explicit type.
1212 (gfc_match_variable): Resolve implicit derived types in all cases.
1213 Resolve contained function types from their own namespace, not the
1214 parent.
1215 * resolve.c (resolve_contained_fntype): Remove duplicate sym->result
1216 checking. Resolve from the contained namespace, not the parent.
1217
1218 2005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1219
1220 PR fortran/19543
1221 * trans-const.c (gfc_conv_constant_to_tree): Give logical
1222 constants the correct type.
1223
1224 PR fortran/19194
1225 * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
1226 length parameters.
1227 (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
1228 pointer fields.
1229
1230 2005-01-18 Kazu Hirata <kazu@cs.umass.edu>
1231
1232 * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
1233 gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
1234 match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
1235 scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
1236 trans-io.c, trans-stmt.c, trans.c: Update copyright.
1237
1238 2005-01-17 Ira Rosen <irar@il.ibm.com>
1239
1240 * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins.
1241
1242 2005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1243
1244 PR fortran/19182
1245 * error.c (error_char): Line-buffer errors / warnings.
1246
1247 2005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1248
1249 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed /
1250 unsigned issue. Use build_int_cst instead of converting
1251 integer_zero_node. Remove unnecessary conversion.
1252
1253 * trans-types.c (gfc_get_character_type_len): : Use
1254 gfc_charlen_type_node as basic type for the range field.
1255
1256 * trans-intrinsic.c (build_fixbound_expr,
1257 gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall,
1258 gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest,
1259 gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead
1260 of converting 'integer_zero_node' or 'integer_one_node'
1261 respectively.
1262 (gfc_conv_intrinsic_ishftc): Same, but store in local variable to
1263 evade re-building.
1264 (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing,
1265 gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use
1266 'build_int_cst' instead of converting 'integer_zero_node' or
1267 'integer_one_node' respectively.
1268
1269 * trans-intrinsic.c (gfc_conv_intrinsic_index,
1270 gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove
1271 'gfc'-prefix from local variable, remove dead code, use correct
1272 type when inserting argument.
1273
1274 * trans-intrinsic.c, trans-types.c: Update copyright years.
1275
1276 2005-01-16 Steven G. Kargl <kargls@comcast.net>
1277
1278 PR 19168
1279 * resolve.c (check_case_overlap): Typo in comment.
1280 (validate_case_label_expr): Fix up kinds of case values
1281 (resolve_select): Properly handle kind mismatches.
1282
1283 2004-01-16 Paul Brook <paul@codesourcery.com>
1284
1285 PR fortran/17675
1286 * trans-common.c (translate_common): Remove duplicate function call.
1287 (finish_equivalences): Preserve alignment when biasing offsets.
1288
1289 2005-01-15 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de
1290
1291 * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming
1292 ASCII-like character encoding.
1293
1294 2005-01-14 Steven G. Kargl <kargls@comcast.net>
1295
1296 * resolve.c (compare_case): Cleanup.
1297
1298 2005-01-14 Steven G. Kargl <kargls@comcast.net>
1299
1300 * resolve.c (compare_case): Give arguments correct type.
1301
1302 2005-01-13 Kazu Hirata <kazu@cs.umass.edu>
1303
1304 * iresolve.c, trans-common.c, trans-types.c: Fix comment
1305 typos.
1306
1307 2005-01-09 Paul Brook <paul@codesourcery.com>
1308
1309 PR fortran/17675
1310 * trans-common.c (current_common, current_offset): Remove.
1311 (create_common): Add head argument.
1312 (align_segment): New function.
1313 (apply_segment_offset): New function.
1314 (translate_common): Merge code from new_segment. Handle alignment.
1315 (new_segment): Remove.
1316 (finish_equivalences): Ensure proper alignment.
1317
1318 2005-01-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1319
1320 * trans-const.c: Don't include unused math.h.
1321
1322 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
1323 gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
1324 gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
1325 trailing whitespace.
1326 (prepare_arg_info): Fix formatting, indenting and remove trailing
1327 whitespace.
1328 (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
1329 trailing whitespace.
1330
1331 * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
1332 gfc_constant_result, gfc_range_check, gfc_arith_power,
1333 eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
1334 gfc_real2complex, gfc_complex2int, gfc_complex2real,
1335 gfc_complex2complex): Fix whitespace issues.
1336 * check.c (must_be, type_check, numeric_check, int_or_real_check,
1337 logical_array_check, array_check, scalar_check, nonoptional_check,
1338 variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
1339 gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
1340 gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
1341 gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
1342 gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
1343 gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
1344 gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
1345 gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
1346 gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
1347 gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
1348 gfc_check_lbound, gfc_check_logical, min_max_args,
1349 gfc_check_min_max_integer, gfc_check_min_max_real,
1350 gfc_check_min_max_double, gfc_check_matmul,
1351 gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
1352 gfc_check_pack, gfc_check_precision, gfc_check_radix,
1353 gfc_check_range, gfc_check_real, gfc_check_repeat,
1354 gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
1355 gfc_check_set_exponent): Fix formatting issues.
1356 (gfc_check_size, gfc_check_sign): Alphabetize function order,
1357 remove whitespace-only line.
1358 (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
1359 gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
1360 gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
1361 gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
1362 gfc_check_random_number, gfc_check_random_seed,
1363 gfc_check_second_sub, gfc_check_system_clock,
1364 gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
1365 gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
1366 gfc_check_unlink_sub): Fix formatting issues.
1367
1368 2005-01-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1369
1370 * gfortran.h: Remove outdated comment. Don't include stdio.h
1371 explicitly.
1372
1373 2005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1374
1375 * gfortranspec.c (lang_specific_driver): Change year to 2005 in
1376 output of 'gfortran --version'.
1377
1378 2005-01-03 Steven G. Kargl <kargls@comcast.net>
1379
1380 * arith.c: Add system.h; remove string.h
1381 * decl.c: Ditto
1382 * matchexp.c: Ditto
1383 * parse.c: Ditto
1384 * resolve.c: Ditto
1385 * st.c: Ditto
1386 * check.c: Remove stdlib.h and stdarg.h
1387 * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
1388 * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
1389 * f95-lang.c: Add system.h; remove stdio.h
1390 * interface.c: Add system.h; remove stdlib.h and string.h
1391 * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
1392 * io.c: Remove string.h
1393 * simplify.c: Ditto
1394 * match.c: Remove stdarg.h and string.h
1395 * misc.c: Update copyright; add system.h; remove stdlib.h,
1396 string.h, and sys/stat.h
1397 * module.c: Add system.h; remove string.h, stdio.h, errno.h,
1398 unistd.h, and time.h
1399 * option.c: Remove string.h and stdlib.h
1400 * primary.c: Ditto
1401 * scanner.c: Update copyright; add system.h; remove stdlib.h,
1402 stdio.h, string.h, and strings.h
1403 * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
1404 * trans-array.c: Remove stdio.h and gmp.h
1405 * trans-const.c: Ditto
1406 * trans-expr.c: Ditto
1407 * trans-io.c: Ditto
1408 * trans-stmt.c: Ditto
1409 * trans.c: Ditto
1410 * trans-intrinsic.c: Remove stdio.h and string.h
1411
1412 2004-12-29 Steven G. Kargl <kargls@comcast.net>
1413
1414 * gfortran.h (gfc_case): fix typo in comment.
1415
1416 2004-12-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1417
1418 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
1419 logical shift. Call fold. Remove 0-bit shift shortcut.
1420 (gfc_conv_intrinsic_ishftc): Convert first argument to at least
1421 4 bytes bits. Convert 2nd and 3rd argument to 4 bytes. Convert
1422 result if width(arg 1) < 4 bytes. Call fold.
1423
1424 PR fortran/19032
1425 * trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment
1426 in front of function to match the standard. Correct handling
1427 of MODULO.
1428
1429 2004-12-27 Andrew Pinski <pinskia@physics.uc.edu>
1430
1431 * trans-expr.c (gfc_conv_cst_int_power): Only check for
1432 flag_unsafe_math_optimizations if we have a float type.
1433
1434 2004-12-23 Steven G. Kargl <kargls@comcast.net>
1435
1436 * gfortran.texi: Fix typo.
1437
1438 2004-12-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1439
1440 * trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix
1441 comment typo.
1442
1443 2004-12-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1444
1445 PR fortran/18993
1446 * match.c (gfc_match_if): Don't explicitly skip optional whitespace.
1447 (gfc_match_nullify): Make sure that ')' is in front of the end of
1448 statement.
1449
1450 * scanner.c (skip_fixed_comments): Fix typo in comment preceding
1451 function.
1452
1453 2004-12-14 Richard Henderson <rth@redhat.com>
1454
1455 * gfortran.h (gfc_expr.function.name): Make const.
1456 (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
1457 (gfc_get_string): Update prototype.
1458 * iresolve.c: Include tree.h.
1459 (string_node, HASH_SIZE, string_head, hash): Remove.
1460 (gfc_get_string): Use vsnprintf, get_identifier.
1461 (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
1462 * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1.
1463 (gfc_done_1): Don't call gfc_iresolve_done_1.
1464 * module.c (mio_allocated_string): Take and return const char *,
1465 instead of modifying char**.
1466 (mio_expr): Update to match.
1467 * resolve.c (pure_function): Constify name argument.
1468 (resolve_function): Constify name.
1469 * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise.
1470
1471 2004-12-12 Richard Henderson <rth@redhat.com>
1472
1473 * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
1474 gfc_resolve_cshift, gfc_resolve_dot_product, gfc_resolve_eoshift,
1475 gfc_resolve_matmul, gfc_resolve_maxloc, gfc_resolve_maxval,
1476 gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_pack,
1477 gfc_resolve_product, gfc_resolve_reshape, gfc_resolve_shape,
1478 gfc_resolve_spread, gfc_resolve_sum, gfc_resolve_transpose,
1479 gfc_resolve_unpack: Use PREFIX.
1480
1481 2004-12-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1482
1483 PR fortran/18869
1484 * match.c (gfc_match_common): Skip whitespace.
1485
1486 2004-12-12 Steven G. Kargl <kargls@comcast.net>
1487
1488 PR fortran/16581
1489 * check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits,
1490 gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default
1491 integer kind check; Issue error for -std=f95 when needed.
1492 * intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to
1493 GFC_STD_F95.
1494 * iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior):
1495 Promote arguments to same kind.
1496
1497 2004-12-12 Steven G. Kargl <kargls@comcast.net>
1498 Paul Brook <paul@codesourcery.com>
1499
1500 PR fortran/16222
1501 * resolve.c (gfc_resolve_iterator_expr): New function.
1502 (gfc_resolve_iterator): Use it. Add real_ok argument. Convert
1503 start, end and stride to correct type.
1504 (resolve_code): Pass extra argument.
1505 * array.c (resolve_array_list): Pass extra argument.
1506 * gfortran.h (gfc_resolve): Add prototype.
1507 * trans-stmt.c (gfc_trans_do): Remove redundant type conversions.
1508 Handle real type iterators.
1509
1510 2004-12-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1511
1512 PR fortran/17175
1513 * iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of
1514 same kind as C's 'int'.
1515 (gfc_resolve_set_exponent): Convert 'I' argument if not of kind 4.
1516
1517 2004-12-08 Richard Henderson <rth@redhat.com>
1518
1519 * intrinsic.c (gfc_convert_type_warn): Propagate the input shape
1520 to the output expression.
1521 * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
1522 warning conversion.
1523 (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
1524 to index kind.
1525
1526 2004-12-08 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1527
1528 PR fortran/18826
1529 * resolve.c (resolve_code): Impose correct restrictions on
1530 assigned variable.
1531
1532 * decl.c (gfc_match_end): Use locus of END when eos is an error.
1533
1534 2004-12-02 Steven G. Kargl <kargls@comcast.net>
1535 Paul Brook <paul@codesourcery.com>
1536
1537 * check.c (gfc_check_flush, gfc_check_fnum): New functions.
1538 (gfc_check_fstat, gfc_check_fstat_sub): New functions.
1539 (gfc_check_stat, gfc_check_stat_sub): New functions.
1540 * gfortran.h (GFC_ISYM_FNUM,GFC_ISYM_FSTAT,GFC_ISYM_STAT): New symbols
1541 * intrinsic.c (add_functions,add_subroutines): Add flush, fnum,
1542 fstat, and stat to intrinsics symbol tables.
1543 * intrinsic.h (gfc_check_flush, gfc_resolve_stat_sub): Add prototypes.
1544 (gfc_resolve_fstat_sub, gfc_resolve_stat): Ditto.
1545 * iresolve.c (gfc_resolve_fnum, gfc_resolve_fstat): New functions.
1546 (gfc_resolve_stat, gfc_resolve_flush): New functions.
1547 (gfc_resolve_stat_sub,gfc_resolve_fstat_sub): New functions
1548 * trans-intrinsic.c (gfc_conv_intrinsic_function): Add new intrinsics.
1549
1550 2004-12-02 Steven G. Kargl <kargls@comcast.net>
1551
1552 * intrinsic.c: Fix and add comments, fix function declarations
1553 (OPTIONAL,REQUIRED): New symbols
1554 (add_functions,add_subroutines): Use symbols
1555 (gmp.h): Remove unused include
1556
1557 2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
1558
1559 * f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quote
1560 in diagnostics.
1561
1562 2004-11-24 Steven Bosscher <stevenb@suse.de>
1563
1564 * options.c (gfc_post_options): Don't clear flag_inline_functions.
1565
1566 2004-11-20 Steven G. Kargl <kargls@comcast.net>
1567
1568 * check.c (gfc_check_getcwd_sub): Fix seg fault.
1569
1570 * check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub,
1571 gfc_check_unlink,gfc_check_unlink_sub): New functions
1572 * gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols
1573 * intrinsic.c (add_functions,add_subroutines): Add umask, unlink,
1574 exit to intrinsics symbol tables.
1575 * intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit,
1576 gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask,
1577 gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub,
1578 gfc_resolve_unlink_sub): Add and sort prototypes.
1579 * iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit,
1580 gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions
1581 * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols
1582
1583 2004-11-16 Paul Brook <paul@codesourcery.com>
1584
1585 PR fortran/13010
1586 * trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype.
1587 (gfc_array_init_size, gfc_conv_expr_descriptor): Ditto.
1588 * trans-types.c (gfc_get_dtype): Accept array type rather than element
1589 type.
1590 (gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE.
1591 (gfc_get_array_type_bounds): Ditto.
1592 (gfc_get_derived_type): Recurse into derived type pointers.
1593 * trans-types.h (gfc_get_dtype): Add prototype.
1594 * trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment.
1595
1596 2004-11-15 Paul Brook <paul@codesourcery.com>
1597
1598 * trans-types.c (gfc_get_dtype): Remove obsolete TODO.
1599
1600 2004-11-10 Paul Brook <paul@codesourcery.com>
1601
1602 PR fortran/18375
1603 * trans-expr.c (gfc_trans_subarray_assign): Free shape before ss.
1604 * trans-io.c (transfer_array_component): Ditto.
1605
1606 2004-11-10 Paul Brook <paul@codesourcery.com>
1607
1608 * invoke.texi: Fix typo.
1609
1610 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1611
1612 * arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,
1613 gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c,
1614 module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c,
1615 trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c,
1616 trans-io.c, trans-stmt.c, trans.h: Fix comment formatting.
1617
1618 2004-11-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1619
1620 PR fortran/18023
1621 * io.c (resolve_tag): Tighten up exception for assigned FORMAT.
1622
1623 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1624
1625 * gfortranspec.c: Replace GNU CC with GCC.
1626
1627 2004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1628
1629 * gfortranspec.c (lang_specific_driver): Change year to 2004.
1630
1631 2004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1632
1633 PR fortran/18111
1634 * trans-decl.c (create_function_arglist): Set DECL_ARTIFICIAL for
1635 hidden parameters.
1636
1637 2004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1638
1639 PR fortran/15164
1640 * trans-decl.c (gfc_finish_var_decl): Don't declare arguments to
1641 module procedures as if they were module variables.
1642
1643 2004-11-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1644
1645 PR fortran/17535
1646 PR fortran/17583
1647 PR fortran/17713
1648 * module.c (write_symbol1): Set module_name for dummy arguments.
1649
1650 2004-11-02 Paul Brook <paul@codesourcery.com>
1651
1652 * intrinsic.c (check_intrinsic_standard): Include error locus.
1653 Remove VLA.
1654 (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Pass
1655 locus to check_intrinsic_standard.
1656
1657 2004-10-31 Janne Blomqvist <jblomqvi@cc.hut.fi>
1658
1659 PR fortran/17590
1660 * gfortran.h: Change GFC_STD_* flags to more appropriate
1661 ones. (struct gfc_intrinsic_isym): Add field for standard. (struct
1662 gfc_option_t): Add field for warning about use of nonstandard
1663 intrinsics.
1664 * intrinsic.c (add_sym): Add parameter for standard version, check
1665 this against current standard.
1666 (add_sym_0): Pass standard parameter to add_sym.
1667 (add_sym_1, add_sym_0s, add_sym_1s, add_sym_1m, add_sym_2): Ditto.
1668 (add_sym_2s, add_sym_3, add_sym_3ml, add_sym_3red, add_sym_3s): Ditto.
1669 (add_sym_4, add_sym_4s, add_sym_5, add_sym_5s): Ditto.
1670 (make_generic): Add parameter for standard, check this
1671 against currently selected standard.
1672 (add_functions, add_subroutines): Add parameter to tell which
1673 standard an intrinsic belongs to.
1674 (check_intrinsic_standard): New function.
1675 (gfc_intrinsic_func_interface): Add call to check_intrinsic_standard.
1676 (gfc_intrinsic_sub_interface): Ditto.
1677 * lang.opt: Add Wnonstd-intrinsics option.
1678 * options.c (gfc_init_options): Change to use new GFC_STD_* flags,
1679 init new warning.
1680 (set_Wall): Add warning about nonstd intrinsics.
1681 (gfc_handle_option): Change to use new GFC_STD_* flags,
1682 handle new warning.
1683 * invoke.texi: Update manual to include -Wnonstd-intrinsics.
1684
1685 2004-10-30 Andrew Pinski <pinskia@physics.uc.edu>
1686
1687 * f95-lang.c (lang_tree_node): Add chain_next to be the TREE_CHAIN.
1688
1689 2004-10-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1690
1691 * simplify.c (twos_complement): Calculate mask in GMP arithmetic.
1692
1693 2004-10-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1694
1695 * trans.c (gfc_trans_code): Set global locus after recursing. Fix
1696 comment typo.
1697
1698 2004-10-30 Canqun Yang <canqun@nudt.edu.cn>
1699
1700 * check.c (gfc_check_rand): Allow missing optional argument.
1701 (gfc_check_irand): Ditto.
1702 * intrinsic.c (add_functions): Set arg optional flag for {i,}rand.
1703
1704 2004-10-28 Scott Robert Ladd <scott.ladd@coyotegulch.com>
1705
1706 PR fortran/13490, PR fortran/17912
1707 * gcc/fortran/gfortran.h: Added pedantic_min_int to gfc_integer_info
1708 * gcc/fortran/gfortran.h: Added ARITH_ASYMMETRIC to arith
1709 * gcc/fortran/arith.c: Added support for an "asymmetric integer"
1710 warning when compiling with pedantic.
1711 * gcc/fortran/arith.c: Set minimum integer values to reflect
1712 realities of two's complement signed integers. Added
1713 pedantic minimum.
1714
1715 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1716
1717 * Make-lang.in (F95_ADDITIONAL_OBJS): Kill.
1718 (f951): Do not depend on F95_ADDITIONAL_OBJS and don't
1719 link it in.
1720
1721 2004-10-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1722
1723 * trans-decl.c (generate_local_decl): Simplify logic, fix comment
1724 typo.
1725 (gfc_generate_function_code): Fix formatting issue.
1726
1727 2004-10-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1728
1729 * module.c: Fix formatting issues.
1730
1731 2004-10-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1732
1733 * module.c (mio_interface_rest): Set where member of interface
1734 while loading.
1735
1736 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1737
1738 PR fortran/17901
1739 * options.c (gfc_handle_option): Add break after handing the
1740 J/M option.
1741
1742 2004-10-08 Tobias Schlueter <tobias.shclueter@physik.uni-muenchen.de>
1743
1744 * arith.c: Fix formatting issues.
1745
1746 2004-10-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1747
1748 PR fortran/17676
1749 * resolve.c (resolve_operator): Use correct operator name in message.
1750
1751 2004-10-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1752
1753 * primary.c (match_boz_constant): Allow kind parameter suffixes.
1754 Move standard warning further to the front.
1755
1756 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1757
1758 * trans-stmt.c: Fix a comment typo.
1759
1760 2004-10-07 Paul Brook <paul@codesourcery.com>
1761
1762 PR fortran/17678
1763 * trans-array.c (gfc_trans_deferred_array): Leave use associated
1764 variables alone.
1765
1766 2004-10-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1767
1768 PR fortran/17568
1769 * simplify.c (twos_complement): New function.
1770 (gfc_simplify_ishft, gfc_simplify_ishftc): Revise.
1771
1772 * simplify.c (gfc_simplify_abs): Use mpfr_hypot for CABS.
1773
1774 2004-10-06 Paul Brook <paul@codesourcery.com>
1775
1776 * trans-stmt.c (gfc_trans_simple_do): New function.
1777 (gfc_trans_do): Use it. Evaluate iteration bounds before entering
1778 loop. Update comments.
1779
1780 2004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1781
1782 PR fortran/17283
1783 * iresolve.c (gfc_resolve_pack): Choose function depending if mask
1784 is scalar.
1785
1786 PR fortran/17631
1787 * intrinsic.c (add_sym_5): Remove.
1788 (add_subroutines): Add resolution function for MVBITS.
1789 * intrinsic.h (gfc_resolve_mvbits): Declare resolution function for
1790 MVBITS
1791 * iresolve.c (gfc_resolve_mvbits): New function.
1792 (gfc_resolve_random_number): Remove empty line at end of function.
1793
1794 * trans-const.c (gfc_build_cstring_const): New function.
1795 (gfc_init_cst): Use new function.
1796 * trans-const.h (gfc_build_cstring_const): Add prototype.
1797 * trans-io.c (set_string, set_error_locus): Use new function.
1798 * trans-stmt.c (gfc_trans_goto): Use new function.
1799
1800 PR fortran/17708
1801 * parse.c (accept_statement): Don't treat END DO like END IF and
1802 END SELECT.
1803 (parse_do_block): Generate possible END DO label inside END DO
1804 block.
1805
1806 PR fortran/17776
1807 * check.c (gfc_check_system_sub): New function.
1808 * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SYSTEM.
1809 * intrinsic.c (add_functions): Add 'system'.
1810 (add_subroutines): Add 'system'.
1811 * intrinsic.h (gfc_check_etime_sub, gfc_check_getcwd_sub):
1812 Move prototypes to other suborutines.
1813 (gfc_check_system_sub, gfc_resolve_system, gfc_resolve_system_sub):
1814 Add prototype.
1815 (gfc_resolve_system_clock): Fix formatting of prototype.
1816 * iresolve.c (gfc_resolve_system, gfc_resolve_system_sub): New
1817 functions.
1818 * trans-intrinsic.c (gfc_conv_intrinsic_function): Deal with
1819 GFC_ISYM_SYSTEM.
1820
1821 2004-10-04 Erik Schnetter <schnetter@aei.mpg.de>
1822
1823 * scanner.c (preprocessor_line): Accept preprocessor lines without
1824 file names. Check file names for closing quotes. Handle escaped
1825 quotes in file names.
1826
1827 2004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1828 Paul Brook <paul@codesourcery.com>
1829
1830 * trans-array.c (gfc_conv_expr_descriptor): Check for substriungs.
1831 Use gfc_get_expr_charlen.
1832 * trans-expr.c (gfc_get_expr_charlen): New function.
1833 * trans.h (gfc_get_expr_charlen): Add prototype.
1834
1835 2004-10-04 Kazu Hirata <kazu@cs.umass.edu>
1836
1837 * trans-intrinsic.c: Fix a comment typo.
1838
1839 2004-10-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1840
1841 * simplify.c (range_check): Remove blank line at beginning of function.
1842 (gfc_simplify_dint): Same at end of function.
1843 (gfc_simplify_exponent, gfc_simplify_fraction): Simplify calculations.
1844 (gfc_simplify_bound): Fix indentation.
1845 (gfc_simplify_log10): Simplify calculation.
1846 (gfc_simplify_min, gfc_simplify_max): Remove blank line at beginning
1847 of function.
1848 (gfc_simplify_nearest): Same at end of function.
1849 (gfc_simplify_nint, gfc_simplify_idnint): Same at beginning of
1850 function.
1851 (gfc_simplify_rrspacing, gfc_simplify_set_exponent,
1852 gfc_simplify_spacing): Simplify calulations.
1853
1854 2004-10-03 Feng Wang <fengwang@nudt.edu.cn>
1855
1856 * trans-intrinsic.c: Fix comments on spacing and rrspacing
1857 (gfc_conv_intrinsic_rrspacing): Add fold on constant trees.
1858
1859 2004-10-01 Jan Hubicka <jh@suse.cz>
1860
1861 * f95-lang.c (gfc_expand_function): Update call of
1862 tree_rest_of_compilation.
1863 * trans-decl.c (gfc_generate_constructors): Likewise.
1864
1865 2004-09-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1866
1867 * trans-intrinsic.c: Comment fixes.
1868
1869 2004-09-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1870
1871 * decl.c (add_init_expr_to_sym, variable_decl): Comment fixes.
1872
1873 2004-09-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1874
1875 * trans-types.c (gfc_return_by_reference): Remove superfluous
1876 assertion.
1877
1878 * intrinsic.h (gfc_resolve_getcwd): Update prototype.
1879 * iresolve.c (gfc_resolve_getcwd): Add second argument to function.
1880
1881 PR fortran/17615
1882 * trans-expr.c (gfc_trans_arrayfunc_assign): Look at resolved
1883 function to determine return type.
1884
1885 2004-09-20 Jan Hubicka <jh@suse.cz>
1886
1887 * trans-decl.c (build_entry_thunks): Finalize the function; do not lower
1888 tree.
1889 (gfc_generate_function_code): Likewise.
1890
1891 2004-09-20 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1892
1893 PR fortran/15957
1894 * simplify.c (gfc_simplify_reshape): Set shape of return value
1895 correctly.
1896
1897 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
1898 Zack Weinberg <zack@codesourcery.com>
1899
1900 * f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
1901 enumeration constants.
1902
1903 2004-09-17 Paul Brook <paul@codesourcery.com>
1904
1905 * gfortran.h (struct gfc_linebuf): Don't use C99 empty arrays.
1906 (gfc_linebuf_header_size): Define.
1907 * scanner.c (load_file): Use it.
1908
1909 2004-09-16 Kazu Hirata <kazu@cs.umass.edu>
1910
1911 * array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c,
1912 interface.c, intrinsic.c, io.c, misc.c, module.c, parse.h,
1913 resolve.c, scanner.c, trans-array.c, trans-array.h,
1914 trans-common.c, trans-const.h, trans-decl.c, trans-expr.c,
1915 trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
1916 trans.h: Fix comment typos. Follow spelling conventions.
1917
1918 2004-09-16 Victor Leikehman <lei@il.ibm.com>
1919
1920 PR/15364
1921 * trans-io.c (transfer_array_component): New function.
1922 (transfer_expr): For array fields, call transfer_array_component.
1923
1924 2004-09-16 Kazu Hirata <kazu@cs.umass.edu>
1925
1926 * gfortran.texi: Fix a typo.
1927
1928 2004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1929
1930 * parse.c (eof_buf): Rename eof to eof_buf.
1931 (unexpected_eof): Same.
1932 (gfc_parse_file): Same.
1933
1934 2004-09-15 Steven G. Kargl <kargls@comcast.net>
1935
1936 * check.c (gfc_check_getcwd_sub): New function.
1937 * gfortran.h (GFC_ISYM_GETCWD): New symbol.
1938 * intrinsic.c (add_functions): Add function definition;
1939 Use symbol.
1940 * intrinsic.c (add_subroutines): Add subroutine definitions.
1941 * intrinsic.h: Add prototypes.
1942 * iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
1943 New functions.
1944 * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
1945
1946 2004-09-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1947
1948 PR fortran/16485
1949 * module.c (write_symbol): Don't fill in module name here.
1950 (write_symbol0): Fill in here instead.
1951
1952 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
1953
1954 * data.c, decl.c, f95-lang.c, gfortran.h, match.c,
1955 trans-array.c, trans-common.c, trans-expr.c,
1956 trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix
1957 comment typos. Follow spelling conventions.
1958
1959 2004-09-09 Paul Brook <paul@codesourcery.com>
1960
1961 * scanner.c (get_file): Add ATTRIBUTE_UNUSED.
1962
1963 2004-09-08 Paul Brook <paul@codesourcery.com>
1964
1965 * array.c: Don't include assert.h.
1966 * data.c: Don't include assert.h. Replace assert and abort with
1967 gcc_assert and gcc_unreachable.
1968 * dependency.c: Ditto.
1969 * f95-lang.c: Ditto.
1970 * iresolve.c: Ditto.
1971 * resolve.c: Ditto.
1972 * simplify.c: Ditto.
1973 * symbol.c: Ditto.
1974 * trans-array.c: Ditto.
1975 * trans-common.c: Ditto.
1976 * trans-const.c: Ditto.
1977 * trans-decl.c: Ditto.
1978 * trans-expr.c: Ditto.
1979 * trans-intrinsic.c: Ditto.
1980 * trans-io.c: Ditto.
1981 * trans-stmt.c: Ditto.
1982 * trans-types.c: Ditto.
1983 * trans.c: Ditto.
1984
1985 2004-09-07 Per Bothner <per@bothner.com>
1986 Paul Brook <paul@codesourcery.com>
1987
1988 * error.c (show_locus): Handle mapped locations.
1989 * f95-lang.c (gfc_be_parse_file): Initialize mapped locations.
1990 * gfortran.h: Include input.h.
1991 (struct gfc_linebuf): Use source_location.
1992 * scanner.c (get_file): Initialize linemap.
1993 (preprocessor_line): Pass extra argument to get_file.
1994 (load_file): Ditto. Setup linemap.
1995 (gfc_new_file): Handle mapped locations.
1996 * trans-common.c (build_field, build_equiv_decl, build_common_decl):
1997 Set decl source locations.
1998 (gfc_trans_common): Set blank common block location.
1999 * trans-decl.c (gfc_set_decl_location): New function.
2000 (gfc_get_label_decl, gfc_get_symbol_decl): Use it.
2001 (trans_function_start): Move call to gfc_set_backend_locus..
2002 (build_function_decl): ... to here.
2003 (build_entry_thunks): Set and restore the backend locus.
2004 (gfc_generate_constructors): Remove excess arguments to
2005 init_function_start.
2006 (gfc_generate_block_data): Add comments. Set the decl locus.
2007 * trans-io.c (set_error_locus): Handle mapped locations.
2008 * trans.c (gfc_get_backend_locus, gfc_get_backend_locus): Ditto.
2009 (gfc_trans_code): Use SET_EXPR_LOCATION.
2010 (gfc_generate_code): Override the location of the new symbol.
2011 * trans.h (gfc_set_decl_location): Add prototype.
2012
2013 2004-08-31 Paul Brook <paul@codesourcery.com>
2014
2015 * trans-types.c (gfc_type_for_mode): Return NULL for unknown modes.
2016
2017 2004-09-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2018
2019 PR fortran/15327
2020 * trans-intrinsic.c (gfc_conv_intrinsic_merge): Do the right thing for
2021 strings.
2022
2023 2004-09-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2024
2025 PR fortran/16400
2026 PR fortran/16404
2027 (port from g95)
2028 * resolve.c (resolve_transfer): New function.
2029 (resolve_code): Call resolve_transfer in case of EXEC_TRANSFER.
2030
2031 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2032
2033 PR fortran/16579
2034 * trans-types.c (gfc_init_types): Make gfc_character1_type_node an
2035 unsigned char.
2036
2037 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2038
2039 * CONTRIB, NEWS, README, TODO: Remove obsolete files.
2040
2041 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2042
2043 PR fortran/17244
2044 * trans-types.c (gfc_return_by_reference): Remove TODO error,
2045 add comment pointing out possible issue WRT compatibility with g77.
2046
2047 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2048
2049 * trans-decl.c, trans-expr.c, trans-io.c, trans-types.c: Replace
2050 all occurences of 'gfc_strlen_type_node' by
2051 'gfc_charlen_type_node'.
2052 * trans-types.h: Same. Also update comment accordingly.
2053
2054 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2055
2056 * primary.c: Update copyright boilerplate to say GCC.
2057 * f95-lang.c: Change initial comment to say gfortran.
2058
2059 2004-08-31 Paul Brook <paul@codesourcery.com>
2060
2061 * trans-types.h: Add comments.
2062 (intmax_type_node, string_type_node, const_string_type_node): Remove.
2063
2064 2004-08-30 Richard Henderson <rth@redhat.com>
2065
2066 * Make-lang.in (fortran/f95-lang.o): Update dependencies.
2067 (fortran/trans-decl.o, fortran/trans-types.o): Likewise.
2068 * gfortran.h (gfc_integer_info): Add c_char, c_short, c_int,
2069 c_long, c_long_long.
2070 (gfc_logical_info): Add c_bool.
2071 (gfc_real_info): Add mode_precision, c_float, c_double, c_long_double.
2072 * trans-array.c (gfc_array_allocate): Use TYPE_PRECISION
2073 rather than gfc_int[48]_type_node for allocate choice.
2074 * trans-decl.c (gfc_build_intrinsic_function_decls): Cache
2075 local copies of some kind type nodes.
2076 (gfc_build_builtin_function_decls): Likewise.
2077 * trans-expr.c (gfc_conv_power_op): Likewise.
2078 * trans-intrinsic.c (gfc_conv_intrinsic_index,
2079 gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify,
2080 gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat): Likewise.
2081 * trans-stmt.c (gfc_trans_pause, gfc_trans_stop,
2082 gfc_trans_character_select, gfc_trans_allocate): Likewise.
2083 * trans-io.c (gfc_pint4_type_node): Move into ...
2084 (gfc_build_io_library_fndecls): ... here. Cache local copies of
2085 some kind type nodes.
2086 * trans-types.c (gfc_type_nodes): Remove.
2087 (gfc_character1_type_node, gfc_strlen_type_node): New.
2088 (gfc_integer_types, gfc_logical_types): New.
2089 (gfc_real_types, gfc_complex_types): New.
2090 (gfc_init_kinds): Fill in real mode_precision.
2091 (gfc_build_int_type, gfc_build_real_type): New.
2092 (gfc_build_complex_type, gfc_build_logical_type): New.
2093 (c_size_t_size): New.
2094 (gfc_init_types): Loop over kinds.
2095 (gfc_get_int_type, gfc_get_real_type): Use gfc_validate_kind.
2096 (gfc_get_complex_type, gfc_get_logical_type): Likewise.
2097 (gfc_get_character_type_len): Likewise.
2098 (gfc_type_for_size): Loop over kinds; use a reduced set of
2099 unsigned type nodes.
2100 (gfc_type_for_mode): Loop over kinds.
2101 (gfc_signed_or_unsigned_type): Use gfc_type_for_size.
2102 (gfc_unsigned_type, gfc_signed_type): Use gfc_signed_or_unsigned_type.
2103 * trans-types.h (F95_INT1_TYPE, F95_INT2_TYPE, F95_INT4_TYPE,
2104 F95_INT8_TYPE, F95_INT16_TYPE, F95_REAL4_TYPE, F95_REAL8_TYPE,
2105 F95_REAl16_TYPE, F95_COMPLEX4_TYPE, F95_COMPLEX8_TYPE,
2106 F95_COMPLEX16_TYPE, F95_LOGICAL1_TYPE, F95_LOGICAL2_TYPE,
2107 F95_LOGICAL4_TYPE, F95_LOGICAL8_TYPE, F95_LOGICAL16_TYPE,
2108 F95_CHARACTER1_TYPE, NUM_F95_TYPES, gfc_type_nodes,
2109 gfc_int1_type_node, gfc_int2_type_node, gfc_int4_type_node,
2110 gfc_int8_type_node, gfc_int16_type_node, gfc_real4_type_node,
2111 gfc_real8_type_node, gfc_real16_type_node, gfc_complex4_type_node,
2112 gfc_complex8_type_node, gfc_complex16_type_node,
2113 gfc_logical1_type_node, gfc_logical2_type_node,
2114 gfc_logical4_type_node, gfc_logical8_type_node,
2115 gfc_logical16_type_node, gfc_strlen_kind): Remove.
2116 (gfc_character1_type_node): Turn in to a variable.
2117 (gfc_strlen_type_node): Likewise.
2118
2119 2004-08-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2120
2121 * gfortran.h (gfc_namespace): Add new field is_block_data.
2122 * parse.c (accept_statement): Remove special handling for BLOCK DATA.
2123 (parse_block_data): Record BLOCK DATA name, set is_block_data field.
2124 * trans.c (gfc_generate_code): Handle BLOCK DATA units.
2125 * trans.h (gfc_generate_block_data): Add prototype.
2126 * trans-decl.c (gfc_generate_block_data): New function.
2127
2128 2004-08-29 Richard Henderson <rth@redhat.com>
2129
2130 * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_export.
2131 * trans-types.c (gfc_init_kinds): Reject integer kinds larger
2132 than two HOST_WIDE_INT.
2133
2134 2004-08-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2135
2136 PR fortran/13910
2137 * decl.c (free_variable, free_value, gfc_free_data, var_list,
2138 var_element, top_var_list, match_data_constant, top_val_list,
2139 gfc_match_data): Move here from match.c.
2140 (match_old_style_init): New function.
2141 (variable_decl): Match old-style initialization.
2142 * expr.c (gfc_get_variable_expr): New function.
2143 * gfortran.h (gfc_get_variable_expr): Add prototype.
2144 * gfortran.texi: Start documentation for supported extensions.
2145 * match.c: Remove the functions moved to decl.c.
2146 * match.h (gfc_match_data): Move prototype to under decl.c.
2147 * symbol.c (gfc_find_sym_tree, gfc_find_symbol): Add/correct
2148 comments.
2149
2150 2004-08-29 Steven G. Kargl <kargls@comcast.net>
2151 Paul Brook <paul@codesourcery.com>
2152
2153 * check.c (gfc_check_besn, gfc_check_g77_math1): New functions.
2154 * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Define.
2155 (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it.
2156 (build_builtin_fntypes): New function.
2157 (gfc_init_builtin_functions): Use it.
2158 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_{J,Y}{0,1,N}
2159 and GFC_ISYM_ERF{,C}.
2160 (gfc_c_int_kind): Declare.
2161 * intrinsic.c (add_functions): Add [d]bes* and [d]erf*.
2162 * intrinsic.h (gfc_check_besn, gfc_check_g77_math1, gfc_resolve_besn,
2163 gfc_resolve_g77_math1): Add prototypes.
2164 * resolve.c (gfc_resolve_besn, gfc_resolve_g77_math1): New functions.
2165 * mathbuiltins.def: Add comment. Change third argument. Use
2166 DEFINE_MATH_BUILTIN_C. Add bessel and error functions.
2167 * trans-intrinsic.c (BUILT_IN_FUNCTION): Define.
2168 (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it.
2169 * trans-types.c (gfc_c_int_kind): Declare.
2170 (gfc_init_kinds): Set it.
2171
2172 2004-08-29 Steven G. Kargl <kargls@comcast.net>
2173 Paul Brook <paul@codesourcery.com>
2174
2175 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_GET?ID.
2176 (gfc_check_f, gfc_simplify_f): Add f0.
2177 * intrinsic.c (do_check): Call f0. Flatten.
2178 (add_sym_0): Fix prototype. Set f0.
2179 (add_functions): Add getgid, getgid and getuid.
2180 (resolve_intrinsic): Remove obsolete comment.
2181 (do_simplify): Call f0.
2182 * intrinsic.h (gfc_resolve_getgid, gfc_resolve_getpid,
2183 gfc_resolve_getuid): Add prototypes.
2184 * iresolve.c (gfc_resolve_getgid, gfc_resolve_getpid,
2185 gfc_resolve_getuid): New functions.
2186 * trans-intrinsic.c (gfc_conv_intrinsic_function): Handle
2187 GFC_ISYM_GET?ID.
2188
2189 2004-08-28 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2190
2191 * error.c (gfc_error_init_1): Remove blank line in front of
2192 function body. Add missing blank.
2193 (gfc_buffer_error, error_char, error_string): Remove blank line in
2194 front of function body.
2195 (show_locus): Add comma in comment.
2196 (gfc_clear_warning, gfc_warning_check, gfc_clear_error,
2197 gfc_push_error, gfc_pop_error): Remove blank line in front of
2198 function body.
2199 (gfc_get_errors): Typo fix in comment in front of function. Remove
2200 blank line in front of function body.
2201
2202 2004-08-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2203
2204 * gfortran.h (gfc_default_*_kind): Remove prototypes, add extern
2205 variable declaration of same name.
2206 * arith.c, check.c, decl.c, dump_parse_tree.c, expr.c,
2207 intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c,
2208 resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c:
2209 Replace all calls to gfc_default_*_kind with variable accesses.
2210 * trans-types.c: Same as above.
2211 (gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove
2212 static qualifier. Replace all occurences.
2213 (gfc_default_*_kind): Remove functions.
2214
2215 2004-08-26 Richard Henderson <rth@redhat.com>
2216
2217 * arith.c: Include system.h, not real system headers.
2218 (MPZ_NULL, MPF_NULL, DEF_GFC_INTEGER_KIND, DEF_GFC_LOGICAL_KIND,
2219 DEF_GFC_REAL_KIND, GFC_SP_KIND, GFC_SP_PREC, GFC_SP_EMIN, GFC_SP_EMAX,
2220 GFC_DP_KIND, GFC_DP_PREC, GFC_DP_EMIN, GFC_DP_EMAX, GFC_QP_KIND,
2221 GFC_QP_PREC, GFC_QP_EMIN, GFC_QP_EMAX): Remove.
2222 (gfc_integer_kinds, gfc_logical_kinds, gfc_real_kinds,
2223 gfc_index_integer_kind, gfc_default_integer_kind,
2224 gfc_default_real_kind,gfc_default_double_kind,
2225 gfc_default_character_kind, gfc_default_logical_kind,
2226 gfc_default_complex_kind, validate_integer, validate_real,
2227 validate_logical, validate_character,
2228 gfc_validate_kind): Move to trans-types.c.
2229 (gfc_set_model_kind): Use gfc_validate_kind.
2230 (gfc_set_model): Just copy the current precision to default.
2231 (gfc_arith_init_1): Use mpfr precision 128 for integer setup.
2232 * f95-lang.c (gfc_init_decl_processing): Invoke gfc_init_kinds.
2233 * gfortran.h: Update file commentary.
2234 * trans-types.c (MAX_INT_KINDS, MAX_REAL_KINDS): New.
2235 (gfc_default_integer_kind_1, gfc_default_real_kind_1,
2236 gfc_default_double_kind_1, gfc_default_character_kind_1,
2237 gfc_default_logical_kind_1, gfc_default_complex_kind_1): New.
2238 (gfc_init_kinds): New.
2239 (gfc_init_types): Don't set gfc_index_integer_kind here.
2240 * trans-types.h (gfc_init_kinds): Declare.
2241 * doc/invoke.texi: Clarify DOUBLE PRECISION behaviour wrt -r8.
2242
2243 2004-08-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2244
2245 * check.c (gfc_check_atan2): New function.
2246 * intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2
2247 * intrinsic.h (gfc_check_atan2): Add prototype.
2248
2249 2004-08-25 Richard Henderson <rth@redhat.com>
2250
2251 * arith.c (gfc_validate_kind): Add may_fail argument; abort if
2252 false and we don't validate the kind.
2253 (gfc_check_integer_range, gfc_check_real_range): Update to match.
2254 * check.c (kind_check): Likewise.
2255 * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise.
2256 (match_char_spec, match_logical_spec): Likewise.
2257 * gfortran.h (gfc_validate_kind): Likewise.
2258 * options.c (gfc_handle_option): Likewise.
2259 * primary.c (match_integer_constant, match_real_constant,
2260 match_string_constant, match_logical_constant,
2261 match_const_complex_part): Likewise.
2262 * simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits,
2263 gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr,
2264 gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc,
2265 gfc_simplify_maxexponent, gfc_simplify_minexponent,
2266 gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision,
2267 gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing,
2268 gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan,
2269 gfc_simplify_tiny): Likewise.
2270 * trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
2271 gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
2272 prepare_arg_info): Likewise.
2273
2274 2004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2275
2276 * expr.c (gfc_check_assign): Add comment. Add new warning.
2277 * trans-expr.c (gfc_conv_function_call): Correctly dereference
2278 result of pointer valued function when not in pointer assignment.
2279
2280 2004-08-25 Paul Brook <paul@codesourcery.com>
2281
2282 * config-lang.in: Remove dead commented line.
2283 * module.c: Replace g95 with gfortran in comment.
2284
2285 2004-08-25 Paul Brook <paul@codesourcery.com>
2286
2287 PR fortran/17190
2288 * arith.c (gfc_mpfr_to_mpz): Workaround mpfr bug.
2289
2290 2004-08-25 Paul Brook <paul@codesourcery.com>
2291
2292 PR fortran/17144
2293 * trans-array.c (gfc_trans_allocate_temp_array): Remove
2294 string_length argument.
2295 (gfc_trans_array_ctor_element): New function.
2296 (gfc_trans_array_constructor_subarray): Use it.
2297 (gfc_trans_array_constructor_value): Ditto. Handle constant
2298 character arrays.
2299 (get_array_ctor_var_strlen, get_array_ctor_strlen): New functions.
2300 (gfc_trans_array_constructor): Use them.
2301 (gfc_add_loop_ss_code): Update to new gfc_ss layout.
2302 (gfc_conv_ss_descriptor): Remember section string length.
2303 (gfc_conv_scalarized_array_ref): Ditto. Remove dead code.
2304 (gfc_conv_resolve_dependencies): Update to new gfc_ss layout.
2305 (gfc_conv_expr_descriptor): Ditto.
2306 (gfc_conv_loop_setup): Ditto. Spelling fixes.
2307 * trans-array.h (gfc_trans_allocate_temp_array): Update prototype.
2308 * trans-const.c (gfc_conv_constant): Update to new gfc_ss layout.
2309 * trans-expr.c (gfc_conv_component_ref): Turn error into ICE.
2310 (gfc_conv_variable): Set string_length from section.
2311 (gfc_conv_function_call): Remove extra argument.
2312 (gfc_conv_expr, gfc_conv_expr_reference): Update to new gfc_ss layout.
2313 * trans-types.c (gfc_get_character_type_len): New function.
2314 (gfc_get_character_type): Use it.
2315 (gfc_get_dtype): Return zero for internal types.
2316 * trans-types.h (gfc_get_character_type_len): Add prototype.
2317 * trans.h (struct gfc_ss): Move string_length out of union.
2318
2319 2004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2320
2321 * trans.h (build2_v, build3_v): New macros.
2322 (build_v): Remove.
2323 * f95-lang.c (gfc_truthvalue_conversion): Use build2 instead of
2324 build.
2325 * trans-array.c (gfc_conv_descriptor_data,
2326 gfc_conv_descriptor_offset, gfc_conv_descriptor_dimension,
2327 gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound,
2328 gfc_conv_descriptor_ubound, gfc_trans_allocate_array_storage,
2329 gfc_trans_allocate_temp_array,
2330 gfc_trans_array_constructor_subarray,
2331 gfc_trans_array_constructor_value, gfc_conv_array_index_ref,
2332 gfc_trans_array_bound_check, gfc_conv_array_index_offset,
2333 gfc_conv_scalarized_array_ref, gfc_conv_array_ref,
2334 gfc_conv_array_ref, gfc_trans_preloop_setup,
2335 gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride,
2336 gfc_conv_loop_setup, gfc_array_init_size,
2337 gfc_conv_array_initializer, gfc_trans_array_bounds,
2338 gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
2339 gfc_conv_expr_descriptor, gfc_conv_array_parameter,
2340 gfc_trans_deferred_array): Use buildN and buildN_v macros instead
2341 of build and build_v as appropriate.
2342 * trans-common.c (create_common): Same.
2343 * trans-decl.c (gfc_trans_auto_character_variable,
2344 gfc_trans_entry_master_switch, gfc_generate_function_code): Same.
2345 * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
2346 gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi,
2347 gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op,
2348 gfc_conv_expr_op, gfc_conv_function_call,
2349 gfc_trans_structure_assign): Same.
2350 * trans-intrinsic.c (build_fixbound_expr, build_round_expr,
2351 gfc_conv_intrinsic_aint, gfc_conv_intrinsic_bound,
2352 gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod,
2353 gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign,
2354 gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_minmax,
2355 gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
2356 gfc_conv_intrinsic_arith, gfc_conv_intrinsic_minmaxloc,
2357 gfc_conv_intrinsic_minmaxval, gfc_conv_intrinsic_btest,
2358 gfc_conv_intrinsic_bitop, gfc_conv_intrinsic_singlebitop,
2359 gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft,
2360 gfc_conv_intrinsic_merge, gfc_conv_intrinsic_strcmp,
2361 gfc_conv_allocated, gfc_conv_associated, prepare_arg_info,
2362 gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing,
2363 gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat,
2364 gfc_conv_intrinsic_iargc): Same.
2365 * trans-io.c (set_parameter_value, set_parameter_ref, set_string,
2366 set_flag, add_case, io_result, transfer_namelist_element,
2367 transfer_expr): Same.
2368 * trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_if_1,
2369 gfc_trans_arithmetic_if, gfc_trans_do, gfc_trans_do_while,
2370 gfc_trans_integer_select, gfc_trans_logical_select,
2371 gfc_trans_character_select, gfc_trans_forall_loop,
2372 gfc_trans_nested_forall_loop, gfc_do_allocate,
2373 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
2374 compute_inner_temp_size, compute_overall_iter_number,
2375 allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
2376 gfc_trans_forall_1, gfc_evaluate_where_mask,
2377 gfc_trans_where_assign, gfc_trans_allocate): Same.
2378 * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Same.
2379 * trans.c (gfc_add_modify_expr, gfc_finish_block,
2380 gfc_build_array_ref, gfc_build_function_call,
2381 gfc_trans_runtime_check): Same.
2382
2383 2004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2384
2385 * trans-const.c (gfc_conv_mpz_to_tree): Change call to
2386 build_int_cst to build_int_cst_wide in accordance to Nathan's
2387 previous patch.
2388
2389 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
2390
2391 * trans-array.c (gfc_trans_array_constructor_value): Adjust
2392 build_int_cst calls.
2393 * trans-const.c (gfc_build_string_const, gfc_init_constants,
2394 gfc_conv_mpz_to_tree, gfc_conv_constant_to_tree): Likewise.
2395 * trans-decl.c (gfc_get_symbol_decl, build_entry_thunks,
2396 gfc_trans_entry_master_switch): Likewise.
2397 * trans-intrinsic.c (gfc_conv_intrinsic_ibits,
2398 gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
2399 * trans-io.c (add_case, set_error_locus,
2400 transfer_namelist_element, transfer_expr): Likewise.
2401 * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
2402 gfc_trans_stop, gfc_trans_character_select): Likewise.
2403 * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
2404 * trans.c (gfc_trans_runtime_check): Likewise.
2405
2406 2004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2407
2408 * trans-decl.c, trans-types.c: Add and remove blank lines as
2409 required.
2410
2411 2004-08-24 Richard Henderson <rth@redhat.com>
2412
2413 * trans-const.c (gfc_conv_mpz_to_tree): Fix 64-bit shift warning.
2414
2415 2004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2416
2417 * resolve.c (merge_argument_lists): Revert unintentionally
2418 committed change.
2419
2420 2004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2421
2422 * trans-decl.c (build_function_decl): Fix spelling in comment.
2423 (build_entry_thunks): Remove code with no function.
2424 (gfc_build_intrinsic_function_decls): Remove empty line.
2425
2426 * resolve.c (resolve_entries): Fix a bunch of comment typos.
2427
2428 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
2429
2430 * f95-lang.c (gfc_init_decl_processing): Adjust
2431 build_common_tree_nodes call.
2432
2433 2004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2434
2435 * trans-types.c: Spelling and formatting fixes.
2436
2437 2004-08-23 Richard Henderson <rth@redhat.com>
2438
2439 * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead
2440 of going through an intermediate string. Fix 32/64 int/long bug.
2441
2442 2004-08-23 Eric Christopher <echristo@redhat.com>
2443
2444 * trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
2445 usage. Use build_vector_type_for_mode for vector types.
2446
2447 2004-08-22 Richard Henderson <rth@redhat.com>
2448
2449 PR 13465
2450 * data.c (find_con_by_offset): Search ordered list; handle
2451 elements with repeat counts.
2452 (gfc_assign_data_value_range): New.
2453 * gfortran.h (struct gfc_data_value): Make repeat unsigned.
2454 (gfc_assign_data_value_range): Declare.
2455 * match.c (top_val_list): Extract repeat count into a temporary.
2456 * resolve.c (values): Make left unsigned.
2457 (next_data_value): Don't decrement left.
2458 (check_data_variable): Use gfc_assign_data_value_range.
2459
2460 2004-08-22 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2461
2462 * trans-const.c, trans-decl.c, trans-expr.c: Spelling fixes.
2463
2464 2004-08-22 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2465
2466 * check.c (gfc_check_reduction): Rename to ...
2467 (check_reduction): ... this. Make static. Don't check type of
2468 first argument.
2469 (gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions.
2470 * intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and
2471 SUM to use new check functions.
2472 (check_specific): Change logic to call new functions.
2473 * intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum):
2474 Add prototypes.
2475 (gfc_check_reduction): Remove prototype.
2476
2477 2004-08-20 Paul Brook <paul@codesourcery.com>
2478 Canqun Yang <canqun@nudt.edu.cn>
2479
2480 PR fortran/17077
2481 * trans-array.c (gfc_conv_array_parameter): Pass correct pointer
2482 for automatic arrays.
2483 * trans-types.c (gfc_get_nodesc_array_type): Add comment.
2484
2485 2004-08-19 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2486 (Port from g95)
2487
2488 PR fortran/17074
2489 * match.c (match_simple_forall, match_simple_where): Forward-declare.
2490 (gfc_match_if): Order statement list alphabetically, add WHERE and
2491 FORALL, remove double PAUSE.
2492 (gfc_match_simple_where, match_forall_header,
2493 gfc_match_simple_forall): New functions.
2494 (gfc_match_forall): Use match_forall_header.
2495
2496 2004-08-19 Paul Brook <paul@codesourcery.com>
2497
2498 PR fortran/17091
2499 * gfortran.h (gfc_access): Give ACCESS_UNKNOWN value 0.
2500 * symbol.c (gfc_clear_attr): Use memset.
2501
2502 2004-08-19 Paul Brook <paul@codesourcery.com>
2503
2504 PR fortran/14976
2505 PR fortran/16228
2506 * data.c (assign_substring_data_value): Remove.
2507 (create_character_intializer): New function.
2508 (gfc_assign_data_value): Track the typespec for the current
2509 subobject. Use create_character_intializer.
2510
2511 2004-08-19 Erik Schnetter <schnetter@aei.mpg.de>
2512
2513 PR fortran/16946
2514 * check.c (gfc_check_reduction): New function.
2515 (gfc_check_minval_maxval): Removed.
2516 (gfc_check_product): Removed.
2517 (gfc_check_sum): Removed.
2518 * intrinsic.h: Add/remove declarations for these.
2519 * gfortran.h: Add field f3red to union gfc_check_f.
2520 * intrinsic.c (add_sym_3red): New function.
2521 (add_functions): Register maxval, minval, product, and sum intrinsics
2522 through add_sym_3red.
2523 (check_specific): Handle f3red union field.
2524 * iresolve.c: Whitespace change.
2525
2526 2004-08-18 Paul Brook <paul@codesourcery.com>
2527
2528 * trans-types.c (gfc_sym_type): Use pointer types for optional args.
2529
2530 2004-08-18 Victor Leikehman <lei@il.ibm.com>
2531
2532 PR fortran/13278
2533 * trans-io.c (transfer_namelist_element): New. Recursively handle
2534 derived-type variables. Pass string lengths.
2535 (build_dt): Code moved to build_namelist, with some
2536 changes and additions.
2537 (gfc_build_io_library_fndecls): Declare the fifth
2538 argument in st_set_nml_var_char -- string_length.
2539
2540 2004-08-17 Paul Brook <paul@codesourcery.com>
2541 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2542
2543 PR fortran/13082
2544 * decl.c (get_proc_name): Update mystery comment.
2545 (gfc_match_entry): Check for errors earlier. Add entry point to list.
2546 * dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
2547 * gfortran.h (symbol_attribute): Add entry_master. Document entry.
2548 (struct gfc_entry_list): Define.
2549 (gfc_get_entry_list): Define.
2550 (struct gfc_namespace): Add refs and entries.
2551 (enum gfc_exec_op): Add EXEC_ENTRY.
2552 (struct gfc_code): Add ext.entry.
2553 * module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
2554 (mio_symbol_attribute): Don't save/reture addr->entry.
2555 (mio_namespace_ref): Refcount namespaces.
2556 * parse.c (accept_statement): Handle ST_ENTRY.
2557 (gfc_fixup_sibling_symbols): Mark symbol as referenced.
2558 (parse_contained): Fixup sibling references to entry points
2559 after parsing the procedure body.
2560 * resolve.c (resolve_contained_fntype): New function.
2561 (merge_argument_lists, resolve_entries): New functions.
2562 (resolve_contained_functions): Use them.
2563 (resolve_code): Handle EXEC_ENTRY.
2564 (gfc_resolve): Call resolve_entries.
2565 * st.c (gfc_free_statement): Handle EXEC_ENTRY.
2566 * symbol.c (gfc_get_namespace): Refcount namespaces.
2567 (gfc_free_namespace): Ditto.
2568 * trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
2569 optional when multiple entry points are present.
2570 * trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
2571 (gfc_get_extern_function_decl): Add assertion. Fix coment.
2572 (create_function_arglist, trans_function_start, build_entry_thunks):
2573 New functions.
2574 (gfc_build_function_decl): Rename ...
2575 (build_function_decl): ... to this.
2576 (gfc_create_function_decl): New function.
2577 (gfc_generate_contained_functions): Use it.
2578 (gfc_trans_entry_master_switch): New function.
2579 (gfc_generate_function_code): Use new functions.
2580 * trans-stmt.c (gfc_trans_entry): New function.
2581 * trans-stmt.h (gfc_trans_entry): Add prototype.
2582 * trans-types.c (gfc_get_function_type): Add entry point argument.
2583 * trans.c (gfc_trans_code): Handle EXEC_ENTRY.
2584 (gfc_generate_module_code): Call gfc_create_function_decl.
2585 * trans.h (gfc_build_function_decl): Remove.
2586 (gfc_create_function_decl): Add prototype.
2587
2588 2004-08-15 Andrew Pinski <apinski@apple.com>
2589
2590 PR fortran/17030
2591 * f95-lang.c (gfc_init_builtin_functions): Initialize the builtins
2592 for cabs{,f} and copysign{,f}.
2593 * trans-decl.c (gfor_fndecl_math_cabsf): Delete.
2594 (gfor_fndecl_math_cabs): Delete.
2595 (gfor_fndecl_math_sign4): Delete.
2596 (gfor_fndecl_math_sign8): Delete.
2597 (gfc_build_intrinsic_function_decls): Remove the
2598 initializing of cabs{,f} and copysign{,f} functions.
2599 * trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtins
2600 instead of the functions definitions.
2601 (gfc_conv_intrinsic_sign): Likewise.
2602 * trans.h (gfor_fndecl_math_cabsf): Delete.
2603 (gfor_fndecl_math_cabs): Delete.
2604 (gfor_fndecl_math_sign4): Delete.
2605 (gfor_fndecl_math_sign8): Delete.
2606
2607 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
2608
2609 * trans-array.c (gfc_trans_array_constructor_value): Use
2610 build_int_cst.
2611 * trans-const.c (gfc_build_string_const,
2612 gfc_init_constants, gfc_conv_mpz_to_tree,
2613 gfc_conv_constant_to_tree): Likewise.
2614 * trans-decl.c (gfc_get_symbol_decl): Likewise.
2615 * trans-intrinsic.c (gfc_conv_intrinsic_ibits,
2616 gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
2617 * trans-io.c (add_case, set_error_locus, build_dt,
2618 transfer_expr): Likewise.
2619 * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
2620 gfc_trans_stop, gfc_trans_character_select): Likewise.
2621 * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
2622 * trans.c (gfc_trans_runtime_check): Likewise.
2623
2624 2004-08-14 Paul Brook <paul@codesourcery.com>
2625
2626 * trans-decl.c (gfc_build_function_decl): Remove dead code.
2627
2628 2004-08-14 Paul Brook <paul@codesourcery.com>
2629
2630 * trans-arry.c (gfc_trans_auto_array_allocation): Remove unused var.
2631
2632 2004-08-13 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2633
2634 * gfortran.h: Add comments.
2635 * parse.c (parse_contained): Fix comment typo.
2636 * resolve.c (was_declared): Ditto.
2637 * symbol.c: Ditto.
2638
2639 2004-08-11 Paul Brook <paul@codeourcery.com>
2640
2641 PR fortran/16917
2642 * intrinsic.c (add_functions): Add dfloat as an alias for dble.
2643
2644 2004-08-10 Richard Henderson <rth@redhat.com>
2645
2646 * f95-lang.c (gfc_init_builtin_functions): Remove
2647 __builtin_stack_alloc, add __builtin_alloca.
2648 * trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
2649 * trans-decl.c (gfc_trans_auto_character_variable): Likewise.
2650
2651 2004-08-10 Paul Brook <paul@codesourcery.com>
2652
2653 * trans-io.c (transfer_expr): Handle pointters.
2654
2655 2004-08-10 Paul Brook <paul@codesourcery.com>
2656
2657 PR fortran/16919
2658 * trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
2659 (gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
2660 (gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
2661 Handle GFC_SS_COMPONENT.
2662 (gfc_conv_ss_startstride): Ditto. Set ss->shape.
2663 (gfc_conv_loop_setup): Tweak commends. Remove dead code.
2664 Use ss->shape.
2665 (gfc_conv_array_initializer): Call specific initializer routines.
2666 * trans-expr.c (gfc_trans_structure_assign): New function.
2667 (gfc_trans_subarray_assign): New function.
2668 (gfc_trans_subcomponent_assign): New fucntion
2669 (gfc_conv_structure): Use them.
2670 * trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
2671 (gfc_ss): Add shape.
2672
2673 2004-08-08 Victor Leikehman <lei@il.ibm.com>
2674
2675 * simplify.c (gfc_simplify_shape): Bugfix.
2676 * expr.c (gfc_copy_shape_excluding): New function.
2677 * gfortran.h (gfc_get_shape): Bugfix.
2678 (gfc_copy_shape_excluding): Added declaration.
2679 * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
2680 gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound,
2681 gfc_resolve_ubound, gfc_resolve_transpose): Added compile
2682 time resolution of shape.
2683
2684 2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi>
2685
2686 * intrinsic.c (add_subroutines): Add getenv and
2687 get_environment_variable. (add_sym_5s): New function.
2688 * intrinsic.h (gfc_resolve_get_environment_variable): Add
2689 prototype.
2690 * iresolve.c (gfc_resolve_get_environment_variable): New
2691 function.
2692
2693 2004-08-06 Feng Wang <fengwang@nudt.edu.cn>
2694
2695 * f95-lang.c (gfc_init_builtin_functions): Fix the number of
2696 __builtin_pow[f] arguments.
2697
2698 2004-08-06 Steven G. Kargl <kargls@comcast.net>
2699
2700 * arith.c: Add #define for model numbers. Remove global GMP variables.
2701 (natural_logarithm,common_logarithm,exponential,sine,
2702 cosine,arctangent,hypercos,hypersine ): Remove.
2703 (gfc_mpfr_to_mpz,gfc_set_model_kind,gfc_set_model): New functions.
2704 (arctangent2,gfc_arith_init_1,gfc_arith_done_1
2705 gfc_check_real_range, gfc_constant_result, gfc_range_check,
2706 gfc_arith_uminus,gfc_arith_plus, gfc_arith_minus, gfc_arith_times,
2707 gfc_arith_divide,complex_reciprocal,complex_pow_ui,
2708 gfc_arith_power,gfc_compare_expr,compare_complex,gfc_convert_real,
2709 gfc_convert_complex,gfc_int2real,gfc_int2complex,
2710 gfc_real2int,gfc_real2real,gfc_real2complex,
2711 gfc_complex2int,gfc_complex2real,gfc_complex2complex): Convert GMP
2712 to MPFR, use new functions.
2713 * arith.h: Remove extern global variables.
2714 (natural_logarithm,common_logarithm,exponential, sine, cosine,
2715 arctangent,hypercos,hypersine): Remove prototypes.
2716 (arctangent2): Update prototype from GMP to MPFR.
2717 (gfc_mpfr_to_mpz, gfc_set_model_kind,gfc_set_model): Add prototypes.
2718 * dump-parse-tree.c (gfc_show_expr): Convert GMP to MPFR.
2719 * expr.c (free_expr0,gfc_copy_expr): Convert GMP to MPFR.
2720 * gfortran.h (GFC_REAL_BITS): Remove.
2721 (arith): Add ARITH_NAN.
2722 Include mpfr.h. Define GFC_RND_MODE.
2723 Rename GCC_GFORTRAN_H GFC_GFC_H.
2724 (gfc_expr): Convert GMP to MPFR.
2725 * module.c: Add arith.h, correct type in comment.
2726 (mio_gmp_real): Convert GMP to MPFR.
2727 (mio_expr): Use gfc_set_model_kind().
2728 * primary.c: Update copyright date with 2004.
2729 (match_real_constant,match_const_complex_part): Convert GMP to MPFR.
2730 * simplify.c: Remove global GMP variables
2731 (gfc_simplify_abs,gfc_simplify_acos,gfc_simplify_aimag,
2732 gfc_simplify_aint,gfc_simplify_dint,gfc_simplify_anint,
2733 gfc_simplify_dnint,gfc_simplify_asin,gfc_simplify_atan,
2734 gfc_simplify_atan2,gfc_simplify_ceiling,simplify_cmplx,
2735 gfc_simplify_conjg,gfc_simplify_cos,gfc_simplify_cosh,
2736 gfc_simplify_dim,gfc_simplify_dprod,gfc_simplify_epsilon,
2737 gfc_simplify_exp,gfc_simplify_exponent,gfc_simplify_floor,
2738 gfc_simplify_fraction,gfc_simplify_huge,gfc_simplify_int,
2739 gfc_simplify_ifix,gfc_simplify_idint,gfc_simplify_log,
2740 gfc_simplify_log10,simplify_min_max,gfc_simplify_mod,
2741 gfc_simplify_modulo,gfc_simplify_nearest,simplify_nint,
2742 gfc_simplify_rrspacing,gfc_simplify_scale,
2743 gfc_simplify_set_exponent,gfc_simplify_sign,gfc_simplify_sin,
2744 gfc_simplify_sinh,gfc_simplify_spacing,gfc_simplify_sqrt,
2745 gfc_simplify_tan,gfc_simplify_tanh,gfc_simplify_tiny,
2746 gfc_simplify_init_1,gfc_simplify_done_1): Convert GMP to MPFR.
2747 Use new functions.
2748 * trans-const.c (gfc_conv_mpfr_to_tree): Rename from
2749 gfc_conv_mpf_to_tree. Convert it to use MPFR
2750 (gfc_conv_constant_to_tree): Use it.
2751 * trans-const.h: Update prototype for gfc_conv_mpfr_to_tree().
2752 * trans-intrinsic.c: Add arith.h, remove gmp.h
2753 (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod): Convert GMP to MPFR.
2754
2755 2004-08-06 Victor Leikehman <lei@il.ibm.com>
2756 Paul Brook <paul@codesourcery.com>
2757
2758 * trans-array.c (gfc_trans_allocate_array_storage,
2759 gfc_trans_allocate_temp_array, gfc_add_loop_ss_code,
2760 gfc_conv_loop_setup): For functions, if the shape of the result
2761 is not known in compile-time, generate an empty array descriptor for
2762 the result and let the callee to allocate the memory.
2763 (gfc_trans_dummy_array_bias): Do nothing for pointers.
2764 (gfc_conv_expr_descriptor): Use function return values directly.
2765 * trans-expr.c (gfc_conv_function_call): Always add byref call
2766 insn to pre chain.
2767 (gfc_trans_pointer_assignment): Add comments.
2768 (gfc_trans_arrayfunc_assign): Don't chain on expression.
2769
2770 2004-08-01 Roger Sayle <roger@eyesopen.com>
2771
2772 * options.c (gfc_init_options): Don't warn about the use GNU
2773 extensions by default.
2774 (gfc_post_options): Warn about GNU extensions with -pedantic.
2775 (gfc_handle_option): Don't warn about GNU extensions with -std=gnu.
2776
2777 2004-07-30 Richard Henderson <rth@redhat.com>
2778
2779 * trans-expr.c (gfc_conv_expr_reference): Create a CONST_DECL
2780 for TREE_CONSTANTs.
2781
2782 2004-07-25 Richard Henderson <rth@redhat.com>
2783
2784 * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL
2785 and DECL_IGNORED_P on RESULT_DECL.
2786 (gfc_generate_constructors): Likewise.
2787
2788 2004-07-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2789
2790 PR fortran/16465
2791 * lang.opt (ffixed-line-length-none, ffixed-line-length-): New
2792 options.
2793 (ffixed-line-length-80, ffixed-line-length-132): Remove.
2794 * options.c (gfc_handle_options): Deal with changed options.
2795 * scanner.c (load_line): Change second arg to 'char **',
2796 allocate if pointing to NULL. Keep track of buffer's length.
2797 Adapt buffer size to overlong lines. Pad lines to full length
2798 in fixed form.
2799 (load_file): Adapt to new interface of load_line.
2800
2801 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
2802
2803 * trans.h (builtin_function): Declare.
2804
2805 2004-07-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2806
2807 PR fortran/16404
2808 (parts ported from g95)
2809 * parse.h (gfc_state_data): New field do_variable.
2810 (gfc_check_do_variable): Add prototype.
2811 * parse.c (push_state): Initialize field 'do_variable'.
2812 (gfc_check_do_variable): New function.
2813 (parse_do_block): Remember do iterator variable.
2814 (parse_file): Initialize field 'do_variable'.
2815 * match.c (gfc_match_assignment, gfc_match_do,
2816 gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate):
2817 Add previously missing checks.
2818 (gfc_match_return): Reformat error message.
2819 * io.c (match_out_tag): New function.
2820 (match_open_element, match_close_element,
2821 match_file_element, match_dt_element): Call match_out_tag
2822 instead of match_vtag where appropriate.
2823 (match_io_iterator, match_io_element): Add missing check.
2824 (match_io): Reformat error message.
2825 (match_inquire_element): Call match_out_tag where appropriate.
2826
2827 * parse.c (gfc_check_do_variable): Fix error locus.
2828
2829 2004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2830
2831 PR fortran/15129
2832 * trans-decl.c (gfc_build_function_decl): Create a new chardecl
2833 for every assumed length character dummy argument.
2834
2835 PR fortran/15140
2836 * trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.
2837
2838 PR fortran/13792
2839 * simplify.c (gfc_simplify_bound): Copy the bound expression.
2840
2841 2004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2842
2843 PR fortran/15324
2844 * trans-array.c gfc_trans_g77_array,
2845 gfc_trans_dummy_array_bias): Don't call gfc_trans_string_init
2846 for assumed length characters.
2847 (gfc_conv_expr_descriptor): Set se->string_length if dealing
2848 with a character expression.
2849 (gfc_cvonv_array_parameter): Pass string length when passing
2850 character array according to g77 conventions.
2851
2852 2004-07-12 Paul Brook <paul@codesourcery.com>
2853
2854 * expr.c (gfc_check_assign_symbol): Handle pointer assignments.
2855 * trans-array.c (gfc_trans_auto_array_allocation): Remove
2856 initialization code.
2857 * trans-common.c (create_common): Use gfc_conv_initializer.
2858 * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer.
2859 * trans-expr.c (gfc_conv_initializer): New function.
2860 (gfc_conv_structure): Use it.
2861 * trans.h (gfc_conv_initializer): Add prototype.
2862
2863 2004-07-11 Paul Brook <paul@codesourcery.com>
2864
2865 PR fortran/15986
2866 * parse.c (gfc_fixup_sibling_symbols): Also look for untyped
2867 variables.
2868 (parse_contained): Mark contained symbols as referenced.
2869
2870 2004-07-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2871
2872 PR fortran/16455
2873 * module.c (gfc_dump_module, gfc_use_module): Print locus
2874 when opening of module file fails.
2875
2876 PR fortran/16404
2877 * io.c (match_io): Flag 'WRITE(...), ...' as extension.
2878
2879 PR fortran/16404
2880 * match.c (gfc_match_program): A program name is obligatory.
2881 (gfc_match_return): RETURN in main program is an extension.
2882 (gfc_match_block_data): A space is required before a block data
2883 name.
2884
2885 PR fortran/16433
2886 * primary.c (match_boz_constant): Call gfc_notify_std only if
2887 we actually have a non-standard boz-literal-constant.
2888
2889 PR fortran/15754
2890 * expr.c (gfc_check_assign): Print ranks if incompatible. Issue
2891 warning if assigning NULL().
2892
2893 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
2894
2895 * f95-lang.c (set_block): Remove.
2896 (gfc_clear_binding_stack): New.
2897 (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
2898 (struct binding_level): Remove block_created_by_back_end.
2899 (clear_binding_level): Likewise.
2900 (poplevel): Don't handle block_created_by_back_end.
2901
2902 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2903
2904 * trans-decl.c (gfc_create_module_variable): Nothing to do if
2905 symbol is in common, because we ...
2906 (gfc_generate_module_vars): Call gfc_trans_common.
2907
2908 2004-07-10 Paul Brook <paul@codesourcery.com>
2909
2910 * trans-array.c (gfc_build_null_descriptor): New function.
2911 (gfc_trans_static_array_pointer): Use it.
2912 * trans-array.h (gfc_build_null_descriptor): Add prototype.
2913 * trans-expr.c (gfc_conv_structure): Handle array pointers.
2914
2915 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2916
2917 PR fortran/16336
2918 * decl.c (gfc_match_save): Use-associated common block
2919 doesn't collide.
2920 * gfortran.h (gfc_common_head): Add new field 'name'.
2921 Fix typo in comment after #endif.
2922 * match.c (gfc_get_common): Add new argument from_common,
2923 mangle name if flag is set, fill in new field in structure
2924 gfc_common_head.
2925 (match_common): Set new arg in call to gfc_get_common,
2926 use-associated common block doesn't collide.
2927 * match.h (gfc_get_common): Adapt prototype.
2928 * module.c (load_commons): Set new arg in call to
2929 gfc_get_common.
2930 * symbol.c (free_common_tree): New function.
2931 (gfc_free_namespace): Call new function.
2932 * trans-common.c (several functions): Remove argument
2933 'name', use name from gfc_common_head instead.
2934
2935 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2936
2937 * expr.c (gfc_check_pointer_assign): Verify that rank of the LHS
2938 and RHS match. Return early if the RHS is NULL().
2939
2940 PR fortran/16336
2941 * match.c (match_common): Fix error reporting for used common.
2942
2943 PR fortran/15969
2944 * trans-expr.c (gfc_conv_structure): Handle initialization
2945 of scalar pointer components.
2946
2947 * parse.c (decode_statement): Fix matching of BLOCK DATA.
2948
2949 * trans-decl.c (generate_local_decl): Remove workaround obsoleted
2950 by fix for PR 15481.
2951
2952 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2953
2954 * trans-common.c: Fix whitespace issues, make variable names
2955 more readable.
2956 (create_common): Additionally, make loop logic more obvious.
2957
2958 2004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2959 Paul Brook <paul@codesourcery.com>
2960
2961 PR fortran/13415
2962 * trans-common.c (calculate_length): Remove ...
2963 (get_segment_info): Merge into here. Save field type.
2964 (build_field): Use saved type.
2965 (create_common, new_condition, new_segment, finish_equivalences):
2966 Use new get_segment_info.
2967 * trans-types.c: Update comment.
2968
2969 2004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2970
2971 PR fortran/14077
2972 * moduele.c (mio_symbol): Don't I/O initial values unless
2973 symbol is a parameter.
2974
2975 2004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2976
2977 PR fortran/13201
2978 * resolve.c (resolve_symbol): Verify that the shape of a
2979 parameter array is not only explicit, but also constant.
2980 * array.c (gfc_is_compile_time_shape): New function.
2981 * gfortran.h (gfc_is_compile_time_shape): Add prototype.
2982
2983 2004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2984
2985 PR fortran/15481
2986 PR fortran/13372
2987 PR fortran/13575
2988 PR fortran/15978
2989 * module.c (write_symbol, write_symtree): Remove workaround.
2990 * primary.c (match_actual_arglist): Enhance comment.
2991 (gfc_match_rvalue): Handle function call with first argument
2992 a keyword argument correctly.
2993 * resolve.c (resolve_symbol): Change call to
2994 gfc_set_default_type to issue error if no implicit type
2995 can be found.
2996 * trans-decl.c (gfc_create_module_variable): Remove workaround.
2997
2998 2004-07-08 Paul Brook <paul@codesourcery.com>
2999
3000 * intrinsic.c (add_sym_4s): New function.
3001 (add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s.
3002
3003 2004-07-04 Janne Blomqvist <jblomqvi@cc.hut.fi>
3004 Paul Brook <paul@codesourcery.com>
3005
3006 PR fortran/15280
3007 PR fortran/15665
3008 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and
3009 GFC_ISYM_COMMAND_ARGUMENT_COUNT.
3010 * intrinsic.c (add_functions): Identify iargc. Add
3011 command_argument_count.
3012 (add_subroutines): Resolve getarg. Add get_command and
3013 get_command_argument.
3014 * intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command,
3015 gfc_resolve_get_command_argument): Add prototypes.
3016 * iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command,
3017 gfc_resolve_get_command_argument): New functions.
3018 * trans-decl.c (gfor_fndecl_iargc): New variable.
3019 (gfc_build_intrinsic_function_decls): Set it.
3020 * trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function.
3021 (gfc_conv_intrinsic_function): Use it.
3022 * trans.h (gfor_fndecl_iargc): Declare.
3023
3024 2004-07-04 Matthias Klose <doko@debian.org>
3025
3026 * Make-lang.in: Generate and install gfortran man page.
3027 * invoke.texi: Remove extra '@c man end'.
3028
3029 2004-07-04 Richard Henderson <rth@redhat.com>
3030
3031 * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
3032
3033 2004-07-04 Paul Brook <paul@codesourcery.com>
3034
3035 * decl.c (gfc_match_implicit_range): Don't use typespec.
3036 (gfc_match_implicit): Handle character selectors.
3037 * gfortran.h (gfc_set_implicit): Remove prototype.
3038 (gfc_add_new_implicit_range, gfc_merge_new_implicit): Update.
3039 * parse.c (accept_statement): Don't call gfc_set_implicit.
3040 * symbol.c (new_ts): Remove.
3041 (gfc_set_implicit_none): Use same loop bounds as other functions.
3042 (gfc_set_implicit): Remove.
3043 (gfc_clear_new_implicit, gfc_add_new_implicit_range): Only set flags.
3044 (gfc_merge_new_implicit): Combine with gfc_set_implicit.
3045
3046 2004-06-30 Richard Henderson <rth@redhat.com>
3047
3048 * match.c (var_element): Remove unused variable.
3049
3050 * trans-decl.c (gfc_generate_function_code): Don't set
3051 x_whole_function_mode_p.
3052 (gfc_generate_constructors): Likewise.
3053
3054 2004-06-30 Richard Henderson <rth@redhat.com>
3055
3056 * trans-decl.c (gfc_generate_function_code): Don't set
3057 immediate_size_expand.
3058 (gfc_generate_constructors): Likewise.
3059
3060 2004-06-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3061
3062 PR fortran/16161
3063 * decl.c (gfc_match_type_spec): Rename second argument to
3064 'implicit_flag', reverse meaning. Don't match_char_spec if
3065 'implicit_flag' is set. Rename to ...
3066 (match_type_spec): ... this.
3067 (gfc_match_implicit_none, match_implicit_range): Move here
3068 from match.c.
3069 (gfc_match_implicit): Move here from match.c, try to
3070 match_char_len if match_implicit_range doesn't succeed for
3071 CHARACTER implicits. Call renamed fucntion match_type_spec.
3072 (gfc_match_data_decl, match_prefix): Call renamed function
3073 match_type_spec.
3074 * match.c (gfc_match_implicit_none, match_implicit_range,
3075 gfc_match_implicit): Move to decl.c.
3076 * match.h (gfc_match_implicit_none, gfc_match_implicit):
3077 Move protoypes to section 'decl.c'.
3078 (gfc_match_type_spec): Remove prototype.
3079
3080 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3081
3082 * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to
3083 copyright years.
3084
3085 2004-06-29 Steven Bosscher <stevenb@suse.de>
3086
3087 Make sure types in assignments are compatible. Mostly mechanical.
3088 * trans-const.h (gfc_index_one_node): New define.
3089 * trans-array.c (gfc_trans_allocate_array_storage,
3090 gfc_trans_allocate_temp_array, gfc_trans_array_constructor_subarray,
3091 gfc_trans_array_constructor_value, gfc_trans_array_constructor,
3092 gfc_conv_array_ubound, gfc_conv_array_ref,
3093 gfc_trans_scalarized_loop_end, gfc_conv_section_startstride,
3094 gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_array_init_size,
3095 gfc_trans_array_bounds, gfc_trans_dummy_array_bias,
3096 gfc_conv_expr_descriptor, gfc_trans_deferred_array): Use the correct
3097 types in assignments, conversions and conditionals for expressions.
3098 * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
3099 gfc_conv_unary_op, gfc_conv_cst_int_power, gfc_conv_string_tmp,
3100 gfc_conv_function_call, gfc_trans_pointer_assignment,
3101 gfc_trans_scalar_assign): Likewise.
3102 * trans-intrinsic.c (build_fixbound_expr, gfc_conv_intrinsic_bound,
3103 gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
3104 gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_btest,
3105 gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ishft,
3106 gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_strcmp,
3107 gfc_conv_allocated, gfc_conv_associated,
3108 gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_trim): Likewise.
3109 * trans-io.c (set_string): Likewise.
3110 * trans-stmt.c (gfc_trans_do, gfc_trans_forall_loop,
3111 gfc_do_allocate, generate_loop_for_temp_to_lhs,
3112 generate_loop_for_rhs_to_temp, compute_inner_temp_size,
3113 compute_overall_iter_number, gfc_trans_assign_need_temp,
3114 gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
3115 gfc_evaluate_where_mask, gfc_trans_where_assign,
3116 gfc_trans_where_2): Likewise.
3117 * trans-types.c (gfc_get_character_type, gfc_build_array_type,
3118 gfc_get_nodesc_array_type, gfc_get_array_type_bounds): Likewise.
3119
3120 * trans.c (gfc_add_modify_expr): Add sanity check that types
3121 for the lhs and rhs are the same for scalar assignments.
3122
3123 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3124
3125 * dump-parse-tree.c (show_common): New function.
3126 (gfc_show_namespace): Show commons.
3127
3128 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3129 Andrew Vaught <andyv@firstinter.net>
3130
3131 PR fortran/13249
3132 PR fortran/15481
3133 * decl.c (gfc_match_save): Adapt to new common structures,
3134 don't allow saving USE-associated common.
3135 * dump-parse-tree (gfc_show_attr): (saved_)common are not
3136 symbol attributes any longer.
3137 (gfc_show_symbol): Don't show old-style commons any longer.
3138 (gfc_show_namespace): Adapt call to gfc_traverse_symtree to new
3139 interface.
3140 * gfortran.h (symbol_attribute): Remove common and saved_common
3141 attributes.
3142 (gfc_symbol): Remove common_head element.
3143 (gfc_common_head): New struct.
3144 (gfc_get_common_head): New macro.
3145 (gfc_symtree): Add field 'common' to union.
3146 (gfc_namespace): Add field 'common_root'; change type of field
3147 'blank_common' to blank_common.
3148 (gfc_add_data): New prototype.
3149 (gfc_traverse_symtree): Expect a symtree as first argument
3150 instead of namespace.
3151 * match.c (gfc_get_common): New function.
3152 (match_common_name): Change to take char * as argument, adapt,
3153 fix bug with empty name.
3154 (gfc_match_common): Adapt to new data structures. Disallow
3155 redeclaration of USE-associated COMMON-block. Fix bug with
3156 empty common.
3157 (var_element): Adapt to new common structures.
3158 * match.h (gfc_get_common): Declare.
3159 * module.c: Add 2004 to copyright years, add commons to module
3160 file layout description.
3161 (ab_attribute, attr_bits, mio_symbol_attributes): Remove code
3162 for removed attributes.
3163 (mio_symbol): Adapt to new way of storing common relations.
3164 (load_commons): New function.
3165 (read_module): Skip common list on first pass, load_commons at
3166 second.
3167 (write_commons): New function.
3168 (write_module): Call write_commons().
3169 * symbol.c (gfc_add_saved_comon, gfc_add_common): Remove
3170 functions related to removed attributes.
3171 (gfc_add_data): New function.
3172 (gfc_clear_attr): Don't set removed attributes.
3173 (gfc_copy_attr): Don't copy removed attributes.
3174 (traverse_symtree): Remove.
3175 (gfc_traverse_symtree): Don't traverse symbol
3176 tree of the passed namespace, but require a symtree to be passed
3177 instead. Unify with traverse_symtree.
3178 (gfc_traverse_ns): Call gfc_traverse_symtree according to new
3179 interface.
3180 (save_symbol): Remove setting of removed attribute.
3181 * trans-common.c (gfc_sym_mangled_common_id): Change to
3182 take 'char *' argument instead of 'gfc_symbol'.
3183 (build_common_decl, new_segment, translate_common): Adapt to new
3184 data structures, add new
3185 argument name.
3186 (create_common): Adapt to new data structures, add new
3187 argument name. Fix typo in intialization of derived types.
3188 (finish_equivalences): Add second argument in call to
3189 create_common.
3190 (named_common): take 'gfc_symtree' instead of 'gfc_symbol'.
3191 (gfc_trans_common): Adapt to new data structures.
3192 * trans-decl.c (gfc_create_module_variables): Remove test for
3193 removed attribute.
3194
3195 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3196
3197 * io.c: Add 2004 to copyright years.
3198
3199 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3200 Andrew Vaught <andyv@firstinter.net>
3201
3202 * gfortran.h (gfc_gsymbol): New typedef.
3203 (gfc_gsym_root): New variable.
3204 (gfc_get_gsymbol, gfc_find_gsym): New prototypes.
3205 * parse.c (global_used): New function.
3206 (parse_block_data): Check for double empty BLOCK DATA,
3207 use global symbol table.
3208 (parse_module): Use global symbol table.
3209 (add_global_procedure, add_global_program): New functions.
3210 (gfc_parse_file): Use global symbol table.
3211 * symbol.c (gfc_gsym_root): New variable.
3212 (gfc_find_gsym, gsym_compare, gfc_get_gsymbol): New
3213 functions.
3214
3215 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3216
3217 * module.c (mio_gmp_real): Correct writing of negative numbers.
3218
3219 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3220
3221 PR fortran/15963
3222 * expr.c (check_intrinsic_op): Allow comparison of characters.
3223 Make logic easier.
3224
3225 2004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3226 Andrew Vaught <andyv@firstinter.net>
3227
3228 * decl.c (contained_procedure): New function.
3229 (match_end): Verify correctness of END STATEMENT in
3230 all cases.
3231
3232 2004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3233 Andrew Vaught <andyv@firstinter.net>
3234
3235 PR fortran/15190
3236 * decl.c (gfc_match_type_spec), io.c (match_io), parse.c
3237 (decode_statement): Enforce required space in free-form.
3238
3239 2004-06-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3240
3241 * f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
3242 * trans-array.c (gfc_conv_descriptor_data): Add operand
3243 for COMPONENT_REF.
3244 (gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
3245 (gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
3246 (gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
3247 * trans-common.c (create_common): Likewise.
3248 * trans-expr.c (gfc_conv_component_ref): Likewise.
3249 * trans-io.c (set_parameter_value): Likewise.
3250 (set_parameter_ref, set_string, set_flag, io_result): Likewise.
3251 (transfer_expr): Likewise.
3252 * trans-decl.c (gfc_trans_auto_character_variable):
3253 Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
3254 (gfc_gimplify_function): New function.
3255 (gfc_generate_function-code): Properly handle nested functions.
3256 * trans.c (gfc_build_array_ref): Add two new operands for ARRAY_REF.
3257
3258 2004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi>
3259
3260 PR fortran/15750
3261 * io.c (gfc_match_inquire): Bugfix for iolength related stuff.
3262 (gfc_resolve_inquire): Resolve the iolength tag. Return
3263 SUCCESS at end of function if no failure has occured.
3264 * resolve.c (resolve_code): Resolve if iolength is encountered.
3265 * trans-io.c: (ioparm_iolength, iocall_iolength,
3266 iocall_iolength_done): New variables.
3267 (last_dt): Add IOLENGTH.
3268 (gfc_build_io_library_fndecls ): Set iolength related variables.
3269 (gfc_trans_iolength): Implement.
3270 (gfc_trans_dt_end): Treat iolength as a third form of data transfer.
3271
3272 2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de
3273
3274 PR fortran/15511
3275 * scanner.c (load_line): Don't truncate preprocessor lines.
3276 Reformat error message.
3277 (preprocessor_line): Issue warning in case of malformed
3278 preprocessor line.
3279
3280 2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3281
3282 * resolve.c (resolve_symbol): Add comment in function body.
3283 (check_data_variable): Change type of mark to ar_type, adapt code
3284 accordingly.
3285
3286 2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3287
3288 * array.c (gfc_insert_constructor): Avoid redundant call to
3289 mpz_comp. Add 2004 to copyright years.
3290
3291 2004-06-21 Joseph S. Myers <jsm@polyomino.org.uk>
3292
3293 * trans.h (stmtblock_t): Change has_scope to unsigned int.
3294
3295 2004-06-20 Steven G. Kargl <kargls@comcast.net>
3296
3297 * arith.c (gfc_range_check): correct complex underflow.
3298
3299 2004-06-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3300
3301 PR fortran/15962
3302 * match.c (match_case_selector): Call gfc_match_init_expr
3303 instead of gfc_match_expr.
3304 * resolve.c (validate_case_label_expr): No need to check for
3305 constant, since it wouldn't have been matched with the fix to
3306 match.c.
3307
3308 2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3309
3310 PR fortran/15211
3311 * trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arrays
3312 of strings.
3313
3314 2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3315
3316 PR fortran/15510
3317 * trans-deecl.c (generate_local_decl): Do not issue warning for
3318 unused variables if they're use associated.
3319
3320 2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3321 Andrew Vaught <andyv@firstinter.net>
3322
3323 PR fortran/14928
3324 * gfortran.h (gfc_check_f): Add new field f3ml.
3325 * check.c (gfc_check_minloc_maxloc): Take argument list instead
3326 of individual arguments, reorder if necessary.
3327 * intrinsic.h (gfc_check_minloc_maxloc): ... adapt prototype.
3328 * intrinsic.c (add_sym_3ml): New function.
3329 (add_functions): Change to add_sym_3ml for MINLOC, MAXLOC.
3330 (check_specific): Catch special case MINLOC, MAXLOC.
3331
3332 2004-06-14 Paul Brook <paul@codesourcery.com>
3333
3334 * intrinsic.c (add_sym_2s): Use correct function types.
3335
3336 2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3337
3338 * Make-lang.in (F95_OBJS, F95_PARSER_OBJS): Alphabetize. Move data.c
3339 * data.c (gfc_get_section_index): Remove dependency on trans.h.
3340
3341 2004-06-12 Steven G. Kargl <kargls@comcast.net>
3342
3343 * check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_rand
3344 gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions.
3345 * gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME,
3346 GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND.
3347 * trans-intrinsic.c: Use symbols.
3348 * intrinsic.c (add_sym_2s): New function.
3349 * intrinsic.c: Add etime, dtime, irand, rand, second, srand.
3350 * intrinsic.h: Function prototypes.
3351 * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub
3352 gfc_resolve_srand): New functions.
3353
3354 2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3355
3356 PR fortran/14957
3357 * decl.c (gfc_match_end): Require END {SUBROUTINE|FUNCTION} for
3358 contained procedure.
3359
3360 2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3361
3362 PR fortran/12841
3363 * interface.c (compare_parameter, compare_actual_formal): Don't
3364 check types and array shapes for NULL()
3365 * trans-expr.c (conv_function_call): No double indirection for
3366 NULL()
3367
3368 2004-06-09 Toon Moene <toon@moene.indiv.nluug.nl>
3369
3370 * trans-expr.c (gfc_conv_cst_int_power): Compute
3371 x**(-n) by converting it to (1/x)**n instead of
3372 1/x**n.
3373
3374 2004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3375
3376 PR fortran/13372
3377 * module.c (write_symbol, write_symtree): Don't write symbols
3378 wrongly added to namespace.
3379 * trans-decl.c (gfc_create_module_variable): Don't create a
3380 backend decl for a symbol incorrectly added to namespace.
3381
3382 2004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3383
3384 PR fortran/13201
3385 * resolve.c (resolve_symbol): Verify that parameter array has an
3386 explicit shape. Fix typos and coding style issues in surrounding
3387 lines.
3388
3389 2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3390
3391 PR fortran/15478
3392 * gfortran.texi: The documentation doesn't contain infomration on
3393 how to report bugs, and shouldn't, so remove the line which
3394 says it does.
3395
3396 2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3397
3398 * intrinsic.c (sort_actual): Keep track of type of missing
3399 arguments. (Missing from previous commit.)
3400
3401 2004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3402
3403 * gfortran.h (gfc_actual_arglist): New field missing_arg_type.
3404 * interface.c (compare_actual_formal): Keep type of omitted
3405 optional arguments.
3406 * trans-expr.c (gfc_conv_function_call): Add string length
3407 argument for omitted string argument.
3408
3409 2004-06-03 Paul Brook <paul@codesourcery.com>
3410
3411 * trans.c (gfc_finish_block, gfc_add_expr_to_block): Build statement
3412 lists instead of compound expr chains.
3413 (gfc_trans_code): Annotate statement lists.
3414
3415 2004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3416
3417 * trans-array.c: Fix spelling in comments.
3418
3419 2004-06-02 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3420
3421 PR fortran/15557
3422 * data.c (assign_substring_data_value): New function.
3423 (gfc_assign_data_value): Call the new function if we're dealing
3424 with a substring LHS.
3425
3426 2004-06-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3427
3428 PR fortran/15477
3429 * gfortran.h (GFC_VERSION): Remove.
3430 * gfortran.texi (version-gfortran): Remove, replace by version-GCC
3431 where used.
3432
3433 2004-05-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3434
3435 * trans-types.c: Fix spelling & layout in comments.
3436
3437 2004-05-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3438
3439 PR fortran/14067
3440 * trans-const.c (gfc_conv_string_init): Allow variable string
3441 length lower than initialization string length.
3442
3443 2004-05-30 Paul Brook <paul@codesourcery.com>
3444
3445 PR fortran/15620
3446 * trans-decl.c (gfc_shadow_sym, gfc_restore_sym): New functions.
3447 * trans-expr.c (gfc_trans_string_copy): New function.
3448 (gfc_conv_statement_function): Use them. Create temp vars. Enforce
3449 character lengths.
3450 (gfc_conv_string_parameter): Use gfc_trans_string_copy.
3451 * trans-stmt.c (gfc_trans_forall_1): Use gfc_{shadow,restore}_sym.
3452 * trans.h (struct gfc_saved_var): Define.
3453 (gfc_shadow_sym, gfc_restore_sym): Add prototypes.
3454
3455 2004-05-30 Steven G. Kargl <kargls@comcast.net>
3456
3457 * iresolve.c (gfc_resolve_random_number): Clean up conditional.
3458
3459 2004-05-29 Steven G. Kargl <kargls@comcast.net>
3460
3461 * simplify.c (gfc_simplify_log): Remove useless line of code.
3462
3463 2004-05-29 Paul Brook <paul@codesourcery.com>
3464
3465 * trans-common.c (find_equivalence): Find multiple rules.
3466
3467 2004-05-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3468
3469 * gfortran.h (gfc_current_locus, gfc_set_locus): Remove.
3470 (gfc_current_locus): Declare new global variable.
3471 * scanner.c (gfc_current_locus, gfc_set_locus): Remove.
3472 (gfc_current_locus1): Rename ...
3473 (gfc_current_locus): ... to this.
3474 (gfc_at_eof, gfc_at_bol, gfc_at_eol, gfc_advance_line, next_char,
3475 skip_fixed_comments, skip_free_comments, gfc_next_char_literal,
3476 gfc_peek_char, gfc_gobble_whitespace, gfc_new_file): Use
3477 gfc_current_locus instead of gfc_current_locus1, gfc_set_locus()
3478 and gfc_current_locus(), respectively.
3479 * array.c (match_subscript, gfc_match_array_ref, match_array_list,
3480 match_array_cons_element, gfc_match_array_constructor):
3481 Read/modify gfc_current_locus instead of calling gfc_set_locus()
3482 and gfc_current_locus().
3483 * decl.c (gfc_match_null, variable_decl, gfc_match_kind_spec,
3484 match_attr_spec, gfc_match_function_decl, gfc_match_end,
3485 attr_decl1, gfc_match_save): Likewise.
3486 * error.c (error_print, gfc_internal_error): Likewise.
3487 * expr.c (gfc_int_expr, gfc_default_logical_kind): Likewise.
3488 * interface.c (gfc_add_interface): Likewise.
3489 * io.c (gfc_match_format, match_dt_format, match_dt_element,
3490 match_io_iterator, match_io): Likewise.
3491 * match.c (gfc_match_space, gfc_match_eos,
3492 gfc_match_small_literal_int, gfc_match_st_label,
3493 gfc_match_strings, gfc_match_name, gfc_match_iterator,
3494 gfc_match_char, gfc_match, gfc_match_assignment,
3495 gfc_match_pointer_assignment, gfc_match_if, gfc_match_do,
3496 gfc_match_nullify, gfc_match_call, match_implicit_range,
3497 gfc_match_implicit, gfc_match_data, match_case_selector,
3498 gfc_match_case, match_forall_iterator): Likewise.
3499 * matchexp.c (gfc_match_defined_op_name, next_operator,
3500 match_level_1, match_mult_operand, match_ext_mult_operand,
3501 match_add_operand, match_ext_add_operand, match_level_2,
3502 match_level_3, match_level_4, match_and_operand, match_or_operand,
3503 match_equiv_operand, match_level_5, gfc_match_expr): Likewise.
3504 * module.c (gfc_match_use, mio_array_ref, mio_expr): Likewise.
3505 * parse.c (match_word, decode_statement, next_free, next_fixed,
3506 add_statement, verify_st_order, parse_if_block, gfc_parse_file):
3507 Likewise.
3508 * primary.c (match_digits, match_integer_constant,
3509 match_boz_constant, match_real_constant, match_substring,
3510 next_string_char, match_charkind_name, match_string_constant,
3511 match_logical_constant, match_const_complex_part,
3512 match_complex_constant, match_actual_arg, match_keyword_arg,
3513 gfc_match_actual_arglist, gfc_match_structure_constructor,
3514 gfc_match_rvalue, gfc_match_variable): Likewise.
3515 * st.c (gfc_get_code): Likewise.
3516 * symbol.c (check_conflict, check_used, check_done,
3517 duplicate_attr, add_flavor, gfc_add_procedure, gfc_add_intent,
3518 gfc_add_access, gfc_add_explicit_interface, gfc_add_type,
3519 gfc_add_component, gfc_reference_st_label, gfc_new_symbol): Likewise.
3520
3521 2004-05-26 Roger Sayle <roger@eyesopen.com>
3522
3523 * io.c (format_asterisk): Silence compiler warnings by correcting
3524 the number of elements of a "locus" initializer.
3525
3526 2004-05-25 Roger Sayle <roger@eyesopen.com>
3527
3528 PR fortran/13912
3529 * matchexp.c: Allow unary operators after arithmetic operators
3530 as a GNU extension.
3531 (match_ext_mult_operand, match_ext_add_operand): New functions.
3532 (match_mult_operand): Tweak to call match_ext_mult_operand.
3533 (match_add_operand): Tweak to call match_ext_mult_operand.
3534 (match_level_2): Rearrange to call match_ext_add_operand.
3535
3536 2004-05-25 Paul Brook <paul@codesourcery.com>
3537
3538 * expr.c (check_inquiry): Remove bogus tests.
3539
3540 2004-05-23 Paul Brook <paul@codesourcery.com>
3541
3542 PR fortran/13773
3543 * expr.c (restricted_args): Remove redundant checks/argument.
3544 (external_spec_function): Update to match.
3545 (restricted_intrinsic): Rewrite.
3546
3547 2004-05-23 Paul Brook <paul@codesourcery.com>
3548 Victor Leikehman <lei@haifasphere.co.il>
3549
3550 * gfortran.h (struct gfc_symbol): Add equiv_built.
3551 * trans-common.c: Change int to HOST_WIDE_INT. Capitalize error
3552 messages.
3553 (current_length): Remove.
3554 (add_segments): New function.
3555 (build_equiv_decl): Create initialized common blocks.
3556 (build_common_decl): Always add decl to bindings.
3557 (create_common): Create initializers.
3558 (find_segment_info): Reformat to match coding conventions.
3559 (new_condition): Use add_segments.
3560 (add_condition, find_equivalence, add_equivalences): Move iteration
3561 inside functions. Only process each segment once.
3562 (new_segment, finish_equivalences, translate_common): Simplify.
3563
3564 2004-05-23 Steven G. Kargl <kargls@comcast.net>
3565
3566 * check.c (gfc_check_random_seed): Issue for too many arguments.
3567
3568 2004-05-22 Steven G. Kargl <kargls@comcast.net>
3569
3570 * intrinsic.c (add_subroutines): Use add_sym_3s for random_seed.
3571
3572 2004-05-22 Paul Brook <paul@codesourcery.com>
3573
3574 * dump-parse-tree.c (gfc_show_equiv): New function.
3575 (gfc_show_namespace): Use it.
3576
3577 2004-05-22 Victor Leikehman <lei@haifasphere.co.il>
3578
3579 PR fortran/13249
3580 * symbol.c (gfc_add_common): Disable checks to work around other more
3581 fundamental inadequacies.
3582
3583 2004-05-22 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
3584
3585 * trans-decl.c (gfc_get_extern_function_decl): Set DECL_IS_PURE
3586 only for functions.
3587 (gfc_build_function_decl): Likewise.
3588
3589 2004-05-22 Steven G. Kargl <kargls@comcast.net>
3590
3591 * check.c (gfc_check_system_clock): New function.
3592 * intrinsic.c (add_sym_3s): New function.
3593 (add_subroutines): Use it.
3594 * intrinsic.h (gfc_check_system_clock, gfc_resolve_system_clock):
3595 Add prototypes.
3596 * iresolve.c (gfc_resolve_system_clock): New function.
3597
3598 2004-05-22 Steven G. Kargl <kargls@comcast.net>
3599
3600 * invoke.texi: Document -Wunderflow and spell check.
3601 * lang.opt: Add Wunderflow.
3602 * gfortran.h (gfc_option_t): Add warn_underflow option.
3603 * options.c (gfc_init_options, set_Wall): Use it.
3604 * primary.c (match_real_constant): Explicitly handle UNDERFLOW.
3605 * arith.c (gfc_arith_uminus, gfc_arith_plus, gfc_arith_minus,
3606 gfc_arith_times, gfc_arith_divide, gfc_arith_power, gfc_real2real,
3607 gfc_real2complex, gfc_complex2real, gfc_complex2complex): Ditto.
3608 * arith.c (common_logarithm): Fix typo in comment.
3609
3610 2004-05-21 Roger Sayle <roger@eyesopen.com>
3611
3612 * io.c (check_format): As a GNU extension, allow the comma after a
3613 string literal to be optional in a format. Use gfc_notify_std to
3614 issue an error/warning as appropriate.
3615
3616 2004-05-21 Roger Sayle <roger@eyesopen.com>
3617
3618 * io.c (check_format): Use gfc_notify_std to determine whether to
3619 issue an error/warning for omitting the digits from the X format.
3620
3621 2004-05-20 Roger Sayle <roger@eyesopen.com>
3622
3623 * io.c (check_format): Allow the number before the X format to
3624 be optional when not -pedantic.
3625
3626 2004-05-18 Feng Wang <fengwang@nudt.edu.cn>
3627 Paul Brook <paul@codesourcery.com>
3628
3629 * f95-lang.c (gfc_init_builtin_functions): Use vold_list_node.
3630 Create decls for __builtin_pow{,f}.
3631 * gfortran.h (PREFIX_LEN): Define.
3632 * trans-decl.c (gfor_fndecl_math_powi): Add.
3633 (gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove.
3634 (gfc_build_intrinsic_function_decls): Create decls for powi.
3635 * trans-expr.c (powi_table): Add.
3636 (gfc_conv_integer_power): Remove.
3637 (gfc_conv_powi): New function.
3638 (gfc_conv_cst_int_power): New function.
3639 (gfc_conv_power_op): Use new powi routines.
3640 * trans.h (struct gfc_powdecl_list): Add.
3641 (gfor_fndecl_math_powi): Add.
3642 (gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove.
3643
3644 2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3645
3646 * trans.c, trans-decl.c: Fix comment typos.
3647
3648 2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3649
3650 * trans-const.c (gfc_conv_mpf_to_tree): Fix typo.
3651
3652 2004-05-18 Steve Kargl <kargls@comcast.net>
3653
3654 * arith.c (gfc_int2complex): Fix incorrect range checking.
3655
3656 2004-05-18 Paul Brook <paul@codesourcery.com>
3657
3658 PR fortran/13930
3659 * decl.c (add_init_expr_to_sym): Remove incorrect check.
3660 (default_initializer): Move to expr.c.
3661 (variable_decl): Don't assign default initializer to variables.
3662 * expr.c (gfc_default_initializer): Move to here.
3663 * gfortran.h (gfc_default_initializer): Add prototype.
3664 * resolve.c (resolve_symbol): Check for illegal initializers.
3665 Assign default initializer.
3666
3667 2004-05-17 Steve Kargl <kargls@comcast.net>
3668
3669 * arith.c (gfc_arith_power): Complex number raised to 0 power is 1.
3670
3671 2004-05-17 Steve Kargl <kargls@comcast.net>
3672
3673 * arith.c (gfc_real2complex): Range checking wrong part of complex
3674 number.
3675
3676 2004-05-16 Paul Brook <paul@codesourcery.com>
3677
3678 * options.c (gfc_handle_module_path_options): Fix buffer overrun.
3679
3680 2004-05-16 Paul Brook <paul@codesourcery.com>
3681
3682 * arith.c (gfc_range_check): Fix logic error.
3683
3684 2004-05-16 Steve Kargl <sgk@troutmask.apl.washington.edu>
3685
3686 * arith.c: Fix comment typos.
3687
3688 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3689
3690 PR fortran/13742
3691 * decl.c (add_init_expr_to_sym): Verify that COMMON variable is
3692 not initialized in a disallowed fashion.
3693 * match.c (gfc_match_common): Likewise.
3694 (var_element): Verify that variable is not in the blank COMMON,
3695 if it is in a common.
3696
3697 2004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
3698
3699 * Make-lang.in (f95.generated-manpages): Remove.
3700 (f95.srcextra): New.
3701 (f95.info, fortran/gfortran.info, fortran/gfortran.dvi,
3702 f95.maintainer-clean): Generate info and dvi files in objdir/doc.
3703 (f95.dvi): Remove.
3704 (dvi): New.
3705 (f95.install-info): Remove.
3706 (install-info): New.
3707
3708 2004-05-15 Victor Leikehman <lei@haifasphere.co.il>
3709
3710 * decl.c (add_init_expr_to_sym): Check for variable size arrays.
3711
3712 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3713
3714 * primary.c (match_boz_constant): Use gfc_notify_std() for
3715 issuing a warning or an error.
3716
3717 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3718
3719 PR fortran/13826
3720 * primary.c (match_structure_constructor): Rename ...
3721 (gfc_match_structure_constructor): ... to this. Make non-static.
3722 (gfc_match_rvalue): Call renamed function.
3723 * match.h (gfc_match_structure_constructor): Declare.
3724 * match.c (gfc_match_data_constant): Handle structure
3725 constructor.
3726
3727 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3728
3729 PR fortran/13702
3730 (Port from g95)
3731 * gfortran.h (gfc_linebuf): New typedef.
3732 (linebuf): Remove.
3733 (gfc_file): Revamped, use new gfc_linebuf.
3734 (locus): Revamped, use new types.
3735 (gfc_current_file): Remove.
3736 (gfc_current_form, gfc_source_file): New global variables.
3737 * match.c (gfc_match_space, gfc_match_strings): Use
3738 gfc_current_form to find source form.
3739 * module.c (gfc_dump_module): Use gfc_source_file when printing
3740 module header.
3741 * error.c (show_locus, show_loci) Use new data structures to print
3742 locus.
3743 * scanner.c (first_file, first_duplicated_file, gfc_current_file):
3744 Remove.
3745 (file_head, current_file, gfc_current_form, line_head, line_tail,
3746 gfc_current_locus1, gfc_source_file): New global variables.
3747 (gfc_scanner_init1): Set new global variables.
3748 (gfc_scanner_done1): Free new data structures.
3749 (gfc_current_locus): Return pointer to gfc_current_locus1.
3750 (gfc_set_locus): Set gfc_current_locus1.
3751 (gfc_at_eof): Set new variables.
3752 (gfc_at_bol, gfc_at_eol, gfc_advance_line, gfc_next_char): Adapt
3753 to new locus structure.
3754 (gfc_check_include): Remove.
3755 (skip_free_comments, skip_fixed_comments): Use gfc_current_locus1.
3756 (gfc_skip_comments): Use gfc_current_form, find locus with
3757 gfc_current_locus1.
3758 (gfc_next_char): Use gfc_current_form.
3759 (gfc_peek_char, gfc_gobble_whitespace): Use gfc_current_locus1.
3760 (load_line): Use gfc_current_form. Recognize ^Z as EOF. Fix
3761 comment formatting.
3762 (get_file): New function.
3763 (preprocessor_line, include_line): New functions.
3764 (load_file): Move down, rewrite to match new data structures.
3765 (gfc_new_file): Rewrite to match new data structures.
3766 * parse.c (next_statement): Remove code which is now useless. Use
3767 gfc_source_form and gfc_source_file where appropriate.
3768 * trans-decl.c (gfc_get_label_decl): adapt to new data structures
3769 when determining locus of frontend code.
3770 * trans-io.c (set_error_locus): Same.
3771 * trans.c (gfc_get_backend_locus, gfc_set_backend_locus): Likewise.
3772 * lang-specs.h (@f77-cpp-input, @f95-cpp-input): Remove '-P' from
3773 preprocessor flags.
3774 (all): Add missing initializers.
3775
3776 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3777
3778 * Make-lang.in (trans-common.o): Remove redundant dependency.
3779 (data.c): Replace object file name ...
3780 (data.o): ... by the correct one.
3781
3782 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3783
3784 * dump-parse-tree.c (gfc_show_array_ref): Print colon only
3785 for ranges when dumping array references.
3786
3787 2004-05-14 Victor Leikehman <lei@haifasphere.co.il>
3788
3789 * decl.c (variable_decl): Always apply default initializer.
3790
3791 2004-05-08 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
3792
3793 PR fortran/15206
3794 * trans-intrinsic.c (gfc_conv_intrinsic_rrspacing): Fixed to
3795 handle zero correctly.
3796
3797 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3798
3799 * match.c (gfc_match): Eliminate dead code.
3800
3801 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3802
3803 * parse.c (gfc_statement_next_fixed): (Change from Andy's tree)
3804 Detect bad continuation line in fixed form sources.
3805
3806 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3807
3808 PR fortran/15205
3809 * iresolve.c (gfc_resolve_nearest): Add new function.
3810 * intrinsic.h: ... declare it here.
3811 * intrinsic.c (add_functions): ... add it as resolving function
3812 for NEAREST.
3813
3814 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3815
3816 PR fortran/14066
3817 * match.c (gfc_match_do): Allow infinite loops with
3818 label-do-stmt. Do not enforce space after comma.
3819
3820 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3821
3822 PR fortran/15051
3823 * parse.c (parse_interface): Allow empty INTERFACE, remove
3824 seen_body.
3825
3826 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3827
3828 * Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c,
3829 decl.c, dependency.c, dependency.h, dump-parse-tree.c, error.c,
3830 expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c,
3831 intrinsic.h, io.c, iresolve.c, lang-specs.h, match.c, match.h,
3832 matchexp.c, misc.c, module.c, options.c, parse.c, parse.h,
3833 primary.c, resolve.c, scanner.c, simplify.c, st.c, symbol.c,
3834 trans-array.c, trans-array.h, trans-common.c, trans-const.c,
3835 trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c,
3836 trans-io.c, trans-stmt.c, trans-stmt.h, trans-types.c,
3837 trans-types.h, trans.c, trans.h: Update copyright years and
3838 boilerplate.
3839 * data.c: Likewise, also removed two whitespace-only lines.
3840 * gfortranspec.c, lang.opt: Update copyright years.
3841
3842 2004-05-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3843
3844 PR fortran/14568
3845 * trans-decl.c (generate_local_decl): Don't warn for unused
3846 variables which are in common blocks.
3847
3848 2004-05-13 Diego Novillo <dnovillo@redhat.com>
3849
3850 * Make-lang.in, f95-lang.c, trans-array.c, trans-decl.c,
3851 trans-expr.c, trans-intrinsic.c, trans-io.c, trans-stmt.c,
3852 trans.c: Rename tree-simple.[ch] to tree-gimple.[ch].
3853
3854 2004-05-13 Victor Leikehman <lei@haifasphere.co.il>
3855
3856 PR fortran/15314
3857 * trans-expr.c (gfc_conv_structure): Use field type, not expr type.
3858
3859 2004-05-13 Joseph S. Myers <jsm@polyomino.org.uk>
3860
3861 * gfortran.texi: Use @table @emph instead of @itemize @emph.
3862 Remove "set DEVELOPMENT".
3863 (Compiling GFORTRAN): Remove.
3864
3865 2004-05-09 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
3866
3867 * array.c (match_subscript, match_array_ref): Add comments
3868 explaining argument 'init'.
3869 * decl.c, f95-lang.c, match.c, resolve.c, trans-array.c,
3870 trans-expr.c, trans.c: Fix some typos in comments.
3871 * dump-parse-tree.c (gfc_show_expr): Remove wrong comment.
3872 * primary.c (match_digits, match_integer_constant): Add comment
3873 explaining signflag.
3874
3875 2004-05-01 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
3876
3877 PR fortran/13940
3878 * primary.c: Include system.h and flags.h, needed for pedantic.
3879 (match_boz_constant): Allow "x" for hexadecimal constants, warn if
3880 pedantic is set.
3881
3882 2004-05-01 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
3883
3884 PR fortran/13940
3885 * match.c (match_data_constant): Handle case where
3886 gfc_find_symbol sets sym to NULL
3887
3888 2004-04-28 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
3889
3890 * Make-lang.in (f95-lang.o, trans-intrinsic.o): Add missing
3891 dependency on mathbuiltins.def
3892
3893 2004-04-24 Victor Leikehman <lei@il.ibm.com>
3894
3895 * trans-io.c (transfer_expr): Implemented recursive printing
3896 of derived types.
3897
3898 2004-04-24 Andrew Pinski <pinskia@physics.uc.edu>
3899
3900 * gfortranspec.c: Do not include multilib.h.
3901
3902 2004-04-24 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
3903
3904 * trans-intrinsic.c: Fix comment, this is not trans-expr.c. Add
3905 2004 to copyright years.
3906 * trans-expr.c, trans-decl.c: Comment update, we now generate
3907 GENERIC, not SIMPLE. Add 2004 to copyright years.
3908
3909 2004-04-24 Paul Brook <paul@codesourcery.com>
3910
3911 * Make-lang.in (gfortranspec.o): Add dependency on $(TM_H).
3912
3913 2004-04-24 Feng Wang <fengwang@nudt.edu.cn>
3914
3915 PR 14817
3916 * arith.c (gfc_arith_divide): Fix complex divide.
3917
3918 2004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
3919
3920 * gfortranspec.c: Include the target headers.
3921
3922 2004-04-18 Feng Wang <fengwang@nudt.edu.cn>
3923
3924 PR fortran/14921
3925 PR fortran/14540
3926 * arith.c (arctangent2): New function.
3927 * arith.h (arctangent2): Add function prototype.
3928 * simplify.c (gfc_simplify_atan2): Use it.
3929 (gfc_simplify_log): Use it.
3930
3931 2004-04-12 Diego Novillo <dnovillo@redhat.com>
3932
3933 * fortran/f95-lang.c (gfc_expand_stmt): Remove.
3934 (LANG_HOOKS_RTL_EXPAND_STMT): Remove.
3935
3936 2004-04-11 Bud Davis <bdavis9659@comcast.net>
3937
3938 PR fortran/14872
3939 * trans-io.c (build_dt): Change REC to value.
3940
3941 2004-04-11 Feng Wang <fengwang@nudt.edu.cn>
3942
3943 PR 14394
3944 * trans-const.c (gfc_conv_mpf_to_tree): Loosen the maximum digits of
3945 the real value when converting mpf to string.
3946
3947 2004-04-11 Feng Wang <fengwang@nudt.edu.cn>
3948
3949 PR 14395
3950 * trans-intrinsic.c (gfc_conv_intrinsic_cmplx): Fix the imag part of
3951 the result.
3952
3953 2004-04-11 Feng Wang <fengwang@nudt.edu.cn>
3954
3955 PR fortran/14377
3956 * simplify.c (simplify_min_max): Convert the type of the result.
3957
3958 2004-04-11 Paul Brook <paul@codesourcery.com>
3959
3960 * gfortran.texi: Use full target triplet.
3961
3962 2004-04-11 Paul Brook <paul@codesourcery.com>
3963
3964 * Make-lang.in (GFORTRAN_TEXI): Set it.
3965 (fortran/dfortran.dvi): Use it. Add fortran to include paths.
3966 (fortran/gfortran.info): Ditto.
3967 * gfortran.texi: Major update.
3968 * invoke.texi: New file.
3969
3970 2004-04-10 Paul Brook <paul@codesourcery.com>
3971
3972 * trans-array.c (gfc_trans_allocate_temp_array,
3973 gfc_conv_tmp_array_ref): Don't use GFC_DECL_STRING.
3974 * trans-decl.c (gfc_build_dummy_array_decl,
3975 gfc_get_symbol_decl, gfc_build_function_decl,
3976 gfc_create_module_variable): Ditto.
3977 * trans-expr.c (gfc_conv_variable): Ditto.
3978 * trans-intrinsic.c (gfc_conv_intrinsic_len): Ditto.
3979 * trans.h (GFC_DECL_STRING): Remove.
3980 (GFC_DECL_PACKED_ARRAY, GFC_DECL_PARTIAL_PACKED_ARRAY,
3981 GFC_DECL_ASSIGN): Renumber flags.
3982
3983 2004-04-05 Paul Brook <paul@codesourcery.com>
3984
3985 PR 13252
3986 PR 14081
3987 * f95-lang.c (gfc_init_builtin_functions): Add stack_alloc, stack_save
3988 and stack_restore.
3989 * gfortran.h (struct gfc_charlen): Add backend_decl.
3990 * trans-array.c (gfc_trans_allocate_temp_array,
3991 gfc_conv_temp_array_ref, gfc_conv_resolve_dependencies,
3992 (gfc_conv_loop_setup, gfc_array_allocate, gfc_conv_array_init_size):
3993 Remove old, broken string handling.
3994 (gfc_trans_auto_array_allocation, gfc_trans_g77_array,
3995 gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor,
3996 gfc_trans_deferred_array): Handle character arrays.
3997 * trans-const.c (gfc_conv_const_charlen): New function.
3998 * trans-const.h (gfc_conv_const_charlen): Add prototype.
3999 * trans-decl.c (gfc_finish_var_decl): Don't mark automatic variables
4000 as static.
4001 (gfc_build_dummy_array_decl): Handle arrays with unknown element size.
4002 (gfc_create_string_length): New function.
4003 (gfc_get_symbol_decl): Create lengths for character variables.
4004 (gfc_get_fake_result_decl): Ditto.
4005 (gfc_build_function_decl): Only set length for assumed length
4006 character arguments.
4007 (gfc_trans_dummy_character): New function.
4008 (gfc_trans_auto_character_variable): Rewrite.
4009 (gfc_trans_deferred_vars): Handle more types of character variable.
4010 (gfc_create_module_variable): String lengths have moved.
4011 (gfc_generate_function_code): Initialize deferred var chain earlier.
4012 * trans-expr.c (gfc_conv_init_string_length): Rename ...
4013 (gfc_trans_init_string_length): ... to this.
4014 (gfc_conv_component_ref, gfc_conv_variable, gfc_conv_concat_op,
4015 gfc_conv_function_call): Update to new format for character variables.
4016 (gfc_conv_string_length): Remove.
4017 (gfc_conv_string_parameter): Update assertion.
4018 * trans-intrinsic.c (gfc_conv_intrinsic_len): Use new location.
4019 * trans-io.c (set_string): Use new macro names.
4020 * trans-stmt.c (gfc_trans_label_assign. gfc_trans_goto): Ditto.
4021 * trans-types.c (gfc_get_character_type): Use existing length expr.
4022 (gfc_is_nodesc_array): Make public.
4023 (gfc_get_dtype_cst): Rename ...
4024 (gfc_get_dtype): ... to this. Handle unknown size arrays.
4025 (gfc_get_nodesc_array_type): Use new name.
4026 (gfc_sym_type): New character variable code.
4027 (gfc_get_derived_type): Ditto.
4028 (gfc_get_function_type): Evaluate character variable lengths.
4029 * trans-types.h (gfc_strlen_kind): Define.
4030 (gfc_is_nodesc_array): Add prototype.
4031 * trans.h: Update prototypes.
4032 (struct lang_type): Update comments.
4033 (GFC_DECL_STRING_LEN): New name for GFC_DECL_STRING_LENGTH.
4034 (GFC_KNOWN_SIZE_STRING_TYPE): Remove.
4035
4036 2004-04-04 Paul Brook <paul@codesourcery.com>
4037
4038 * gfortran.h (struct gfc_option_t): Remove flag_g77_calls.
4039 * options.c (gfc_init.options, gfc_handle_option): Ditto.
4040 * trans-expr.c (gfc_conv_function_call): Ditto.
4041 * trans-types.c (gfc_is_nodesc_array): Ditto
4042 * lang.opt (fg77-calls): Remove.
4043
4044 2004-04-04 Paul Brook <paul@codesourcery.com>
4045
4046 * trans-array.c (OFFSET_FIELD): Rename from BASE_FIELD.
4047 (gfc_conv_descriptor_base): Rename ...
4048 (gfc_conv_descriptor_offset): ... to this.
4049 (gfc_trans_allocate_array_storage): Set offset to zero.
4050 (gfc_conv_array_base): Rename ...
4051 (gfc_conv_array_offset): ... to this.
4052 (gfc_conv_array_index_ref): Add offset parameter.
4053 (gfc_conv_array_ref): Include offset.
4054 (gfc_trans_preloop_setup): Use existing offset.
4055 (gfc_trans_allocate_temp_array, gfc_array_allocate,
4056 gfc_trans_auto_array_allocation, gfc_trans_g77_array,
4057 gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor,
4058 gfc_conf_ss_descriptor): Set offset.
4059 * trans-array.h: Rename prototypes.
4060 * trans-const.h (gfc_index_zero_node): Define.
4061 * trans-decl.c (gfc_build_qualified_array): Change base to offset.
4062 * trans-types.c (gfc_get_array_type_bounds): Ditto.
4063 (gfc_get_nodesc_array_type): Calculate offset before upper bound.
4064
4065 2004-03-25 Diego Novillo <dnovillo@redhat.com>
4066
4067 * convert.c (convert): Don't handle WITH_RECORD_EXPR.
4068
4069 2004-03-24 Bud Davis <bdavis9659@comcast.net>
4070
4071 PR 14055
4072 * arith.c (gfc_convert_integer,gfc_convert_real): Removed leading '+'
4073 before conversion by gmp library call.
4074
4075 2004-03-24 Bud Davis <bdavis9659@comcast.net>
4076
4077 PR 12921
4078 * trans-io.c (gfc_trans_open): Change RECL= to a value parameter.
4079
4080 2004-02-24 Richard Henderson <rth@redhat.com>
4081
4082 * trans-array.c (gfc_trans_dummy_array_bias): Fix typo.
4083
4084 2004-02-19 Loren J. Rittle <ljrittle@acm.org>
4085
4086 * Make-lang.in ($(srcdir)/fortran/gfortran.info): Move...
4087 (fortran/gfortran.info): ... to here.
4088 (f95.srcinfo): New.
4089
4090 2004-02-16 Richard Henderson <rth@redhat.com>
4091
4092 * Make-lang.in (f95-lang.o, trans-decl.o): Depend on cgraph.h.
4093 * f95-lang.c (LANG_HOOKS_EXPAND_DECL): Remove.
4094 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): New.
4095 (gfc_expand_function): Rename from expand_function_body, make static,
4096 don't do anything except invoke tree_rest_of_compilation.
4097 (gfc_be_parse_file): Invoke cgraph.
4098 (gfc_expand_decl): Remove.
4099 (gfc_init_builtin_functions): Add __builtin_init_trampoline and
4100 __builtin_adjust_trampoline.
4101 * trans-decl.c (gfc_get_extern_function_decl): Don't set DECL_CONTEXT.
4102 (gfc_finalize): New.
4103 (gfc_generate_function_code): Use it. Lower nested functions.
4104 * trans-expr.c (gfc_conv_function_call): Add static chain operand
4105 to call_expr.
4106 * trans.c (gfc_build_function_call): Likewise.
4107 * trans.h (expand_function_body): Remove.
4108
4109 2004-02-15 Victor Leikehman <lei@il.ibm.com>
4110
4111 PR gfortran/13433
4112 * trans-decl.c (gfc_build_function_decl) For functions
4113 returning CHARACTER pass an extra length argument,
4114 following g77 calling conventions.
4115 * trans-types.c (gfc_get_function_type) Ditto.
4116 * trans-expr.c (gfc_conv_function_call) Ditto.
4117
4118 2004-02-14 Paul Brook <paul@codesourcery.com>
4119
4120 * f95-lang.c (gfc_init_builtin_functions): Build chain properly.
4121
4122 2004-02-12 Paul Brook <paul@nowt.org>
4123
4124 * BUGS: Remove.
4125
4126 2004-02-08 Steve Kargl <sgk@troutmask.apl.washington.edu>
4127
4128 * gfortran.texi: Fix typos.
4129
4130 2004-02-07 Bud Davis <bdavis9659@comcast.net>
4131
4132 PR gfortran/13909
4133 * intrinsic.c (add_conversions) Use logical conversion instead
4134 of real.
4135 * trans-types.c (gfc_get_logical_type) implemented logical*1
4136 and logical*2.
4137
4138 2004-01-17 Paul Brook <paul@codesourcery.com>
4139
4140 * lang-specs.h: Remove %<fixed-form.
4141
4142 2004-01-15 Toon Moene <toon@moene.indiv.nluug.nl>
4143
4144 * lang-specs.h: Enable preprocessing of source files
4145 ending in .F, .fpp, .FPP, .F90 and .F95.
4146
4147 2004-01-13 Toon Moene <toon@moene.indiv.nluug.nl>
4148
4149 PR fortran/12912
4150 * lang-specs.h: Enable compilation of files ending
4151 in .f, .for and .FOR.
4152
4153 2004-01-11 Paul Brook <paul@codesourcery.com>
4154
4155 * trans-stmt.c (gfc_trans_if_1): New function.
4156 (gfc_trans_if): Use it.
4157
4158 2004-01-11 Erik Schnetter <schnetter@uni-tuebingen.de>
4159
4160 * gfortran.h (GFC_MAX_SYMBOL_LEN): Increase.
4161 (gfc_option_t): Add max_identifier_length.
4162 * lang.opt: Add fmax-identifier-length.
4163 * match.c (parse_name): Use limit.
4164 * options.c (gfc_init_options): Set max_identifier_length.
4165 (gfc_handle_option): Ditto.
4166
4167 2004-01-11 Feng Wang <fengwang@nudt.edu.cn>
4168
4169 * intrinsic.c (add_functions): Add resolve function to dcmplx.
4170 * intrinsic.h (gfc_resolve_dcmplx): Add prototype.
4171 * iresolve.c (gfc_resolve_dcmplx): New function.
4172
4173 2004-01-10 Paul Brook <paul@codesourcery.com>
4174
4175 * trans-decl.c (gfc_get_symbol_decl): Don't set subroutine attr.
4176 * trans-types.c (gfc_sym_type): Handle external dummy procedures.
4177 (gfc_return_by_reference): Correct condition.
4178 (gfc_get_function_type): Ditto.
4179
4180 2004-01-10 Paul Brook <paul@codesourcery.com>
4181
4182 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert mismatched
4183 types.
4184
4185 2004-01-10 Huang Chun <chunhuang73@hotmail.com>
4186
4187 * iresolve.c: Use correct kind.
4188
4189 2004-01-10 Huang Chun <chunhuang73@hotmail.com>
4190
4191 PR fortran/13467
4192 * trans-decl.c (gfc_create_module_variable): Output array valued
4193 parameters.
4194
4195 2004-01-10 Paul Brook <paul@codesourcery.com>
4196
4197 * resolve.c (resolve_branch): Get error message right way round.
4198
4199 2004-01-10 Canqun Yang <canqun@nudt.edu.cn>
4200
4201 * trans-array (gfc_conv_loop_setup): Adjust comment to track
4202 reality.
4203 (gfc_array_allocate): Don't count size of element twice.
4204
4205 2004-01-04 Paul Brook <paul@codesourcery.com>
4206
4207 * lang.opt (i8, r8, std=*): Remove RejectNegative.
4208
4209 2004-01-04 Paul Brook <paul@codesourcery.com>
4210
4211 * error.c (gfc_notify_std): New function.
4212 * gfortran.h (gfc_notify_std): Declare.
4213 (GFC_STD_*): Define.
4214 (gfc_option_t): Add warn_std and allow_std.
4215 * intrinsic.c (gfc_init_expr_extensions): Fix logic.
4216 (gfc_intrinsic_func_interface): Use gfc_notify_std.
4217 * check.c (check_rest): Use gfc_notify_std.
4218 * match.c (gfc_match_pause): Ditto.
4219 (gfc_match_assign): Ditto.
4220 (gfc_match_goto): Ditto.
4221 * resolve.c (resolve_branch): Ditto.
4222 * lang.opt: Add std=<foo> and w.
4223 * options.c (gfc_init_options): Set allow_std and warn_std.
4224 (gfc_handle_option): Handle OPT_std_* and OPT_w.
4225
4226 2004-01-01 Paul Brook <paul@codesourcery.com>
4227
4228 * array.c (gfc_append_constructor): Take constructor, not expression.
4229 * data.c (struct gfc_expr_stack): Remove.
4230 (expr_stack): Remove.
4231 (find_con_by_offset): Rename from find_expr_in_con.
4232 (find_con_by_component): Rename from find_component_in_con.
4233 (gfc_get_expr_stack): Remove.
4234 (gfc_assign_data_value): Rewrite.
4235 (gfc_expr_push): Remove.
4236 (gfc_expr_pop): Remove.
4237 (gfc_advance_section): Rename from
4238 gfc_modify_index_and_calculate_offset. Handle unbounded sections.
4239 (gfc_get_section_index): Handle unbounded sections.
4240 * gfortran.h: Update prototypes.
4241 * resolve.c (check_data_variable): Array section maight not be the
4242 last ref.
4243
4244 2004-01-01 Paul Brook <paul@codesourcery.com>
4245
4246 PR fortran/13432
4247 * resolve.c (resolve_symbol): Allow assumed length function results.
4248
4249 2004-01-01 Steve Kargl <sgk@troutmask.apl.washington.edu>
4250
4251 * match.c (gfc_match_pause): Fix spelling.
4252
4253 2004-01-01 Steven Bosscher <stevenb@suse.de>
4254
4255 PR fortran/13251
4256 * trans-expr.c (gfc_conv_variable): Take the type kind of a substring
4257 reference from the expression.
4258
4259 2003-12-26 Feng Wang <fengwang@nudt.edu.cn>
4260
4261 * dump-parse-tree.c (gfc_show_code_node): Add ASSIGN and ASSIGNED GOTO
4262 dumping.
4263 * gfortran.h (gfc_statement): New ST_LABEL_ASSIGNMENT.
4264 (gfc_exec_op): New EXEC_LABEL_ASSIGN.
4265 (symbol_attribute):New variable attribute: assign.
4266 * io.c (resolve_tag):Integer variable is allowed.
4267 (match_dt_format): Add ASSIGN statement. Set assign flag.
4268 * match.c (gfc_match_if): Change ST_NONE to ST_LABEL_ASSIGNMENT.
4269 (gfc_match_assign): Add ASSIGN statement. Set assign flag.
4270 (gfc_match_goto): Add ASSIGNED GOTO statement. Set assign flag.
4271 * parse.c (decode_statement): Add ST_LABEL_ASSIGNMENT.
4272 (next_statement): Add ST_LABEL_ASSIGNMENT.
4273 (gfc_ascii_statement): Add ST_LABEL_ASSIGNMENT.
4274 * resolve.c (resolve_code): Resolve ASSIGN and ASSIGNED GOTO statement.
4275 (resolve_blocks): Resolve ASSIGNED GOTO statement label list.
4276 * st.c (gfc_free_statement): Add EXEC_LABEL_ASSIGN.
4277 * trans-decl.c (gfc_get_symbol_decl): Create the shadow variable for
4278 assign. Put them into the stuct lang_decl.
4279 * trans-io.c (set_string): Add the assign statement.
4280 * trans-stmt.c (gfc_trans_label_assign): New function.
4281 (gfc_trans_goto): Translate ASSIGNED GOTO statement.
4282 * trans-stmt.h (gfc_trans_label_assign): Added function prototype.
4283 * trans.c (gfc_trans_code): Add EXEC_LABEL_ASSIGN.
4284 * trans.h (lang_decl):Add shadow variable decl tree needed by assign.
4285 (GFC_DECL_ASSIGN_ADDR(node)): New macro to access this.
4286 (GFC_DECL_ASSIGN(node)): New macro to access flag.
4287
4288 2003-12-31 Huang Chun <chunhuang73@hotmail.com>
4289
4290 PR fortran/13434
4291 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Fixed bug in
4292 minval/maxval.
4293
4294 2003-12-22 Toon Moene <toon@moene.indiv.nluug.nl>
4295
4296 * options.c (gfc_init_options): Set flag_argument_noalias to 2, to indicate
4297 that arguments to subroutines/functions can't alias themselves, nor global
4298 memory.
4299
4300 2003-12-20 Steven Bosscher <stevenb@suse.de>
4301
4302 * trans-expr.c (gfc_conv_expr_op): Fold the result expression.
4303 * trans.c (gfc_add_modify_expr, gfc_add_expr_to_block): Likewise.
4304
4305 2003-12-12 Huang Chun <chunhuang73@hotmail.com>
4306
4307 * primary.c (match_substring): Fix substring bug for start point
4308 or end point is NULL.
4309 * trans-expr.c (gfc_conv_substring): Ditto
4310 * trans-types.c (gfc_sym_type): Get correct type of scalar
4311 character variables.
4312 * trans-intrinsic.c (gfc_conv_intrinsic_len): Handle character in
4313 derived type.
4314
4315 2003-12-10 Richard Henderson <rth@redhat.com>
4316
4317 * options.c (gfc_post_options): Don't ever use rtl inlining.
4318
4319 2003-12-05 Canqun Yang <canqun@nudt.edu.cn>
4320
4321 * trans-common.c: Re-implement COMMON blocks and EQUIVALENCE lists.
4322 * trans-equivalence.c: Remove.
4323 * trans-decl.c (gfc_get_symbol_decl): Update to match.
4324 (gfc_generate_function_code): Ditto.
4325 * trans-array.c (gfc_conv_array_parameter): Ditto.
4326 * Make-lang.in (F95_OBJS): Remove fortran/trans-equivalence.o
4327 (F95_ADDITIONAL_OBJS): Add stor-layout.o
4328 * trans.h (gfc_trans_equivalence): Remove.
4329 * gfortran.h (struct gfc_equiv): Add used field.
4330 (struct gfc_symbol): Remove addr_base, addr_offset, equiv_ring,
4331 equiv_offset fields.
4332
4333 2003-12-05 Richard Henderson <rth@redhat.com>
4334
4335 * trans.c (gfc_build_addr_expr): New.
4336 (gfc_build_indirect_ref, gfc_build_array_ref): New.
4337 * trans.h: Declare them.
4338 * trans-array.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
4339 trans-stmt.c, trans.c (*): Use them.
4340
4341 * f95-lang.c (gfc_post_options): Remove dead prototype.
4342 * trans-array.c (gfc_trans_deferred_vars): Remove unused variable.
4343 * trans-stmt.c (gfc_evaluate_where_mask): Fix temporary_list
4344 allocation size.
4345
4346 2003-12-01 Feng Wang <fengwang@nudt.edu.cn>
4347
4348 * io.c (gfc_match_format): Check for missing format label.
4349
4350 2003-11-30 Huang Chun <chunhuang73@hotmail.com>
4351
4352 PR fortran/13155
4353 * trans-decl.c (gfc_sym_mangled_function_id): Don't mangle symbols
4354 from interfaces in modules.
4355
4356 2003-11-30 Paul Brook <paul@nowt.org>
4357
4358 * trans-array.c (gfc_trans_g77_array): Make non-static.
4359 (gfc_trans_assumed_size): Remove.
4360 (gfc_trans_dummy_array_bias): Explicitly free temporary.
4361 * trans-array.h (gfc_trans_g77_array): Add prototype.
4362 (gfc_trans_assumed_size): Remove.
4363 * trans-decls.c (gfor_fndecl_push_context): Remove.
4364 (gfor_fndecl_pop_context): Remove.
4365 (gfc_build_function)decls): Don't create them.
4366 (gfc_trans_deferred_vars): Update to match. Remove dead code.
4367 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Free temp.
4368
4369 2003-11-30 Kejia Zhao <kejia_zh@nudt.edu.cn>
4370
4371 * trans-array.c (gfc_conv_array_parameter): Simplify
4372 array argument passing for array name actual argument.
4373 * trans-expr.c (gfc_conv_function_call): Ditto
4374 * trans-types.c (gfc_is_nodesc_array):Ditto.
4375
4376 2003-11-30 Paul Brook <paul@nowt.org>
4377
4378 * f95-lang.c (gfc_post_options): Move ...
4379 * options.c (gfc_post_options): .. to here. Handle inlining options.
4380 * gfortran.h (gfc_post_options): Add prototype.
4381
4382 2003-11-28 Richard Henderson <rth@redhat.com>
4383
4384 * trans.c (gfc_create_var_np): Use create_tmp_var_raw.
4385
4386 2003-11-28 Huang Chun <chunhuang73@hotmail.com>
4387
4388 * trans.h (has_alternate_specifier): New global variable.
4389 * match.c (gfc_match_call): Handle actual arguments associated with
4390 alternate return indicators.
4391 * trans-expr.c (gfc_conv_function_call): Ditto
4392 * trans-stmt.c (gfc_trans_call): Ditto
4393 (gfc_trans_return): Handle return statement with value.
4394 * trans-decl.c (gfc_generate_function_code): Handle functions with
4395 asterisk dummy.
4396 (gfc_get_fake_result_decl): Ditto
4397 * trans-types.c (gfc_get_function_type): Ditto
4398 * resolve.c (resolve_actual_arglist): Check alternate return indicators.
4399 (resolve_formal_arglist): Check asterisk dummy.
4400
4401 2003-11-27 Paul Brook <paul@nowt.org>
4402
4403 * trans-array.c (gfc_tran_allocate_array_storage): Use new memory
4404 allocation interface.
4405 (gfc_conv_ array_parameter): Ditto.
4406 (gfc_trans_auto_array_allocation): Ditto. Also free the memory.
4407 * trans-array.c: Update prototype.
4408 * trans-decl.c (gfc_build_builtin_function_decls): Update prototypes.
4409 (gfc_trans_auto_character_variable): Use new memory alloc interface.
4410 * trans-expr.c (gfc_conv_string_tmp): Ditto.
4411 (gfc_conv_function_call): Use gfc_conv_string_tmp.
4412 * trans-stmt.c (gfc_do_allocate): Use new memory alloc interface.
4413 * trans-intrinsic.c (gfc_conv_intrinsic_trim): Ditto.
4414 * trans.h (gfc_ss_info): Remove unused pdata field.
4415 * trans.c (gfc_create_var_np): Change T to V.
4416
4417 2003-11-26 Richard Henderson <rth@redhat.com>
4418
4419 * mathbuiltins.def: Move acos, asin, cosh, log10, sinh, tanh from ...
4420 * trans-intrinsic.c (gfc_intrinsic_map): ... here. Add SCALE,
4421 FRACTION, NEAREST, SET_EXPONENT.
4422 (gfc_intrinsic_map_t): Add libm_name, complex_available, is_constant.
4423 Fix GTY marking. Remove unnecessary const's.
4424 (LIBM_FUNCTION): Rename from I_LIB.
4425 (LIBF_FUNCTION): New.
4426 (gfc_get_intrinsic_lib_fndecl): Handle libm and libgfortran naming
4427 conventions. Assume the expr signature is correct. Mark const.
4428 (gfc_conv_intrinsic_exponent): Use library functions.
4429 (gfc_conv_intrinsic_set_exponent): Remove.
4430 (gfc_conv_intrinsic_scale): Remove.
4431 (gfc_conv_intrinsic_nearest): Remove.
4432 (gfc_conv_intrinsic_fraction): Remove.
4433 (gfc_conv_intrinsic_function): Update.
4434 * trans-decl.c (gfor_fndecl_math_exponent4): New.
4435 (gfor_fndecl_math_exponent8): New.
4436 (gfc_build_intrinsic_function_decls): Set them.
4437 * trans.h: Declare them.
4438
4439 2003-11-25 Canqun Yang <canqun@nudt.edu.cn>
4440
4441 * trans-common.c (gfc_layout_global_equiv): Locate the error for
4442 underflow COMMON block.
4443 (gfc_trans_one_common): Fix bug for size of COMMON block containing
4444 EQUIVALENCE object. Also fix typo in an error message.
4445
4446 2003-11-25 Diego Novillo <dnovillo@redhat.com>
4447
4448 * Make-lang.in: Add check-gfortran to lang_checks.
4449 (check-f95): Alias for check-gfortran.
4450
4451 2003-11-25 Jason Merrill <jason@redhat.com>
4452
4453 * Make-lang.in (f95.tags): Create TAGS.sub files in each
4454 directory and TAGS files that include them for each front end.
4455
4456 2003-11-24 Paul Brook <paul@nowt.org>
4457
4458 PR fortran/13154
4459 * trans-decl.c (gfc_greate_module_variable): Skip COMMON blocks.
4460
4461 2003-11-24 Paul Brook <paul@nowt.org>
4462
4463 * expr.c (simplify_const_ref): Return SUCCESS for things we don't
4464 handle.
4465 * resolve.c (gfc_resolve_expr): Resolve contents before rank/shape.
4466
4467 2003-11-24 Paul Brook <paul@nowt.org>
4468
4469 PR fortran/13105
4470 * array.c (gfc_array_ref_shape): Handle elemental dimensions.
4471 * trans-array.c (gfc_trans_preloop_setup): Use correct dim lookup.
4472
4473 2003-11-20 Richard Henderson <rth@redhat.com>
4474
4475 * trans-array.c (gfc_trans_allocate_array_storage): Use convert.
4476 (gfc_conv_array_base): Likewise.
4477 * trans-decl.c (gfc_trans_auto_character_variable): Likewise.
4478 * trans-expr.c (gfc_conv_string_tmp): Likewise.
4479 * trans-intrinsic.c (gfc_conv_intrinsic_trim): Likewise.
4480 * trans-stmt.c (gfc_trans_character_select): Likewise.
4481
4482 2003-11-13 Paul Brook <paul@nowt.org>
4483
4484 * trans-decl.c (gfc_sym_mangled_function_id): Dont mangle externals.
4485
4486 2003-11-13 Canqun Yang <canqun@nudt.edu.cn>
4487
4488 * resolve.c (gfc_resolve): Also resolve EQUIVALENCE objects.
4489 (resolve_equivalence): New function.
4490 (resolve_equivalence_derived): New function.
4491
4492 2003-11-12 Richard Henderson <rth@redhat.com>
4493
4494 * trans.c (gfc_trans_code): Use annotate_with_locus instead of
4495 annotate_all_with_locus.
4496
4497 2003-11-11 Canqun Yang <canqun@nudt.edu.cn>
4498
4499 * options.c (gfc_init_options): Set flag_max_stack_var_size as 32768.
4500 * trans-decl.c (gfc_finish_var_decl): Modified.
4501
4502 2003-11-08 Paul Brook <paul@nowt.org>
4503
4504 PR fortran/12704
4505 * trans-intrinsic.c (gfc_conv_intrinsics_minmaxloc): Handle zero-size
4506 arrays.
4507
4508 2003-11-06 Paul Brook <paul@nowt.org>
4509
4510 * trans-intrinsic.c (gfc_conv_intrinsics_minmaxloc): Initialize pos.
4511
4512 2003-11-02 Canqun Yang <canqun@nudt.edu.cn>
4513
4514 * match.c (gfc_match_stopcode): Assign '0' to stop_code.
4515
4516 2003-10-27 Anthony Green <green@redhat.com>
4517
4518 * Make-lang.in (f95.stageprofile): Use tabs, not spaces.
4519 (f95.stagefeedback): Ditto.
4520
4521 2003-10-27 Andrew Pinski <pinskia@physics.uc.edu>
4522
4523 PR fortran/12682
4524 * Make-lang.in (f95.stageprofile): Add.
4525 (f95.stagefeedback): Add.
4526
4527 2003-10-23 Richard Henderson <rth@redhat.com>
4528
4529 * f96-lang.c (gfc_gimplify_expr): Remove.
4530 (LANG_HOOKS_GIMPLIFY_EXPR): Remove.
4531 (LANG_HOOKS_GIMPLE_BEFORE_INLINING): New.
4532
4533 2003-10-23 Richard Henderson <rth@redhat.com>
4534
4535 * f95-lang.c (gfc_gimplify_expr): Return gimplify_status.
4536
4537 2003-10-20 Paul Brook <paul@nowt.org>
4538
4539 * trans-expr.c (gfc_conv_integer_power): Use boolean_type_node.
4540 * trans-stmt.c (gfc_trans_do_while): Ditto.
4541
4542 2003-10-17 Paul Brook <paul@nowt.org>
4543
4544 * simplify.c (gfc_simplify_shape): Use gfc_array_dimen_size.
4545
4546 2003-10-17 Paul Brook <paul@nowt.org>
4547
4548 * trans-io.c (gfc_build_io_library_fndecls): Set TREE_PUBLIC.
4549
4550 2003-10-17 Feng Wang <wf_cs@yahoo.com>
4551
4552 * iresolve.c (gfc_resolve_maxloc): Change the result's kind and type.
4553 (gfc_resolve_minloc): Ditto.
4554 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use correct types.
4555 Return the value after subtracting the lower bound.
4556
4557 2003-10-16 Richard Henderson <rth@redhat.com>
4558
4559 * f95-lang.c (expand_function_body): Don't check flag_disable_gimple.
4560
4561 2003-10-16 Steven Bosscher <steven@gcc.gnu.org>
4562
4563 * lang.c: Remove -M option for now, it's in the way for C.
4564
4565 2003-10-14 Jason Merrill <jason@redhat.com>
4566
4567 * Make-lang.in (f95.tags): New rule.
4568
4569 2003-10-13 Richard Henderson <rth@redhat.com>
4570
4571 * trans.c (gfc_trans_code): Use annotate_all_with_locus.
4572
4573 2003-10-13 Paul Brook <paul@nowt.org>
4574
4575 * trans-decl.c (generate_local_decl): Don't create junk variables.
4576
4577 2003-10-13 Paul Brook <paul@nowt.org>
4578
4579 * resolve.c (resolve_formal_arglist): Use function result decl in
4580 preference to function decl.
4581
4582 2003-10-12 Richard Henderson <rth@redhat.com>
4583
4584 * f95-lang.c (gfc_define_builtin): New const_p argument. Set
4585 TREE_READONLY. Update all callers.
4586
4587 2003-10-12 Feng Wang <wf_cs@yahoo.com>
4588
4589 * iresolve.c (gfc_resolve_cshift): Change to match implementation.
4590 * trans-intrinsic.c (gfc_conv_intrinsic_function): Remove CSHIFT.
4591 (gfc_is_intrinsic_libcall): Add CSHIFT.
4592
4593 2003-10-12 Richard Henderson <rth@redhat.com>
4594
4595 * trans-array.c (gfc_trans_static_array_pointer): Set TREE_INVARIANT.
4596 (gfc_trans_array_constructor_value): Likewise.
4597 (gfc_conv_array_initializer): Likewise.
4598 * trans-stmt.c (gfc_trans_character_select): Likewise.
4599
4600 2003-11-12 Kejia Zhao <kejia_zh@yahoo.com.cn>
4601
4602 * trans-intrinsic.c (integer_kind_info, real_kind_info): Remove.
4603
4604 2003-10-11 Huang Chun <jiwang@mail.edu.cn>
4605
4606 * check.c (gfc_check_repeat): Check arguments are scalar.
4607 (gfc_check_trim): New function.
4608 * intrinsic.h (gfc_check_trim): Add prototype.
4609 * intrinsic.c (add_functions): Use it.
4610 * trans.h (gfor_fndecl_string_trim, gfor_fndecl_string_repeat):
4611 Decalare.
4612 * trans-decl.c: Ditto.
4613 (gfc_build_intrinsic_fucntion_decls): Set them.
4614 * trans-intrinsic.c (gfc_conv_intrinsic_len): Handle result vars.
4615 (gfc_conv_intrinsic_trim): New function.
4616 (gfc_conv_intrinsic_repeat): New function.
4617 (gfc_conv_intrinsic_function): Use them.
4618
4619 2003-10-11 Huang Chun <jiwang@mail.edu.cn>
4620
4621 * trans-types.c (gfc_sym_type): Handle result variables.
4622
4623 2003-10-11 Huang Chun <jiwang@mail.edu.cn>
4624
4625 * trans-intrinsic.c (gfc_conv_intrinsic_char): Don't use
4626 gfc_get_character_type.
4627
4628 2003-10-11 Feng Wang <wf_cs@yahoo.com>
4629
4630 * trans-expr.c (gfc_conv_variable): Check sym->ts, not the decl.
4631
4632 2003-10-11 Paul Brook <paul@nowt.org>
4633
4634 * iresolve.c (gfc_resolve_dint, gfc_resolve_dnint): New functions.
4635 (gfc_resolve_dprod): New function.
4636 (gfc_resolve_aint, gfc_resolve_anint): Only base name on arg type.
4637 * intrinsic.h (gfc_resolve_dint, gfc_resolve_dnint): Declare.
4638 (gfc_resolve_dprod): Declare.
4639 * intrinsic.c (add_functions): Use them.
4640 * trans-decl.c (gfc_get_extern_function_decl): Only pass one arg.
4641
4642 2003-10-06 Richard Henderson <rth@redhat.com>
4643
4644 * f95-lang.c (gfc_init_builtin_functions): Add clzll.
4645 * trans-intrinsic.c (call_builtin_clz): Use it.
4646
4647 2003-10-05 Paul Brook <paul@nowt.org>
4648
4649 * f95-lang.c (expand_function_body): Call (push|pop)_function_context.
4650 * trans-decl.c (gfc_generate_function_code): Set
4651 cfun->function_end_locus.
4652
4653 2003-09-24 Jason Merrill <jason@redhat.com>
4654
4655 * f95-lang.c, trans-decl.c: Use DECL_SOURCE_LOCATION instead of
4656 TREE_LOCUS.
4657
4658 2003-09-21 Lifang Zeng <zlf605@hotmail.com>
4659 Paul Brook <paul@nowt.org>
4660
4661 * Make-lang.in (F95_OBJS): Add fortran/data.o.
4662 * array.c (gfc_inser_constructor): New function.
4663 (gfc_get_constructor): New function.
4664 (gfc_free_constructor): Initialize offset and repeat.
4665 (iterator_stack): Remove.
4666 (expand_info): Add offset, component and repeat fields.
4667 (expand_constructor): Set them.
4668 (expand): Set new fields.
4669 (gfc_copy_constructor): Ditto. Avoid recursion.
4670 * gfortran.h: Add prototypes for new functions.
4671 (gfc_constructor): Add offset, component and repeat.
4672 (iteratio_stack): Move to here.
4673 * resolve.c (check_data_variable): Convert data values into variable
4674 initializers.
4675 (traverse_data_list): Build implicit loop chain.
4676 (gfc_resolve): Ditto.
4677 * trans-array.c (gfc_conv_array_intializer): Handle repeat count.
4678 * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_structure.
4679 * trans-expr.c (gfc_conv_structure): Handle array initializers.
4680 (gfc_conv_expr): Update to match.
4681 * trans.h (gfc_conv_structure): Declare.
4682 * data.c: New file.
4683
4684 2003-09-20 Kejia Zhao <kejia_zh@yahoo.com.cn>
4685
4686 * trans.h: Add declarations for gfor_fndecl_si_kind and
4687 gfor_fndecl_sr_kind.
4688 * trans-decl.c (g95_build_intrinsic_function_decls): Build them.
4689 * trans-intrinsic.c (g95_conv_intrinsic_si_kind): New function.
4690 (g95_conv_intrinsic_sr_kind): New function.
4691 (g95_conv_intrinsic_function): Add SELECTED_INT_KIND and
4692 SELECTED_REAL_KIND.
4693
4694 2003-09-17 Lars Segerlund <Lars.Segerlund@comsys.se>
4695
4696 * iresolve.c (gfc_resolve_random_number): Generate _r4 & _r8
4697 instead of _4 and _8 as postfix for libgfortran calls.
4698
4699 2003-09-16 Paul Brook <paul@nowt.org>
4700
4701 * array.c (compare_bounds): New function.
4702 (gfc_compare_array_spec): Use it.
4703
4704 2003-09-14 Paul Brook <paul@nowt.org>
4705
4706 * primary.c (gfc_match_rvalue): Make sure sym->result is set.
4707 * trans-expr.c (gfc_conv_string_parameter): Also allow PRAM_DECLs.
4708
4709 2003-09-14 Paul Brook <paul@nowt.org>
4710
4711 * check.c (dim_rank_check): Allow assumed bounds if requested.
4712 (gfc_check_lbound): Call it.
4713 (gfc_check_ubound): Ditto.
4714 (gfc_check_size): Change to match.
4715 * simplify.c (gfc_simplify_bound): New function.
4716 (gfc_simplify_lbound): New function.
4717 (gfc_simplify_ubound): New function.
4718 * intrinsic.h: Declare them.
4719 * intrinsic.c (add_functions): Use them.
4720
4721 2003-09-14 Paul Brook <paul@nowt.org>
4722
4723 * io.c (format_lex): Initialize negative_flag.
4724 (check_format): Intialize repeat.
4725 * trans-io.c (gfc_new_nml_name_expr): Declare static.
4726 (gfc_new_var_expr): Ditto.
4727
4728 2003-09-14 Paul Brook <paul@nowt.org>
4729
4730 * trans-array.c (gfc_conv_array_initializer): Handle derived types.
4731 * trans-decl.c (gfc_get_symbol_decl): Only do local scalar values.
4732
4733 2003-09-12 Paul Brook <paul@nowt.org>
4734
4735 * trans-intrinsic.c (gfc_conv_intrinsic_sign): Call fold.
4736
4737 2003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4738
4739 * fortran/trans.c (gfc_finish_block): Call rationalize_compound_expr
4740 for a correct expression.
4741
4742 2003-09-10 Kejia Zhao <kejia_zh@yahoo.com.cn>
4743
4744 * trans-intrinsic.c (real_compnt_info): New struct.
4745 (prepare_arg_info): New function.
4746 (gfc_conv_intrinsic_set_exponent): New function.
4747 (gfc_conv_intrinsic_scale): New function.
4748 (gfc_conv_intrinsic_nearest): New function.
4749 (gfc_conv_intrinsic_fraction): New function.
4750 (gfc_conv_intrinsic_exponent): New function.
4751 (gfc_conv_intrinsic_spacing): New function.
4752 (gfc_conv_intrinsic_rrspacing): New function.
4753 (gfc_conv_intrinsic_function): Use them.
4754
4755 2003-08-24 XiaoQiang Zhang (zhangapache@yahoo.com>
4756
4757 * trans-const.c (gfc_conv_mpz_to_tree): Fix bug, parameter for
4758 build_int_2 changed from (high, low) to (low, high).
4759 * trans-io.c (ioparm_namelist_name, ioparm_namelist_name_len,
4760 ioparm_namelist_read_mode, iocall_set_nml_val_int,
4761 iocall_set_nml_val_float, iocall_set_nml_val_char,
4762 iocall_set_nml_val_complex, iocall_set_nml_val_log): New declaration.
4763 (gfc_build_io_library_fndecls): Add variable initialization.
4764 (gfc_new_nml_name_expr, get_new_var_expr): New function.
4765 (build_dt): Add namelist support.
4766 * io.c (value): New variable.
4767 (check_format): Support FMT_H now.
4768
4769 2003-09-07 Paul Brook <paul@nowt.org>
4770
4771 * io.c (gfc_resolve_dt): Error if format label is not defined.
4772
4773 2003-09-07 Kejia Zhao <kejia_zh@yahoo.com.cn>
4774
4775 * trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix two bugs. One is
4776 about case_switch's break. The other is about building the condition
4777 statement tree, which judges the argument in the range of the
4778 corresponding integer type.
4779 * trans-intrinsic.c (gfc_conv_intrinsic_mod): MOD and MODULO can work
4780 for the large values.
4781
4782 2003-09-05 Paul Brook <paul@nowt.org>
4783
4784 * f95-lang.c (expand_function_body): Gimplify the function.
4785
4786 2003-09-04 Jeff Law <law@redhat.com>
4787
4788 * f95-lang.c (DEFINE_MATH_BUILTIN): C arrays start at
4789 index zero!
4790
4791 2003-09-04 Paul Brook <paul@nowt.org>
4792
4793 * f95-lang.c (gfc_define_builtin): Also set implicit_built_in_decls.
4794 (gfc_expand_stmt): New function.
4795 (LANG_HOOKS_RTL_EXPAND_STMT): Define.
4796 (expand_function_body): Use tree_rest_of_compilation.
4797 * trans-decl.c (gfc_generate_function_code): Don't free cfun.
4798
4799 2003-09-03 Jeff Law <law@redhat.com>
4800
4801 * f95-lang.c (gfc_init_builtin_functions): C arrays start at
4802 index zero!
4803
4804 2003-08-30 Paul Brook <paul@nowt.org>
4805
4806 * f95-lang.c (builtin_function): Remove #if 0 code.
4807 (gfc_define_builtin): New function.
4808 (gfc_init_builtin_functions): Use mathbuiltins.def not ../builtins.def.
4809 * mathbuiltins.def: New file.
4810 * trans-intrinsic.c (gfc_intrinsic_map_t): Add builtin code fields.
4811 (gfc_intrinsic_map): Use mathbuiltins.def.
4812 (gfc_intrinsic_builtin_t): Remove.
4813 (gfc_build_intrinsic_lib_fndecls): Update.
4814 * trans-types.c (gfc_init_types): Remove redundant initilaization of
4815 signed_size_type_node.
4816
4817 2003-08-29 Paul Brook <paul@nowt.org>
4818
4819 * arith.c (gfc_real_kinds): Use correct minimum exponents.
4820
4821 2003-08-22 Kejia Zhao <kejia_zh@yahoo.com.cn>
4822
4823 * trans-instinsic.c (gfc_conv_intrinsic_mod): Also do MODULO.
4824 (gfc_conv_intrinsic_function): Add MODULO.
4825
4826 2003-08-22 Jason Merrill <jason@redhat.com>
4827
4828 * trans-array.c (gfc_conv_expr_descriptor): Update use of predicates.
4829
4830 2003-08-22 Andreas Jaeger <aj@suse.de>
4831
4832 * Make-lang.in (f95.install-common): Add DESTDIR support.
4833 * (f95.install-info): Likewise.
4834 (f95.uninstall): Likewise.
4835
4836 2003-08-19 Diego Novillo <dnovillo@redhat.com>
4837
4838 * trans-types.c (gfc_init_types): Initialize
4839 signed_size_type_node with size_type_node.
4840
4841 2003-08-18 Paul Brook <paul@nowt.org>
4842
4843 * dependency.c (gfc_dependency): New enum.
4844 (check_another_array_ref): Remove.
4845 (gfc_get_array_from_component): Remove.
4846 (get_x): Remove.
4847 (get_range): Remove.
4848 (get_no_of_elements): Use mpz_t, not mpf_t.
4849 (transform_sections): New function.
4850 (gfc_check_range_range): Rename ...
4851 (gfc_check_section_vs_section): ... to this. Use new function.
4852 (gfc_is_inside_range): Rewrite to match.
4853 (gfc_check_element_vs_section): Ditto.
4854 (gfc_check_element_vs_element): Ditto.
4855 (get_deps): Ditto.
4856 (gfc_dep_resolver): Ditto. Remove unused parameter.
4857 * Dependency.h (gfc_check_range_range, gfc_check_element_vs_section,
4858 gfc_check_element_vs_element, gfc_is_inside_range,
4859 gfc_get_array_from_component): Remove prototypes for static functions.
4860 (gfc_dep_resolver): Update prototype.
4861 * trans-array.c (gfc_conv_resolve_dependencies): Change to match.
4862
4863 2003-08-15 Paul Brook <paul@nowt.org>
4864
4865 * trans-decl.c (gfc_build_qualified_array): Don't add symbols for
4866 return values to parent scope.
4867 (gfc_build_dummy_array_decl): Ditto.
4868
4869 2003-08-14 Paul Brook <paul@nowt.org>
4870
4871 * trans-stmt.c (gfc_trans_allocate): Handle NULL refs. Allocate the
4872 size of the type, not the pointer.
4873 * resolve.c (resolve_symbol): Give more accurate error message.
4874
4875 2003-08-10 Paul Brook <paul@nowt.org>
4876
4877 * trans-decl.c (gfc_build_function_decl): Only mangle global symbols.
4878
4879 2003-08-10 Paul Brook <paul@nowt.org>
4880
4881 * trans-stmt.c (gfc_trans_allocate): Correctly handle non-array derived
4882 type components.
4883
4884 2003-08-10 Chun Huang <compiler@sohu.com>
4885
4886 * resolve.c (resolve_formal_arglist): Resolve STATEMENT function.
4887 (resolve_symbol): Ditto.
4888 * trans-expr.c (gfc_conv_statement_function): New function.
4889 (gfc_conv_function_expr): Use it.
4890
4891 2003-08-10 Paul Brook <paul@nowt.org>
4892
4893 * trans-array.c (gfc_conv_ss_startstride): Handle functions.
4894 (walk_function_expr): Set section rank.
4895 * trans-intrinsic.c (gfc_walk_intrinsic_libfunc): Ditto.
4896
4897 2003-08-10 Paul Brook <paul@nowt.org>
4898
4899 * intrinsic.c (add_sym): Prefix names with correct string.
4900 (add_sym_0s): New function.
4901 (add_subroutines): Register abort.
4902
4903 2003-08-10 Erik Schnetter <schnetter@uni-tuebingen.de>
4904
4905 * gfortran.h: Introduce options to control the mangling.
4906 * lang.opt: Likewise.
4907 * options.c (gfc_init_options): Handle the options.
4908 * trans-common.c (gfc_sym_mangled_common_id): New function.
4909 (gfc_build_common_decl): Call it.
4910 * trans-decl.c (gfc_sym_mangled_function_id): New function.
4911 (gfc_get_extern_function_decl, gfc_build_function_decl): Call it.
4912
4913 2003-08-09 Paul Brook <paul@nowt.org>
4914
4915 * module.c (mio_symbol): Always ouput a namespace for formal args.
4916 (load_needed): Namespace now belong to their proper symbol.
4917 (gfc_dump_module): Change G95=>GFORTRAN.
4918
4919 2003-08-05 Paul Brook <paul@nowt.org>
4920
4921 * options.c: Force -fg77-calls.
4922
4923 2003-08-02 Paul Brook <paul@nowt.org>
4924
4925 * Makelang.in: Rename G95_* to GFORTRAN_*.
4926 * All sources: Rename G95_* to GFC_*.
4927
4928 2003-08-01 Paul Brook <paul@nowt.org>
4929
4930 * fortran/Make-lang.in: Use GMPLIBS.
4931 * fortran/config-lang.in: Set need_gmp.
4932 * trans-expr.c (gfc_conv_variable): Remove incorrect assertion.
4933
4934 2003-07-27 Andreas Jaeger <aj@suse.de>
4935
4936 * trans-decl.c (gfc_generate_constructors): Convert prototype to
4937 ISO C90.
4938 * trans-const.c (gfc_init_constants): Likewise.
4939 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Likewise.
4940
4941 * gfortranspec.c: Convert to ISO C90.
4942 (lang_specific_driver): Correct copyright, remove ALT_LIBM usage.
4943
4944 2003-07-26 Paul Brook <paul@nowt.org>
4945
4946 * lang.opt: Add -fdump-parse-tree.
4947 * options.c (gfc_handle_option): Ditto.
4948 * resolve.c (resolve_forall_iterators): Convert to proper type.
4949 * trans-stmt.c (gfc_trans_forall_1): Create temp var with correct type.
4950
4951 2003-07-26 Paul Brook <paul@nowt.org>
4952
4953 * Makefile.in: Add build dependencies on files common with rest of gcc.
4954
4955 2003-07-26 Lifang Zeng <zlf605@hotmail.com>
4956
4957 * trans.h: Declare g95_trans_pointer_assignment.
4958 * trans-expr.c (g95_trans_pointer_assignment): New function.
4959 (g95_trans_pointer_assign): Use it.
4960 * trans-stmt.c (g95_trans_forall_1): Handle pointer assignment.
4961 (g95_trans_pointer_assign_need_temp): New function.
4962
4963 2003-07-26 Paul Brook <paul@nowt.org>
4964
4965 * gfortran.texi: Replace references to g95.
4966
4967 2003-07-26 Paul Brook <paul@nowt.org>
4968
4969 Rename g95_* to gfc_*.
4970
4971 2003-07-25 Paul Brook <paul@nowt.org>
4972
4973 * gfortran.h: Rename from g95.h.
4974 * trans-types.c (boolean_type_node, booelan_true_node,
4975 boolean_false_node): Remove.
4976 * trans-types.h: Ditto.
4977
4978 2003-07-25 Chun Huang <compiler@sohu.com>
4979
4980 * parse.c (accept_statement): Implement BLOCK DATA statement.
4981 * trans-expr.c (g95_conv_variable): Fix bug for dereference pointer
4982 variables.
4983
4984 2003-07-24 Lifang Zeng <zlf605@hotmail.com>
4985
4986 * trans-stmt.c (temporary_list): Define.
4987 (g95_trans_assign_need_temp): New function.
4988 (g95_trans_forall_1): Modified for WHERE.
4989 (g95_trans_where_assign): Modified.
4990 (g95_trans_where_2): Modified.
4991 (g95_evaluate_where_mask): Modified.
4992 (g95_trans_where): Modified.
4993 (g95_get_temp_expr): Removed.
4994 (g95_add_to_where_stmt_list): Removed.
4995 (compute_overall_iter_number): Modified for WHERE.
4996 * trans.h: Remove where_stmt_list.
4997
4998 2003-07-24 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
4999
5000 * lang.opt: Correct description of options -J and -M.
5001
5002 2003-07-23 Steven Bosscher <steven@gcc.gnu.org>
5003
5004 * lang.opt: Move help text to here.
5005 * lang-options.h: Remove.
5006
5007 2003-07-23 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5008 * iresolve.c (g95_resolve_transpose): Proper variable in switch.
5009 * simplify.c (g95_simplify_nearest): Fix typo and use a correct test
5010 on kind.
5011
5012 2003-07-22 Steven Bosscher <steven@gcc.gnu.org>
5013 Paul Brook <paul@nowt.org>
5014
5015 * check.c (check_rest): Use global pedantic flag.
5016 * io.c (data_desc): Ditto.
5017 * error.c (g95_warning, g95_warning_now): Use global flag.
5018 * f95-lang.c (LANG_HOOKS_HANDLE_OPTION): Rename from DECODE.
5019 (expand_function_body): Update to new prototypes.
5020 (g95_init): Use new option names.
5021 * g95.h (g95_option_t): Standardize names.
5022 (g95_init_options, g95_handle_option): Update prototypes.
5023 * interface.c: Use new option names.
5024 * match.c: Ditto.
5025 * module.c: Ditto.
5026 * parse.c: Ditto.
5027 * primary.c: Ditto.
5028 * resolve.c: Ditto.
5029 * scanner.c: Ditto.
5030 * simplify.c: Ditto.
5031 * symbol.c: Ditto.
5032 * trans-array.c: Ditto.
5033 * trans-expr.c: Ditto.
5034 * trans-types.c: Ditto.
5035 * trans-decl.c: Ditto.
5036 (g95_build_library_function_decl): Remove obsolete VPARAMS.
5037 * trans.h: Ditto.
5038 * options.c (g95_display_help): Remove.
5039 (g95_init_options): Convert to new scheme.
5040 (set_Wall): Ditto
5041 (g95module_option): Ditto, rename from g95_parse_arg.
5042 (g95_handle_module_path_options): New function.
5043 * trans-equivalence.c: Fix error message.
5044 * lang.opt: Corrections.
5045
5046 2003-07-21 Steven Bosscher <steven@gcc.gnu.org>
5047
5048 * lang.opt: New file.
5049
5050 2003-07-21 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5051
5052 * decl.c (match_attr_spec): Set colon_seen.
5053
5054 2003-07-14 Paul Brook <paul@nowt.org>
5055
5056 * trans-array.c: Update comment.
5057 (g95_trans_array_constructor_subarray): Cleanup loopinfo data.
5058 * trans-intrinsic.c (g95_conv_intrinsic_anyall,count,arith,
5059 minmaxloc,minmaxval): Ditto.
5060 * trans-io.c (g95_trans_transfer): Ditto.
5061 * trans-stmt.c: Remove unneeded prototypes.
5062 (generate_loop_for_lhs_to_rhs): Rename vars. Add loop post chain.
5063 (generate_loop_for_rhs_to_temp): Rename vars. Don't share loopinfo.
5064 (compute_inner_temp_size): Remove bits of dead code. Add comments.
5065 Don't share loopinfo.
5066 (compute_overall_iter_number): Declare as static.
5067 (allocate_temp_for_forall_nest): Ditto.
5068 (g95_trans_forall_1): Don't pass shared loopinfo.
5069 * trans.c (g95_start_block): Expand comment.
5070
5071 2003-07-12 Paul Brook <paul@nowt.org>
5072
5073 * arith.c (g95_index_integer_kind): Remove unused initializer.
5074 * trans-stmt.c (generate_loop_for_temp_to_lhs): Don't multiply array
5075 index by size of element.
5076 (generate_loop_for_rhs_to_temp): Ditto.
5077 (allocate_temp_for_forall_nest): Use element size, not index size.
5078
5079 2003-07-11 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5080
5081 * arith.c (g95_index_integer_kind): Add a TODO.
5082 * simplify.c (g95_simplify_nearest): Add a TODO.
5083
5084 2003-07-09 Chun Huang <compiler@sohu.com>
5085
5086 * trans.h: Add declarations for gfor_fndecl_string_scan and
5087 gfor_fndecl_string_verify.
5088 * trans-decl.c (g95_build_intrinsic_function_decls): Build them.
5089 * trans-intrinsic.c (g95_conv_intrinsic_scan): New function.
5090 (g95_conv_intrinsic_verify): New function.
5091 (g95_conv_intrinsic_function): Add SCAN and VERIFY.
5092 * simplify.c (g95_simplify_scan, g95_simplify_verify): Fix bug in case
5093 of parameter 'BACK=.TRUE.'
5094
5095 2003-07-05 Lifang Zeng <zlf605@hotmail.com>
5096
5097 * trans-stmt.c (iter_info, forall_info): Define.
5098 (g95_trans_forall_block): Remove.
5099 (g95_trans_forall_loop): Use forall info blocks.
5100 (g95_trans_nested_forall_loop): New function.
5101 (g95_do_allocate): Handle things other than logical masks.
5102 (generate_loop_for_temp_to_lhs): New function.
5103 (generate_loop_for_rsh_to_temp): New function.
5104 (compute_inner_temp_size): New function.
5105 (compute_overall_iter_number): New function.
5106 (allocate_temp_for_forall_nest): New function.
5107 (g95_trans_forall): Move body ...
5108 (g95_trans_forall_1): ... to here. Handle loops with temporaries.
5109
5110 2003-07-02 Paul Brook <paul@nowt.org>
5111
5112 * trans-decl.c (create_index_var, g95_build_qualified_array): Put vars
5113 in correct scope. Change callers to match.
5114 * trans-types.c (g95_get_dtype_cst): Allow rank 7 arrays.
5115 * iresolve.c (g95_resolve_reshape): Only use constant shapes.
5116
5117 2003-07-02 Paul Brook <paul@nowt.org>
5118
5119 * trans-array.c (g95_conv_loop_setup): Remove dead var. Use
5120 expression shape for all expressions.
5121 * trans-decl.c (g95_symbol_init): Allow adding at very end of list.
5122
5123 2003-07-03 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5124
5125 * g95.h (g95_option_t), lang-options.h, options.c (g95_init_options,
5126 g95_parse_arg), intrinsic.c (g95_convert_type): support of
5127 -Wconversion.
5128 * intrinsic.c, g95.h: Add g95_convert_type_warn,
5129 * resolve.c (g95_resolve_index): Call it.
5130
5131 2003-07-02 Paul Brook <paul@nowt.org>
5132
5133 * iresolve.c (g95_resolve_reshape): Set expression shape.
5134 (g95_resolve_shape): Ditto.
5135 * simplify.c (g95_simplify_shape): Move common code outside condition.
5136 * trans-array.c (g95_conv_array_initializer): Teach it how to count.
5137
5138 2003-07-01 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5139
5140 * array.c (g95_array_dimen_size): Deal with EXPR_ARRAY to improve
5141 conformance checks.
5142
5143 2003-06-29 Paul Brook <paul@nowt.org>
5144
5145 * array.c (g95_simplify_iterator_var): Don't bother with return value.
5146 * expr.c (find_array_element, find_component_ref): New functions.
5147 (remove_subobject_ref): New function.
5148 (simplify_const_ref): Use them. Rename from simplify_component_ref.
5149 (simplify_ref_chain): New function.
5150 (g95_simplify_expr): Use it. Simplify parameter variable subobjects.
5151 (g95_specification_expr): Simplify the expression.
5152 * resolve.c (resolve_operator): Check simplifications return code.
5153 (g95_resolve_expr): Ditto.
5154
5155 2003-06-26 Paul Brook <paul@nowt.org>
5156
5157 * expr.c (simplify_component_ref): New function.
5158 (g95_simplify_expr): Use it.
5159 * resolve.c (resolve_structure_cons): Handle references.
5160
5161 2003-06-25 Paul Brook <paul@nowt.org>
5162
5163 * trans-io.c (build_dt): Handle internal units.
5164
5165 2003-06-25 Canqun Yang <canqun@yahoo.com.cn>
5166
5167 * trans-common.c (g95_build_common_decl): Array index range starts at 0.
5168 (g95_build_common_decl, g95_layout_global_equiv, g95_trans_one_common):
5169 Use g95_array_index_type instead of integer_type_node.
5170 (g95_build_common_decl, g95_set_common_master_type): Use
5171 g95_character1_type_node instead of char_type_node.
5172 * trans-equivalence.c (g95_layout_local_equiv): As above.
5173
5174 2003-06-24 Steven G. Kargl <kargls@attbi.com>
5175
5176 * g95.h (g95_option_t), options.c (g95_init_options, g95_parse_arg):
5177 remove last remains of -fquiet.
5178
5179 2003-06-22 Paul Brook <paul@nowt.org>
5180
5181 * resolve.c (resolve_operator): Don't fail if we can't simplify.
5182 (g95_resolve_expr): Ditto.
5183 (resolce_code): Mark as static.
5184 * trans-stmt.c (g95_trans_chaaracter_select): Mark labels because the
5185 gimplifer doesn't (yet).
5186
5187 2003-06-20 Paul Brook <paul@nowt.org>
5188
5189 * g95.h: Add ST_PAUSE and EXEC_PAUSE.
5190 * match.c (g95_match_if): Add ST_PAUSE.
5191 (g95_match_stopcode): New function.
5192 (g95_match_pause, g95_match_stop): Use it.
5193 * parse.c (g95_ascii_statement): Handle ST_PAUSE.
5194 (decode_stmt, next_statement, parse_executable): Ditto.
5195 * resolve.c (resolve_code): Ditto.
5196 * st.c (g95_free_statement): Ditto.
5197 * trans-stmt.c (g95_trans_pause): New function.
5198 * trans-stmt.h: Declare it.
5199 * trans.c (g95_trans_code): Use it.
5200 * trans-decl.c (gfor_fndecl_pause_numeric, gfor_fndecl_pause_string):
5201 Declare.
5202 (g95_build_builtin_function_decls): Initialize them.
5203 * trans.h: Ditto.
5204 * dump-parse-tree.c (g95_show_code_node): Handle EXEC_PAUSE.
5205
5206 2003-06-18 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5207
5208 * io.c (g95_match_open , g95_match_close, g95_match_inquire,
5209 match_filepos): Fix error handling.
5210
5211 2003-06-18 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5212
5213 * array.c (spec_dimen_size, ref_dimen_size, g95_array_dimen_size):
5214 Add assertions on arguments.
5215 * resolve.c (expression_shape): Remove useless &.
5216 * simplify.c (get_kind, g95_simplify_bit_size, g95_simplify_digits,
5217 g95_simplify_ibclr, g95_simplify_ibits, g95_simplify_ibset,
5218 g95_simplify_ishft,g95_simplify_ishftc, g95_simplify_maxexponent,
5219 g95_simplify_minexponent, g95_simplify_radix, g95_simplify_range
5220 g95_simplify_rrspacing, g95_simplify_scale, g95_simplify_spacing,
5221 g95_simplify_tan, g95_simplify_tiny): Clean predicates and assertions.
5222 (g95_simplify_not, g95_simplify_scale): Add assertions.
5223
5224 2003-06-15 Paul Brook <paul@nowt.org>
5225
5226 Clean up stuff to work with the ssa optimizers.
5227 * convert.c (convert): Handle BOOLEAN_TYPEs.
5228 * f95-lang.c (g95_truthvalue_conversion): Implement.
5229 * trans-array.c (g95_trans_array_constructor_value): Group multiple
5230 scalar values.
5231 * trans.h (g95_truthvalue_conversion): Declare.
5232 * trans-intrinsic.c (g95_conv_intrinsic_anyall): Use bool constants.
5233 * trans-stmt.c (g95_trans_character_select): Don't create array
5234 assignments. Mark labels as indirect jump targets.
5235 * trans-types.h (g95_init_types): Use BOOLEAN_TYPE nodes.
5236 (g95_get_dtype_cst): Handle LOGICAL types.
5237
5238 2003-06-14 Paul Brook <paul@nowt.org>
5239
5240 * f95-lang.c (g95_gimplify_expr): New function.
5241 * trans-array.c (g95_trans_array_constructor_value): Don't create
5242 array assignments.
5243 (g95_conv_expr_descriptor): Rename simple->gimple.
5244 * trans-expr.c (conv_expr_op): Use proper logical operators.
5245 * trans-intrinsic.c (build_fixbound_expr): New function.
5246 (build_fix_expr): Ditto.
5247 (g95_conv_intinsic_aint): Use them. Use builtin functions.
5248 (g95_conv_intrinsic_function): Add FLOOR and CEILING.
5249
5250 2003-06-10 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5251
5252 * array.c (g95_compare_array_spec): Remove unreachable code.
5253 * expr.c (g95_copy_expr): Likewise.
5254 * intrinsic.c (g95_convert_type): Likewise.
5255 * misc.c (g95_code2string): Likewise.
5256 * simplify.c (g95_simplify_ishft, g95_simplify_real,
5257 g95_simplify_reshape, g95_simplify_sign, g95_simplify_sqrt): Likewise.
5258 * trans-stmt.c (g95_trans_select): Likewise.
5259 * primary.c (extend_ref): Add an assertion.
5260 * simplify.c (g95_convert_constant): Add const.
5261 * intrinsic.h: Remove g95_check_x_ni.
5262 * f95-lang.c (g95_finish): Call g95_release_include_path.
5263
5264 2003-06-10 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5265
5266 * resolve.c (resolve_contained_functions): Fix typo introduced on
5267 2003-01-13.
5268
5269 2003-06-09 Paul Brook <paul@nowt.org>
5270
5271 * g95.h: Include system.h not hwint.h.
5272 * many: use safe-ctype.h not ctype.h. Change isalpha -> ISALPHA, etc.
5273 * misc.c (g95_getmem): Use xmalloc/memset instead of calloc.
5274
5275 2003-06-09 Paul Brook <paul@nowt.org>
5276
5277 * g95.h (g95_symbol): Add fields for COMMON and EQUIVALENCE variables.
5278 * Make-lang.in (F95_OBJS): Add files for COMMON and EQUIVALENCE.
5279 * trans-decl.c (g95_add_decl_to_functions): Make non-static.
5280 (g95_get_symbol_decl): Handle COMMON and EQUIVALENCE objects.
5281 (g95_generate_function_code): Translate COMMON and EQUIVALENCE
5282 objects.
5283 * trans.h (g95_trans_equivalence, g95_trans_common,
5284 g95_add_decl_to_function): Declare.
5285 * trans-common.c, trans-equivalence.c: New files.
5286
5287 2003-06-08 Steven Bosscher <steven@gcc.gnu.org>
5288
5289 * intrinsic.c (g95_intrinsic_extension): Remove.
5290 (add_functions): Substitute g95_check_x for g95_check_x_ni
5291 everywhere.
5292 (g95_init_expr_extensions): New function.
5293 (g95_intrinsic_func_interface): Use it.
5294 * intrinsic.h: Remove extern decl for g95_intrinsic_extension.
5295 * check.c (g95_check_digit, g95_check_huge, g95_check_kind,
5296 g95_check_precision, g95_check_present, g95_check_radix,
5297 g95_check_range, g95_check_selected_real_kind): Do not set
5298 g95_intrinsic_extension.
5299 (g95_check_x_ni): Remove now duplicate of g95_check_x.
5300
5301 * expr.c (check_inquiry): Add FIXME, fixup some code style.
5302
5303 2003-06-06 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5304
5305 * g95.h (ref_type): Name this type explicitly.
5306 * module.c (MIO_NAME): Add specialisations of mio_name.
5307 (mio_symbol_attribute, mio_typespec, mio_array_ref,
5308 mio_array_spec, mio_ref, mio_expr, mio_symbol): Use them.
5309 (ab_attribute): Name this type explicitly.
5310 (mio_symbol_attribute, mio_expr): Add cast to call to find_enum.
5311
5312 2003-06-05 Kejia Zhao <kejia_zh@yahoo.com.cn>
5313
5314 * trans-intrinsic.c (g95_conv_allocated): New function.
5315 (g95_conv_intrinsic_function): Make G95_ISYM_ALLOCATED work.
5316
5317 2003-06-05 Steven Bosscher <steven@gcc.gnu.org>
5318
5319 * f95-lang.c: Don't include g95-support.h
5320 (g95_mark_addressable): Add prototype.
5321 (g95_init_decl_processing): Remove C front end hack.
5322 * f95-tree.c: Remove file.
5323 * support.c: Remove file.
5324 * g95-support.h: Remove file.
5325 * trans-types.c (g95_init_types): Set up boolean
5326 type related tree nodes.
5327 * Make-lang.in: Remove rules for dead files and
5328 dependencies on them.
5329
5330 2003-06-05 Steven Bosscher <steven@gcc.gnu.org>
5331
5332 * Make-lang.in (F95_ADDITIONAL_OBJS): Remove the final
5333 C front end dependency. Also, convert.c does not depend on
5334 g95-support.h anymore.
5335 * convert.c: Don't include c-common.h and g95-support.h
5336 * f95-lang.c: Don't inlude c-common.h and c-common.def (3x).
5337 (g95_stmt_tree, g95_scope_stmt_stack, anon_aggr_type_p,
5338 stmts_are_full_exprs_p, current_stmt_tree,
5339 current_scope_stmt_stack): Remove.
5340 * g95-support.h (unsigned_conversion_warning): Kill proto.
5341 (boolean_type_node, boolean_true_node, boolean_false_node):
5342 Don't define here. Instead, make then true tree nodes in
5343 trans-types.
5344 * support.c (c_global_trees): Die, C front end, die!!!
5345 (g95_init_c_decl_hacks): Don't touch intmax_type_node,
5346 uintmax_type_node, string_type_node and const_string_type_node.
5347 (decl_constant_value, overflow_warning): Make static functions.
5348 They are in death row too, though.
5349 (default_conversion, c_expand_asm_operands): Remove.
5350 * trans-array.c, trans-expr.c, trans-intrinsic.c, trans-stmt.c,
5351 trans.c: Don't include c-common.h.
5352 * trans-types.c (boolean_type_node, boolean_true_node,
5353 boolean_false_node): Make them real tree nodes.
5354 * trans-types.h (intmax_type_node, string_type_node,
5355 const_string_type_node): Hack to work around C dependencies
5356 in builtin-types.def.
5357
5358 2003-06-04 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5359
5360 * decl.c (decl_types): Add some iterators-like sentinels.
5361 * decl.c (match_attr_spec): Use them.
5362 Use "decl_types" instead of "int".
5363 Add cast in call to g95_match_strings.
5364 * dump-parse-tree.c (g95_show_namespace): Use "g95_intrinsic_op"
5365 instead of "int".
5366 * g95.h (g95_intrinsic_op): Add some iterators-like sentinels.
5367 (g95_interface_info): Use "g95_intrinsic_op".
5368 * dump-parse-tree.c (g95_show_namespace): Use them.
5369 * interface.c (g95_check_interfaces): Use them.
5370 * module.c (read_module, write_module): Use them.
5371 * symbol.c (g95_get_namespace, g95_free_namespace): Use them.
5372 Use "g95_intrinsic_op".
5373 * interface.c (check_operator_interface): Use "g95_intrinsic_op".
5374 Add a default case in switch statement.
5375 * intrinsic.h (g95_generic_isym_id): Moved to...
5376 * g95.h (g95_generic_isym_id): here.
5377 (g95_intrinsic_sym): Use "g95_generic_isym_id".
5378 * intrinsic.c (make_generic): Use "g95_generice_isym_id".
5379 * trans-intrinsic.c (g95_intrinsic_map_t,
5380 g95_conv_intrinsic_lib_funtion): Use "g95_generice_isym_id".
5381 * match.c (g95_match_intrinsic_op): Add cast in call to
5382 g95_match_strings.
5383
5384 2003-06-03 Steven Bosscher <steven@gcc.gnu.org>
5385
5386 * support.c (skip_evaluation, warn_conversion, lvalue_p,
5387 lvalue_or_else, pedantic_lvalue_warning, warn_for_assignment,
5388 constant_fits_type_p, convert_and_check,
5389 unsigned_conversion_warning): Remove these ugly remnants
5390 we inherited from the C front end.
5391 (function_types_compatible): Remove '#if 0'-edcode.
5392 (build_modify_expr): Likewise.
5393 (convert_for_assignment): Don't use the deceased functions.
5394 The parameter fundecl is now unused.
5395 (decl_constant_value): Always just return decl. In fact
5396 this function is not used at present, but it might be in
5397 the future, when we start using the tree inliner.
5398 (overflow_warning, default_conversion, c_expand_asm_operands):
5399 Abort when these are called, they are part of the C type
5400 checking implementation and therefore poison to Fortran.
5401
5402 2003-06-04 Steven Bosscher <steven@gcc.gnu.org>
5403
5404 * Make-lang.in (F95_ADDITIONAL_OBJS): Don't depend on
5405 c-pretty-print.o and c-dump.o. Add a comment on why we
5406 depend on c-semantics.c.
5407 * f95-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN):
5408 Don't use the C front end tree dumper hook to dump the
5409 language specific tree representation -- we don't have
5410 one. So instead, inherit the default langhook.
5411
5412 2003-06-02 Paul Brook <paul@nowt.org>
5413
5414 * trans-expr.c (g95_conv_variable): Remove incorrent assertion.
5415
5416 2003-06-02 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5417
5418 * check.c (g95_check_associated): Use proper types. Remove
5419 extraneous argument in call to g95_error().
5420
5421 2003-06-02 Kejia Zhao <kejia_zh@yahoo.com.cn>
5422
5423 * resolve.c (resolve_operator): Make logical operands convert to the
5424 type with higher kind.
5425
5426 2003-06-02 Kejia Zhao <kejia_zh@yahoo.com.cn>
5427
5428 * check.c (g95_check_associated): Make sure both pointer and target has
5429 the same type and rank. Null pointer or array section with vector
5430 subscript as target are not allowed.
5431 * trans.h: Declare gfor_fndecl_associated.
5432 * trans-decl.c: (g95_build_builtin_function_decls): Initialize
5433 gfor_fndecl_associated.
5434 * trans-intrinsic.c (g95_conv_associated): New function.
5435 (g95_conv_intrinsic_function): Make G95_ISYM_ASSOCIATED work.
5436
5437 2003-06-02 Kejia Zhao <kejia_zh@yahoo.com.cn>
5438
5439 * trans-array.c (g95_conv_expr_descriptor): Set the base of POINTER
5440 according to POINTER itself rather than TARGET.
5441 (g95_conv_expr_descriptor): Make lbound start at 1.
5442 * trans-expr.c (g95_trans_pointer_assign): Fix a bug for Nullify.
5443
5444 2003-06-01 Paul Brook <paul@nowt.org>
5445
5446 * expr.c (g95_type_convert_binary): Make it match the standard.
5447 * g95.texi: Remove dead link.
5448
5449 2003-06-01 Steven Bosscher <steven@gcc.gnu.org>
5450
5451 * g95.texi: Cleanup somewhat in preparation for inclusion
5452 in GCC CVS.
5453
5454 2003-05-23 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5455 Canqun Yang <canqun@yahoo.com.cn>
5456
5457 * resolve.c (compare_bound_int, resolve_where_shape): Proper return
5458 type.
5459 (g95_find_forall_index): Return proper value.
5460 (g95_resolve_assign_in_forall, g95_resolve_forall): Use proper type to
5461 compare the return value from g95_find_forall_index.
5462
5463 2003-05-23 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5464 * g95.h, io.c (g95_st_label): Remove "length".
5465 (g95_symtree): Remove "link".
5466 (g95_case): Remove "code".
5467 * arith.c, arith.h (g95_compare_string, g95_convert_integer,
5468 g95_convert_real): Make an argument pointer to const.
5469 * decl.c (colon_seen): Add a TODO.
5470 * interface.c (g95_compare_types): Fix typo.
5471 * interface.c (compare_interfaces): Preserve value of "p".
5472 * intrinsic.c (sort_actual): Remove "i".
5473 * match.c (g95_match_assign): Proper type in call to g95_match().
5474 * parse.c (next_free): Avoid duplicate call due to macro.
5475 * parse.c (check_statement_label): wrong type in call to g95_error.
5476 * primary.c (match_real_constant): Add a TODO.
5477 * resolve.c (resolve_select): Remove useless conditional.
5478 * simplify.c (g95_simplify_repeat): Proper assignment to
5479 "value.character.string".
5480 * simplify.c (g95_simplify_reshape): Wrong variable in call to
5481 g95_error.
5482
5483 2003-05-20 Canqun Yang <canqun@yahoo.com.cn>
5484
5485 * trans-stmt.c: Remove unnecessary include file defaults.h.
5486
5487 2003-05-19 Lifang Zeng <zlf605@hotmail.com>
5488
5489 * trans-stmt.c (g95_trans_forall_loop): Handle FORALL with negative
5490 stride.
5491 (g95_trans_forall): Allow arbitrary number of FORALL indexes and
5492 actual variables used as FORALL indexes.
5493
5494 2003-05-15 Paul Brook <paul@nowt.org>
5495
5496 * trans-array.c (g95_trans_static_array_pointer): Use
5497 null_pointer_node.
5498 (g95_trans_deferred_array): Initialize static array pointers.
5499 * trans-expr.c (g95_conv_function_call): Use formal arglist to
5500 correctly pass POINTER and absent CHARACTER arguments.
5501
5502 2003-05-14 Lifang Zeng <zlf605@hotmail.com>
5503
5504 * resolve.c (g95_resolve_forall): Resolve FORALL construct/statement.
5505 (g95_resolve_forall_body): Resolve FORALL body.
5506 (g95_resolve_where_code_in_forall): Resolve WHERE inside FORALL.
5507 (g95_resolve_assign_in_forall): Resolve assignment inside FORALL.
5508 (g95_find_forall_index): Check whether the FORALL index appears in
5509 the expression or not.
5510 (resolve_code): Modified.
5511
5512 2003-05-14 Paul Brook <paul@nowt.org>
5513
5514 * iresolve.c (g95_resolve_spread): Convert ncopies to index_type.
5515
5516 2003-05-13 Paul Brook <paul@nowt.org>
5517
5518 * trans-types.c (g95_max_array_element_size): Now a tree node.
5519 (g95_init_types): Work out max size properly.
5520 (g95_get_dtype_cst): Modify to match.
5521
5522 2003-05-11 Paul Brook <paul@nowt.org>
5523
5524 * trans-io.c (add_case): Create a label decl for case labels.
5525
5526 2003-05-11 Paul Brook <paul@nowt.org>
5527
5528 * arith.c (g95_integer_index_kind): New variable.
5529 * f95-lang.c (g95_init): Move frontend initialization here ...
5530 (g95_post_options): ... from here.
5531 * g95.h (g95_index_integer_kind, g95_resolve_index): Declare.
5532 * intrinsic.c (add_functions): Use index kinds.
5533 * iresolve.c: Convert to index_kind where needed.
5534 * resolve.c (g95_resolve_index): Make public, use index_kind.
5535 (resolve_array_ref): Adjust to match.
5536 * trans-array.c: Rename g95_array_index_kind to g95_index_integer_kind.
5537 * trans-stmt.c: Ditto.
5538 * trans-types.c: Ditto.
5539 * trans-types.h (g95_array_index_kind): Remove declaration.
5540 * trans-expr.c (g95_conv_expr_present): Use null_pointer_node.
5541
5542 2003-05-07 Paul Brook <paul@nowt.org>
5543
5544 * trans-const.c (g95_conv_mpz_to_tree): Typecast constant.
5545 * trans-intrinsic.c (g95_conv_intrinsic_bound): Convert type
5546 of bound indices.
5547
5548 2003-05-07 Paul Brook <paul@nowt.org>
5549
5550 * trans-array.c (trans_static_array_pointer,
5551 g95_trans_array_constructor_value, g95_conv_array_initializer,
5552 g95_conv_structure): CONSTRUCTOR nodes only have one operand.
5553 (g95_add_loop_ss_code): Convert subscripts to the correct type.
5554 * trans-stmt.c (g95_trans_character_select): Ditto.
5555 * trans-types.c (g95_init_types): Ditto.
5556
5557 2003-05-07 Steven Bosscher <steven@gcc.gnu.org>
5558
5559 * f95-lang.c (expand_function_body): Use input_line, not lineno.
5560 * trans-decl.c (g95_generate_function_code,
5561 g95_generate_constructors): Likewise.
5562 * trans.c (g95_trans_runtime_check, g95_add_block_to_block,
5563 g95_get_backend_locus, g95_set_backend_locus, g95_trans_code):
5564 Likewise.
5565
5566 2003-05-07 Kejia Zhao <kejia_zh@yahoo.com.cn>
5567 * trans-types.c (g95_get_derived_type): Fix bug for DERIVED type
5568 with components point to the DERIVED type itself, and two DERIVED
5569 type with components point to each other.
5570 * trans-expr.c (g95_conv_componet_ref): Modified
5571
5572 2003-05-07 Kejia Zhao <kejia_zh@yahoo.com.cn>
5573 * trans-expr.c (g95_conv_expr): Translate EXPR_NULL into
5574 null_pointer_node.
5575 (g95_trans_pointer_assign): Implement Nullify.
5576
5577 2003-05-01 Paul Brook <paul@nowt.org>
5578
5579 * trans-array.c (g95_walk_function_expr): Cope with NULL esym.
5580 * trans-decl.c (g95_get_symbol_decl): Don't mangle dummy functions.
5581
5582 2003-05-01 Paul Brook <paul@nowr.org>
5583
5584 * trans-array.c, trans.c, trans-expr.c, trans-intrinsic.c,
5585 trans-stmt.c: Replace empty_stmt_node with build_empty_stmt () and
5586 IS_EMPTY_STMT.
5587
5588 2003-05-01 Canqun Yang <canqun@yahoo.com.cn>
5589
5590 * trans-stmt.c (g95_trans_integer_select): Add a parameter to build
5591 CASE_LABEL_EXPR.
5592
5593 2003-04-28 Paul Brook <paul@nowt.org>
5594
5595 * iresolve.c (g95_resolve_transpose): COMPLEX types are twice as big
5596 as their kind suggests.
5597 (g95_resolve_reshape): Ditto.
5598
5599 2003-04-28 Chun Huang <compiler@sohu.com>
5600
5601 * trans-expr.c (g95_conv_substring_expr): New function.
5602 (g95_conv_expr): Use it.
5603
5604 2003-04-28 Paul Brook <paul@nowt.org>
5605
5606 * iresolve.c (g95_resolve_transpose): Make it match the
5607 implementation.
5608 * trans-intrinsic.c (g95_is_intrinsic_libcall): Add TRANSPOSE.
5609
5610 2003-04-18 Steven Bosscher <steven@gcc.gnu.org>
5611
5612 * trans-types.c (g95_add_field_to_struct): New function to
5613 add a field to a UNION_TYPE or RECORD_TYPE.
5614 * trans-types.h (g95_add_field_to_struct): Prototype.
5615 (g95_get_derived_type): Use g95_add_field_to_struct to add
5616 components.
5617 * trans-io.c (g95_add_field): Remove.
5618 (ADD_FIELD): Use new g95_add_field_to_struct function.
5619 (ADD_STRING): Likewise.
5620 * trans-stmt.c (g95_trans_select): Likewise.
5621 (g95_add_field): Remove duplicated function.
5622
5623 2003-04-18 Canqun Yang <canqun@yahoo.com.cn>
5624
5625 Port implementation for CHARACTER SELECT from Andy's tree.
5626 * trans-stmt.c (g95_trans_character_select): Implement character
5627 select. (g95_add_field): New function.
5628 * trans-decl.c: Declare 'gfor_gndecl_select_string'.
5629 (g95_build_builtin_function_decls): Add 'gfor_fndecl_select_string'.
5630 * g95.h (struct g95_case): Add field 'int n'.
5631 * trans.h: Declare 'gfor_fndecl_select_string'.
5632
5633 2003-04-18 Steven Bosscher <steven@gcc.gnu.org>
5634
5635 * bbt.c (duplicate_key, g95_insert_bbt_with_overlap): Remove.
5636 (g95_insert_bbd): Die on duplicates.
5637 * g95.h (g95_insert_bbt_with_overlap): Delete prototype.
5638
5639 2003-04-14 Steven Bosscher <steven@gcc.gnu.org>
5640
5641 * g95.texi: Require GMP 4.0 -- like we actually
5642 do. Explain the testsuite and what-goes-where.
5643 Don't use undefined texinfo symbol. Break very
5644 long line. Remove finished item from the list
5645 of open projects.
5646
5647 2003-04-11 Canqun Yang <canqun@yahoo.com.cn>
5648
5649 * trans-stmt.c (g95_evaluate_where_mask): Give mask temporaries
5650 LOGICAL type.
5651
5652 2003-04-10 Canqun Yang <canqun@yahoo.com.cn>
5653
5654 * trans-stmt.c (g95_trans_forall): Implement WHERE inside FORALL.
5655 (g95_trans_forall_body): New function.
5656
5657 2003-04-10 Canqun Yang <canqun@yahoo.com.cn>
5658
5659 * resolve.c (resove_where): New function.
5660 (resolve_where_shape): New function.
5661 (resolve_code): Add call to 'resolve_where'
5662 * trans-stmt.c (g95_trans_where): Modified.
5663 (g95_trans_where_2): New function.
5664 (g95_trans_where_assign): New function.
5665 (g95_evaluate_where_mask): New function.
5666 (g95_add_to_stmt_list): New function.
5667 (g95_get_temp_expr): New function.
5668 * trans.h (where_stmt_list): New structure.
5669
5670 2003-04-10 Paul Brook <paul@nowt.org>
5671
5672 * g95spec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
5673 (DEFAULT_WORD_SWITCH_TAKES_ARG): Ditto.
5674
5675 2003-04-10 Steven Bosscher <steven@gcc.gnu.org>
5676
5677 Update after mainline -> tree-ssa-branch merge.
5678 * f95-lang.c (g95_mark_addressable): Update put_var_into_stack
5679 call.
5680 (g95_init): Update for new lang_hooks definition.
5681 (g95_post_options): New langhook.
5682 (LANG_HOOK_POST_OPTIONS): Clear, then define to g95_post_options.
5683 * scanner.c (g95_new_file): Comment update.
5684
5685 2003-04-09 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5686
5687 * g95.h, lang-options.h: Add -Wimplicit-interface.
5688 * options.c (g95_init_options, g95_parse_arg): Set it.
5689 * interface.c (check_intents): Warn about call with implicit
5690 interface.
5691 * resolve.c (resolve_unknown_f, resolve_unknown_s): Call
5692 g95_procedure_use.
5693
5694 2003-04-05 Paul Brook <paul@nowt.org>
5695
5696 * iresolve.c (g95_resolve_spread): Don't resole based on type.
5697 * trans-intrinsic.c (g95_is_intrinsic_libcall): Add G95_ISYM_SPREAD.
5698
5699 2003-03-29 Paul Brook <paul@nowt.org>
5700
5701 * iresolve.c (g95_resolve_pack): Don't bother resolving based on type.
5702 (g95_resolve_unpack): Ditto.
5703 * trans-intrinsic.c (g95_conv_intrinsic_merge): New Function.
5704 (g95_conv_intrinsic_function): Use it. Remove PACK and UNPACK.
5705 (g95_is_intrinsic_libcall): Add PACK and UNPACK.
5706
5707 2003-03-25 Paul Brook <paul@nowt.org>
5708
5709 * arith.c (g95_unary_user, g95_user): Remove dead functions.
5710 * arith.h: Ditto.
5711 * array.c (g95_free_array_ref): Ditto.
5712 * g95.h: Ditto.
5713 * symbol.c (g95_use_derived_tree): Ditto.
5714 * intrinsic.c (add_functions): Use simplification for SCALE.
5715 * primary.c (g95_match_rvalue): Test sym, not symtree.
5716
5717 2003-03-25 Paul Brook <paul@nowt.org>
5718
5719 * trans-decl.c (build_function_decl): Add parameter before it gets
5720 turned into a constant.
5721 * iresolve.c (g95_resolve_eoshift): Resolve to a useful name.
5722 * trans-intrinsic.c (g95_is_intrinsic_libcall): Add G95_ISYM_EOSHIFT.
5723 * trans-decl.c (g95_create_module_variable): Don't pushdecl constants.
5724
5725 2003-03-22 Paul Brook <paul@nowt.org>
5726
5727 * trans-array.c (g95_conv_array_initializer): Allow scalar
5728 expressions.
5729 * trans-decl.c (g95_finish_var_decl): Result variables are not
5730 module variables.
5731 * trans-intrinsic.c (g95_conv_intrinsic_transfer): New function.
5732 (g95_conv_intrinsic_function): Use it.
5733 * trans-types.h (g95_type_spec): Remove dead declaration.
5734
5735 2003-03-21 Paul Brook <paul@nowt.org>
5736
5737 * trans-decl.c (g95_build_function_decl): Mark string parameters.
5738
5739 2003-03-20 Paul Brook <paul@nowt.org>
5740
5741 * trans-decl.c (g95_build_function_decl): Put character length
5742 parameters at the end of the function declaration.
5743 * trans-expr.c (g95_conv_function_call): Ditto.
5744 * trans-types.c (g95_get_function_type): Ditto.
5745
5746 2003-03-20 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5747
5748 * resolve.c (resolve_formal_arglist): Don't impose intent for
5749 procedure arguments of pure functions.
5750 (resolve_select): Remove redundant assignment.
5751
5752 2003-03-19 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5753
5754 * arith.c (validate_logical), g95.h, options.c (g95_init_options):
5755 Remove option l1.
5756 * g95.h, intrinsic.c(g95_get_intrinsic_sub_symbol): Add const.
5757 * iresolve.c(g95_resolve_cpu_time, g95_resolve_random_number): Add
5758 const.
5759 * lang-options.h: Remove -finline-repack-arrays. Add -fg77-calls.
5760 Order list.
5761 * symbol.c (g95_add_type): Fix typo in comment.
5762
5763
5764 2003-03-16 Paul Brook <paul@nowt.org>
5765
5766 * dump-parse-tree.c (g95_show_code_node): Print resolved sym name.
5767 * expr.c (g95_build_call): Remove.
5768 * f95-lang.c (puchdecl_top_level): New function.
5769 * g95.h (g95_code): Store resolved symbol, not just the name.
5770 * intrinsic.c (g95_intrinsic_namespace): New global namespace.
5771 (g95_intirinsic_init_1, g95_intrinsic_done_1): Use it.
5772 (g95_get_intrinsic_sub_symbol): New function.
5773 * iresolve.c (g95_resolve_cpu_time): Use it.
5774 (g95_resolve_random_number): Ditto.
5775 * resolve.c: Set code->resolved_sym instead of code->sub_name.
5776 * trans-decl.c (g95_get_extern_function_decl): Give external decls
5777 the correct DECL_CONTEXT. Add global symbold to the global scope.
5778 * trans-stmt.c (g95_trans_code): Remove hacks now the fronted is
5779 fixed.
5780
5781 2003-03-16 Paul Brook <paul@nowt.org>
5782
5783 * g95.h (g95_option_t): Add g77_calls. Remove inline_repack_arrays.
5784 * options.c (g95_parse_arg): Ditto.
5785 * module.c (mio_symbol_attribute): Handle the always_explicit bit.
5786 * resolve.c (resolve_formal_arglist): The always_explicit sould be set
5787 for the procedure, not the parameter.
5788 * trans-array.c (g95_trans_g77_array): New function.
5789 (g95_trans_assumed_size): Use it.
5790 (g95_trans_dummy_array_bias): Ditto.
5791 (g95_conv_array_parameter): Handle g77 arrays. Move existing body ...
5792 (g95_conv_expr_descriptor): ... to here. Update callers.
5793 * trans-decl.c (g95_build_dummy_array_decl): Handle g77 arrays.
5794 (g95_get_symbol_decl): Avoid processing g77 arrays multiple times.
5795 * trans-expr.c (g95_conv_function_call): Handle g77 arrays.
5796 * trans-intrinsic.c (g95_get_symbol_for_expr): Never use g77 arrays.
5797 * trans-types.c (g95_is_nodesc_array): Handle g77 arrays.
5798 (g95_sym_type): Ditto.
5799
5800 2003-03-15 Paul Brook <paul@nowt.org>
5801
5802 * trans-array.c (g95_walk_elemental_function_args): Don't amputate the
5803 first chain.
5804 * trans-expr.c (g95_conv_function_call): Use the resolved symbol.
5805
5806 2003-03-14 Paul Brook <paul@nowt.org>
5807
5808 * trans-array.c (g95_array_is_packed): Remove.
5809 (g95_conv_array_base): Correctly handle all descriptorless cases.
5810 (g95_conv_array_stride): Use descriptorless strides.
5811 (g95_trans_dummy_array_bias): Don't always repack the array.
5812 (g95_build_dummy_array_decl): Automatic dummy arrays are only partial
5813 packed.
5814 * trans-types.c (g95_get_nodesc_array_type): Differentiate between
5815 dummy and non-dummy arrays...
5816 (g95_sym_type, g95_get_derived_type): ... like these.
5817 (g95_get_array_type_bounds): Allow discontiguous arrays.
5818
5819 2003-03-12 Paul Brook <paul@nowt.org>
5820
5821 * array.c (g95_resolve_array_spec): Fix comment.
5822 * g95.h (symbol_attributes): New flag always_explicit.
5823 * resolve.c (resolve_formal_arglist): Set it always_explicit.
5824 * iresolve.c (g95_resolve_lbound, g95_resolve_ubound): Simplify.
5825 * trans-array.c (g95_conv_descriptor_dimension): Remove dead assert.
5826 (g95_trans_array_bounds): Allow assumed shape arrays.
5827 (g95_trans_repack_array): Remove.
5828 (g95_trans_dummy_array_bias): Rewite to use descriptorless arrays.
5829 * trans-decl.c (g95_build_qualified_array): Only ignore absent
5830 bounds for assumed size arrays.
5831 (g95_build_dummy_array_decl): Use descriptorless arrays.
5832 * trans-expr.c (g95_conv_expr_present): Allow descriptorless arrays.
5833 (g95_trans_pointer_assign): Fix typo.
5834 * trans-intrinsic.c (g95_conv_intrinsic_function_args): Remove dead
5835 code.
5836 (g95_conv_intrinsic_bound): Rewrite to handle descriptorless arrays.
5837 * trans-types.c (g95_get_nodesc_array_type): Allow non-packed arrays.
5838 Also modify callers.
5839 * trans-types.h (g95_get_nodesc_array_type): Modify prototype.
5840
5841 2003-03-08 Paul Brook <paul@nowt.org>
5842
5843 * trans-array.c (g95_walk_elemental_functions): Don't reverse the SS.
5844 (g95_conv_array_ubound): Provide dummy value for assumed size arrays.
5845 * resolve.c (compare_spec_to_ref): Allow full array sections.
5846
5847 2003-03-08 Paul Brook <paul@nowt.org>
5848
5849 * expr.c (g95_simplify_expr): Also simplify array index and
5850 substring expressions.
5851 * resolve.c (compare_spec_to_ref): Check for assumed size bounds.
5852 * trans-array.c (g95_trans_array_bounds): New function.
5853 (g95_trans_auto_array_allocation): Use it.
5854 (g95_trans_assumed_size): Rewrite.
5855 * trans-decl.c (gfor_fndecl_in_pack, gfor_fndecl_in_unpack): Declare.
5856 (gfor_fndecl_repack): Remove.
5857 (g95_build_qualified_array): Handle absent upper bounds.
5858 (g95_build_dummy_array_decl): Assumed shape arrays are descriptorless.
5859 (g95_get_symbol_decl): Update.
5860 (g95_build_intrinsic_function_decls): Initialize new decls.
5861 * trans.h (gfor_fndecl_in_pack, gfor_fndecl_in_unpack): Declare.
5862 (gfor_fndecl_repack): Remove.
5863 * trans-io.c (g95_build_io_library_fndecls): Correct prototypes.
5864 * trans-types.c: (g95_build_array_type): Merge duplicated code..
5865 (g95_get_nodesc_array_type): Handle absent bounds.
5866 * trans-types.h (g95_get_nodesc_array_type): Declare.
5867
5868 2003-03-04 Paul Brook <paul@nowt.org>
5869
5870 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_3): Define before including
5871 builtin-types.def.
5872
5873 2003-03-02 Paul Brook <paul@nowt.org>
5874
5875 * options.c (g95_init_options): Drfault to 1.
5876 (g95_pasrse_arg): Add -frepack-arrays, use strcmp.
5877 * trans-array.c (g95_conv_array_data, g95_conv_array_base,
5878 g95_conv_array_stride,g95_conv_array_lbound, g95_conv_array_ubound):
5879 Handle non-constant size automatic arrays.
5880 (g95_conv_section_upper_bound, g95_conv_section_startstride): Use
5881 generic bound functions.
5882 (g95_trans_auto_array_allocation): Don't create a descriptor.
5883 (g95_trans_assumed_size): New function (broken).
5884 (g95_trans_dummy_array_bias): Remove unused var.
5885 * trans-array.h (g95_trans_assumed_size): Declare.
5886 * trans-decl.c (create_index_var): New fuction.
5887 (g95_build_qualified_array): New function.
5888 (g95_get_symbol_decl): Use it.
5889 (g95_trans_deferred_vars): Handle assumed shape seperately.
5890 * trans-types.c (get_element_type): Handle heap allocated arrays.
5891 (g95_is_nodesc_array): Include non-const size arrays.
5892 (g95_get_nodesc_array_type): Ditto.
5893
5894 2003-02-23 Paul Brook <paul@nowt.org>
5895
5896 * trans-array.c (g95_array_init_size): Should use stride, not size of
5897 last dimension.
5898
5899 2003-02-18 Paul Brook <paul@nowt.org>
5900
5901 * trans-expr.c (g95_trans_arrayfunc_assign): Nove elemental check
5902 after intrinsic function check.
5903
5904 2003-02-18 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5905
5906 * io.c (match_io): Fix missing return value and remove useless
5907 assignment.
5908 * match.c (g95_match): Remove useless assignment.
5909 * module.c (parse_string): Remove useless post increment.
5910 * simplify.c (g95_simplify_verify): Remove useless assignment.
5911
5912 2003-02-15 Paul Brook <paul@nowt.org>
5913
5914 * expr.c (restricted_intrinsic): Handle bad values gracefully.
5915 * g95.h (symbol_attribute): Add referenced member.
5916 (g95_symbol): Add dummy_order member.
5917 (g95_set_sym_referenced): Declare.
5918 * match.c (g95_match_assignment, g95_match_call): Use it
5919 * primary.c (match_actual_arg, g95_match_rvalue,
5920 g95_match_variable): Ditto.
5921 * symbol.c (next_dummy_order): New variable.
5922 (g95_set_sym_referenced): New function.
5923 (check_done): New function.
5924 (g95_add_*): Use it.
5925 * trans-decl.c: Make formatting conform to GCC standards.
5926 (g95_defer_symbol_init): Add dummy variables in the right order.
5927 (g95_get_symbol_decl): Only accept referenced variables.
5928 (g95_create_module_variable): Module variables are always required.
5929 (generatr_local_decls): New function.
5930 (generate_local_vars): New function.
5931 (g95_generate_function_code): Use it.
5932
5933 2003-02-13 Paul Brook <paul@nowt.org>
5934
5935 * trans-decl.c (g95_conv_struct_cons): Remove.
5936 (g95_get_symbol_decl): Use g95_conv_expr for structure initializers.
5937 * trans-expr.c (g95_conv_structure): New function.
5938 (g95_conv_expr): Use it.
5939
5940 2003-02-09 Paul Brook <paul@nowt.org>
5941
5942 * trans-array.c (g95_array_init_size): Don't evaluate the linit
5943 expressions multiple times.
5944 (g95_trans_auto_arry_allocation): Use pointer not tmp.
5945
5946 2003-02-08 Paul Brook <paul@nowt.org>
5947
5948 * module.c (mio_symtree_ref): Declare as static.
5949 (mio_expr): Remove dead code.
5950 (read_module): Set the symtree link for fixups.
5951 * trans-intrinsic.c (g95_conv_intrinsic_round): Rename...
5952 (build_round_expr): ... to this.
5953 (g95_conv_intrinsic_aint): New function.
5954 (g95_conv_intrinsic_function): Use it.
5955
5956 2003-02-08 Paul Brook <paul@nowt.org>
5957
5958 * trans-array.c (g95_trans_array_constructor_value): Use the acutal
5959 offset after modificaton, not the increment expression.
5960 * dependency.c: Kill excess whitespace.
5961
5962 2003-02-07 Sanjiv Gupta <sanjivg@noida.hcltech.com>
5963
5964 * dependency.h: Remove some function declarations.
5965 * dependency.c (get_no_of_elements): Change this function not to
5966 return int.
5967 * other: Add comments for all modified functions.
5968
5969 2003-02-06 Paul Brook <paul@nowt.org>
5970
5971 * g95spec.c (lang_specific_functions): Fix initializer warning.
5972 * dump-parse-tree.c (g95_show_expr): Use typespec instead of symtree
5973 for structure type names.
5974 * trans-decl.c (g95_cons_structure_cons): New function.
5975 (g95_get_symbol_decl): Use it.
5976 * trans-expr.c (g95_conv_component_ref): Remove duplicate pointer
5977 referencing code.
5978
5979 2003-02-06 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5980
5981 * resolve.c (compare_cases): Add const to casts.
5982
5983 2003-01-30 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
5984
5985 * g95.h (g95_check_f): Change a1 to f1m.
5986 * intrinsic.c (add_sym_1m, check_specific,
5987 g95_intrinsic_func_interface): Use it.
5988
5989 * module.c (init_pi_tree): Remove useless cast.
5990 (fp2): Fix argument type.
5991
5992 * parse.c (parse_select_block): Add comment.
5993
5994 2003-02-05 Toon Moene <toon@moene.indiv.nluug.nl>
5995
5996 * lang-options.h: Fix warning involving C90 concatenated
5997 strings.
5998
5999 2003-02-06 Steven Bosscher <s.bosscher@student.tudelft.nl>
6000 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
6001
6002 * io.c (format_asterisk): Complete initializer to kill warning.
6003 * arith.c (DEF_G95_INTEGER_KIND, DEF_G95_LOGICAL_KIND,
6004 DEF_G95_REAL_KIND, MPZ_NULL, MPF_NULL): New #defines.
6005 (g95_integer_kinds, g95_logical_kinds, g95_real_kinds): Use the
6006 new defines to complete initializers. Kills all warnings.
6007
6008 * Make-lang.in: Comment cleanup.
6009
6010 2003-02-05 Paul Brook <paul@nowt.org>
6011
6012 * array.c (g95_free_constructor): Handle NULL expressions.
6013 * resolve.c (resolve_structure_cons): Ditto.
6014 * decl.c (g95_match_null): New Function.
6015 (variable_decl): Use it.
6016 * module.c (mio_expr): Don't bother saving symtree for EXPR_STRUCTURE.
6017 * primary.c (g95_match_runtime): Don't use symtree for EXPR_STRUCTURE.
6018 * trans-types.c (g95_set_decl_attributes): Remove empty function.
6019
6020 2003-02-05 Paul Brook <paul@nowt.org>
6021
6022 * trans.h (build1_v): New macro.
6023 (build_v): Remove pointless and incorrect prototype.
6024 * various: Use build1_v for GOTO_EXPR and LABEL_EXPRs.
6025 * f95-lang.c (g95_init_builtin_decls): DEF_BUILTIN takes 10 args.
6026
6027 2003-02-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
6028
6029 * Make-lang.in (F95_OBJS): Remove one more dead file.
6030
6031 2003-02-01 Paul Brook <paul@nowt.org>
6032
6033 * lang-specs.h: Don't pass -ffixed-form to the linker.
6034 * trans-decl.c (g95_generate_function_code): Clear saved decl chain.
6035
6036 2003-02-01 Paul Brook <paul@nowt.org>
6037
6038 * Make-lang.in (F95_OBJS): Remove dead files.
6039 * trans-array.c (g95_array_init_size): Do the right thing when
6040 ubound=NULL.
6041 * trans-decl.c (g95_generate_function_code): Initialize deffered
6042 symbol list before translating contained subroutines.
6043 * trans-expr.c (g95_conv_expr, g95_conv_expr_reference): Substitute
6044 scalar invariant values here...
6045 (g95_conv_variable, g95_conv_function_call): ... instead of here ...
6046 * trans-intrinsic.c (g95_conv_intrinsic_function_args): .. and here.
6047
6048 2003-01-29 Paul Brook <paul@nowt.org>
6049
6050 * trans-array.c (g95_add_loop_code): Put pre code in the right block.
6051 (g95_walk_elemental_function_args): Reverse chains before adding.
6052 (g95_reverse_ss): Move about a bit.
6053 * trans-expr.c (g95_conv_function_call): Handle scalar intrinsic
6054 function arguments.
6055
6056 2003-01-28 Paul Brook <paul@nowt.org>
6057
6058 * intrinsic.c (resolve_intrinsic): Use correct union member.
6059 * trans-array.c (g95_trans_dummy_array_bias): Don't touch absent
6060 parameters.
6061 * trans-decl.c (g95_get_symbol_decl): Don't translate initializers for
6062 use associated variables.
6063 * trans-intrinsic.c (g95_conv_intrinsic_present): Move body ...
6064 * trans-expr.c (g95_conv_expr_present): ... to here.
6065 * trans.h: Declare it.
6066 * trans-types.c (g95_sym_type): Assume subroutine if not specified.
6067
6068 2003-01-28 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
6069
6070 * array.c (expand_iterator): Suppress useless assignment.
6071 * decl.c (match_char_spec): Ditto.
6072 * io.c (match_io_iterator): Ditto.
6073 * primary.c (match_real_constant): Ditto.
6074 * interface.c (fold_unary, g95_free_interface, g95_extend_expr):
6075 Ditto. Also, use g95_intrinsic_op not int for intrinsic operators.
6076 * matchexp.c (match_add_operand, match_level_5): Likewise.
6077 * module.c (parse_atom, find_enum): Likewise.
6078 * resolve.c: move #include <string.h>
6079 (resolve_select): Fix serious typo.
6080
6081 2003-01-28 Steven Bosscher <s.bosscher@student.tudelft.n>
6082
6083 * Make-lang.in: Don't build with broken tree-ssa-pre.
6084
6085 2003-01-28 Steven Bosscher <s.bosscher@student.tudelft.nl>
6086
6087 * resolve.c (resolve_index): Add a TODO.
6088 * symbol.c: Remove useless "#include <ctype.h>".
6089
6090 2003-01-27 Paul Brook <paul@nowt.org>
6091
6092 * check.c (check_rest): Allow different type kinds as an extension.
6093 * g95.h (g95_resolve_f): Add f1m.
6094 * intrinsic.c (add_sym_1m, resolve_intrinsic): Use it.
6095 * intrinsic.h: Chenge prototypes for MIN and MAX.
6096 * iresolve.c (g95_resolve_minmax): New function.
6097 (g95_resolve_min, g95_resolve_max): Use it.
6098 * trans-intrinsic.c (g95_trans_intrinsic_minmax): Only evaluate
6099 arguments once.
6100 (g95_conv_intrinsic_present): Fix logic.
6101
6102 2003-01-27 Steven Bossche <s.bosscher@student.tudelft.nl>
6103
6104 * g95.h (g95_case): Don't be a tree, be a double linked list.
6105 * match.c (match_case_selector): Remove redundant semantics check.
6106 Clean up a few goto's to make it a tiny little bit faster.
6107 * resolve.c (case_tree): Die.
6108 (compare_cases): Accept and compare unbounded cases too.
6109 (check_case_overlap): Don't build a tree. Instead, merge-sort the
6110 whole list of g95_cases passed from resolve_select.
6111 (sane_logical_select): Die.
6112 (check_case_expr): Return FAILURE if a CASE label is of the wrong
6113 type kind.
6114 (resolve_select): Fixup case expression for computed GOTOs, put it
6115 in expr, not expr2, for easier handing in the parse tree dumper and
6116 the code generator. Rewrite the rest of the function: Kill
6117 unreachable case labels and unreachable case blocks.
6118 * dump-parse-tree.c (g95_show_code_node): Always dump expr for
6119 an EXEC_SELECT, not case2 anymore.
6120 * trans-const.c (g95_conv_constant_to_tree): New function.
6121 (g95_conv_constant): Use it.
6122 * trans-const.h: Declare prototype for the new function.
6123 * trans-stmt.c (g95_trans_integer_select, g95_trans_logical_select,
6124 g95_trans_character_select): New static functions.
6125 (g95_trans_select): Rewrite.
6126
6127 2003-01-26 Paul Brook <paul@nowt.org>
6128
6129 * intrinsic.c (add_fnctions): Properly add dreal.
6130 * trans-intrinsic.c (g95_conv_intrinsic_present): New function.
6131 (g95_conv_intrinsic_function): Use it.
6132 * trans-io.c (build_dt): Abort on internal files (unimplemented).
6133
6134 2003-01-26 Paul Brook <paul@nowt.org>
6135
6136 Widespread changes to the handling of symbols in expressions. These
6137 are now linked via g95_symtree nodes.
6138 * parse.c (g95_fixup_sibling symbols): New function.
6139 (parse_contained): Use it.
6140 * g95.h (symbol_attribute): Add contained. Indicates a symbol is a
6141 contained procedure that has bee correctly fixed up.
6142 (g95_code, g95_expr): Point to a g95_symtree, not a g95_symbol.
6143
6144 2003-01-24 Paul Brook <paul@nowt.org>
6145
6146 * trans-array.c (g95_walk_expr): Function result attributes are in
6147 sym->result.
6148 * trans-expr.c (g95_conv_function_call,
6149 g95_trans_arrayfunc_assign): Ditto.
6150 * trans-decl.c (g95_get_symbol_for_expr): Set sym->result.
6151
6152 2003-01-23 Steven Bosscher <s.bosscher@student.tudelft.nl>
6153
6154 * expr.c (check_restricted): Fix error message.
6155 * symbol.c (free_st_labels): Plug memleak.
6156
6157 2003-01-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
6158
6159 * arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca,
6160 reduce_binary_aa, reduce_binary, eval_intrinsic,
6161 eval_intrinsic_f2): Use typesafe prototypes for eval functions.
6162 * g95.h (g95_check_f, g95_simplify_f, g95_resolve_f): New unions
6163 for typesafe intrinsics helper functions.
6164 (g95_intrinsic_sym): Use them.
6165 * intrinsic.c (do_check, add_sym, add_sym_0, add_sym_1,
6166 add_sym_1s, add_sym_1m, add_sym_2, add_sym_3, add_sym_4,
6167 add_sym_5, add_conv, resolve_intrinsic, do_simplify,
6168 check_specific, g95_intrinsic_func_interface,
6169 g95_intrinsic_sub_interface): Adjust all calls to intrinsics
6170 helper functions.
6171 * trans-decl.c (g95_get_extern_function_decl): Likewise.
6172 * Make-lang.in: Don't disable warnings for strict prototypes
6173 any longer, everything is typesafe now.
6174
6175 2003-01-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
6176
6177 * bbt.c (duplicate_node): Make static.
6178 * module.c (module_name): Make static.
6179 * scanner.c (include_dirs): Make static.
6180
6181 2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
6182
6183 Hard coded _gfor_'s should not show up anymore.
6184 * g95.h (PREFIX): New macro.
6185 * iresolve.c (g95_resolve_cpu_time): Use PREFIX, not
6186 hard-coded "_gfor".
6187 (g95_resolve_random_number): Likewise.
6188 * trans-decl.c (g95_build_intrinsic_function_decls): Likewise.
6189 * trans-io.c: Remove 'prefix' macro. Replace all uses with
6190 the new PREFIX macro from g95.h.
6191
6192 2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
6193
6194 The troubles of forking... Andy implemented this just now too.
6195 Let's stick to that and keep the trees close.
6196 * g95.h (g95_st_label): 'format' member is now a g95_expr.
6197 * io.c: Revert previous changes.
6198 (g95_match_format): Match the format string as a character
6199 literal expression.
6200 * match.h (g95_statement_label): Declare external.
6201 * parse.c: Revert previous changes.
6202 * symbol.c (g95_free_st_label): Free a g95_expr instead
6203 if a 'char *'.
6204 * trans-io.c: Revert previous changes.
6205 (build_dt): Use set_string to set the format string.
6206
6207 2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
6208
6209 * io.c (format_string): Make non-static.
6210 (g95_match_format): Remember the format string.
6211 (terminate_io): Add I/O termination for empty I/O lists.
6212 * match.h: Declare external format_string.
6213 * parse.c (check_statement_label): Attack the format string
6214 to a format label for FORMAT statements.
6215 * trans-io.c (g95_add_field): Define prefix macro. Replace
6216 all uses of PREFIX define with a use of this macro.
6217 (build_dt): Implement formatted I/O for format labels.
6218
6219 2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
6220
6221 * lang-options.h: Kill "-std=F".
6222 * options.c: Remove unimplemented "-std=F". Modify
6223 web address.
6224 * misc.c (g95_terminal_width): New function.
6225 * error.c (g95_error_init_1): Use g95_terminal_width.
6226 * g95.h: Add prototype for g95_terminal_width, remove
6227 fmode flag.
6228
6229 2003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
6230
6231 * Make-lang.in: Fix typo.
6232
6233 2003-01-18 Steven Bosscher <s.bosscher@student.tudelft.nl>
6234
6235 * g95.h (struct g95_case): Remove unused cruft, new member
6236 'where' to keep track of the locus of the default case.
6237 * match.c (g95_match_case): Add locus to the current case.
6238 (match_case_selector): Likewise.
6239 * parse.c (parse_select_block): Move semantics check for
6240 multiple DEFAULT cases out of here to...
6241 * resolve.c (check_case_overlap): ...here. Return sooner
6242 when possible.
6243 (check_case_expr): Take two g95_cases now, use to sure the
6244 expression kinds are the same.
6245 (resolve_select): Cleanup.
6246
6247 2003-01-18 Paul Brook <paul@nowt.org>
6248
6249 * trans-io.c: Fix typos in ported IO work (set_fla[tg]).
6250 * trans-decl.c (g95_set_symbol_decl): Handle non-array result
6251 variables.
6252 (g95_get_extern_function_decl): Put decls in the correct context.
6253
6254 2003-01-18 Steven Bosscher <s.bosscher@student.tudelft.nl>
6255
6256 * trans-io.c: Port changes from Andy to set ERR flag.
6257
6258 2003-01-17 Paul Brook <paul@nowt.org>
6259
6260 * trans-array.c: Add various comments.
6261 (g95_ss_terminator): Declare as const.
6262 (g95_walk_expr): Remove first parameter and update all callers.
6263 (g95_walk_op_expr): Initialize scalar SS properly.
6264 * trans-array.h (g95_walk_expr): Update prototype.
6265 * trans-expr.c: Update for new g95_walk_expr.
6266 * trans-intrinsic.c: Ditto.
6267 * trans-io.c: Ditto.
6268 * trans.h: Various comments for SS chains.
6269
6270 2003-01-17 Paul Brook <paul@nowt.org>
6271
6272 * intrinsic.h (g95_generic_isym_id): Add G95_ISYM_S?_KIND, SPACING
6273 and RRSPACING.
6274 * intrinsic.c (add_functions): Use them.
6275 * trans-intrinsic.c (g95_conv_intrinsic_function): Ditto.
6276 * trans-expr.c (g95_conv_expr_lhs): Abort on impossible error.
6277
6278 2003-01-17 Steven Bosscher <s.bosscher@student.tudelft.nl>
6279
6280 Fallout of a small merge conflict:
6281 * intrinsic.c: Un-revert lost patch (G95_ISYM_SCALE).
6282
6283 2003-01-17 Steven Bosscher <s.bosscher@student.tudelft.nl>
6284
6285 * initrinsic.c: New add_sym_* functions for strong typing.
6286 (add_conv): Make prototype strict.
6287 * dump-parse-tree.c, dependency.c: Include config.h
6288 * resolve.c, trans-io.c: Fix typos.
6289
6290 2003-01-17 Steven Bosscher <s.bosscher@student.tudelft.nl>
6291
6292 * dump-parse-tree.c (g95_show_code_node): Show the
6293 condition for a computed GOTO that was transformed
6294 to a SELECT CASE construct.
6295 * resolve.c (check_case_overlap): Revert previous switch
6296 to treaps, it was too slow and didn't catch all trouble.
6297 (resolve_symbol): Be more flexible about module procedures.
6298 * symbol.c (check_conflict): Point to relevant section in
6299 the standard for dubious conflict. Allow procedure
6300 dummy arguments to be optional again.
6301 * trans-io (add_field): Rename to g95_add_field. Change
6302 all callers.
6303 * trans-stmt (trans_select): Handle unbounded cases for
6304 integer SELECT CASE constructs. Fix/add more comment.
6305
6306 2003-01-17 Steven Bosscher <s.bosscher@student.tudelft.nl>
6307
6308 * g95.h: Uses GCC's function attribute macros.
6309 * error.c, module.c, parse.c, g95.h: More function attributes.
6310
6311 2003-01-16 Steven Bosscher <s.bosscher@student.tudelft.nl>
6312 Forgot a file...
6313 * trans-decl.c (get_label_decl): Use TREE_LINENO instead
6314 of DECL_SOURCE_LINE, and TREE_FILENAME instead of
6315 DECL_SOURCE_FILE.
6316
6317 2003-01-16 Steven Bosscher <s.bosscher@student.tudelft.nl>
6318
6319 * f95-lang.c (pushdecl): Use TREE_LINENO instead of
6320 DECL_SOURCE_LINE.
6321 * trans.c (g95_trans_code): Use annotate_all_with_file_line
6322 instead of nowdead wrap_all_with_wfl.
6323
6324 2003-01-14 Steven Bosscher <s.bosscher@student.tudelft.nl>
6325
6326 * parse.c (g95_parse_file): In verbose mode, dump the parse tree
6327 before generating code, so we can still see it even if the code
6328 generation phase dies.
6329
6330 2003-01-14 Steven Bosscher <s.bosscher@student.tudelft.nl>
6331
6332 * decl.c (build_sym): Split out initialization expression parts...
6333 (add_init_expr_to_sym): ...to here.
6334 (variable_decl): Add the symbol following an attribute list to the
6335 symbol tree before parsing the optional initialization expression
6336 if the symbol is not of a derived type.
6337 * primary.c (g95_match_rvalue): Don't assume a symbol always has
6338 a value if it is a PARAMETER.
6339
6340 2003-01-14 Steven Bosscher <s.bosscher@student.tudelft.nl>
6341
6342 * misc.c: Don't #include <mcheck.h>
6343 * module.c: Ditto. Kill uses of mtrace, muntrace. If there
6344 ever was a glibc bug, then either this was never reported to
6345 glibc people, or it has been fixed for so long that there's
6346 no information you can find about it, anywhere.
6347
6348 2003-01-14 Steven Bosscher <s.bosscher@student.tudelft.nl>
6349
6350 Fix warnings:
6351 * module.c (attr_bits, bt_types, array_spec_types):
6352 Switch 'const' and 'static'.
6353 * iresolve.c (g95_resolve_reshape): Make __resolve0 non-'const'.
6354
6355 GNU'ify source code:
6356 * trans-io.c: Numerous fixes, one fixed warning and a few
6357 TODO markers so that we don't forget about them.
6358
6359 2003-01-13 Paul Brook <paul@nowt.org>
6360
6361 * intrinsic.c (add_functions): Add G95_ISYM_SCALE.
6362 * intrinsic.h (g95_generic_isym_id): Remove bogus G95_ISYM_ANINIT.
6363 Add G95_ISYM_SCALE.
6364 * trans-intrinsic.c (g95_conv_intrinsic_function): Ditto
6365 * match.c (g95_match_stop): Fix dumb == -> != error.
6366
6367 2003-01-13 Steven Bosscher <s.bosscher@student.tudelft.nl>
6368
6369 * dump-parse-tree.c (show_indent): Add line breaks. This
6370 whole dumping process needs cleanups.
6371 * f95-lang.c (g95_mark_addressable): Fix prototype to match
6372 the langhook. Fix 'return's accordingly.
6373 * g95-support.h: Adjust prototype.
6374 * g95.h: Add 'no_backend' member to 'g95_option_t' struct.
6375 * lang-options.h: Add '-fsyntax-only'.
6376 * options.c (g95_init_options): Init 'no_backend'.
6377 (g95_parse_arg): Deal with '-fsyntax-only'.
6378 * parse.c (g95_parse_file): Do not generate code if 'no_backend'
6379 is set.
6380
6381 2003-01-13 Steven Bosscher <s.bosscher@student.tudelft.nl>
6382 Patch from Arnaud
6383 * resolve.c (resolve_symbol): Assumed shape arrays must be dummy
6384 arguments. Also make sure that if a symbol is marked INTRINSIC,
6385 an intrinsic with the symbol's name actually exists.
6386 (check_conflict): Make EXTERNAL and DIMENSION attributes conflict.
6387 Do not allow PROCEDURES to have the SAVE, POINTER, TARGET,
6388 ALLOCATABLE, RESULT, IN_NAMESPACE, OPTIONAL or FUNCTION attribute.
6389
6390 2003-01-13 Steven Bosscher <s.bosscher@student.tudelft.nl>
6391
6392 * resolve.c (resolve_contained_functions): Fix condition, don't
6393 throw internal_error if a child namespace has no name. Apparently
6394 this can be the case?
6395
6396 2003-01-11 Paul Brook <paul@nowt.org>
6397
6398 Port changes from Andy's tree:
6399 * g95.h (g95_code): Add stop_code.
6400 * match.c (g95_match_stop): Detter syntax checking.
6401 * resolve.c (resolve_generic_f0): Return match type.
6402 (resolve_generic_f): Remove dead/duplicated code.
6403 (resolve_specific_f): Ditto.
6404 * dump-parse-tree.c (g95_show_code_node): Handle new STOP format.
6405 * trans-decl.c (gfor_fndel_stop_*): New fndecl nodes.
6406 * trans-stmt.c (g95_trans_stop): Handle new STOP format.
6407
6408 2003-01-11 Paul Brook <paul@nowt.org>
6409
6410 * trans-array.c: Various documentation/comment changes.
6411 * trans-stmt.c: Ditto.
6412
6413
6414 2003-01-10 Paul Brook <paul@nowt.org>
6415
6416 * options.c/h: Add -fdump-parse-tree as alias of -v.
6417
6418 2003-01-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6419
6420 * dump-parse-tree.c (g95_show_namespace): Fixed another
6421 typo. Sorry, it's Friday...
6422
6423 2003-01-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6424
6425 Spotted by Tobi:
6426 * trans-array.c, trans-array.h, trans.c, trans-const.c,
6427 trans-const.h, trans-decl.c, trans-expr.c, trans.h
6428 trans-intrinsic.c, trans-io.c, trans-stmt.c, trans-stmt.h
6429 trans-types.c: Fix bogus copyright years, add 2003.
6430 * trans-types.h: Give copyright header.
6431
6432 2003-01-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6433
6434 * dump-parse-tree.c (g95_show_namespace): Fixed typo.
6435 * expr.c, options.c, scanner.c: Add some more 'const' markers.
6436 * intrinsic.c: Some constant strings moved to read-only memory.
6437 * io.c (format_asterisk): Move to...
6438 * g95.h: ...here.
6439
6440 2003-01-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6441
6442 * dump-parse-tree.c (g95_show_namespace): Dump implicit
6443 types for ranges instead of per-letter. Indent the
6444 'CONTAINS' just like everything else.
6445 * resolve.c (resolve_contained_functions): Clarify comment.
6446 Explain non-obvious conditional expression. Improve
6447 diagnostics if tyoe cannot be resolved.
6448 Port semi-fix from Andy's tree:
6449 (was_declared): Move up before first use.
6450 (generic_sym, specific_sym): New functions. Code moved
6451 out if procedure_kind.
6452 (procedure_kind): Simplify using new functions.
6453 (resolve_generic_f): Make sure the functions we find in
6454 a parent namespace is generic.
6455 (resolve_specific_f): Ditto for specific functions.
6456
6457 2003-01-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6458
6459 * trans-stmt.c, trans.c: Fix some code style issues. Add
6460 some more comment (but still not enough!).
6461
6462 2003-01-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6463
6464 * symbol.c (flavors, procedures, intents, acces_types,
6465 access_types, ifsrc_types): Make const.
6466 * misc.c (g95_string2code): Make 'm' param 'const'.
6467 * module.c (find_enum, write_atom, mio_name): Make
6468 'm' param 'const'.
6469 (attr_bits, bt_types, array_spec_types, array_ref_types,
6470 ref_types, expr_types): Make const.
6471 * g95.h: Adjust external decls.
6472
6473 2003-01-09 Paul Brook <paul@nowt.org>
6474
6475 * Testsuite: Add a load of new cases.
6476
6477 2003-01-08 Steven Bosscher <s.bosscher@student.tudelft.nl>
6478
6479 * Make-file.in: Add dependency on back end header files;
6480 a parallel build should work now.
6481 * f95-lang-c (lang_identifier): Remove bogus comment.
6482 (g95_be_parse_file): Fix prototype.
6483 (g95_init): Make static.
6484 (g95_finish): Make static.
6485 * error.c (g95_syntax_error): Kill. Make define in...
6486 * g95.h (g95_syntax_error): Define.
6487 (g95.options): Make 'source' member 'const'.
6488 * interface.c (g95_match_interface): Explain
6489 hard-to-read condition.
6490 (g95_match_end_interface): Ditto.
6491 * trans_const.c (g95_build_string_const): Make 's' parameter
6492 'const'.
6493 * trans_const.h: Adjust protoype accordingly.
6494 * trans-decl.c: Include tree-dump.h
6495 (g95_generate_function_code): Build fixes for recent changes
6496 in the tree-ssa branch.
6497
6498 2003-01-08 Steven Bosscher <s.bosscher@student.tudelft.nl>
6499
6500 * format.c: Kill, move code from here...
6501 * io.c: ...to here.
6502 * Make-lang.in: Adjust.
6503 * MANIFEST: Ditto.
6504 * match.h: Ditto.
6505 * BUGS: Mention where to submit bugs. Move old content...
6506 * TODO: ...to here. New file.
6507
6508 2003-01-08 Steven Bosscher <s.bosscher@student.tudelft.nl>
6509 Fix most warnings, and suppress the ones we can't fix for now.
6510 * Make-lang.in: Suppress warnings about bad proto's in g95.h,
6511 these warnings just clutter the screen and there's not much
6512 we can do about them for now anyway.
6513 * check.c, iresolve.c: Mark unused function parameters.
6514 * dump-parse-tree.c (g95_show_array_spec): Punt on AS_UNKNOWN,
6515 they should be resolved before they get here.
6516 * error.c: Remove unused FILE *status_out.
6517 * f95-lang.c (g95_init): Remove bogus cast.
6518 * Many files: Make things 'const' where required.
6519 * g95.h: Fix prototypes for all modified functions above.
6520 (g95_options): Remove 'object' member.
6521
6522 2003-01-07 Steven Bosscher <s.bosscher@student.tudelft.nl>
6523
6524 * Make-file.in: Cleanup bogus targets. Add more comment.
6525 * lang-options.h: New option '-w'.
6526 * g95.h: add no_options field to struct g95_options.
6527 * options.c (g95_init_options): Default no_warnings to off.
6528 (g95_parse_arg): Recognise the '-w' switch and its alias,
6529 '-fno-warnings'.
6530 * error.c (g95_warning, g95_warning_now): Don't emit warning if
6531 no_warning option is set.
6532 * iresolve.c (g95_resolve_shape): Fix warning.
6533
6534 2003-01-07 Steven Bosscher <s.bosscher@student.tudelft.nl>
6535
6536 * primary.c (g95_next_string_char): Rename next_string_char, and
6537 make static. Adjust callers accordingly.
6538 * resolve.c (resolve_generic_f0): Return try, not match. Adjust
6539 callers accordingly.
6540 * g95.h: Split out all g95_match* functions to...
6541 * match.h: ...here. New file.
6542 * array.c, decl.c, expr.c, format.c, interface.c, io.c, match.c,
6543 matchexp.c, module.c, parse.c, primary.c: Inlcude match.h
6544
6545 2003-01-07 Steven Bosscher <s.bosscher@student.tudelft.nl>
6546
6547 * symbol.c (g95_clear_new_implicit, g95_add_new_implicit_range,
6548 g95_merge_new_implicit): New functions.
6549 (g95_match_implicit_none, g95_match_implicit): Move from here...
6550 * match.c (g95_match_implicit_none, g95_match_implicit): ... to here.
6551 Modify to use the new functions in symbol.c.
6552 * g95.h: Add and move prototypes.
6553
6554 2003-01-06 Steven Bosscher <s.bosscher@student.tudelft.nl>
6555
6556 * bbt.c (insert): Use a typedef'ed compare_fn prototype for the
6557 node compare function.
6558 (g95_insert_bbt): Likewise.
6559 (g95_insert_bbt_with_overlap): Likewise.
6560 (g95_delete_bbt): Likewise.
6561 (delete_treap): Likewise. Also fix a potential bug when calling it.
6562 * module.c (compare_pointers): Change proto to compare_fn.
6563 (compare_integers): Likewise.
6564 (compare_true_names): Likewise.
6565 (find_true_name): Adjust call to compare_true_names to match proto.
6566 (require_atom, write_atom, mio_name): Fix 'const' warnings.
6567 (init_pi_tree): Make compare a compare_fn instead of (int *).
6568 * resolve.c (compare_cases): Change proto to compare_fn.
6569 * symbol.c (g95_compare_symtree): Change proto to compare_fn, make
6570 it static, and rename to compare_symtree.
6571 (delete_symtree, g95_undo_symbols, g95_new_symtree): Use renamed
6572 function.
6573 * g95.h: Kill g95_compare_symtree prototype. Adjust prototypes
6574 of g95_insert_bbt, g95_insert_bbt_with_overlap, and g95_delete_bbt.
6575
6576 2003-01-06 Steven Bosscher <s.bosscher@student.tudelft.nl>
6577 * Make-lang.in: Fix spaces/tabs issues from previous patch.
6578 * patch.options: Blow away Paul's checkin mistake :-)
6579 * io.c (terminate_io): Fix memory leak (Arnaud).
6580
6581 2003-01-06 Steven Bosscher <s.bosscher@student.tudelft.nl>
6582
6583 * Make-lang.in: Teach about building DVI, info manual.
6584 * g95.texi: New file.
6585
6586 2003-01-02 Paul Brook <paul@nowt.org>
6587
6588 * trans-array.c (g95_reverse_ss): Make static and don't use.
6589 (g95_conv_ss_descriptor): Don't use g95_loopinfo
6590 (g95_conv_array_parameters): Modify for pointer assignments.
6591 (g95_walk_subexpr): New function.
6592 (g95_walk_expr*): Use it.
6593 * trans-array.h (g95_reverse_ss): Remove prototype.
6594 * trans-expr.c (g95_trans_pointer_assign): Implement.
6595 (Many): Set se.want_pointer before calling g95_conv_array_parameter.
6596 * trans-intrinsic.c: Sync with scalarizer changes.
6597 * trans-io.c: Ditto.
6598
6599 2002-12-29 Paul Brook <paul@nowt.org>
6600
6601 * trans-array.c: Document calling convention for arrays.
6602
6603 2002-12-19 Paul Brook <paul@nowt.org>
6604
6605 * trans-intrinsic.c (g95_conv_intrsinsic_function): Remove incorrect
6606 assertion. Remove intrinsic subroutine G95_ISYM_* cases. Always pass
6607 optional parameters for some intrinsics.
6608 (g95_is_intrinsic_libcall): Add G95_ISYM_RESHAPE.
6609 * trans-expr.c (g95_conv_function_call): Pass NULL for absent
6610 optional parameters.
6611 * trans.h (g95_se): Add ignore_optional flag.
6612
6613 2002-12-15 Paul Brook <paul@nowt.org>
6614
6615 * trans-array.c (g95_conv_array_parameter): Fix partial rank sections.
6616 * trans-decl.c (g95_generate_function_code): Use TDI_original.
6617
6618 2002-12-14 Paul Brook <paul@nowt.org>
6619
6620 * trans-stmt.c (g95_trans_call): Use resolved symbol name.
6621
6622 2002-12-12 Paul Brook <paul@nowt.org>
6623
6624 * trans-array.c (g95_trans_array_constructor_subarray): Fully
6625 initialize the scalarizer.
6626 (various): Update to new format of g95_expr->value.constructor.
6627
6628 2002-12-08 Paul Brook <paul@nowt.org>
6629
6630 * trans-array.c (g95_put_offset_into_var): New function.
6631 (g95_trans_array_constructor_subarray): New function.
6632 (g95_trans_array_constructor_value): Use it.
6633 (g95_array_cons_size): Don't abort() on array components.
6634
6635 2002-12-08 Paul Brook <paul@nowt.org>
6636
6637 * Make-lang.in (F95_ADDITIONAL_OBJS): Remove tree-dchain.o.
6638 * support.c: Update #includes.
6639 (statement_code_p, c_size_in_bytes, s_size_type_node): Remove.
6640 * trans-array.c: Update #includes.
6641 * trans.c: Ditto.
6642 * trans-const.c: Ditto.
6643 * trans-io.c: Ditto.
6644 * trans-types.c: Ditto.
6645 (g95_init_types): Set size_type_node.
6646 * trans-decl.c: Update #includes.
6647 (gfor_fndecl_adjust{l,r}): Declare and initialize.
6648 * trans-stmt.c: Update #includes.
6649 (g95_trans_do_while): Generate LABEL_EXPR, not GOTO_EXPR.
6650 (g95_trans_select): Fix check for unbounded ranges.
6651 * trans-expr.c: Update #includes.
6652 (g95_conv_string_tmp): New function.
6653 (g95_conv_concat_op): Use it.
6654 * trans.h (g95_conv_string_tmp, gfor_fndecl_adjust{l,r}): Declare.
6655 * Trans-intrisic.c: Update #includes.
6656 (g95_conv_intrinsic_strcmp): New function.
6657 (g95_conv_intrinsic_adjust): Ditto.
6658 (g95_conv_intrinsic_function: Use them.
6659
6660 2002-11-30 Paul Brook <paul@nowt.org>
6661
6662 * trans-array.c (g95_walk_function_expr): Handle non-array return by
6663 reference.
6664 * trans-dec.c (g95_build_function_decl): Handle character return
6665 parammeters.
6666 (g95_get_fake_result_decl): Ditto.
6667 (g95_trans_deferred_vars): Ditto.
6668 * trans-expr.c (g95_conv_function_call): Ditto.
6669 (g95_trans_arrayfunc_assign) Limit to array valued functions.
6670 * trans-intrinsic.c (g95_conv_intrinsic_char): New function.
6671 (g95_conv_intrinsic_function): Use it.
6672 * trans-types.c (g95_sym_type): Handle functions returning strings.
6673 (g95_return_by_reference): Ditto.
6674 (g95_get_function_type): Ditto.
6675
6676 2002-11-18 Paul Brook <paul@nowt.org>
6677
6678 * trans-stmt.c (g95_trans_if): Fix IF statements when the condition
6679 requires a temporary.
6680 (g95_trans_select): Handle computed gotos.
6681 * trans-types.c (g95_build_array_type): Warn about non-functional
6682 assumed shape arrays.
6683 * trans-expr.c (g95_trans_scalar_assign): Correctly handle post
6684 blocks.
6685 * trans-intrinsic.c (g95_conv_intrinsic_round): New function.
6686 (g95_conv_intrinsic_int): New function.
6687 (g95_conv_intrinsic_mod): New function.
6688 (g95_conv_intrinsic_ichar): New function.
6689 (g95_conv_intrinsic_function): Use them.
6690 (g95_conv_intrinsic_dim): Use g95_evaluate_now.
6691
6692 2002-11-17 Toon Moene <toon@moene.indiv.nluug.nl>
6693
6694 * trans-types.c (g95_build_array_type): Assumed
6695 sized arrays can have rank > 1.
6696 * trans.c (g95_trans_code): Remove erroneous
6697 warning about CONTINUE.
6698 * trans-expr.c (g95_conv_variable): Remove
6699 erroneous assert.
6700
6701 2002-11-15 Paul Brook <paul@nowt.org>
6702
6703 * trans-array.c (g95_conv_array_parameter): Check for NULL stride.
6704
6705 2002-10-31 Paul Brook <paul@nowt.org>
6706
6707 * f95-tree.c: Remove tree copying stuff that's now in gimple.c
6708 * trans-expr.c (g95_conv_component_ref): Handle character string
6709 components.
6710 (g95_conv_string_parameter): Ditto.
6711 * trans-types.c (g95_get_derived_type): Add length decl to caracter
6712 string components.
6713
6714 2002-10-10 Paul Brook <paul@nowt.org>
6715
6716 * trans-decl.c (gfor_fndecl_size?): Declare and initialize.
6717 * trans-expr.c (g95_conv_function_call): Remove unreliable return value
6718 check.
6719 * trans-intrinsic.c (g95_conv_intrinsic_size): New function.
6720 (g95_conv_intrinsic_function): Handle size and shape intrinsics.
6721 (g95_is_intrinsic_libcall): Add G95_ISYM_SHAPE.
6722 * trans-types.c (pvoid_type_node): Declare and initialize.
6723 * trans-array.c: Fix typo COMPONENT_REF->REF_COMPONENT
6724 (g95_array_allocate): Fix when base==data.
6725 (g95_conv_array_parameter): Correctly handle reduced rank sections.
6726 * trans-io.c (g95_trans_write): Correctly handle string modifiers.
6727
6728 2002-10-09 Paul Brook <paul@nowt.org>
6729
6730 * (g95_conv_expr_reference): Handle character strings correctly.
6731
6732 2002-10-07 Paul Brook <paul@nowt.org>
6733
6734 (g95_expand_decl): Rename from f95_expand_decl_stmt and use as
6735 langhook.
6736 * trans-array.c (g95_build_array_initializer): Remove.
6737 (g95_conv_array_initializer): New Function.
6738 (g95_trans_auto_arry_allocation): Cleanup.
6739 (g95_trans_init_character_array): Remove.
6740 * g95spec.c: Link in libgforbegin.
6741 * trans.c (g95_generate_code): Rename main function to MAIN__.
6742 (g95_create_var): New function.
6743 (g95_create_var_np): New function.
6744 (g95_evaluate_now): New function.
6745 (g95_start_block): New function.
6746 (g95_finish_block): New function.
6747 (g95_add_expr_to_block): New function.
6748 (g95_add_block_to_block): New function.
6749 * trans-expr.c (g95_conv_componen_ref): New function.
6750 * Make-lang.in (F95_ADDITIONAL_OBJS): Add gimplify.o.
6751 (F95_OBJS): Add dependency.o.
6752 * f95-lang.c (g95_is_simple_stmt): Remove.
6753 * f95-tree.c (mark_not_simple): New function.
6754 (unshare_all_trees): New function.
6755 (create_tmp_var, create_tmp_alias_var): Remove.
6756 * support.c (declare_tmp_vars, tree_last_decl): Remove.
6757 * trans*: Convert to new IR using GENERIC trees. Don't bother about
6758 SIMPLE/GIMPLE rules, this is now done by Lang-independant code.
6759
6760 2002-10-01 Paul Brook <paul@nowt.org>
6761
6762 * trans-array.c: Add support for descriptorless arrays.
6763 (g95_conv_array_data): New function.
6764 (g95_conv_array_base): New function.
6765 * trans-array.h: Declare these here.
6766 * trans-decl.c(g95_create_mopdule_variable): Perform variable
6767 initialization and creation here.
6768 (g95_create_module_vars): Instead of here.
6769 * trans.h (G95_TYPE_ARRAY_*: Rename from G95_TYPE_DESCRIPTOR_*.
6770 * trans-intrinsic.c: Ditto.
6771 * trans-types.c (g95_is_nodesc_array): New function.
6772 (g95_get_nodesc_array_type): New function.
6773 (g95_sym_type, g95_get_derived_type): Use them.
6774 * trans-const.c (g95_conv_mpf_to_tree): Remove workaround.
6775
6776 2002-09-28 Paul Brook <paul@nowt.org>
6777
6778 * trans-const.c (g95_conv_mpf_to_tree): Work around backend bug.
6779 * trans-intrinsic.c (g95_conv_intrinsic_abs): Correctly detect complex
6780 parameters.
6781
6782 2002-09-24 Paul Brook <paul@nowt.org>
6783
6784 * f95-lang.c (listify): Remove declaration.
6785 (expand_function_body): Use optimize >=1 instead of flag_tree_saa.
6786 (listify)
6787 * f95-tree.c (get_name): New function.
6788 * trans.c (module_namespace): Remove.
6789 * trans-decl.c: Use g95_chainon_list rather than chainon(listify()).
6790 * trans-types.c: Ditto.
6791
6792 2002-09-19 Paul Brook <paul@nowt.org>
6793
6794 * trans-array.c (g95_get_array_cons_size): New Function.
6795 (g95_con_ss_startstride): Handle Array constructors.
6796 (g95_conv_loop_setup): Ditto.
6797 (g95_conv_array_parameter): Ditto.
6798 * tras-decl.c (g95_finish_var_decl): Make initializes variables
6799 static.
6800
6801 2002-09-19 Paul Brook <paul@nowt.org>
6802
6803 * trans.c (g95_simple_fold_tmp): Detect variables inside
6804 NON_LVALUE_EXPR.
6805 * trans-stmt.c (g95_trans_arithmetic_if): Implement this.
6806
6807 2002-09-18 Steven Bosscher <s.bosscher@student.tudelft.nl>
6808
6809 * Make-lang.in (F95_ADDITIONAL_OBJS): Add tree-ssa-dce.o
6810
6811 2002-09-14 Paul Brook <paul@nowt.org>
6812
6813 * trans.c (g95_create_module_variable): Move to trans-decl.c.
6814 * trans-const.c (g95_conv_string_init): New Function.
6815 * trans-const.h: Declare it.
6816 * trans-decl.c (g95_get_symbol_decl): Handle initializers for static
6817 variables. Don't bail on intrinsic symbols.
6818 (get_extern_function_decl): Handle specific intrinsic functions.
6819 * trans-types.c (g95_sym_type): Dummy functions don't return
6820 reference types.
6821 * trans-array.c (g95_build_array_initializer): New Function.
6822 (g95_trans_auto_array_allocation): Build initializer for static decls.
6823 Don't use mpz_addmul, it's GMP4 only.
6824
6825 2002-09-12 Paul Brook <paul@nowt.org>
6826
6827 * trans-decl.c (g95_generate_code): Fix thinko with return variable.
6828 (g95_get_extern_function_decl, g95_build_function_decl): Mangle
6829 assembler names for module procedures.
6830
6831 2002-09-11 Tobias Schlueter <Tobias.Schlueter@physik.uni-muenchen.de>
6832
6833 * trans-array.c,h trans-expr.c, trans-stmt.c: Correct spelling of
6834 dependency/
6835
6836 2002-09-10 Paul Brook <paul@nowt.org>
6837
6838 * trans-array.c: Change format of G95_SS_TEMP strictures.
6839 (g95_check_fncall_dependancy): New function.
6840 (trans_dummy_array_bias): stride[n], not stride[n-1]. for calculating
6841 offsets.
6842 * trans-decl.c (g95_get_symbol_decl): move assertion after handling of
6843 result variables.
6844 (g95_build_function_decl): Don't assume result arrays are packed.
6845 (g95_trans-deferred-vars): Handle array result variables.
6846 (g95_generate_fuction_code): Clear saved_function_decls.
6847 * trans-expr.c (g95_conv_fnction_call): Handle direct array return by
6848 reference.
6849 (g95_trans_arrayfunc_assign): New function.
6850 (g95_trans_assignment): Use it.
6851 * trans.h (g95_ss): Add temp struct for G95_SS_TEMP.
6852 (g95_se): Add direct_byref.
6853 * trans-types.c: Use sym->result rather than sym where appropriate.
6854 * trans-intrinsic.c (g95_conv_intrinsic_funcall): New function.
6855 Update other functions to use this.
6856 (g95_is_intrinsic_libcall): New function.
6857 (g95_conv_intrinsic_function): Add MATMUL and PRODUCT intrinsics.
6858 (g95_walk_intrinsic_function): Ditto.
6859
6860 2002-09-08 Paul Brook <paul@nowt.org>
6861
6862 * trans-types.c: Change rank field to dtype field in array descriptor.
6863 * trans-array.c: Implement filling of dtype array descriptor field.
6864 * trans-intrinsic.c: Fix broken LEN intrinsic.
6865
6866 2002-09-07 Paul Brook <paul@nowt.org>
6867
6868 * trans-intrinsic.c: Remove outdated todo intrinsic list.
6869 (g95_get_symbol_for_expr): Remove hack for fortran based intrinsics.
6870 (g95_walk_intrinsic_function): Add MINLOC and MAXLOC.
6871
6872 2002-09-06 Paul Brook <paul@nowt.org>
6873
6874 * Make-lang.in (F95_ADDITIONAL_OBJS): Add tree_alias_comon.o.
6875 (gt-f95-trans-types.h): Add dependancy information.
6876 * config-lang.in (gtfiles): Add trans-types.c
6877 * f95-lang.c (g95_be_parse_file): Pass error and warning counts
6878 back to top-level code.
6879 * trans-array.c, trans-types.c: Change format of array descriptor.
6880 (g95_conv_descriptor_dimension): New function.
6881 * trans-types.h (g95_conv_descriptor_rank): define.
6882 * trans-intrinsic.c: Implement PRODUCT, COUNT. MINLOC and MAXLOC
6883 intrinsics.
6884
6885 2002-09-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
6886
6887 * trans-array.c, trans-types.c: Add rank information to descriptor.
6888
6889 2002-09-06 Tobias Schlueter <Tobias.Schlueter@physik.uni-muenchen.de>
6890
6891 * trans-stmt.c (g95_trans_allocate): Fix when ref==NULL.
6892
6893 2002-09-04 Paul Brook <paul@nowt.org>
6894
6895 * f95-lang.c (g95_create_decls): New function.
6896 (g95_init): Move initialization of external decls to above, and call
6897 from g95_be_parse_file.
6898 * trans.c (g95_finish_stmt): Don't amputate the decl chain.
6899 * trans-types.c (g95_init_types): Always name integer and char types.
6900 (g95_get_array_type_bounds): TYPE_NAME may be a TYPE_DECL.
6901
6902 2002-09-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
6903
6904 * Make-lang.in: Add options.c to F95_PARSER_OBJS
6905
6906 2002-09-02 Paul Brook <paul@nowt.org>
6907
6908 * g95_generate_code: Clear the attr for __fortran_main.
6909 * trans-types.c (g95_finish_type): New function.
6910 * g95_init_io_state_type: Use g95_finish_type.
6911 * g95_conv_intrinsic_anyall: Fix thinko in result initialization.
6912
6913 2002-09-01 Paul Brook <paul@nowt.org>
6914
6915 * README.backend: Warn about the dangers of extra config.h files.
6916 Remove obsolete libgfor stuff.
6917 * config-lang.in: Add target-libgfor dependancy.
6918 * g95_conv_mpf_to_tree: Use & free allocated buffer p rather than buff.
6919
6920 2002-09-01 Toon Moene <toon@moene.indiv.nluug.nl>
6921
6922 * g95_conv_mpz_to_tree: Free storage pointed to by q,
6923 not by buff.
6924
6925 2002-08-30 Paul Brook <paul@nowt.org>
6926
6927 * trans-intrinsic.c (g95_conv_intrinsic_function,
6928 g95_walk_intrinsic_function): Added ANY and ALL.
6929 (g95_conv_intrinsic_anyall): New function.
6930 * iresolve.c (g95_resolve_any, g95_resolve_all): Include rank in
6931 mangled name
This page took 0.370028 seconds and 5 git commands to generate.