1 2006-02-13 Andrew Pinski <pinskia@physics.uc.edu>
2 Jakub Jelinek <jakub@redhat.com>
5 * trans-decl.c (gfc_get_symbol_decl, gfc_get_fake_result_decl): Use
6 gfc_add_decl_to_function rather than gfc_finish_var_decl on length.
8 2006-02-13 Paul Thomas <pault@gcc.gnu.org>
12 * resolve.c (resolve_symbol): Extend the requirement that module
13 arrays have constant bounds to those in the main program. At the
14 same time simplify the array bounds, to avoiding trapping parameter
15 array references, and exclude automatic character length from main
16 and modules. Rearrange resolve_symbol and resolve_derived to put as
17 each flavor together, as much as is possible and move all specific
18 code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new
20 (resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure):
21 New functions to do work of resolve_symbol.
22 (resolve_index_expr): New function that is called from resolved_symbol
23 and is extracted from resolve_charlen.
24 (resolve_charlen): Call this new function.
25 (resolve_fl_derived): Renamed resolve_derived to be consistent with
26 the naming of the new functions for the other flavours. Change the
27 charlen checking so that the style is consistent with other similar
28 checks. Add the generation of the gfc_dt_list, removed from resolve_
32 * resolve.c (resolve_actual_arglist): Prevent internal procedures
33 from being dummy arguments.
36 * resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic
37 procedures from being dummy arguments.
40 * resolve.c (check_data_variable): Add test that data variable is in
44 * resolve.c (resolve_call): Add test that the subroutine does not
47 2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org>
50 * trans-array.c (gfc_trans_allocate_array_storage): New argument
51 dealloc; free the temporary only if dealloc is true.
52 (gfc_trans_allocate_temp_array): New argument bool dealloc, to be
53 passed onwards to gfc_trans_allocate_array_storage.
54 (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
55 gfc_trans_allocate_temp_array.
56 * trans-array.h (gfc_trans_allocate_temp_array): Update function
58 * trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc'
59 to gfc_trans_allocate_temp_array to false in case of functions
61 (gfc_trans_arrayfunc_assign): Return NULL for functions returning
64 2006-02-10 Steven G. Kargl <kargls@comcast.net>
67 *decl.c (variable_decl): Improve error message. Remove initialization
68 typespec. Wrap long line.
69 *expr.c (gfc_check_pointer_assign): Permit checking of type, kind type,
71 *simplify.c (gfc_simplify_null): Ensure type, kind type, and rank
75 2006-02-10 Tobias Schl
\81üter <tobias.schlueter@physik.uni-muenchen.de>
78 * arith.c (eval_intrinsic): Accept INTRINSIC_PARENTHESES.
79 * expr.c (check_intrinsic_op): Likewise.
80 * module.c (mio_expr): Likewise.
82 2006-02-09 Tobias Schl
\81üter <tobias.schlueter@physik.uni-muenchen.de>
84 * dump-parse-tree.c: Update copyright years.
85 * matchexp.c: Likewise.
89 * gfortran.h (gfc_intrinsic_op): Add INTRINSIC_PARENTHESES.
90 * dump-parse-tree (gfc_show_expr): Handle INTRINSIC_PARENTHESES.
91 * expr.c (simplify_intrinsic_op): Treat INTRINSIC_PARENTHESES as
92 if it were INTRINSIC_UPLUS.
93 * resolve.c (resolve_operator): Handle INTRINSIC_PARENTHESES.
94 * match.c (intrinsic_operators): Add INTRINSIC_PARENTHESES.
95 * matchexp.c (match_primary): Record parentheses surrounding
97 * module.c (intrinsics): Add INTRINSIC_PARENTHESES for module
99 * trans-expr.c (gfc_conv_expr_op): Handle INTRINSIC_PARENTHESES.
101 2006-02-09 Paul Thomas <pault@gcc.gnu.org>
104 * trans-stmt.c (gfc_trans_allocate): Provide assumed character length
105 scalar with missing backend_decl for the hidden dummy charlen.
108 * interface.c (gfc_extend_assign): Remove detection of non-PURE
109 subroutine in assignment interface, with gfc_error, and put it in
110 * resolve.c (resolve_code).
113 * interface.c (gfc_procedure_use): Flag rank checking for non-
114 elemental, contained or interface procedures in call to
115 (compare_actual_formal), where ranks are checked for assumed
118 2006-02-08 Francois-Xavier Coudert <coudert@clipper.ens.fr>
121 * trans-decl.c (gfc_generate_function_code): Add new argument,
122 pedantic, to set_std call.
124 2005-02-06 Thomas Koenig <Thomas.Koenig@online.de>
127 * gfortran.texi: Document the GFORTRAN_CONVERT_UNIT environment
129 * invoke.texi: Mention the "Runtime" chapter.
130 Document the -fconvert= option.
131 * gfortran.h: Add options_convert.
132 * lang.opt: Add fconvert=little-endian, fconvert=big-endian,
133 fconvert=native and fconvert=swap.
134 * trans-decl.c (top level): Add gfor_fndecl_set_convert.
135 (gfc_build_builtin_function_decls): Set gfor_fndecl_set_convert.
136 (gfc_generate_function_code): If -fconvert was specified,
137 and this is the main program, add a call to set_convert().
138 * options.c: Handle the -fconvert options.
140 2006-02-06 Roger Sayle <roger@eyesopen.com>
142 * trans-stmt.c (gfc_evaluate_where_mask): Allow the NMASK argument
143 to be NULL to indicate that the not mask isn't required.
144 (gfc_trans_where_2): Remove PMASK argument. Avoid calculating the
145 pending mask for the last clause of a WHERE chain. Update recursive
147 (gfc_trans_forall_1): Update call to gfc_trans_where_2.
148 (gfc_trans_where): Likewise.
150 2006-02-06 Jakub Jelinek <jakub@redhat.com>
152 Backport from gomp-20050608-branch
153 * trans-decl.c (create_function_arglist): Handle dummy functions.
155 * trans-decl.c (gfc_get_symbol_decl): Revert explicit setting of
157 (gfc_trans_vla_type_sizes): Also "gimplify"
158 GFC_TYPE_ARRAY_DATAPTR_TYPE for GFC_DESCRIPTOR_TYPE_P types.
159 * trans-array.c (gfc_trans_deferred_array): Call
160 gfc_trans_vla_type_sizes.
162 * trans-decl.c (saved_function_decls, saved_parent_function_decls):
163 Remove unnecessary initialization.
164 (create_function_arglist): Make sure __result has complete type.
165 (gfc_get_fake_result_decl): Change current_fake_result_decl into
166 a tree chain. For entry master, create a separate variable
167 for each result name. For BT_CHARACTER results, call
168 gfc_finish_var_decl on length even if it has been already created,
170 (gfc_trans_vla_type_sizes): For function/entry result, adjust
171 result value type, not the FUNCTION_TYPE.
172 (gfc_generate_function_code): Adjust for current_fake_result_decl
174 (gfc_trans_deferred_vars): Likewise. Call gfc_trans_vla_type_sizes
175 even on result if it is assumed-length character.
177 * trans-decl.c (gfc_trans_dummy_character): Add SYM argument.
178 Call gfc_trans_vla_type_sizes.
179 (gfc_trans_auto_character_variable): Call gfc_trans_vla_type_sizes.
180 (gfc_trans_vla_one_sizepos, gfc_trans_vla_type_sizes_1,
181 gfc_trans_vla_type_sizes): New functions.
182 (gfc_trans_deferred_vars): Adjust gfc_trans_dummy_character
183 callers. Call gfc_trans_vla_type_sizes on assumed-length
184 character parameters.
185 * trans-array.c (gfc_trans_array_bounds,
186 gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias): Call
187 gfc_trans_vla_type_sizes.
188 * trans.h (gfc_trans_vla_type_sizes): New prototype.
190 * trans-decl.c (gfc_build_qualified_array): For non-assumed-size
191 arrays without constant size, create also an index var for
192 GFC_TYPE_ARRAY_SIZE (type). If the type is incomplete, complete
194 (gfc_create_string_length): Don't call gfc_defer_symbol_init
195 if just creating DECL_ARGUMENTS.
196 (gfc_get_symbol_decl): Call gfc_finish_var_decl and
197 gfc_defer_symbol_init even if ts.cl->backend_decl is already
198 set to a VAR_DECL that doesn't have DECL_CONTEXT yet.
199 (create_function_arglist): Rework, so that hidden length
200 arguments for CHARACTER parameters are created together with
201 the parameters. Resolve ts.cl->backend_decl for CHARACTER
202 parameters. If the argument is a non-constant length array
203 or CHARACTER, ensure PARM_DECL has different type than
205 (generate_local_decl): Call gfc_get_symbol_decl even
206 for non-referenced non-constant length CHARACTER parameters
207 after optionally issuing warnings.
208 * trans-array.c (gfc_trans_array_bounds): Set last stride
209 to GFC_TYPE_ARRAY_SIZE (type) to initialize it as well.
210 (gfc_trans_dummy_array_bias): Initialize GFC_TYPE_ARRAY_SIZE (type)
213 * trans-expr.c (gfc_conv_expr_val): Fix comment typo.
215 * trans-stmt.c (gfc_trans_simple_do): Fix comment.
217 2006-02-04 Roger Sayle <roger@eyesopen.com>
219 * dependency.c (gfc_check_dependency): Remove unused vars and nvars
220 arguments. Replace with an "identical" argument. A full array
221 reference to the same symbol is a dependency if identical is true.
222 * dependency.h (gfc_check_dependency): Update prototype.
223 * trans-array.h (gfc_check_dependency): Delete duplicate prototype.
224 * trans-stmt.c: #include dependency.h for gfc_check_dependency.
225 (gfc_trans_forall_1): Update calls to gfc_check_dependency.
226 (gfc_trans_where_2): Likewise. Remove unneeded variables.
227 (gfc_trans_where_3): New function for simple non-dependent WHEREs.
228 (gfc_trans_where): Call gfc_trans_where_3 to translate simple
229 F90-style WHERE statements without internal dependencies.
230 * Make-lang.in (trans-stmt.o): Depend upon dependency.h.
232 2006-02-05 H.J. Lu <hongjiu.lu@intel.com>
236 * resolve.c (resolve_types): New function.
237 (resolve_codes): Likewise.
238 (gfc_resolve): Use them.
240 2006-02-05 Roger Sayle <roger@eyesopen.com>
242 * trans-stmt.c (gfc_evaluate_where_mask): Use LOGICAL*1 for WHERE
243 masks instead of LOGICAL*4.
245 2006-02-05 Jakub Jelinek <jakub@redhat.com>
247 * resolve.c (resolve_symbol): Initialize constructor_expr to NULL.
249 2006-02-04 Thomas Koenig <Thomas.Koenig@online.de>
252 check.c (identical_dimen_shape): New function.
253 (check_dot_product): Use identical_dimen_shape() to check sizes
255 (gfc_check_matmul): Likewise.
256 (gfc_check_merge): Check conformance between tsource and fsource
257 and between tsource and mask.
258 (gfc_check_pack): Check conformance between array and mask.
260 2006-02-03 Steven G. Kargl <kargls@comcast>
261 Paul Thomas <pault@gcc.gnu.org>
264 * resolve.c (resolve_symbol): Default initialization of derived type
265 component reguires the SAVE attribute.
267 2006-02-02 Steven G. Kargl <kargls@comcast>
270 match.c (gfc_match_nullify): Free the list from head not tail.
273 * match.c (match_forall_header): Fix internal error caused by bogus
277 2006-01-31 Thomas Koenig <Thomas.Koenig@online.de>
280 expr.c (gfc_check_conformance): Reorder error message
282 check.c(gfc_check_minloc_maxloc): Call gfc_check_conformance
283 for checking arguments array and mask.
284 (check_reduction): Likewise.
286 2005-01-30 Erik Edelmann <eedelman@gcc.gnu.org>
289 * trans-io.c (set_internal_unit): Check the rank of the
290 expression node itself instead of its symbol.
292 2006-01-29 Paul Thomas <pault@gcc.gnu.org>
298 * interface.c (compare_actual_formal): Error for INTENT(OUT or INOUT)
299 if actual argument is not a variable.
301 2006-01-28 Paul Thomas <pault@gcc.gnu.org>
304 * expr.c (gfc_check_assign, gfc_check_pointer_assign): Emit error if
305 the lvalue is a use associated procedure.
309 * expr.c (gfc_check_pointer_assign): Emit error if lvalue and rvalue
310 character lengths are not the same. Use gfc_dep_compare_expr for the
312 * gfortran.h: Add prototype for gfc_dep_compare_expr.
313 * dependency.h: Remove prototype for gfc_dep_compare_expr.
315 2005-01-27 Paul Thomas <pault@gcc.gnu.org>
318 * resolve.c (resolve_function): Add GFC_ISYM_LOC to the list of
319 generic_ids exempted from assumed size checking.
321 2006-01-27 Jakub Jelinek <jakub@redhat.com>
324 * Make-lang.in (fortran/scanner.o): Depend on toplev.h.
325 * lang.opt (fpreprocessed): New option.
326 * scanner.c: Include toplev.h.
327 (gfc_src_file, gfc_src_preprocessor_lines): New variables.
328 (preprocessor_line): Unescape filename if there were any
330 (load_file): If initial and gfc_src_file is not NULL,
331 use it rather than opening the file. If gfc_src_preprocessor_lines
332 has non-NULL elements, pass it to preprocessor_line.
333 (unescape_filename, gfc_read_orig_filename): New functions.
334 * gfortran.h (gfc_option_t): Add flag_preprocessed.
335 (gfc_read_orig_filename): New prototype.
336 * options.c (gfc_init_options): Clear flag_preprocessed.
337 (gfc_post_options): If flag_preprocessed, call
338 gfc_read_orig_filename.
339 (gfc_handle_option): Handle OPT_fpreprocessed.
340 * lang-specs.h: Pass -fpreprocessed to f951 if preprocessing
343 2005-01-27 Erik Edelmann <eedelman@gcc.gnu.org>
345 * symbol.c (free_old_symbol): Fix confusing comment, and add code
346 to free old_symbol->formal.
348 2005-01-26 Paul Thomas <pault@gcc.gnu.org>
351 * resolve.c (resolve_function): Exclude statement functions from
352 global reference checking.
358 * resolve.c (resolve_function): Declare a gfc_symbol to replace the
359 references through the symtree to the symbol associated with the
360 function expresion. Give error on reference to an assumed character
361 length function is defined in an interface or an external function
362 that is not a dummy argument.
363 (resolve_symbol): Give error if an assumed character length function
364 is array-valued, pointer-valued, pure or recursive. Emit warning
365 that character(*) value functions are obsolescent in F95.
368 * trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
369 prevents any assumed character length function call from getting here
370 except intrinsics such as SPREAD. In this case, ensure that no
371 segfault occurs from referencing non-existent charlen->length->
372 expr_type and provide a backend_decl for the charlen from the charlen
373 of the first actual argument.
375 Cure temp name confusion.
376 * trans-expr.c (gfc_get_interface_mapping_array): Change name of
377 temporary from "parm" to "ifm" to avoid clash with temp coming from
380 2005-01-25 Erik Edelmann <eedelman@gcc.gnu.org>
383 * symbol.c (free_old_symbol): New function.
384 (gfc_commit_symbols): Use it.
385 (gfc_commit_symbol): New function.
386 (gfc_use_derived): Use it.
387 * gfortran.h: Add prototype for gfc_commit_symbol.
388 * intrinsic.c (gfc_find_function): Search in 'conversion'
389 if not found in 'functions'.
390 (gfc_convert_type_warn): Add a symtree to the new
391 expression node, and commit the new symtree->n.sym.
392 * resolve.c (gfc_resolve_index): Make sure typespec is
393 properly initialized.
395 2005-01-23 Paul Thomas <pault@gcc.gnu.org>
398 * decl.c (get_proc_name): Replace subroutine and function attributes
399 in "already defined" test by the formal arglist pointer being non-NULL.
401 Fix regression in testing of admissability of attributes.
402 * symbol.c (gfc_add_attribute): If the current_attr has non-zero
403 intent, do not do the check for a dummy being used.
404 * decl.c (attr_decl1): Add current_attr.intent as the third argument
405 in the call to gfc_add_attribute.
406 * gfortran.h: Add the third argument to the prototype for
409 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
411 * gfortranspec.c (lang_specific_driver): Update copyright notice
414 2005-01-21 Paul Thomas <pault@gcc.gnu.org>
418 * decl.c (get_proc_name): If there is an existing
419 symbol in the encompassing namespace, call errors
420 if it is a procedure of the same name or the kind
421 field is set, indicating a type declaration.
427 * decl.c (add_global_entry): New function to check
428 for existing global symbol with this name and to
429 create new one if none exists.
430 (gfc_match_entry): Call add_global_entry before
431 matching argument lists for subroutine and function
433 * gfortran.h: Prototype for existing function,
435 * resolve.c (resolve_global_procedure): New function
436 to check global symbols for procedures.
437 (resolve_call, resolve_function): Calls to this
438 new function for non-contained and non-module
440 * match.c (match_common): Add check for existing
441 global symbol, creat one if none exists and emit
442 error if there is a clash.
443 * parse.c (global_used): Remove static and use the
444 gsymbol name rather than the new_block name, so that
445 the function can be called from resolve.c.
446 (parse_block_data, parse_module, add_global_procedure):
447 Improve checks for existing gsymbols. Emit error if
448 already defined or if references were to another type.
452 * trans-expr.c (gfc_conv_aliased_arg): New function called by
453 gfc_conv_function_call that coverts an expression for an aliased
454 component reference to a derived type array into a temporary array
455 of the same type as the component. The temporary is passed as an
456 actual argument for the procedure call and is copied back to the
457 derived type after the call.
458 (is_aliased_array): New function that detects an array reference
459 that is followed by a component reference.
460 (gfc_conv_function_call): Detect an aliased actual argument with
461 is_aliased_array and convert it to a temporary and back again
462 using gfc_conv_aliased_arg.
464 2006-01-19 Tobias Schl
\81üter <tobias.schlueter@physik.uni-muenchen.de>
466 * gfortranspec.c: Update copyright years.
468 * trans-array.c: Likewise.
469 * trans-array.h: Likewise.
470 * trans-decl.c: Likewise.
471 * trans-stmt.c: Likewise.
472 * trans-stmt.h: Likewise.
473 * trans-types.c: Likewise.
475 2006-01-18 Tobias Schl
\81üter <tobias.schlueter@physik.uni-muenchen.de>
479 * gfortran.h (BBT_HEADER): Move definition up.
480 (gfc_st_label): Add BBT_HEADER, remove 'prev' and 'next'.
481 * io.c (format_asterisk): Adapt initializer.
482 * resolve.c (resolve_branch): Allow FORTRAN 66 cross-block GOTOs
484 (warn_unused_label): Take gfc_st_label label as argument, adapt to
486 (gfc_resolve): Adapt call to warn_unused_label.
487 * symbol.c (compare_st_labels): New function.
488 (gfc_free_st_label, free_st_labels, gfc_get_st_label): Convert to
489 using balanced binary tree.
490 * decl.c (match_char_length, gfc_match_old_kind_spec): Do away
492 (warn_unused_label): Adapt to binary tree.
493 * match.c (gfc_match_small_literal_int): Only set cnt if non-NULL.
494 * primary.c (match_kind_param): Do away with cnt.
496 2006-01-18 Paul Thomas <pault@gcc.gnu.org>
501 * symbol.c (check_conflict): Add pointer valued elemental
502 functions and internal procedures with the external attribute
503 to the list of conflicts.
504 (gfc_add_attribute): New catch-all function to perform the
505 checking of symbol attributes for attribute declaration
507 * decl.c (attr_decl1): Call gfc_add_attribute for each of -
508 (gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
509 gfc_match_pointer, gfc_match_dimension, gfc_match_target):
510 Remove spurious calls to checks in symbol.c. Set the
511 attribute directly and use the call to attr_decl() for
513 * gfortran.h: Add prototype for gfc_add_attribute.
516 * resolve.c (resolve_function): Exclude PRESENT from assumed size
517 argument checking. Replace strcmp's with comparisons with generic
520 2006-01-16 Rafael
\81Ávila de Esp
\81índola <rafael.espindola@gmail.com>
522 * gfortranspec.c (lang_specific_spec_functions): Remove.
524 2006-01-16 Richard Guenther <rguenther@suse.de>
526 * trans-stmt.c (gfc_trans_if_1): Use fold_buildN and build_int_cst.
527 (gfc_trans_arithmetic_if): Likewise.
528 (gfc_trans_simple_do): Likewise.
529 (gfc_trans_do): Likewise.
530 (gfc_trans_do_while): Likewise.
531 (gfc_trans_logical_select): Likewise.
532 (gfc_trans_forall_loop): Likewise.
533 (generate_loop_for_temp_to_lhs): Likewise.
534 (generate_loop_for_rhs_to_temp): Likewise.
535 (gfc_trans_allocate): Likewise.
536 * trans.c (gfc_add_expr_to_block): Do not fold expr again.
538 2006-01-16 Richard Guenther <rguenther@suse.de>
540 * trans-expr.c (gfc_conv_function_call): Use fold_build2.
541 * trans-stmt.c (gfc_trans_goto): Likewise. Use build_int_cst.
542 * trans.c (gfc_trans_runtime_check): Don't fold the condition
545 2006-01-13 Steven G. Kargl <kargls@comcast.net>
548 * symbol.c (gfc_free_st_label): Give variable meaningful name. Remove
549 unneeded parenthesis. Fix-up the head of the list (2 lines gleaned
552 2006-01-13 Diego Novillo <dnovillo@redhat.com>
554 * trans.c (gfc_add_expr_to_block): Do not fold tcc_statement
557 2006-01-11 Tobias Schl
\81üter <tobias.schlueter@physik.uni-muenchen.de>
559 * parse.c (next_fixed): Remove superfluous string concatenation.
561 2006-01-11 Bernhard Fischer <rep.nop@aon.at>
564 * scanner.c (load_line): use maxlen to determine the line-length used
565 for padding lines in fixed form.
567 2005-01-11 Paul Thomas <pault@gcc.gnu.org>
570 * trans-types.c (copy_dt_decls_ifequal): Copy backend decl for
573 2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
576 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Use fold_convert
577 to avoid type mismatch.
579 2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
582 * trans-decl.c (gfc_generate_function_code): Move the NULLing of
583 current_fake_result_decl down to below generate_local_vars.
585 2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
588 * trans-expr.c (gfc_to_single_character): New function that converts
589 string to single character if its length is 1.
590 (gfc_build_compare_string):New function that compare string and handle
591 single character specially.
592 (gfc_conv_expr_op): Use gfc_build_compare_string.
593 (gfc_trans_string_copy): Use gfc_to_single_character.
594 * trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Use
595 gfc_build_compare_string.
596 * trans.h (gfc_build_compare_string): Add prototype.
598 2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
600 * simplify.c (gfc_simplify_char): Use UCHAR_MAX instead of literal
602 (gfc_simplify_ichar): Get the result from unsinged char and in the
603 range 0 to UCHAR_MAX instead of CHAR_MIN to CHAR_MAX.
605 2005-01-08 Erik Edelmann <eedelman@gcc.gnu.org>
608 * resolve.c (resolve_fntype): Check that PUBLIC functions
609 aren't of PRIVATE type.
611 2005-01-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
613 * decl.c (gfc_match_function_decl): Correctly error out in case of
614 omitted function argument list.
616 2006-01-07 Paul Thomas <pault@gcc.gnu.org>
619 * trans-array.c (gfc_reverse_ss): Remove static attribute.
620 (gfc_walk_elemental_function_args): Replace gfc_expr * argument for
621 the function call with the corresponding gfc_actual_arglist*. Change
623 (gfc_walk_function_expr): Call to gfc_walk_elemental_function_args
624 now requires the actual argument list instead of the expression for
626 * trans-array.h: Modify the prototype for gfc_walk_elemental_function_args
627 and provide a prototype for gfc_reverse_ss.
628 * trans-stmt.h (gfc_trans_call): Add the scalarization code for the case
629 where an elemental subroutine has array valued actual arguments.
635 * resolve.c (check_assumed_size_reference): New function to check for upper
636 bound in assumed size array references.
637 (resolve_assumed_size_actual): New function to do a very restricted scan
638 of actual argument expressions of those procedures for which incomplete
639 assumed size array references are not allowed.
640 (resolve_function, resolve_call): Switch off assumed size checking of
641 actual arguments, except for elemental procedures and intrinsic
642 inquiry functions, in some circumstances.
643 (resolve_variable): Call check_assumed_size_reference.
645 2006-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
648 * io.c (next_char_not_space): New function that returns the next
649 character that is not white space.
650 (format_lex): Use the new function to skip whitespace within
653 2006-01-05 Erik Edelmann <eedelman@gcc.gnu.org>
656 * expr.c (gfc_expr_set_symbols_referenced): New function.
657 * gfortran.h: Add a function prototype for it.
658 * resolve.c (resolve_function): Use it for
659 use associated character functions lengths.
660 * expr.c, gfortran.h, resolve.c: Updated copyright years.
662 2006-01-03 Steven G. Kargl <kargls@comcast.net>
665 * resolve.c (resolve_forall_iterators): Check for scalar variables;
666 Check stride is nonzero.
668 2006-01-02 Steven G. Kargl <kargls@comcast.net>
671 * parse.c (next_free): Check for whitespace after the label.
672 * match.c (gfc_match_small_literal_int): Initialize cnt variable.
674 2006-01-01 Steven G. Kargl <kargls@comcast.net>
676 * ChangeLog: Split previous years into ...
677 * ChangeLog-2002: here.
678 * ChangeLog-2003: here.
679 * ChangeLog-2004: here.
680 * ChangeLog-2005: here.