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