]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/fortran/ChangeLog
trans-stmt.c (compute_overall_iter_number): Fix a typo.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
1 2007-01-18 H.J. Lu <hongjiu.lu@intel.com>
2
3 * trans-stmt.c (compute_overall_iter_number): Fix a typo.
4
5 2007-01-18 Roger Sayle <roger@eyesopen.com>
6
7 * trans-expr.c (copyable_array_p): Consider user derived types without
8 allocatable components to be copyable.
9
10 2007-01-18 Roger Sayle <roger@eyesopen.com>
11
12 * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
13 the number of interations in unconditional FORALL nests with constant
14 bounds.
15
16 2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
17 Tobias Burnus <burnus@net-b.de>
18
19 PR libfortran/29649
20 * gfortran.h (gfc_option_t): Add flag_dump_core.
21 * lang.opt: Add -fdump-core option.
22 * invoke.texi: Document the new options.
23 * trans-decl.c (gfc_build_builtin_function_decls): Add new
24 options to the call to set_std.
25 * options.c (gfc_init_options, gfc_handle_option): Set the
26 new options.
27
28 2007-01-17 Paul Thomas <pault@gcc.gnu.org>
29
30 PR fortran/30476
31 * module.c (load_generic_interfaces): Make the marking of the
32 symbol as ambiguous conditional on the module names being
33 different.
34 (write_generic): Ensure that the generic interface has a
35 non-NULL module field.
36
37 2007-01-16 Roger Sayle <roger@eyesopen.com>
38
39 PR fortran/30404
40 * trans-stmt.c (forall_info): Remove pmask field.
41 (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
42 NVAR covers all the interation variables in the current forall_info.
43 Add an extra OUTER parameter, which specified the loop header in
44 which to place mask index initializations.
45 (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
46 Change the semantics of MASK_FLAG to only control the mask in the
47 innermost loop.
48 (compute_overall_iter_number): Optimize the trivial case of a
49 top-level loop having a constant number of iterations. Update
50 call to gfc_trans_nested_forall_loop. Calculate the number of
51 times the inner loop will be executed, not to size of the
52 iteration space.
53 (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
54 sizeof(type) == 1. Tidy up.
55 (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
56 to gfc_trans_nested_forall_loop.
57 (gfc_trans_pointer_assign_need_temp): Likewise.
58 (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
59 LENVAR local variables. Split mask allocation into a separate
60 hunk/pass from mask population. Use allocate_temp_for_forall_nest
61 to allocate the FORALL mask with the correct size. Update calls
62 to gfc_trans_nested_forall_loop.
63 (gfc_evaluate_where_mask): Update call to
64 gfc_trans_nested_forall_loop.
65 (gfc_trans_where_2): Likewise.
66
67 2007-01-15 Paul Thomas <pault@gcc.gnu.org>
68
69 PR fortran/28172
70 * trans-stmt.c (gfc_trans_call): If it does not have one, get
71 a backend_decl for an alternate return.
72
73 PR fortran/29389
74 * resolve.c (pure_function): Statement functions are pure. Note
75 that this will have to recurse to comply fully with F95.
76
77 PR fortran/29712
78 * resolve.c (resolve_function): Only a reference to the final
79 dimension of an assumed size array is an error in an inquiry
80 function.
81
82 PR fortran/30283
83 * resolve.c (resolve_function): Make sure that the function
84 expression has a type.
85
86 2007-01-14 Paul Thomas <pault@gcc.gnu.org>
87
88 PR fortran/30410
89 * trans-decl.c (gfc_sym_mangled_function_id): Module, external
90 symbols must not have the module name prepended.
91
92 2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
93
94 PR libfortran/30415
95 * iresolve.c (gfc_resolve_maxloc): If the rank
96 of the return array is nonzero and we process an
97 integer array smaller than default kind, coerce
98 the array to default integer.
99 * iresolve.c (gfc_resolve_minloc): Likewise.
100
101 2007-01-11 Brooks Moses <brooks.moses@codesourcery.com>
102
103 * simplify.c: Update copyright to 2007.
104 * scanner.c: Same.
105
106 2007-01-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
107
108 PR fortran/30430
109 * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
110 only once!
111
112 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
113
114 * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
115 (gfc_simplify_ibset): Same.
116
117 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
118
119 PR 30381
120 PR 30420
121 * simplify.c (convert_mpz_to_unsigned): New function.
122 (convert_mpz_to_signed): New function, largely based on
123 twos_complement().
124 (twos_complement): Removed.
125 (gfc_simplify_ibclr): Add conversions to and from an
126 unsigned representation before bit-twiddling.
127 (gfc_simplify_ibset): Same.
128 (gfc_simplify_ishftc): Add checks for overly large
129 constant arguments, only check the third argument if
130 it's present, carry over high bits into the result as
131 appropriate, and perform the final conversion back to
132 a signed representation using the correct sign bit.
133 (gfc_simplify_not): Removed unnecessary masking.
134
135 2007-01-09 Paul Thomas <pault@gcc.gnu.org>
136
137 PR fortran/30408
138 * resolve.c (resolve_code): Use the code->expr character length
139 directly to set length of llen.
140
141 2007-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
142
143 PR fortran/30408
144 * lang.opt: Add Wcharacter_truncation option.
145 * options.c (gfc_init_options): Initialize
146 gfc_option.warn_character_truncation to zero.
147 (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
148
149 2007-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
150
151 * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
152 iresolve.c, match.c: Update Copyright years. Whitespace.
153
154 2007-01-08 Richard Guenther <rguenther@suse.de>
155
156 * trans-io.c (transfer_array_desc): Use build_int_cst instead
157 of build_int_cstu.
158
159 2007-01-08 Roger Sayle <roger@eyesopen.com>
160
161 * trans-array.c (constant_array_constructor_p): New function to
162 determine whether an array constructor consists only of constant
163 elements, and if so return it's size.
164 (gfc_build_constant_array_constructor): Construct a statically
165 initialized gfortran array for a given EXPR_ARRAY.
166 (gfc_trans_constant_array_constructor): Efficiently scalarize
167 a constant array constructor.
168 (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
169 Special case scalarization of constant array constructors, all of
170 whose elements are specified, using constant_array_constructor_p
171 and gfc_trans_constant_array_constructor.
172 (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
173 before adding it to index, to avoid creating a NON_LVALUE_EXPR.
174
175 2007-01-08 Kazu Hirata <kazu@codesourcery.com>
176
177 gfortran.texi: Fix typos.
178
179 2007-01-07 Steven G. Kargl <kargl@gcc.gnu.org>
180
181 * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
182 convert.c: Update Copyright dates. Fix whitespace.
183
184 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
185
186 * data.c (gfc_assign_data_value): Fix whitespace.
187
188 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
189
190 * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
191 Commentary typo fix.
192
193 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
194
195 PR fortran/27698
196 * match.c (gfc_match_name): Print diagnostics for invalid
197 character in names.
198
199 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
200
201 * array.c: Fix whitespace in comment table.
202
203 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
204
205 * array.c, bbt.c, check.c: Update copyright years. Whitespace.
206
207 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
208
209 * arith.c: Update copyright years. Whitespace.
210
211 2007-01-05 Roger Sayle <roger@eyesopen.com>
212
213 * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
214 array assignments split out from gfc_trans_assignment.
215 (gfc_trans_array_copy): New function to implement array to array
216 copies via calls to __builtin_memcpy.
217 (copyable_array_p): New helper function to identify an array of
218 simple/POD types, that may be copied/assigned using memcpy.
219 (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
220 whole array assignments considered suitable by copyable_array_p.
221 Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
222
223 2007-01-05 Roger Sayle <roger@eyesopen.com>
224
225 * trans-array.c (gfc_trans_array_constructor_value): Make the
226 static const "data" array as TREE_READONLY.
227 * trans-stmt.c (gfc_trans_character_select): Likewise.
228
229 2007-01-05 Roger Sayle <roger@eyesopen.com>
230
231 * trans-array.c (gfc_conv_loop_setup): Test whether the loop
232 stride is one, to avoid fold_build2 introducing a useless
233 NON_LVALUE_EXPR node.
234
235 2007-01-05 Tobias Burnus <burnus@net-b.de>
236
237 * symbol.c (check_conflict): Fix error message.
238
239 2007-01-05 Paul Thomas <pault@gcc.gnu.org>
240
241 PR fortran/23232
242 * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
243 functions to signal that a DATA statement is being matched.
244 (gfc_match_data): Call gfc_set_in_match_data on entry and on
245 exit.
246 * gfortran.h : Add prototypes for above.
247 * expr.c (check_init_expr): Avoid check on parameter or
248 variable if gfc_in_match_data is true.
249 (gfc_match_init_expr): Do not call error on non-reduction of
250 expression if gfc_in_match_data is true.
251
252 PR fortran/27996
253 PR fortran/27998
254 * decl.c (gfc_set_constant_character_len): Add boolean arg to
255 flag array constructor resolution. Warn if string is being
256 truncated. Standard dependent error if string is padded. Set
257 new arg to false for all three calls to
258 gfc_set_constant_character_len.
259 * match.h : Add boolean arg to prototype for
260 gfc_set_constant_character_len.
261 * gfortran.h : Add warn_character_truncation to gfc_options.
262 * options.c (set_Wall): Set warn_character_truncation if -Wall
263 is set.
264 * resolve.c (resolve_code): Warn if rhs string in character
265 assignment has to be truncated.
266 * array.c (gfc_resolve_character_array_constructor): Set new
267 argument to true for call to gfc_set_constant_character_len.
268
269 2007-01-05 Tobias Burnus <burnus@net-b.de>
270
271 PR fortran/29624
272 * interface.c (compare_parameter_intent): New function.
273 (check_intents): Support pointer intents.
274 * symbol.c (check_conflict): Support pointer intents,
275 better conflict_std message.
276 * expr.c (gfc_check_assign,gfc_check_pointer_assign):
277 Support pointer intents.
278 * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
279 Support pointer intents.
280
281 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
282
283 PR 30371
284 * check.c (gfc_check_kill_sub): Add checks for non-scalar
285 arguments.
286
287 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
288
289 * intrinsic.texi: Minor cleanup, reflowing overlong
290 paragraphs, and correcting whitespace.
291
292 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
293
294 * intrinsic.texi (LBOUND): Add documentation.
295 (LGE): Add documentation.
296 (LGT): Add documentation.
297 (LINK): Add documentation.
298 (LLE): Add documentation.
299 (LLT): Add documentation.
300 (LNBLNK): Add documentation.
301 (UBOUND): Add documentation.
302 (UNLINK): Add documentation.
303
304 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
305
306 * intrinsic.texi (IAND): Clarify argument specifications.
307 (IBCLR): Add documentation.
308 (IBITS): Add documentation.
309 (IBSET): Add documentation.
310 (IEOR): Add documentation.
311 (IERRNO): Add documentation.
312 (INDEX): Add documentation.
313 (IOR): Add documentation.
314 (ISHFT): Add documentation.
315 (ISHFTC): Add documentation.
316 (KILL): Add documentation.
317 (LEN_TRIM): Add documentation.
318
319 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
320
321 PR 30235
322 * interface.c (compare_actual_formal): check for
323 alternate returns when iterating over non-present
324 arguments.
325
326 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
327
328 * invoke.texi: Update manpage copyright to include 2007.
329
330 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
331
332 * gfortran.texi: Update copyright to include 2007.
333 * intrinsic.texi: Update copyright to include 2007.
334 * invoke.texi: Update copyright to include 2007.
335
336 2007-01-02 Tobias Burnus <burnus@net-b.de>
337 Jakub Jelinek <jakub@redhat.com>
338
339 PR fortran/30276
340 * scanner.c (open_included_file): Revert patch.
341 (gfc_open_included_file): Support absolute pathnames.
342 (gfc_open_intrinsic_module): Support absolute pathnames.
343
344 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
345
346 * gfortran.texi (GNU Fortran and GCC): Rewrite
347
348 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
349
350 * gfortran.texi (Introduction): Lower "Part I:
351 Introduction" to a chapter, renumber Parts II and III to
352 Parts I and II.
353 * intrinsic.texi (Introduction): Rename to "Introduction
354 to Intrinsics" to avoid conflict with the new chapter.
355
356 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
357
358 * intrinsic.texi (Introduction): Rewrite first paragraph.
359
360 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
361
362 * invoke.texi (OpenMP): Added index entry.
363 * gfortran.texi (title page): Removed erroneous '*'.
364
365 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
366
367 * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
368 to description.
369 (Extensions): Miscellaneous minor rewriting and copyediting.
370 (BOZ-literal constants): Renamed from Hexadecimal constants.
371 (Hollerith constants support): Added explanation and
372 suggestions for standard-conforming modern equivalents.
373
374 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
375
376 * intrinsic.texi: Improvements to index entries; change
377 @findex entries to @cindex entries.
378 * invoke.texi: Standardize and improve index entries.
379 * gfortran.texi: Fix @code in one index entry.
380
381 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
382
383 * invoke.texi: Change @code-type macros to appropriate
384 variants (@command, @option, etc.)
385 * gfortran.texi: Same.
386
387 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
388
389 * intrinsic.texi: Various minor cleanups.
390
391 2007-01-02 Steven G. Kargl <kargls@comcast.net>
392
393 * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
394 build_int_cst.
395
396 2007-01-02 Tobias Burnus <burnus@net-b.de>
397
398 PR fortran/30276
399 * scanner.c (open_included_file): Support full-path filenames.
400
401 2007-01-02 Paul Thomas <pault@gcc.gnu.org>
402
403 PR fortran/20896
404 * interface.c (check_sym_interfaces): Remove call to
405 resolve_global_procedure.
406 gfortran.h : Remove prototype for resolve_global_procedure.
407 resolve.c (resolve_global_procedure): Add static attribute
408 to function declaration.
409
410 2007-01-01 Steven G. Kargl <kargls@comcast.net>
411
412 * ChangeLog: Copy to ...
413 * ChangeLog-2006: here.