1 2005-01-23 Paul Thomas <pault@gcc.gnu.org>
4 * decl.c (get_proc_name): Replace subroutine and function attributes
5 in "already defined" test by the formal arglist pointer being non-NULL.
7 Fix regression in testing of admissability of attributes.
8 * symbol.c (gfc_add_attribute): If the current_attr has non-zero
9 intent, do not do the check for a dummy being used.
10 * decl.c (attr_decl1): Add current_attr.intent as the third argument
11 in the call to gfc_add_attribute.
12 * gfortran.h: Add the third argument to the prototype for
15 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
17 * gfortranspec.c (lang_specific_driver): Update copyright notice
20 2005-01-21 Paul Thomas <pault@gcc.gnu.org>
24 * decl.c (get_proc_name): If there is an existing
25 symbol in the encompassing namespace, call errors
26 if it is a procedure of the same name or the kind
27 field is set, indicating a type declaration.
33 * decl.c (add_global_entry): New function to check
34 for existing global symbol with this name and to
35 create new one if none exists.
36 (gfc_match_entry): Call add_global_entry before
37 matching argument lists for subroutine and function
39 * gfortran.h: Prototype for existing function,
41 * resolve.c (resolve_global_procedure): New function
42 to check global symbols for procedures.
43 (resolve_call, resolve_function): Calls to this
44 new function for non-contained and non-module
46 * match.c (match_common): Add check for existing
47 global symbol, creat one if none exists and emit
48 error if there is a clash.
49 * parse.c (global_used): Remove static and use the
50 gsymbol name rather than the new_block name, so that
51 the function can be called from resolve.c.
52 (parse_block_data, parse_module, add_global_procedure):
53 Improve checks for existing gsymbols. Emit error if
54 already defined or if references were to another type.
58 * trans-expr.c (gfc_conv_aliased_arg): New function called by
59 gfc_conv_function_call that coverts an expression for an aliased
60 component reference to a derived type array into a temporary array
61 of the same type as the component. The temporary is passed as an
62 actual argument for the procedure call and is copied back to the
63 derived type after the call.
64 (is_aliased_array): New function that detects an array reference
65 that is followed by a component reference.
66 (gfc_conv_function_call): Detect an aliased actual argument with
67 is_aliased_array and convert it to a temporary and back again
68 using gfc_conv_aliased_arg.
70 2006-01-19 Tobias Schl
\81üter <tobias.schlueter@physik.uni-muenchen.de>
72 * gfortranspec.c: Update copyright years.
74 * trans-array.c: Likewise.
75 * trans-array.h: Likewise.
76 * trans-decl.c: Likewise.
77 * trans-stmt.c: Likewise.
78 * trans-stmt.h: Likewise.
79 * trans-types.c: Likewise.
81 2006-01-18 Tobias Schl
\81üter <tobias.schlueter@physik.uni-muenchen.de>
85 * gfortran.h (BBT_HEADER): Move definition up.
86 (gfc_st_label): Add BBT_HEADER, remove 'prev' and 'next'.
87 * io.c (format_asterisk): Adapt initializer.
88 * resolve.c (resolve_branch): Allow FORTRAN 66 cross-block GOTOs
90 * symbol.c (compare_st_labels): New function.
91 (gfc_free_st_label, free_st_labels, gfc_get_st_label): Convert to
92 using balanced binary tree.
93 * decl.c (match_char_length, gfc_match_old_kind_spec): Do away
95 (warn_unused_label): Adapt to binary tree.
96 * match.c (gfc_match_small_literal_int): Only set cnt if non-NULL.
97 * primary.c (match_kind_param): Do away with cnt.
99 2006-01-18 Paul Thomas <pault@gcc.gnu.org>
104 * symbol.c (check_conflict): Add pointer valued elemental
105 functions and internal procedures with the external attribute
106 to the list of conflicts.
107 (gfc_add_attribute): New catch-all function to perform the
108 checking of symbol attributes for attribute declaration
110 * decl.c (attr_decl1): Call gfc_add_attribute for each of -
111 (gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
112 gfc_match_pointer, gfc_match_dimension, gfc_match_target):
113 Remove spurious calls to checks in symbol.c. Set the
114 attribute directly and use the call to attr_decl() for
116 * gfortran.h: Add prototype for gfc_add_attribute.
119 * resolve.c (resolve_function): Exclude PRESENT from assumed size
120 argument checking. Replace strcmp's with comparisons with generic
123 2006-01-16 Rafael
\81Ávila de Esp
\81índola <rafael.espindola@gmail.com>
125 * gfortranspec.c (lang_specific_spec_functions): Remove.
127 2006-01-16 Richard Guenther <rguenther@suse.de>
129 * trans-stmt.c (gfc_trans_if_1): Use fold_buildN and build_int_cst.
130 (gfc_trans_arithmetic_if): Likewise.
131 (gfc_trans_simple_do): Likewise.
132 (gfc_trans_do): Likewise.
133 (gfc_trans_do_while): Likewise.
134 (gfc_trans_logical_select): Likewise.
135 (gfc_trans_forall_loop): Likewise.
136 (generate_loop_for_temp_to_lhs): Likewise.
137 (generate_loop_for_rhs_to_temp): Likewise.
138 (gfc_trans_allocate): Likewise.
139 * trans.c (gfc_add_expr_to_block): Do not fold expr again.
141 2006-01-16 Richard Guenther <rguenther@suse.de>
143 * trans-expr.c (gfc_conv_function_call): Use fold_build2.
144 * trans-stmt.c (gfc_trans_goto): Likewise. Use build_int_cst.
145 * trans.c (gfc_trans_runtime_check): Don't fold the condition
148 2006-01-13 Steven G. Kargl <kargls@comcast.net>
151 * symbol.c (gfc_free_st_label): Give variable meaningful name. Remove
152 unneeded parenthesis. Fix-up the head of the list (2 lines gleaned
155 2006-01-13 Diego Novillo <dnovillo@redhat.com>
157 * trans.c (gfc_add_expr_to_block): Do not fold tcc_statement
160 2006-01-11 Tobias Schl
\81üter <tobias.schlueter@physik.uni-muenchen.de>
162 * parse.c (next_fixed): Remove superfluous string concatenation.
164 2006-01-11 Bernhard Fischer <rep.nop@aon.at>
167 * scanner.c (load_line): use maxlen to determine the line-length used
168 for padding lines in fixed form.
170 2005-01-11 Paul Thomas <pault@gcc.gnu.org>
173 * trans-types.c (copy_dt_decls_ifequal): Copy backend decl for
176 2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
179 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Use fold_convert
180 to avoid type mismatch.
182 2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
185 * trans-decl.c (gfc_generate_function_code): Move the NULLing of
186 current_fake_result_decl down to below generate_local_vars.
188 2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
191 * trans-expr.c (gfc_to_single_character): New function that converts
192 string to single character if its length is 1.
193 (gfc_build_compare_string):New function that compare string and handle
194 single character specially.
195 (gfc_conv_expr_op): Use gfc_build_compare_string.
196 (gfc_trans_string_copy): Use gfc_to_single_character.
197 * trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Use
198 gfc_build_compare_string.
199 * trans.h (gfc_build_compare_string): Add prototype.
201 2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
203 * simplify.c (gfc_simplify_char): Use UCHAR_MAX instead of literal
205 (gfc_simplify_ichar): Get the result from unsinged char and in the
206 range 0 to UCHAR_MAX instead of CHAR_MIN to CHAR_MAX.
208 2005-01-08 Erik Edelmann <eedelman@gcc.gnu.org>
211 * resolve.c (resolve_fntype): Check that PUBLIC functions
212 aren't of PRIVATE type.
214 2005-01-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
216 * decl.c (gfc_match_function_decl): Correctly error out in case of
217 omitted function argument list.
219 2006-01-07 Paul Thomas <pault@gcc.gnu.org>
222 * trans-array.c (gfc_reverse_ss): Remove static attribute.
223 (gfc_walk_elemental_function_args): Replace gfc_expr * argument for
224 the function call with the corresponding gfc_actual_arglist*. Change
226 (gfc_walk_function_expr): Call to gfc_walk_elemental_function_args
227 now requires the actual argument list instead of the expression for
229 * trans-array.h: Modify the prototype for gfc_walk_elemental_function_args
230 and provide a prototype for gfc_reverse_ss.
231 * trans-stmt.h (gfc_trans_call): Add the scalarization code for the case
232 where an elemental subroutine has array valued actual arguments.
238 * resolve.c (check_assumed_size_reference): New function to check for upper
239 bound in assumed size array references.
240 (resolve_assumed_size_actual): New function to do a very restricted scan
241 of actual argument expressions of those procedures for which incomplete
242 assumed size array references are not allowed.
243 (resolve_function, resolve_call): Switch off assumed size checking of
244 actual arguments, except for elemental procedures and intrinsic
245 inquiry functions, in some circumstances.
246 (resolve_variable): Call check_assumed_size_reference.
248 2006-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
251 * io.c (next_char_not_space): New function that returns the next
252 character that is not white space.
253 (format_lex): Use the new function to skip whitespace within
256 2006-01-05 Erik Edelmann <eedelman@gcc.gnu.org>
259 * expr.c (gfc_expr_set_symbols_referenced): New function.
260 * gfortran.h: Add a function prototype for it.
261 * resolve.c (resolve_function): Use it for
262 use associated character functions lengths.
263 * expr.c, gfortran.h, resolve.c: Updated copyright years.
265 2006-01-03 Steven G. Kargl <kargls@comcast.net>
268 * resolve.c (resolve_forall_iterators): Check for scalar variables;
269 Check stride is nonzero.
271 2006-01-02 Steven G. Kargl <kargls@comcast.net>
274 * parse.c (next_free): Check for whitespace after the label.
275 * match.c (gfc_match_small_literal_int): Initialize cnt variable.
277 2006-01-01 Steven G. Kargl <kargls@comcast.net>
279 * ChangeLog: Split previous years into ...
280 * ChangeLog-2002: here.
281 * ChangeLog-2003: here.
282 * ChangeLog-2004: here.
283 * ChangeLog-2005: here.