1 2007-01-26 Steven Bosscher <stevenb.gcc@gmail.com>
2 Steven G. Kargl <kargl@gcc.gnu.org>
4 * fortran/io.c (next_char): Deal with backslash escaped characters.
5 Issue warnings in non -std=gnu cases.
6 * fortran/primary.c (next_string_char): Issue warnings in non
8 2007-01-26 Tobias Burnus <burnus@net-b.de>
10 * lang-specs.h: Add support for .f03 and .F03 extensions.
11 * gfortran.texi: Document .f03 extension.
12 * options.c (form_from_filename): Recognize .f03.
14 2007-01-25 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
17 * lang.opt (Wall): Remove RejectNegative.
18 * options.c (gfc_handle_option): Wall can be disabled.
19 (set_Wall): Add a parameter for disabling Wall.
21 2007-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
24 * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
26 2007-01-23 Paul Thomas <pault@gcc.gnu.org>
29 * match.c (gfc_match_namelist): Add check for assumed size character
30 in namelist and provide error if found.
32 2007-01-21 Brooks Moses <brooks.moses@codesourcery.com>
34 * intrinsic.texi (ACHAR): Added cross-references.
35 (CHAR): Put cross-references in alphabetical order.
36 (IACHAR): Added cross-references.
37 (ICHAR): Added cross-references.
39 2007-01-20 Brooks Moses <brooks.moses@codesourcery.com>
41 * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
42 (MAXVAL): Corrected description of result characteristics.
44 (UMASK): Added documentation.
46 2007-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
48 * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
49 parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
50 in the massive whitespace patch.
52 2007-01-20 Roger Sayle <roger@eyesopen.com>
54 * module.c (mio_array_ref): The dimen_type fields of an array ref
55 are an enumerated type and can't be read/written directly with a
56 call to mio_integer. Instead loop over and cast each element.
58 2007-01-20 Roger Sayle <roger@eyesopen.com>
60 * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
61 i.e. that the ARRAY_REF doesn't mention components.
62 * trans-array.c (gfc_constant_array_constructor_p): Export external
63 function renamed from constant_array_constructor_p.
64 (gfc_build_constant_array_constructor): Export.
65 (gfc_trans_array_constructor): Update call to the renamed function
66 constant_array_constructor_p.
67 * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
68 (gfc_build_constant_array_constructor): Likewise.
69 * trans-expr.c (gfc_build_memcpy_call): New helper function split
70 out from gfc_trans_array_copy.
71 (gfc_trans_array_copy): Use gfc_build_memcpy_call.
72 (gfc_trans_array_constructor_copy): New function to optimize
73 assigning an entire array from a constant array constructor.
74 (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
77 2007-01-20 Roger Sayle <roger@eyesopen.com>
79 * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
80 implementation for the SIGN intrinsic with integral operands.
81 (gfc_conv_intrinsic_minmax): Fix whitespace.
83 2007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
85 * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
86 * lang.opt: Add -fallow-leading-underscore.
87 * match.c (gfc_match_name): Allow leading underscore in symbol
88 name if -fallow-leading-underscore is used.
89 * symbol.c (gfc_get_default_type): Add special case for symbol
90 names beginning with an underscore.
91 * trans-decl.c (gfc_get_extern_function_decl,
92 gfc_build_intrinsic_function_decls): Add _gfortran prefix to
93 library symbols selected_int_kind, selected_real_kind and
95 * options.c (gfc_init_options, gfc_handle_option): Handle the
96 new -fallow-leading-underscore option.
98 2007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
101 * options.c (gfc_handle_module_path_options): Path used in -J
102 option is now added to the module search path.
104 2007-01-20 Richard Guenther <rguenther@suse.de>
107 * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
108 cexpi builtins if we have TARGET_C99_FUNCTIONS. Provide
109 sincos builtins if the target has sincos.
111 2007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
113 * intrinsic.texi (MATMUL): Corrected a typo.
114 (MAX): Separated @var arguments.
115 (MIN): Separated @var arguments.
117 2007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
119 * intrinsic.texi: general whitespace cleanup.
120 (menu): Added TIME8, removed UNMASK.
121 (AINT): Clarified argument requirement.
122 (ANINT): Clarified argument requirement.
123 (CEILING): Clarified argument requirement.
124 (CHAR): Clarified argument requirement.
125 (CMPLX): Clarified argument requirement.
126 (DCMPLX): Clarified argument requirement.
127 (FGET): Line rewrapping.
128 (FLOOR): Clarified argument requirement.
129 (GMTIME): Added documentation.
130 (IAND): Added cross-reference.
131 (IBCLR): Added cross-reference.
132 (IBSET): Added cross-reference.
133 (IEOR): Added cross-reference.
134 (INT): Collapsed examples, clarified argument requirement.
135 (IOR): Added cross-references.
136 (LEN_TRIM): Corrected result kind.
137 (LINK): Added cross-reference.
138 (LLT): Removed "documentation pending".
139 (LOGICAL): Added documentation.
140 (LSHIFT): Added documentation.
141 (LTIME): Added documentation.
142 (MATMUL): Added documentation.
143 (MAX): Added documentation.
144 (MAXLOC): Added documentation.
145 (MAXVAL): Added documentation.
146 (MERGE): Added documentation.
147 (MIN): Added documentation.
148 (MINLOC): Added documentation.
149 (MINVAL): Added documentation.
150 (MVBITS): Moved to correct place, added documentation.
151 (NOT): Added documentation.
152 (PERROR): Added documentation.
153 (RAN): Moved to correct place, added documentation.
154 (REAL): Clarified argument requirement.
155 (RENAME): Added documentation.
156 (RSHIFT): Clarified argument requirement.
157 (SIGN): Corrected table specification.
158 (SYMLNK): Added documentation.
159 (SYSTEM): Added documentation.
160 (TIME): Added documentation.
161 (TIME8): Added section and documentation.
162 (UNMASK): Removed erroneous section.
164 2007-01-18 H.J. Lu <hongjiu.lu@intel.com>
166 * trans-stmt.c (compute_overall_iter_number): Fix a typo.
168 2007-01-18 Roger Sayle <roger@eyesopen.com>
170 * trans-expr.c (copyable_array_p): Consider user derived types without
171 allocatable components to be copyable.
173 2007-01-18 Roger Sayle <roger@eyesopen.com>
175 * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
176 the number of interations in unconditional FORALL nests with constant
179 2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
180 Tobias Burnus <burnus@net-b.de>
183 * gfortran.h (gfc_option_t): Add flag_dump_core.
184 * lang.opt: Add -fdump-core option.
185 * invoke.texi: Document the new options.
186 * trans-decl.c (gfc_build_builtin_function_decls): Add new
187 options to the call to set_std.
188 * options.c (gfc_init_options, gfc_handle_option): Set the
191 2007-01-17 Paul Thomas <pault@gcc.gnu.org>
194 * module.c (load_generic_interfaces): Make the marking of the
195 symbol as ambiguous conditional on the module names being
197 (write_generic): Ensure that the generic interface has a
198 non-NULL module field.
200 2007-01-16 Roger Sayle <roger@eyesopen.com>
203 * trans-stmt.c (forall_info): Remove pmask field.
204 (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
205 NVAR covers all the interation variables in the current forall_info.
206 Add an extra OUTER parameter, which specified the loop header in
207 which to place mask index initializations.
208 (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
209 Change the semantics of MASK_FLAG to only control the mask in the
211 (compute_overall_iter_number): Optimize the trivial case of a
212 top-level loop having a constant number of iterations. Update
213 call to gfc_trans_nested_forall_loop. Calculate the number of
214 times the inner loop will be executed, not to size of the
216 (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
217 sizeof(type) == 1. Tidy up.
218 (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
219 to gfc_trans_nested_forall_loop.
220 (gfc_trans_pointer_assign_need_temp): Likewise.
221 (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
222 LENVAR local variables. Split mask allocation into a separate
223 hunk/pass from mask population. Use allocate_temp_for_forall_nest
224 to allocate the FORALL mask with the correct size. Update calls
225 to gfc_trans_nested_forall_loop.
226 (gfc_evaluate_where_mask): Update call to
227 gfc_trans_nested_forall_loop.
228 (gfc_trans_where_2): Likewise.
230 2007-01-15 Paul Thomas <pault@gcc.gnu.org>
233 * trans-stmt.c (gfc_trans_call): If it does not have one, get
234 a backend_decl for an alternate return.
237 * resolve.c (pure_function): Statement functions are pure. Note
238 that this will have to recurse to comply fully with F95.
241 * resolve.c (resolve_function): Only a reference to the final
242 dimension of an assumed size array is an error in an inquiry
246 * resolve.c (resolve_function): Make sure that the function
247 expression has a type.
249 2007-01-14 Paul Thomas <pault@gcc.gnu.org>
252 * trans-decl.c (gfc_sym_mangled_function_id): Module, external
253 symbols must not have the module name prepended.
255 2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
258 * iresolve.c (gfc_resolve_maxloc): If the rank
259 of the return array is nonzero and we process an
260 integer array smaller than default kind, coerce
261 the array to default integer.
262 * iresolve.c (gfc_resolve_minloc): Likewise.
264 2007-01-11 Brooks Moses <brooks.moses@codesourcery.com>
266 * simplify.c: Update copyright to 2007.
269 2007-01-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
272 * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
275 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
277 * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
278 (gfc_simplify_ibset): Same.
280 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
284 * simplify.c (convert_mpz_to_unsigned): New function.
285 (convert_mpz_to_signed): New function, largely based on
287 (twos_complement): Removed.
288 (gfc_simplify_ibclr): Add conversions to and from an
289 unsigned representation before bit-twiddling.
290 (gfc_simplify_ibset): Same.
291 (gfc_simplify_ishftc): Add checks for overly large
292 constant arguments, only check the third argument if
293 it's present, carry over high bits into the result as
294 appropriate, and perform the final conversion back to
295 a signed representation using the correct sign bit.
296 (gfc_simplify_not): Removed unnecessary masking.
298 2007-01-09 Paul Thomas <pault@gcc.gnu.org>
301 * resolve.c (resolve_code): Use the code->expr character length
302 directly to set length of llen.
304 2007-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
307 * lang.opt: Add Wcharacter_truncation option.
308 * options.c (gfc_init_options): Initialize
309 gfc_option.warn_character_truncation to zero.
310 (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
312 2007-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
314 * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
315 iresolve.c, match.c: Update Copyright years. Whitespace.
317 2007-01-08 Richard Guenther <rguenther@suse.de>
319 * trans-io.c (transfer_array_desc): Use build_int_cst instead
322 2007-01-08 Roger Sayle <roger@eyesopen.com>
324 * trans-array.c (constant_array_constructor_p): New function to
325 determine whether an array constructor consists only of constant
326 elements, and if so return it's size.
327 (gfc_build_constant_array_constructor): Construct a statically
328 initialized gfortran array for a given EXPR_ARRAY.
329 (gfc_trans_constant_array_constructor): Efficiently scalarize
330 a constant array constructor.
331 (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
332 Special case scalarization of constant array constructors, all of
333 whose elements are specified, using constant_array_constructor_p
334 and gfc_trans_constant_array_constructor.
335 (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
336 before adding it to index, to avoid creating a NON_LVALUE_EXPR.
338 2007-01-08 Kazu Hirata <kazu@codesourcery.com>
340 gfortran.texi: Fix typos.
342 2007-01-07 Steven G. Kargl <kargl@gcc.gnu.org>
344 * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
345 convert.c: Update Copyright dates. Fix whitespace.
347 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
349 * data.c (gfc_assign_data_value): Fix whitespace.
351 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
353 * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
356 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
359 * match.c (gfc_match_name): Print diagnostics for invalid
362 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
364 * array.c: Fix whitespace in comment table.
366 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
368 * array.c, bbt.c, check.c: Update copyright years. Whitespace.
370 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
372 * arith.c: Update copyright years. Whitespace.
374 2007-01-05 Roger Sayle <roger@eyesopen.com>
376 * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
377 array assignments split out from gfc_trans_assignment.
378 (gfc_trans_array_copy): New function to implement array to array
379 copies via calls to __builtin_memcpy.
380 (copyable_array_p): New helper function to identify an array of
381 simple/POD types, that may be copied/assigned using memcpy.
382 (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
383 whole array assignments considered suitable by copyable_array_p.
384 Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
386 2007-01-05 Roger Sayle <roger@eyesopen.com>
388 * trans-array.c (gfc_trans_array_constructor_value): Make the
389 static const "data" array as TREE_READONLY.
390 * trans-stmt.c (gfc_trans_character_select): Likewise.
392 2007-01-05 Roger Sayle <roger@eyesopen.com>
394 * trans-array.c (gfc_conv_loop_setup): Test whether the loop
395 stride is one, to avoid fold_build2 introducing a useless
396 NON_LVALUE_EXPR node.
398 2007-01-05 Tobias Burnus <burnus@net-b.de>
400 * symbol.c (check_conflict): Fix error message.
402 2007-01-05 Paul Thomas <pault@gcc.gnu.org>
405 * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
406 functions to signal that a DATA statement is being matched.
407 (gfc_match_data): Call gfc_set_in_match_data on entry and on
409 * gfortran.h : Add prototypes for above.
410 * expr.c (check_init_expr): Avoid check on parameter or
411 variable if gfc_in_match_data is true.
412 (gfc_match_init_expr): Do not call error on non-reduction of
413 expression if gfc_in_match_data is true.
417 * decl.c (gfc_set_constant_character_len): Add boolean arg to
418 flag array constructor resolution. Warn if string is being
419 truncated. Standard dependent error if string is padded. Set
420 new arg to false for all three calls to
421 gfc_set_constant_character_len.
422 * match.h : Add boolean arg to prototype for
423 gfc_set_constant_character_len.
424 * gfortran.h : Add warn_character_truncation to gfc_options.
425 * options.c (set_Wall): Set warn_character_truncation if -Wall
427 * resolve.c (resolve_code): Warn if rhs string in character
428 assignment has to be truncated.
429 * array.c (gfc_resolve_character_array_constructor): Set new
430 argument to true for call to gfc_set_constant_character_len.
432 2007-01-05 Tobias Burnus <burnus@net-b.de>
435 * interface.c (compare_parameter_intent): New function.
436 (check_intents): Support pointer intents.
437 * symbol.c (check_conflict): Support pointer intents,
438 better conflict_std message.
439 * expr.c (gfc_check_assign,gfc_check_pointer_assign):
440 Support pointer intents.
441 * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
442 Support pointer intents.
444 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
447 * check.c (gfc_check_kill_sub): Add checks for non-scalar
450 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
452 * intrinsic.texi: Minor cleanup, reflowing overlong
453 paragraphs, and correcting whitespace.
455 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
457 * intrinsic.texi (LBOUND): Add documentation.
458 (LGE): Add documentation.
459 (LGT): Add documentation.
460 (LINK): Add documentation.
461 (LLE): Add documentation.
462 (LLT): Add documentation.
463 (LNBLNK): Add documentation.
464 (UBOUND): Add documentation.
465 (UNLINK): Add documentation.
467 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
469 * intrinsic.texi (IAND): Clarify argument specifications.
470 (IBCLR): Add documentation.
471 (IBITS): Add documentation.
472 (IBSET): Add documentation.
473 (IEOR): Add documentation.
474 (IERRNO): Add documentation.
475 (INDEX): Add documentation.
476 (IOR): Add documentation.
477 (ISHFT): Add documentation.
478 (ISHFTC): Add documentation.
479 (KILL): Add documentation.
480 (LEN_TRIM): Add documentation.
482 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
485 * interface.c (compare_actual_formal): check for
486 alternate returns when iterating over non-present
489 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
491 * invoke.texi: Update manpage copyright to include 2007.
493 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
495 * gfortran.texi: Update copyright to include 2007.
496 * intrinsic.texi: Update copyright to include 2007.
497 * invoke.texi: Update copyright to include 2007.
499 2007-01-02 Tobias Burnus <burnus@net-b.de>
500 Jakub Jelinek <jakub@redhat.com>
503 * scanner.c (open_included_file): Revert patch.
504 (gfc_open_included_file): Support absolute pathnames.
505 (gfc_open_intrinsic_module): Support absolute pathnames.
507 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
509 * gfortran.texi (GNU Fortran and GCC): Rewrite
511 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
513 * gfortran.texi (Introduction): Lower "Part I:
514 Introduction" to a chapter, renumber Parts II and III to
516 * intrinsic.texi (Introduction): Rename to "Introduction
517 to Intrinsics" to avoid conflict with the new chapter.
519 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
521 * intrinsic.texi (Introduction): Rewrite first paragraph.
523 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
525 * invoke.texi (OpenMP): Added index entry.
526 * gfortran.texi (title page): Removed erroneous '*'.
528 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
530 * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
532 (Extensions): Miscellaneous minor rewriting and copyediting.
533 (BOZ-literal constants): Renamed from Hexadecimal constants.
534 (Hollerith constants support): Added explanation and
535 suggestions for standard-conforming modern equivalents.
537 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
539 * intrinsic.texi: Improvements to index entries; change
540 @findex entries to @cindex entries.
541 * invoke.texi: Standardize and improve index entries.
542 * gfortran.texi: Fix @code in one index entry.
544 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
546 * invoke.texi: Change @code-type macros to appropriate
547 variants (@command, @option, etc.)
548 * gfortran.texi: Same.
550 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
552 * intrinsic.texi: Various minor cleanups.
554 2007-01-02 Steven G. Kargl <kargls@comcast.net>
556 * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
559 2007-01-02 Tobias Burnus <burnus@net-b.de>
562 * scanner.c (open_included_file): Support full-path filenames.
564 2007-01-02 Paul Thomas <pault@gcc.gnu.org>
567 * interface.c (check_sym_interfaces): Remove call to
568 resolve_global_procedure.
569 gfortran.h : Remove prototype for resolve_global_procedure.
570 resolve.c (resolve_global_procedure): Add static attribute
571 to function declaration.
573 2007-01-01 Steven G. Kargl <kargls@comcast.net>
575 * ChangeLog: Copy to ...
576 * ChangeLog-2006: here.