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