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