1 2007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
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
13 * options.c (gfc_init_options, gfc_handle_option): Handle the
14 new -fallow-leading-underscore option.
16 2007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19 * options.c (gfc_handle_module_path_options): Path used in -J
20 option is now added to the module search path.
22 2007-01-20 Richard Guenther <rguenther@suse.de>
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.
29 2007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
31 * intrinsic.texi (MATMUL): Corrected a typo.
32 (MAX): Separated @var arguments.
33 (MIN): Separated @var arguments.
35 2007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
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.
82 2007-01-18 H.J. Lu <hongjiu.lu@intel.com>
84 * trans-stmt.c (compute_overall_iter_number): Fix a typo.
86 2007-01-18 Roger Sayle <roger@eyesopen.com>
88 * trans-expr.c (copyable_array_p): Consider user derived types without
89 allocatable components to be copyable.
91 2007-01-18 Roger Sayle <roger@eyesopen.com>
93 * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
94 the number of interations in unconditional FORALL nests with constant
97 2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
98 Tobias Burnus <burnus@net-b.de>
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
109 2007-01-17 Paul Thomas <pault@gcc.gnu.org>
112 * module.c (load_generic_interfaces): Make the marking of the
113 symbol as ambiguous conditional on the module names being
115 (write_generic): Ensure that the generic interface has a
116 non-NULL module field.
118 2007-01-16 Roger Sayle <roger@eyesopen.com>
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
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
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.
148 2007-01-15 Paul Thomas <pault@gcc.gnu.org>
151 * trans-stmt.c (gfc_trans_call): If it does not have one, get
152 a backend_decl for an alternate return.
155 * resolve.c (pure_function): Statement functions are pure. Note
156 that this will have to recurse to comply fully with F95.
159 * resolve.c (resolve_function): Only a reference to the final
160 dimension of an assumed size array is an error in an inquiry
164 * resolve.c (resolve_function): Make sure that the function
165 expression has a type.
167 2007-01-14 Paul Thomas <pault@gcc.gnu.org>
170 * trans-decl.c (gfc_sym_mangled_function_id): Module, external
171 symbols must not have the module name prepended.
173 2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
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.
182 2007-01-11 Brooks Moses <brooks.moses@codesourcery.com>
184 * simplify.c: Update copyright to 2007.
187 2007-01-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
190 * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
193 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
195 * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
196 (gfc_simplify_ibset): Same.
198 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
202 * simplify.c (convert_mpz_to_unsigned): New function.
203 (convert_mpz_to_signed): New function, largely based on
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.
216 2007-01-09 Paul Thomas <pault@gcc.gnu.org>
219 * resolve.c (resolve_code): Use the code->expr character length
220 directly to set length of llen.
222 2007-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
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.
230 2007-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
232 * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
233 iresolve.c, match.c: Update Copyright years. Whitespace.
235 2007-01-08 Richard Guenther <rguenther@suse.de>
237 * trans-io.c (transfer_array_desc): Use build_int_cst instead
240 2007-01-08 Roger Sayle <roger@eyesopen.com>
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.
256 2007-01-08 Kazu Hirata <kazu@codesourcery.com>
258 gfortran.texi: Fix typos.
260 2007-01-07 Steven G. Kargl <kargl@gcc.gnu.org>
262 * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
263 convert.c: Update Copyright dates. Fix whitespace.
265 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
267 * data.c (gfc_assign_data_value): Fix whitespace.
269 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
271 * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
274 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
277 * match.c (gfc_match_name): Print diagnostics for invalid
280 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
282 * array.c: Fix whitespace in comment table.
284 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
286 * array.c, bbt.c, check.c: Update copyright years. Whitespace.
288 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
290 * arith.c: Update copyright years. Whitespace.
292 2007-01-05 Roger Sayle <roger@eyesopen.com>
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.
304 2007-01-05 Roger Sayle <roger@eyesopen.com>
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.
310 2007-01-05 Roger Sayle <roger@eyesopen.com>
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.
316 2007-01-05 Tobias Burnus <burnus@net-b.de>
318 * symbol.c (check_conflict): Fix error message.
320 2007-01-05 Paul Thomas <pault@gcc.gnu.org>
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
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.
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
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.
350 2007-01-05 Tobias Burnus <burnus@net-b.de>
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.
362 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
365 * check.c (gfc_check_kill_sub): Add checks for non-scalar
368 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
370 * intrinsic.texi: Minor cleanup, reflowing overlong
371 paragraphs, and correcting whitespace.
373 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
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.
385 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
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.
400 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
403 * interface.c (compare_actual_formal): check for
404 alternate returns when iterating over non-present
407 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
409 * invoke.texi: Update manpage copyright to include 2007.
411 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
413 * gfortran.texi: Update copyright to include 2007.
414 * intrinsic.texi: Update copyright to include 2007.
415 * invoke.texi: Update copyright to include 2007.
417 2007-01-02 Tobias Burnus <burnus@net-b.de>
418 Jakub Jelinek <jakub@redhat.com>
421 * scanner.c (open_included_file): Revert patch.
422 (gfc_open_included_file): Support absolute pathnames.
423 (gfc_open_intrinsic_module): Support absolute pathnames.
425 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
427 * gfortran.texi (GNU Fortran and GCC): Rewrite
429 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
431 * gfortran.texi (Introduction): Lower "Part I:
432 Introduction" to a chapter, renumber Parts II and III to
434 * intrinsic.texi (Introduction): Rename to "Introduction
435 to Intrinsics" to avoid conflict with the new chapter.
437 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
439 * intrinsic.texi (Introduction): Rewrite first paragraph.
441 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
443 * invoke.texi (OpenMP): Added index entry.
444 * gfortran.texi (title page): Removed erroneous '*'.
446 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
448 * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
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.
455 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
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.
462 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
464 * invoke.texi: Change @code-type macros to appropriate
465 variants (@command, @option, etc.)
466 * gfortran.texi: Same.
468 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
470 * intrinsic.texi: Various minor cleanups.
472 2007-01-02 Steven G. Kargl <kargls@comcast.net>
474 * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
477 2007-01-02 Tobias Burnus <burnus@net-b.de>
480 * scanner.c (open_included_file): Support full-path filenames.
482 2007-01-02 Paul Thomas <pault@gcc.gnu.org>
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.
491 2007-01-01 Steven G. Kargl <kargls@comcast.net>
493 * ChangeLog: Copy to ...
494 * ChangeLog-2006: here.