1 2007-01-17 Paul Thomas <pault@gcc.gnu.org>
4 * module.c (load_generic_interfaces): Make the marking of the
5 symbol as ambiguous conditional on the module names being
7 (write_generic): Ensure that the generic interface has a
10 2007-01-16 Roger Sayle <roger@eyesopen.com>
13 * trans-stmt.c (forall_info): Remove pmask field.
14 (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
15 NVAR covers all the interation variables in the current forall_info.
16 Add an extra OUTER parameter, which specified the loop header in
17 which to place mask index initializations.
18 (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
19 Change the semantics of MASK_FLAG to only control the mask in the
21 (compute_overall_iter_number): Optimize the trivial case of a
22 top-level loop having a constant number of iterations. Update
23 call to gfc_trans_nested_forall_loop. Calculate the number of
24 times the inner loop will be executed, not to size of the
26 (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
27 sizeof(type) == 1. Tidy up.
28 (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
29 to gfc_trans_nested_forall_loop.
30 (gfc_trans_pointer_assign_need_temp): Likewise.
31 (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
32 LENVAR local variables. Split mask allocation into a separate
33 hunk/pass from mask population. Use allocate_temp_for_forall_nest
34 to allocate the FORALL mask with the correct size. Update calls
35 to gfc_trans_nested_forall_loop.
36 (gfc_evaluate_where_mask): Update call to
37 gfc_trans_nested_forall_loop.
38 (gfc_trans_where_2): Likewise.
40 2007-01-15 Paul Thomas <pault@gcc.gnu.org>
43 * trans-stmt.c (gfc_trans_call): If it does not have one, get
44 a backend_decl for an alternate return.
47 * resolve.c (pure_function): Statement functions are pure. Note
48 that this will have to recurse to comply fully with F95.
51 * resolve.c (resolve_function): Only a reference to the final
52 dimension of an assumed size array is an error in an inquiry
56 * resolve.c (resolve_function): Make sure that the function
57 expression has a type.
59 2007-01-14 Paul Thomas <pault@gcc.gnu.org>
62 * trans-decl.c (gfc_sym_mangled_function_id): Module, external
63 symbols must not have the module name prepended.
65 2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
68 * iresolve.c (gfc_resolve_maxloc): If the rank
69 of the return array is nonzero and we process an
70 integer array smaller than default kind, coerce
71 the array to default integer.
72 * iresolve.c (gfc_resolve_minloc): Likewise.
74 2007-01-11 Brooks Moses <brooks.moses@codesourcery.com>
76 * simplify.c: Update copyright to 2007.
79 2007-01-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
82 * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
85 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
87 * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
88 (gfc_simplify_ibset): Same.
90 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
94 * simplify.c (convert_mpz_to_unsigned): New function.
95 (convert_mpz_to_signed): New function, largely based on
97 (twos_complement): Removed.
98 (gfc_simplify_ibclr): Add conversions to and from an
99 unsigned representation before bit-twiddling.
100 (gfc_simplify_ibset): Same.
101 (gfc_simplify_ishftc): Add checks for overly large
102 constant arguments, only check the third argument if
103 it's present, carry over high bits into the result as
104 appropriate, and perform the final conversion back to
105 a signed representation using the correct sign bit.
106 (gfc_simplify_not): Removed unnecessary masking.
108 2007-01-09 Paul Thomas <pault@gcc.gnu.org>
111 * resolve.c (resolve_code): Use the code->expr character length
112 directly to set length of llen.
114 2007-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
117 * lang.opt: Add Wcharacter_truncation option.
118 * options.c (gfc_init_options): Initialize
119 gfc_option.warn_character_truncation to zero.
120 (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
122 2007-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
124 * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
125 iresolve.c, match.c: Update Copyright years. Whitespace.
127 2007-01-08 Richard Guenther <rguenther@suse.de>
129 * trans-io.c (transfer_array_desc): Use build_int_cst instead
132 2007-01-08 Roger Sayle <roger@eyesopen.com>
134 * trans-array.c (constant_array_constructor_p): New function to
135 determine whether an array constructor consists only of constant
136 elements, and if so return it's size.
137 (gfc_build_constant_array_constructor): Construct a statically
138 initialized gfortran array for a given EXPR_ARRAY.
139 (gfc_trans_constant_array_constructor): Efficiently scalarize
140 a constant array constructor.
141 (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
142 Special case scalarization of constant array constructors, all of
143 whose elements are specified, using constant_array_constructor_p
144 and gfc_trans_constant_array_constructor.
145 (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
146 before adding it to index, to avoid creating a NON_LVALUE_EXPR.
148 2007-01-08 Kazu Hirata <kazu@codesourcery.com>
150 gfortran.texi: Fix typos.
152 2007-01-07 Steven G. Kargl <kargl@gcc.gnu.org>
154 * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
155 convert.c: Update Copyright dates. Fix whitespace.
157 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
159 * data.c (gfc_assign_data_value): Fix whitespace.
161 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
163 * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
166 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
169 * match.c (gfc_match_name): Print diagnostics for invalid
172 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
174 * array.c: Fix whitespace in comment table.
176 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
178 * array.c, bbt.c, check.c: Update copyright years. Whitespace.
180 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
182 * arith.c: Update copyright years. Whitespace.
184 2007-01-05 Roger Sayle <roger@eyesopen.com>
186 * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
187 array assignments split out from gfc_trans_assignment.
188 (gfc_trans_array_copy): New function to implement array to array
189 copies via calls to __builtin_memcpy.
190 (copyable_array_p): New helper function to identify an array of
191 simple/POD types, that may be copied/assigned using memcpy.
192 (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
193 whole array assignments considered suitable by copyable_array_p.
194 Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
196 2007-01-05 Roger Sayle <roger@eyesopen.com>
198 * trans-array.c (gfc_trans_array_constructor_value): Make the
199 static const "data" array as TREE_READONLY.
200 * trans-stmt.c (gfc_trans_character_select): Likewise.
202 2007-01-05 Roger Sayle <roger@eyesopen.com>
204 * trans-array.c (gfc_conv_loop_setup): Test whether the loop
205 stride is one, to avoid fold_build2 introducing a useless
206 NON_LVALUE_EXPR node.
208 2007-01-05 Tobias Burnus <burnus@net-b.de>
210 * symbol.c (check_conflict): Fix error message.
212 2007-01-05 Paul Thomas <pault@gcc.gnu.org>
215 * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
216 functions to signal that a DATA statement is being matched.
217 (gfc_match_data): Call gfc_set_in_match_data on entry and on
219 * gfortran.h : Add prototypes for above.
220 * expr.c (check_init_expr): Avoid check on parameter or
221 variable if gfc_in_match_data is true.
222 (gfc_match_init_expr): Do not call error on non-reduction of
223 expression if gfc_in_match_data is true.
227 * decl.c (gfc_set_constant_character_len): Add boolean arg to
228 flag array constructor resolution. Warn if string is being
229 truncated. Standard dependent error if string is padded. Set
230 new arg to false for all three calls to
231 gfc_set_constant_character_len.
232 * match.h : Add boolean arg to prototype for
233 gfc_set_constant_character_len.
234 * gfortran.h : Add warn_character_truncation to gfc_options.
235 * options.c (set_Wall): Set warn_character_truncation if -Wall
237 * resolve.c (resolve_code): Warn if rhs string in character
238 assignment has to be truncated.
239 * array.c (gfc_resolve_character_array_constructor): Set new
240 argument to true for call to gfc_set_constant_character_len.
242 2007-01-05 Tobias Burnus <burnus@net-b.de>
245 * interface.c (compare_parameter_intent): New function.
246 (check_intents): Support pointer intents.
247 * symbol.c (check_conflict): Support pointer intents,
248 better conflict_std message.
249 * expr.c (gfc_check_assign,gfc_check_pointer_assign):
250 Support pointer intents.
251 * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
252 Support pointer intents.
254 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
257 * check.c (gfc_check_kill_sub): Add checks for non-scalar
260 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
262 * intrinsic.texi: Minor cleanup, reflowing overlong
263 paragraphs, and correcting whitespace.
265 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
267 * intrinsic.texi (LBOUND): Add documentation.
268 (LGE): Add documentation.
269 (LGT): Add documentation.
270 (LINK): Add documentation.
271 (LLE): Add documentation.
272 (LLT): Add documentation.
273 (LNBLNK): Add documentation.
274 (UBOUND): Add documentation.
275 (UNLINK): Add documentation.
277 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
279 * intrinsic.texi (IAND): Clarify argument specifications.
280 (IBCLR): Add documentation.
281 (IBITS): Add documentation.
282 (IBSET): Add documentation.
283 (IEOR): Add documentation.
284 (IERRNO): Add documentation.
285 (INDEX): Add documentation.
286 (IOR): Add documentation.
287 (ISHFT): Add documentation.
288 (ISHFTC): Add documentation.
289 (KILL): Add documentation.
290 (LEN_TRIM): Add documentation.
292 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
295 * interface.c (compare_actual_formal): check for
296 alternate returns when iterating over non-present
299 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
301 * invoke.texi: Update manpage copyright to include 2007.
303 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
305 * gfortran.texi: Update copyright to include 2007.
306 * intrinsic.texi: Update copyright to include 2007.
307 * invoke.texi: Update copyright to include 2007.
309 2007-01-02 Tobias Burnus <burnus@net-b.de>
310 Jakub Jelinek <jakub@redhat.com>
313 * scanner.c (open_included_file): Revert patch.
314 (gfc_open_included_file): Support absolute pathnames.
315 (gfc_open_intrinsic_module): Support absolute pathnames.
317 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
319 * gfortran.texi (GNU Fortran and GCC): Rewrite
321 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
323 * gfortran.texi (Introduction): Lower "Part I:
324 Introduction" to a chapter, renumber Parts II and III to
326 * intrinsic.texi (Introduction): Rename to "Introduction
327 to Intrinsics" to avoid conflict with the new chapter.
329 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
331 * intrinsic.texi (Introduction): Rewrite first paragraph.
333 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
335 * invoke.texi (OpenMP): Added index entry.
336 * gfortran.texi (title page): Removed erroneous '*'.
338 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
340 * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
342 (Extensions): Miscellaneous minor rewriting and copyediting.
343 (BOZ-literal constants): Renamed from Hexadecimal constants.
344 (Hollerith constants support): Added explanation and
345 suggestions for standard-conforming modern equivalents.
347 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
349 * intrinsic.texi: Improvements to index entries; change
350 @findex entries to @cindex entries.
351 * invoke.texi: Standardize and improve index entries.
352 * gfortran.texi: Fix @code in one index entry.
354 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
356 * invoke.texi: Change @code-type macros to appropriate
357 variants (@command, @option, etc.)
358 * gfortran.texi: Same.
360 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
362 * intrinsic.texi: Various minor cleanups.
364 2007-01-02 Steven G. Kargl <kargls@comcast.net>
366 * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
369 2007-01-02 Tobias Burnus <burnus@net-b.de>
372 * scanner.c (open_included_file): Support full-path filenames.
374 2007-01-02 Paul Thomas <pault@gcc.gnu.org>
377 * interface.c (check_sym_interfaces): Remove call to
378 resolve_global_procedure.
379 gfortran.h : Remove prototype for resolve_global_procedure.
380 resolve.c (resolve_global_procedure): Add static attribute
381 to function declaration.
383 2007-01-01 Steven G. Kargl <kargls@comcast.net>
385 * ChangeLog: Copy to ...
386 * ChangeLog-2006: here.