OSDN Git Service

2007-04-23 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2007-04-23  Tobias Burnus  <burnus@net-b.de>
2
3         * primary.c (match_integer_constant): Mention -fno-range-check
4         in the error message.
5
6 2007-04-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
7
8         PR fortran/31495
9         * scanner.c (load_line):  Remove check for comment after ampersand and
10         adjust tracking of ampersand.
11
12 2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
13
14         * f95-lang.c (lang_tree_node): Use GENERIC_NEXT
15         instead of checking GIMPLE_STMT_P in chain_next.
16
17 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
18
19         * trans-types.h (gfc_packed): New enum.
20         (gfc_get_nodesc_array_type): Change prototype to use new enum.
21         * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
22         argument packed.  Adapt all references to values accordingly.
23         (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
24         (gfc_get_derived_type): Likewise.
25         * trans-array.c (gfc_build_constant_array_constructor): Likewise.
26         * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
27         argument to type gfc_packed.
28         (gfc_add_interface_mapping): Use enum values in call to
29         gfc_get_interface_mapping.
30         * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
31         values when determining packing.
32
33         * trans-decl.c (gfc_finish_decl): Remove unused second argument
34         'init'.  Simplify code accordingly.  Remove calls to
35         gfc_fatal_error in favor of gcc_assert.
36         (create_function_arglist): Remove second argument from calls to
37         gfc_finish-decl.
38         (gfc_trans_dummy_character): Likewise.
39
40         * arith.h: Update copyright years.
41         * dependency.h: Likewise.
42         * gfortran.h: Likewise.
43         * lang-specs.h: Likewise.
44         * parse.h: Likewise.
45         * symbol.c: Likewise.
46         * trans.h: Likewise.
47         * trans.c: Likewise.
48         * trans-array.c: Likewise.
49         * trans-common.c: Likewise.
50         * trans-const.h: Likewise.
51         * trans-const.c: Likewise.
52         * trans-decl.c: Likewise.
53         * trans-expr.c: Likewise.
54         * trans-io.c: Likewise.
55         * trans-openmp.c: Likewise.
56         * trans-types.h: Likewise.
57         * types.def: Likewise.
58
59 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
60
61         PR fortran/31144
62         * decl.c (gfc_sym_mangled_identifier): Use capital letters in name
63         mangling.
64         (gfc_sym_mangled_function_id): Likewise.
65
66 2007-04-15  Paul Thomas  <pault@gcc.gnu.org>
67
68         PR fortran/31204
69         * primary.c (check_for_implicit_index): New function to check
70         that a host associated variable is not an undeclared implied
71         do loop index.
72         (gfc_match_rvalue, match_variable): Use it and reset the
73         implied_index attribute.
74         * gfortran.h : Add the implied_index field to symbol_attribute.
75         * match.c (gfc_match_iterator): Mark the iterator variable
76         with the new attribute.
77         * decl.c (build_sym): Reset the new attribute.
78
79 2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
80
81         * gfc-internals.texi: Fix typos.
82         * simplify.c: Fix a comment typo.
83
84 2007-04-14  Bernhard Fischer  <aldot@gcc.gnu.org>
85
86         * primary.c: Commentary typo fix; Add question about redundant (?)
87         set.
88
89 2007-04-14  Paul Thomas  <pault@gcc.gnu.org>
90
91         PR fortran/29507
92         PR fortran/31404
93         * expr.c (scalarize_intrinsic_call): New function to
94         scalarize elemental intrinsic functions in initialization
95         expressions.
96         (check_init_expr): Detect elemental intrinsic functions
97         in initalization expressions and call previous.
98
99 2007-04-13  Tobias Burnus  <burnus@net-b.de>
100
101         PR fortran/31559
102         * primary.c (match_variable): External functions
103         are no variables.
104
105 2007-04-13  Paul Thomas  <pault@gcc.gnu.org>
106
107         PR fortran/31550
108         * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
109         derived type components.
110
111 2007-04-13  Tobias Schlüter  <tobi@gcc.gnu.org>
112
113         PR fortran/18937
114         * resolve.c: Include obstack.h and bitmap.h.  New variable
115         labels_obstack.
116         (code_stack): Add tail and reachable_labels fields.
117         (reachable_labels): New function.
118         (resolve_branch): Rework to use new fields in code_stack.
119         (resolve_code): Call reachable_labels.
120         (resolve_codes): Allocate and free labels_obstack.
121
122 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
123
124         PR fortran/31250
125         * decl.c (match_char_spec): Move check for negative CHARACTER
126         length ...
127         * resolve.c (resolve_charlen): ... here.
128         (resolve_types): Resolve CHARACTER lengths earlier.
129
130 2007-04-12  Daniel Franke  <franke.daniel@gmail.com>
131
132         PR fortran/31234
133         * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
134
135 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
136
137         PR fortran/31266
138         * primary.c (gfc_variable_attr): Don't copy string length if it
139         doesn't make sense.
140         * resolve.c (resolve_code): Clarify error message.
141
142         PR fortran/31471
143         * decl.c (gfc_match_end): Also check for construct name in END
144         FORALL and END WERE statements.
145         * match.c (match_case_eos): Use uppercase for statement name in
146         error message.
147         (match_elsewhere): Construct name may appear iff construct has a
148         name.
149
150         * trans-types.c: Update copyright years.  Reformat long comment
151         explaining array descriptor format.  Remove obsolete mention of
152         TYPE_SET.
153
154         * arith.c (gfc_arith_uplus): Rename to ...
155         (gfc_arith_identity): ... this.
156         (gfc_parentheses): New function.
157         (gfc_uplus): Adapt to renamed function.
158         * arith.h (gfc_parentheses): Add prototype.
159         * expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
160         (simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
161         INTRINSIC_PARENTHESES.
162
163 2007-04-12  Tobias Burnus  <burnus@net-b.de>
164
165         PR fortran/31472
166         * decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
167         attribute in type definitions.
168         (gfc_match_private): Allow PRIVATE statement only
169         in specification part of modules.
170         (gfc_match_public): Ditto for PUBLIC.
171         (gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
172         specificification part of modules.
173
174 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
175
176         PR fortran/31257
177         * intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
178         * intrinsic.h : Add prototype for gfc_resolve_achar.
179         * iresolve.c (gfc_resolve_achar): New function.
180
181 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
182
183         PR fortran/30880
184         * resolve.c (resolve_fl_variable): Set flag to 2 for automatic
185         arrays.  Make condition for automatic array error explicit.
186         If a dummy, no error on an INTENT(OUT) derived type.
187
188 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
189
190         PR fortran/30872
191         * expr.c (find_array_element): Correct arithmetic for rank > 1.
192
193 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
194
195         PR fortran/31222
196         * check.c (numeric_check): If an expresson has not got a type,
197         see if it is a symbol for which a default type applies.
198
199 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
200
201         PR fortran/31214
202         * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
203         associated symbols.
204
205 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
206
207         PR fortran/31293
208         * symbol.c (gfc_check_function_type): New function.
209         * gfortran.h : Add prototype for previous.
210         * parse.c (parse_progunit): Call it after parsing specification
211         statements.
212
213 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
214
215         PR fortran/31483
216         * trans-expr.c (gfc_conv_function_call): Give a dummy
217         procedure the correct type if it has alternate returns.
218
219 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
220
221         PR fortran/31292
222         * decl.c (gfc_match_modproc): Go up to the top of the namespace
223         tree to find the module namespace for gfc_get_symbol.
224
225 2007-04-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
226
227         PR fortran/31304
228         * fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
229         * fortran/trans-types.c (gfc_charlen_int_kind): New variable.
230         (gfc_init_types): Define gfc_charlen_int_kind. 
231         * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
232         * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
233         (gfc_build_intrinsic_function_decls): Don't set
234         gfor_fndecl_string_repeat.
235         * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
236         so that we don't have to call a library function.
237         * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
238         checks on the NCOPIES argument, and work with arbitrary size
239         arguments.
240
241 2007-03-31  Tobias Burnus  <burnus@net-b.de>
242
243         * intrinsic.c (add_functions): Fix name of dummy argument
244           for new_line and exit intrinsic.
245
246 2007-03-31  Paul Thomas  <pault@gcc.gnu.org>
247
248         PR fortran/31160
249         * gfortran.texi: Add a section for the %VAL, %REF and %LOC
250         extensions.
251
252 2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
253
254         * trans-types.c (gfc_signed_or_unsigned_type): Remove.
255         (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
256         gfc_signed_or_unsigned_type.
257         (gfc_signed_type): Ditto.
258         * trans-types.h (gfc_signed_or_unsigned_type): Remove.
259         * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
260
261 2007-03-30  Tobias Schlüter  <tobi@gcc.gnu.org>
262
263         * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
264         descend into all branches.
265
266 2007-03-29  Tobias Schlüter  <tobi@gcc.gnu.org>
267
268         * intrinsic.c (conv_name): Let gfc_get_string handle the format.
269         (find_conv): Compare pointers instead of calling strcmp.
270         (find_sym): Likewise, but ensure that the compared pointer is in
271         the global string table.
272
273 2007-03-28  Tobias Schlüter  <tobi@gcc.gnu.org>
274
275         * gfc-internals.texi: Fix output filename.  Merge type index into
276         concept index.  Start documentation of gfc_code structure.
277
278 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
279
280         * gfc-internals.texi: New file,
281         * Make-lang.in: Add rules to convert it to dvi, pdf, and info.
282
283 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
284  
285         * error.c (show_locus): Remove always-false test.
286
287 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
288
289         * lang.opt: Minor edits to descriptions.
290
291 2007-03-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
292
293         PR fortran/30877
294         * fortran/interface.c (check_operator_interface): Implement
295         the standard checks on user operators extending intrinsic operators.
296         * fortran/resolve.c (resolve_operator): If the ranks of operators
297         don't match, don't error out but try the user-defined ones first.
298
299 2007-03-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
300
301         PR fortran/30655
302         * expr.c (check_dimension): Fix logic of comparisons.
303
304 2007-03-24  Paul Thomas  <pault@gcc.gnu.org>
305
306         PR fortran/31215
307         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
308         int result that is non-zero if the expression is the function
309         result.  Only the characteristics of the result expression
310         can be used in a procedure interface, so simplify LEN in situ
311         using its character length.
312
313         PR fortran/31209
314         PR fortran/31200
315         * trans-expr.c (gfc_conv_function_call): Do not use
316         gfc_conv_expr_reference for actual pointer function with formal
317         target because a temporary is created that does not transfer
318         the reference correctly.  Do not indirect formal pointer
319         functions since it is the function reference that is needed.
320
321 2007-03-24  Brooks Moses  <brooks.moses@codesourcery.com>
322
323         * gfortran.h: Edit comments on GFC_STD_*.
324
325 2007-03-23  Brooks Moses  <brooks.moses@codesourcery.com>
326
327         * invoke.texi: Misc. small typo fixes.
328         (-Wcharacter-truncation): Add.
329         (-Wnonstd-intrinsics): Correct spelling.
330         (-std=): Edit.
331         (-fintrinsic-modules-path): Add.
332
333 2007-03-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
334
335         PR fortran/30834
336         * arith.c (complex_pow): Rewrite to handle large power.
337         (gfc_arith_power): Handle large power in the real and integer
338         cases.
339
340 2007-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
341
342         PR fortran/31262
343         * trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
344         larger than twice the width of a HOST_WIDE_INT.
345
346 2006-03-22  Paul Thomas  <pault@gcc.gnu.org>
347
348         PR fortran/31193
349         * trans-intrinsic.c (gfc_size_in_bytes): Remove function.
350         (gfc_conv_intrinsic_array_transfer): Remove calls to previous.
351         Explicitly extract TREE_TYPEs for source and mold.  Use these
352         to calculate length of source and mold, except for characters,
353         where the se string_length is used.  For mold, the TREE_TYPE is
354         recalculated using gfc_get_character_type_len so that the
355         result is correctly cast for character literals and substrings.
356         Do not use gfc_typenode_for_spec for the final cast.
357
358 2007-03-22  Tobias Schlüter  <tobi@gcc.gnu.org>
359
360         PR fortran/20897
361         * decl.c (gfc_match_derived_decl): Reliably reject
362         'doubleprecision' and 'doublecomplex' as type names.
363
364 2007-03-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
365
366         PR fortran/31203
367         * trans-expr.c (gfc_trans_init_string_length): Length should
368         never be negative.
369         (gfc_conv_function_call): Likewise.
370
371 2007-03-18  Paul Thomas  <pault@gcc.gnu.org>
372
373         PR fortran/30531
374         PR fortran/31086
375         * symbo.c : Add gfc_derived_types.
376         (gfc_free_dt_list): Free derived type list gfc_derived_types.
377         (gfc_free_namespace): Remove call to gfc_free_dt_list.
378         (gfc_symbol_done_2): Call  gfc_free_dt_list.
379         * gfortran.h : Declare gfc_derived_types to be external. Remove
380         derived types field from gfc_namespace.
381         * resolve.c (resolve_fl_derived): Refer to gfc_derived types
382         rather than namespace derived_types.
383         (resolve_fntype): Remove special treatment for module
384         derived type functions.
385         * trans-types.c (gfc_get_derived_type): Remove search for like
386         derived types.  Finish by copying back end declaration to like
387         derived types in the derived type list gfc_derived_types.
388
389         2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
390
391         PR fortran/31120
392         * trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
393         (gfc_conv_cst_int_power): Handle integer exponent with care,
394         since it might be too large for us.
395
396 2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
397
398         PR fortran/31184
399         * invoke.texi: Fix typo.
400
401 2007-03-16  Tobias Burnus  <burnus@net-b.de>
402
403         * trans-decl.c (gfc_generate_function_code): Use all arguments of
404           set_std.
405
406 2007-03-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
407
408         * gfortran.h (gfc_option_t): Add flag_backtrace field.
409         * lang.opt: Add -fbacktrace option.
410         * invoke.texi: Document the new option.
411         * trans-decl.c (gfc_build_builtin_function_decls): Add new
412         option to the call to set_std.
413         * options.c (gfc_init_options, gfc_handle_option): Handle the
414         new option.
415
416 2007-03-15  Tobias Burnus  <burnus@gcc.gnu.org>
417             Paul Thomas  <pault@gcc.gnu.org>
418
419         PR fortran/30922
420         * decl.c (gfc_match_import): If the parent of the current name-
421         space is null, try looking for an imported symbol in the parent
422         of the proc_name interface.
423         * resolve.c (resolve_fl_variable): Do not check for blocking of
424         host association by a same symbol, if the symbol is in an
425         interface body.
426
427 2007-03-15  Paul Thomas  <pault@gcc.gnu.org>
428
429         PR fortran/30879
430         * decl.c (match_data_constant): Before going on to try to match
431         a name, try to match a structure component.
432
433
434         PR fortran/30870
435         * resolve.c (resolve_actual_arglist): Do not reject a generic
436         actual argument if it has a same name specific interface.
437
438         PR fortran/31163
439         * trans-array.c (parse_interface): Do not nullify allocatable
440         components if the symbol has the saved attribute.
441
442 2007-03-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
443
444         * trans-array.c (gfc_trans_auto_array_allocation): Replace
445         fold(convert()) by fold_convert().
446         (gfc_duplicate_allocatable): Likewise.
447         * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
448         build_int_cst instead of converting an integer_zero_node
449         to the final type.
450
451 2007-03-14  Jakub Jelinek  <jakub@redhat.com>
452
453         * module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
454
455 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
456
457         PR fortran/30933
458         PR fortran/30948
459         PR fortran/30953
460         * intrinsics.texi (CHDIR): Fix argument names, note
461         that STATUS must be a default integer.
462         (CTIME): Fix argument names, note that RESULT must
463         be a default integer.
464         (EXIT): Note that STATUS must be a default integer.
465
466 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
467
468         PR fortran/28068
469         * intrinsic.texi: General whitespace cleanup, remove
470         comment about missing intrinsics.
471         (menu): Add lines for new entries listed below.
472         (ACOSH): Mention specific function DACOSH, correct
473         description phrasing.
474         (ASINH): Mention specific function DASINH, correct
475         description phrasing.
476         (ATANH): Mention specific function DATANH, correct
477         description phrasing.
478         (COS): Add index entry for CCOS.
479         (CPU_TIME): Correct "REAL" to "REAL(*)".
480         (EXP): Add index entry for CEXP.
481         (INT): Correct argument name to "A".
482         (INT2): New entry.
483         (INT8): New entry.
484         (LONG): New entry.
485         (MAX): Add index entries for specific variants.
486         (MCLOCK): New entry.
487         (MCLOCK8): New entry.
488         (SECNDS): Adjust to a more standard form.
489         (SECOND): New entry.
490         (TIME): Add cross-reference to MCLOCK.
491         (TIME8): Add cross-reference to MCLOCK8.
492
493 2007-03-11  Paul Thomas  <pault@gcc.gnu.org>
494
495         PR fortran/30883
496         * parse.c (parse_interface): Use the default types from the
497         formal namespace if a function or its result do not have a type
498         after parsing the specification statements.
499
500 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
501
502         * intrinsic.texi: (ICHAR) Improve internal I/O note.
503         (ACHAR): Reference it.
504         (CHAR): Reference it.
505         (IACHAR): Reference it.
506
507 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
508
509         * intrinsic.texi: (LINK) Document function form.
510         (RENAME): Likewise.
511         (SYMLNK): Likewise.
512         (SYSTEM): Likewise.
513         (UNLINK): Likewise.
514
515 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
516
517         * intrinsic.texi: minor typo fixes, removed prologue.
518         (FSEEK): moved to correct place in alphabetical order.
519
520 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
521
522         PR fortran/30947
523         * check.c (gfc_check_alarm_sub): Added check for default integer 
524         kind of status argument.
525         * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of 
526         status argument.
527         * intrinsic.texi (ALARM): Extended documentation.
528
529 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
530
531         * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
532         (ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
533         * intrinsic.c (add_subroutines): Adjusted dummy argument names 
534         of GERROR and TTYNAM.
535
536 2007-07-08  Tobias Burnus  <burnus@net-b.de>
537
538         * module.c (gfc_match_use): Support renaming of operators
539         in USE statements.
540         * gfortran.texi (Fortran 2003 Status): Document support of
541         renaming of operators.
542
543 2007-07-08  Tobias Burnus  <burnus@net-b.de>
544
545         PR fortran/30973
546         * module.c (read_module): Always import module name as symbol.
547         (gfc_match_use): Disallow module name in the only clause of
548         a use statement.
549
550 2007-03-08  Paul Thomas  <pault@gcc.gnu.org>
551
552         PR fortran/31011
553         * expr.c (find_array_section): Correct arithmetic for section
554         size.
555
556 2007-03-07  Brooks Moses  <brooks.moses@codesourcery.com>
557
558         * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
559
560 2007-03-06  Daniel Franke  <franke.daniel@gmail.com>
561
562         PR documentation/30950
563         * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
564         (FREE): Fix call syntax.
565
566 2007-03-06  Brooks Moses  <brooks.moses@codesourcery.com>
567
568         * intrinsic.texi: Limit column widths to a total of .85.
569
570 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
571
572         * gfortran.texi (GFortran and G77): Rewrite completely.
573
574 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
575
576         * match.c (gfc_match_name): Expanded comment.
577
578 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
579
580         * gfortran.texi (Old-style kind specifications): Document
581         special handling of old-style kind specifiers for COMPLEX.
582         * decl.c (gfc_match_old_kind_spec): Document kind/bytesize
583         assumptions for COMPLEX in comment.
584
585 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
586
587         PR 31050
588         * gfortranspec.c (lang_specific_driver): Update program
589         name and copyright date.
590
591 2007-03-03  Paul Thomas  <pault@gcc.gnu.org>
592
593         PR fortran/30882
594         * check.c (dim_rank_check): The shape of subsections of
595         assumed-size arrays is known.
596
597 2007-03-02  Paul Thomas  <pault@gcc.gnu.org>
598             Tobias Burnus  <burnus@net-b.de>
599
600         PR fortran/30873
601         * decl.c (gfc_match_entry): Remove erroneous entry result check.
602
603 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
604
605         * Make-lang.in: Add install-pdf target as copied from
606         automake v1.10 rules.
607
608 2007-03-01  Tobias Burnus  <burnus@net-b.de>
609
610         PR fortran/30865
611         * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
612
613 2007-02-28  Tobias Burnus  <burnus@net-b.de>
614             Paul Thomas  <pault@gcc.gnu.org>
615
616         PR fortran/30888
617         PR fortran/30887
618         * resolve.c (resolve_actual_arglist): Allow by-value
619         arguments and non-default-kind for %VAL().
620         * trans-expr.c (conv_arglist_function): Allow
621         non-default-kind for %VAL().
622
623 2007-02-28  Tobias Burnus  <burnus@net-b.de>
624
625         PR fortran/30968
626         * primary.c (next_string_char): Correct reading a character
627         after the delimiter.
628         (match_string_constant): Print warning message only once.
629
630 2007-02-27  Richard Guenther  <rguenther@suse.de>
631
632         * trans-array.c (structure_alloc_comps): Use correct type
633         for null pointer constant.
634
635 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
636
637         * gfortran.texi: Standardize title page, remove version number
638         from copyright page.
639
640 2007-02-26  Thomas Koenig  <Thomas.Koenig@online.de>
641             Paul Thomas  <pault@gcc.gnu.org>
642
643         PR fortran/30865
644         * trans-intrinsic.c (gfc_conv_intrinsic_size):
645         If dim is an optional argument, check for its
646         presence and call size0 or size1, respectively.
647
648 2007-02-23  Paul Thomas <pault@gcc.gnu.org>
649
650         PR fortran/30660
651         * resolve.c (has_default_initializer): New function.
652         (resolve_fl_variable): Call has_default_initializer to determine if
653         the derived type has a default initializer to its ultimate
654         components.
655
656
657 2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
658
659         * options.c (set_default_std_flags): New function to consolidate
660         setting the flags.
661         (gfc_init_options): Use new function.
662         (gfc_handle_option): Use new function.
663
664 2007-02-22  Brooks Moses  <brooks.moses@codesourcery.com>
665
666         * gfortran.texi (Old-style kind specifications): Document
667         special handling of old-style kind specifiers for COMPLEX.
668         * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
669         assumptions in comment.
670
671 2007-02-21  Bernhard Fischer  <aldot@gcc.gnu.org>
672
673         * parse.c (next_free): Gooble spaces after OpenMP sentinel.
674
675 2007-02-20  Thomas Koenig  <Thomas.Koenig@online.de>
676
677         PR fortran/30869
678         * match.c (gfc_match_iterator): Remove conflict between
679         loop variable and pointer.
680
681 2007-02-20  Tobias Burnus  <burnus@net-b.de>
682
683         PR fortran/30522
684         * symbol.c (gfc_add_volatile): Allow to set VOLATILE
685           attribute for host-associated variables.
686         * gfortran.h (symbol_attribute): Save namespace
687           where VOLATILE has been set.
688         * trans-decl.c (gfc_finish_var_decl): Move variable
689           declaration to the top.
690
691 2007-02-20  Tobias Burnus  <burnus@net-b.de>
692
693         PR fortran/30783
694         * resolve.c (resolve_symbol): Add character dummy VALUE check.
695
696 2007-02-19  Thomas Koenig  <Thomas.Koenig@online.de>
697
698         PR libfortran/30533
699         * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
700         argument to default integer.
701         (gfc_resolve_minloc): Likewise.
702
703 2007-02-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
704
705         PR fortran/30681
706         * options.c (gfc_init_options): Relax warning level for obsolescent.
707         * match.c (match_arithmetic_if): Change to obsolescent from deleted.
708         (gfc_match_if): Same.
709
710 2007-02-18  Roger Sayle  <roger@eyesopen.com>
711
712         * trans-array.c (gfc_build_constant_array_constructor): When the
713         shape of the constructor is known, use that to construct the
714         gfc_array_spec.
715         (gfc_trans_constant_array_constructor): Initialize the "info"
716         information for all of the dimensions of the array constructor.
717         (constant_array_constructor_loop_size): New function.
718         (gfc_trans_array_constructor): Use it to determine whether a
719         loop is suitable for "constant array constructor" optimization.
720
721         * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
722         instead of build2, to avoid conditions like "(a != b) != 0".
723
724 2007-02-18  Roger Sayle  <roger@eyesopen.com>
725             Paul Thomas <pault@gcc.gnu.org>
726
727         PR fortran/30400
728         * match.c (match_forall_iterator): Use gfc_match_expr instead
729         of gfc_match_variable to match the iterator variable.  Return
730         MATCH_NO if not a variable.  Remove the reset of the symbol's
731         flavor in cleanup.
732
733 2007-02-16  Tobias Burnus  <burnus@net-b.de>
734
735         PR fortran/30793
736         * trans-decl.c (gfc_generate_function_code): Do not initialize
737         pointers to derived components.
738
739 2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
740             Brooks Moses  <brooks.moses@codesourcery.com>
741             Lee Millward  <lee.millward@codesourcery.com>
742
743         * trans-expr.c (gfc_conv_power_op): Use build_call_expr.
744         (gfc_conv_string_tmp): Likewise.
745         (gfc_conv_concat_op): Likewise.
746         (gfc_build_compare_string): Likewise.
747         (gfc_conv_function_call): Use build_call_list instead of build3.
748
749         * trans-array.c (gfc_trans_allocate_array_storage): Use
750         build_call_expr.
751         (gfc_grow_array): Likewise.
752         (gfc_trans_array_ctor_element): Likewise.
753         (gfc_trans_array_constructor_value): Likewise.
754         (gfc_array_allocate): Likewise.
755         (gfc_array_deallocate): Likewise.
756         (gfc_trans_auto_array_allocation): Likewise.
757         (gfc_trans_dummy_array_bias): Likewise.
758         (gfc_conv_array_parameter): Likewise.
759         (gfc_trans_dealloc_allocated): Likewise.
760         (gfc_duplicate_allocatable): Likewise.
761
762         * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
763         (gfc_trans_omp_flush): Likewise.
764
765         * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
766         (gfc_trans_pause): Likewise.
767         (gfc_trans_stop): Likewise.
768         (gfc_trans_character_select): Likewise.
769         (gfc_do_allocate): Likewise.
770         (gfc_trans_assign_need_temp): Likewise.
771         (gfc_trans_pointer_assign_need_temp): Likewise.
772         (gfc_trans_forall_1): Likewise.
773         (gfc_trans_where_2): Likewise.
774         (gfc_trans_allocate): Likewise.
775         (gfc_trans_deallocate): Likewise.
776
777         * trans.c (gfc_trans_runtime_check): Use build_call_expr.
778
779         * trans-io.c (gfc_trans_open): Use build_call_expr.
780         (gfc_trans_close): Likewise.
781         (build_filepos): Likewise.
782         (gfc_trans_inquire): Likewise.
783         (NML_FIRST_ARG): Delete.
784         (NML_ADD_ARG): Delete.
785         (transfer_namelist_element): Use build_call_expr.
786         (build_dt): Likewise.
787         (gfc_trans_dt_end): Likewise.
788         (transfer_expr): Likewise.
789         (transfer_array-desc): Likewise.
790
791         * trans-decl.c (gfc_generate_function_code): Use build_call_expr.
792         (gfc_generate_constructors): Likewise.
793
794         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
795         (gfc_conv_intrinsic_fdate): Likewise.
796         (gfc_conv_intrinsic_ttynam): Likewise.
797         (gfc_conv_intrinsic_array_transfer): Likewise.
798         (gfc_conv_associated): Likewise.
799         (gfc_conv_intrinsic_si_kind): Likewise.
800         (gfc_conv_intrinsic_trim): Likewise.
801         (gfc_conv_intrinsic_repeat: Likewise.
802         (gfc_conv_intrinsic_iargc): Likewise.
803
804 2007-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
805
806         PR fortran/30779
807         * scanner.c (gfc_next_char_literal): Add check for end of file after
808         call to advance_line.
809
810 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
811
812         PR fortran/30799
813         * primary.c (match_logical_constant): Return MATCH_ERROR on invalid
814         kind.
815
816 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
817
818         * misc.c (gfc_typename): Fix potential buffer overflow.
819
820 2007-02-13  Paul Thomas  <pault@gcc.gnu.org>
821
822         PR fortran/30554
823         * module.c (read_module): Set pointer_info to referenced if the
824         symbol has no namespace.
825
826 2007-02-12  Nick Clifton  <nickc@redhat.com>
827
828         * lang.opt: Add Warning attribute to warning options.
829
830 2007-02-11  Daniel Franke  <franke.daniel@gmail.com>
831
832         * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
833         (SLEEP): Added section and documentation.
834
835 2007-02-11  Tobias Schlüter  <tobi@gcc.gnu.org>
836
837         PR fortran/30478
838         * decl.c (add_init_expr_to_sym): Remove ENUM specific code.
839         (variable_decl): Likewise.  Rewrap comment.
840         (match_attr_spec): Remove ENUM specific code.
841         (gfc_match_enum): Fix typo in error message.
842         (enumerator_decl): New function.
843         (gfc_match_enumerator_def): Use enumerator_decl instead of
844         variable_decl.  Adapt code accordingly.
845
846 2007-02-11  Paul Thomas  <pault@gcc.gnu.org>
847
848         PR fortran/30554
849         * module.c (find_symtree_for_symbol): New function to return
850         a symtree that is not a "unique symtree" given a symbol.
851         (read_module): Do not automatically set pointer_info to
852         referenced because this inhibits the generation of a unique
853         symtree.  Recycle the existing symtree if possible by calling
854         find_symtree_for_symbol.
855
856         PR fortran/30319
857         * decl.c (add_init_expr_to_sym): Make new charlen for an array
858         constructor initializer.
859
860 2007-02-10  Richard Henderson  <rth@redhat.com>, Jakub Jelinek  <jakub@redhat.com>
861
862         * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
863         and __emutls_register_common.
864         * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
865         * trans-common.c (build_common_decl): Don't check have_tls.
866         * trans-decl.c (gfc_finish_var_decl): Likewise.
867         * types.def (BT_WORD, BT_FN_PTR_PTR): New.
868         (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
869
870 2007-02-09  Tobias Burnus  <burnus@net-b.de>
871
872         PR fortran/30512
873         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
874           gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
875
876 2007-02-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
877
878         PR fortran/30720
879         * trans-array.c (gfc_trans_create_temp_array): Remove use of the
880         function argument. Always generate code for negative extent.
881         Simplify said code.
882         * trans-array.h (gfc_trans_create_temp_array): Change prototype.
883         * trans-expr.c (gfc_conv_function_call): Remove use of last argument
884         of gfc_trans_create_temp_array.
885         * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
886         * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
887
888 2007-02-08  Roger Sayle  <roger@eyesopen.com>
889
890         * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
891         mask expression is a compile-time constant (".true." or ".false.").
892
893 2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
894
895         PR fortran/30611
896         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
897         arguments only once. Generate check that NCOPIES argument is not
898         negative.
899
900 2007-02-04  Steven G. Kargl <kargl@gcc.gnu.org>
901
902         PR fortran/30605
903         * fortran/invoke.texi: Update documentation.
904         * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
905         and -pedantic.
906
907 2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
908
909         * trans-array.c: Fix a comment typo.
910
911 2007-02-03  Paul Thomas  <pault@gcc.gnu.org>
912
913         PR fortran/30514
914         * array.c (match_array_element_spec): If the length of an array is
915         negative, adjust the upper limit to make it zero length.
916
917         PR fortran/30660
918         * resolve.c (pure_function, resolve_function): Initialize name to
919         null to clear up build warnings.
920         (resolve_fl_variable): Look at components explicitly to check for
921         default initializer, rather than using gfc_default_initializer.
922
923 2007-02-02  Steven G. Kargl <kargl@gcc.gnu.org>
924
925         PR fortran/30683
926         * resolve.c (resolve_generic_f): Check for non-NULL sym.
927
928 2007-02-02  Roger Sayle  <roger@eyesopen.com>
929
930         * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
931         NON_LVALUE_EXPR nodes and useless type conversions.
932
933 2007-02-02  Paul Thomas  <pault@gcc.gnu.org>
934
935         PR fortran/30284
936         PR fortran/30626
937         * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
938         from function and make sure that substring lengths are
939         translated.
940         (is_aliased_array): Remove static attribute.
941         * trans.c : Add prototypes for gfc_conv_aliased_arg and
942         is_aliased_array.
943         * trans-io.c (set_internal_unit): Add the post block to the
944         arguments of the function.  Use is_aliased_array to check if
945         temporary is needed; if so call gfc_conv_aliased_arg.
946         (build_dt): Pass the post block to set_internal_unit and
947         add to the block after all io activiy is done.
948
949 2007-02-01  Roger Sayle  <roger@eyesopen.com>
950
951         * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
952         a temporary array to pass a constant non-character array constructor.
953         Generalize the descriptor generation code to handle scalarizer
954         "info" without an array reference.
955
956 2007-02-01  Roger Sayle  <roger@eyesopen.com>
957
958         * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
959         dependency checking for array constructors.
960
961 2007-02-01  Roger Sayle  <roger@eyesopen.com>
962
963         * trans-stmt.c (compute_overall_iter_number): Document function
964         arguments.  Generalize "unconditional forall nest with constant
965         bounds" optimization to eliminate unconditional inner loops with
966         constant bounds.
967
968 2007-01-31  Tobias Burnus  <burnus@net-b.de>
969
970         PR fortran/30520
971         * interface.c (compare_actual_formal): Check conformance between
972           actual and VOLATILE dummy arguments.
973         * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
974           multiple times in different scopes.
975         * decl.c (gfc_match_volatile): Search symbol in host association.
976
977 2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
978
979         * simplify.c, trans-array.c: Fix comment typos.
980
981 2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
982
983         * invoke.texi (Code Gen Options): Fix abbreviation typo.
984         * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
985
986 2007-01-30  Steve Ellcey  <sje@cup.hp.com>
987
988         PR fortran/30432
989         * trans-types.c (gfc_get_function_type): Do not add void_type_node
990         to empty arg list.
991         * trans-decl.c (create_function_arglist): Change assert.
992
993 2007-01-29  Paul Thomas  <pault@gcc.gnu.org>
994
995         PR fortran/30554
996         * module.c (read_module): If a symbol is excluded by an ONLY
997         clause, check to see if there is a symtree already loaded. If
998         so, attach the symtree to the pointer_info.
999
1000 2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
1001
1002         PR libfortran/30389
1003         * gfortran.h: Remove gfc_simplify_init_1.
1004         * arith.h: Remove third argument from gfc_compare_string.
1005         * arith.c (gfc_compare_expression): Remove third argument
1006         from call to gfc_compare_string.
1007         (gfc_compare_string): Remove third argument xcoll_table.
1008         Remove use of xcoll_table.
1009         * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
1010         * simplify.c (ascii_table): Remove.
1011         (xascii_table): Likewise.
1012         (gfc_simplify_achar): ICE if extract_int fails.  Remove use of
1013         ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
1014         (gfc_simplify_char): ICE if extract_int fails. Error if
1015         value < 0 or value > 255.
1016         (gfc_simplify_iachar): Remove use of xascii_table.
1017         Char values outside of 0..255 are an ICE.
1018         (gfc_simplify_lge): Remove use of xascii_table.
1019         (gfc_simplify_lgt): Likewise.
1020         (gfc_simplify_lle): Likewise.
1021         (gfc_simplify_llt): Likewise.
1022         (invert_table): Remove.
1023         (gfc_simplify_init_1): Remove.
1024
1025 2007-01-27  Roger Sayle  <roger@eyesopen.com>
1026
1027         * trans-stmt.c (forall_info): Replace the next_nest and outer
1028         fields that previously implemented a doubly-linked list with a
1029         single prev_nest field (singly-linked list).
1030         (gfc_trans_nested_forall_loop): The nested_forall_info argument
1031         now denotes the innermost FORALL in the loop nest.
1032         (compute_overall_iter_number): Use prev_nest instead of next_nest.
1033         (gfc_trans_forall_1): Link/cons the new "info" to the head of the
1034         nested_forall_info linked list.  Free the current "info" when done.
1035
1036 2007-01-27  Paul Thomas  <pault@gcc.gnu.org>
1037
1038         PR fortran/30407
1039         * trans-expr.c (gfc_conv_operator_assign): New function.
1040         * trans.h : Add prototype for gfc_conv_operator_assign.
1041         * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
1042         a potential operator assignment subroutine.  If it is non-NULL
1043         call gfc_conv_operator_assign instead of the first assignment.
1044         ( gfc_trans_where_2): In the case of an operator assignment,
1045         extract the argument expressions from the code for the
1046         subroutine call and pass the symbol to gfc_trans_where_assign.
1047         resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
1048         gfc_resolve_forall_body): Resolve the subroutine call for
1049         operator assignments.
1050
1051 2007-01-26  Steven Bosscher  <stevenb.gcc@gmail.com>
1052             Steven G. Kargl <kargl@gcc.gnu.org>
1053
1054         PR fortran/30278
1055         * fortran/io.c (next_char): Deal with backslash escaped characters.
1056         Issue warnings in non -std=gnu cases.
1057         * fortran/primary.c (next_string_char): Issue warnings in non
1058
1059 2007-01-26  Tobias Burnus  <burnus@net-b.de>
1060
1061         * lang-specs.h: Add support for .f03 and .F03 extensions.
1062         * gfortran.texi: Document .f03 extension.
1063         * options.c (form_from_filename): Recognize .f03.
1064
1065 2007-01-25  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1066
1067         PR fortran/30437
1068         * lang.opt (Wall): Remove RejectNegative.
1069         * options.c (gfc_handle_option): Wall can be disabled.
1070         (set_Wall): Add a parameter for disabling Wall.
1071         
1072 2007-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1073
1074         PR fortran/30532
1075         * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
1076         
1077 2007-01-23  Paul Thomas  <pault@gcc.gnu.org>
1078
1079         PR fortran/30481
1080         * match.c (gfc_match_namelist): Add check for assumed size character
1081         in namelist and provide error if found.
1082
1083 2007-01-21  Brooks Moses  <brooks.moses@codesourcery.com>
1084
1085         * intrinsic.texi (ACHAR): Added cross-references.
1086         (CHAR): Put cross-references in alphabetical order.
1087         (IACHAR): Added cross-references.
1088         (ICHAR): Added cross-references.
1089
1090 2007-01-20  Brooks Moses  <brooks.moses@codesourcery.com>
1091
1092         * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
1093         (MAXVAL): Corrected description of result characteristics.
1094         (MINVAL): Same.
1095         (UMASK): Added documentation.
1096
1097 2007-01-20  Steven G. Kargl  <kargl@gcc.gnu.org>
1098
1099         * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
1100         parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
1101         in the massive whitespace patch.
1102
1103 2007-01-20  Roger Sayle  <roger@eyesopen.com>
1104
1105         * module.c (mio_array_ref): The dimen_type fields of an array ref
1106         are an enumerated type and can't be read/written directly with a
1107         call to mio_integer.  Instead loop over and cast each element.
1108
1109 2007-01-20  Roger Sayle  <roger@eyesopen.com>
1110
1111         * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
1112         i.e. that the ARRAY_REF doesn't mention components.
1113         * trans-array.c (gfc_constant_array_constructor_p): Export external
1114         function renamed from constant_array_constructor_p.
1115         (gfc_build_constant_array_constructor): Export.
1116         (gfc_trans_array_constructor): Update call to the renamed function
1117         constant_array_constructor_p.
1118         * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
1119         (gfc_build_constant_array_constructor): Likewise.
1120         * trans-expr.c (gfc_build_memcpy_call): New helper function split
1121         out from gfc_trans_array_copy.
1122         (gfc_trans_array_copy): Use gfc_build_memcpy_call.
1123         (gfc_trans_array_constructor_copy): New function to optimize
1124         assigning an entire array from a constant array constructor.
1125         (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
1126         when appropriate.
1127
1128 2007-01-20  Roger Sayle  <roger@eyesopen.com>
1129
1130         * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
1131         implementation for the SIGN intrinsic with integral operands.
1132         (gfc_conv_intrinsic_minmax): Fix whitespace.
1133
1134 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1135
1136         * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
1137         * lang.opt: Add -fallow-leading-underscore.
1138         * match.c (gfc_match_name): Allow leading underscore in symbol
1139         name if -fallow-leading-underscore is used.
1140         * symbol.c (gfc_get_default_type): Add special case for symbol
1141         names beginning with an underscore.
1142         * trans-decl.c (gfc_get_extern_function_decl,
1143         gfc_build_intrinsic_function_decls): Add _gfortran prefix to
1144         library symbols selected_int_kind, selected_real_kind and 
1145         all specifics.
1146         * options.c (gfc_init_options, gfc_handle_option): Handle the
1147         new -fallow-leading-underscore option.
1148
1149 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1150
1151         PR fortran/30446
1152         * options.c (gfc_handle_module_path_options): Path used in -J
1153         option is now added to the module search path.
1154
1155 2007-01-20  Richard Guenther  <rguenther@suse.de>
1156
1157         PR fortran/30223
1158         * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
1159         cexpi builtins if we have TARGET_C99_FUNCTIONS.  Provide
1160         sincos builtins if the target has sincos.
1161
1162 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
1163
1164         * intrinsic.texi (MATMUL): Corrected a typo.
1165         (MAX): Separated @var arguments.
1166         (MIN): Separated @var arguments.
1167
1168 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
1169
1170         * intrinsic.texi: general whitespace cleanup.
1171         (menu): Added TIME8, removed UNMASK.
1172         (AINT): Clarified argument requirement.
1173         (ANINT): Clarified argument requirement.
1174         (CEILING): Clarified argument requirement.
1175         (CHAR): Clarified argument requirement.
1176         (CMPLX): Clarified argument requirement.
1177         (DCMPLX): Clarified argument requirement.
1178         (FGET): Line rewrapping.
1179         (FLOOR): Clarified argument requirement.
1180         (GMTIME): Added documentation.
1181         (IAND): Added cross-reference.
1182         (IBCLR): Added cross-reference.
1183         (IBSET): Added cross-reference.
1184         (IEOR): Added cross-reference.
1185         (INT): Collapsed examples, clarified argument requirement.
1186         (IOR): Added cross-references.
1187         (LEN_TRIM): Corrected result kind.
1188         (LINK): Added cross-reference.
1189         (LLT): Removed "documentation pending".
1190         (LOGICAL): Added documentation.
1191         (LSHIFT): Added documentation.
1192         (LTIME): Added documentation.
1193         (MATMUL): Added documentation.
1194         (MAX): Added documentation.
1195         (MAXLOC): Added documentation.
1196         (MAXVAL): Added documentation.
1197         (MERGE): Added documentation.
1198         (MIN): Added documentation.
1199         (MINLOC): Added documentation.
1200         (MINVAL): Added documentation.
1201         (MVBITS): Moved to correct place, added documentation.
1202         (NOT): Added documentation.
1203         (PERROR): Added documentation.
1204         (RAN): Moved to correct place, added documentation.
1205         (REAL): Clarified argument requirement.
1206         (RENAME): Added documentation.
1207         (RSHIFT): Clarified argument requirement.
1208         (SIGN): Corrected table specification.
1209         (SYMLNK): Added documentation.
1210         (SYSTEM): Added documentation.
1211         (TIME): Added documentation.
1212         (TIME8): Added section and documentation.
1213         (UNMASK): Removed erroneous section.
1214
1215 2007-01-18  H.J. Lu  <hongjiu.lu@intel.com>
1216
1217         * trans-stmt.c (compute_overall_iter_number): Fix a typo.
1218
1219 2007-01-18  Roger Sayle  <roger@eyesopen.com>
1220
1221         * trans-expr.c (copyable_array_p): Consider user derived types without
1222         allocatable components to be copyable.
1223
1224 2007-01-18  Roger Sayle  <roger@eyesopen.com>
1225
1226         * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
1227         the number of interations in unconditional FORALL nests with constant
1228         bounds.
1229
1230 2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1231             Tobias Burnus  <burnus@net-b.de>
1232
1233         PR libfortran/29649
1234         * gfortran.h (gfc_option_t): Add flag_dump_core.
1235         * lang.opt: Add -fdump-core option.
1236         * invoke.texi: Document the new options.
1237         * trans-decl.c (gfc_build_builtin_function_decls): Add new
1238           options to the call to set_std.
1239         * options.c (gfc_init_options, gfc_handle_option): Set the
1240           new options.
1241
1242 2007-01-17  Paul Thomas  <pault@gcc.gnu.org>
1243
1244         PR fortran/30476
1245         * module.c (load_generic_interfaces): Make the marking of the
1246         symbol as ambiguous conditional on the module names being
1247         different.
1248         (write_generic): Ensure that the generic interface has a
1249         non-NULL module field.
1250
1251 2007-01-16  Roger Sayle  <roger@eyesopen.com>
1252
1253         PR fortran/30404
1254         * trans-stmt.c (forall_info): Remove pmask field.
1255         (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
1256         NVAR covers all the interation variables in the current forall_info.
1257         Add an extra OUTER parameter, which specified the loop header in
1258         which to place mask index initializations.
1259         (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
1260         Change the semantics of MASK_FLAG to only control the mask in the
1261         innermost loop.
1262         (compute_overall_iter_number): Optimize the trivial case of a
1263         top-level loop having a constant number of iterations.  Update
1264         call to gfc_trans_nested_forall_loop.  Calculate the number of
1265         times the inner loop will be executed, not to size of the 
1266         iteration space.
1267         (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
1268         sizeof(type) == 1.  Tidy up.
1269         (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
1270         to gfc_trans_nested_forall_loop.
1271         (gfc_trans_pointer_assign_need_temp): Likewise.
1272         (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
1273         LENVAR local variables.  Split mask allocation into a separate
1274         hunk/pass from mask population.  Use allocate_temp_for_forall_nest
1275         to allocate the FORALL mask with the correct size.  Update calls
1276         to gfc_trans_nested_forall_loop.
1277         (gfc_evaluate_where_mask): Update call to
1278         gfc_trans_nested_forall_loop.
1279         (gfc_trans_where_2): Likewise.
1280
1281 2007-01-15  Paul Thomas  <pault@gcc.gnu.org>
1282
1283         PR fortran/28172
1284         * trans-stmt.c (gfc_trans_call): If it does not have one, get
1285         a backend_decl for an alternate return.
1286
1287         PR fortran/29389
1288         * resolve.c (pure_function): Statement functions are pure. Note
1289         that this will have to recurse to comply fully with F95.
1290
1291         PR fortran/29712
1292         * resolve.c (resolve_function): Only a reference to the final
1293         dimension of an assumed size array is an error in an inquiry
1294         function.
1295
1296         PR fortran/30283
1297         * resolve.c (resolve_function): Make sure that the function
1298         expression has a type.
1299
1300 2007-01-14  Paul Thomas  <pault@gcc.gnu.org>
1301
1302         PR fortran/30410
1303         * trans-decl.c (gfc_sym_mangled_function_id): Module, external
1304         symbols must not have the module name prepended.
1305
1306 2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
1307
1308         PR libfortran/30415
1309         * iresolve.c (gfc_resolve_maxloc): If the rank
1310         of the return array is nonzero and we process an
1311         integer array smaller than default kind, coerce
1312         the array to default integer.
1313         * iresolve.c (gfc_resolve_minloc): Likewise.
1314
1315 2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>
1316
1317         * simplify.c: Update copyright to 2007.
1318         * scanner.c: Same.
1319
1320 2007-01-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1321
1322         PR fortran/30430
1323         * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
1324         only once!
1325
1326 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
1327
1328         * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
1329         (gfc_simplify_ibset): Same.
1330
1331 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
1332
1333         PR 30381
1334         PR 30420
1335         * simplify.c (convert_mpz_to_unsigned): New function.
1336         (convert_mpz_to_signed): New function, largely based on
1337         twos_complement().
1338         (twos_complement): Removed.
1339         (gfc_simplify_ibclr): Add conversions to and from an
1340         unsigned representation before bit-twiddling.
1341         (gfc_simplify_ibset): Same.
1342         (gfc_simplify_ishftc): Add checks for overly large
1343         constant arguments, only check the third argument if
1344         it's present, carry over high bits into the result as
1345         appropriate, and perform the final conversion back to
1346         a signed representation using the correct sign bit.
1347         (gfc_simplify_not): Removed unnecessary masking.
1348
1349 2007-01-09  Paul Thomas  <pault@gcc.gnu.org>
1350
1351         PR fortran/30408
1352         * resolve.c (resolve_code): Use the code->expr character length
1353         directly to set length of llen.
1354
1355 2007-01-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1356
1357         PR fortran/30408
1358         * lang.opt: Add Wcharacter_truncation option.
1359         * options.c (gfc_init_options): Initialize
1360         gfc_option.warn_character_truncation to zero.
1361         (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
1362
1363 2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
1364
1365         * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
1366         iresolve.c, match.c: Update Copyright years.  Whitespace.
1367
1368 2007-01-08  Richard Guenther  <rguenther@suse.de>
1369
1370         * trans-io.c (transfer_array_desc): Use build_int_cst instead
1371         of build_int_cstu.
1372
1373 2007-01-08  Roger Sayle  <roger@eyesopen.com>
1374
1375         * trans-array.c (constant_array_constructor_p): New function to
1376         determine whether an array constructor consists only of constant
1377         elements, and if so return it's size.
1378         (gfc_build_constant_array_constructor): Construct a statically
1379         initialized gfortran array for a given EXPR_ARRAY.
1380         (gfc_trans_constant_array_constructor): Efficiently scalarize
1381         a constant array constructor.
1382         (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
1383         Special case scalarization of constant array constructors, all of
1384         whose elements are specified, using constant_array_constructor_p 
1385         and gfc_trans_constant_array_constructor.
1386         (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
1387         before adding it to index, to avoid creating a NON_LVALUE_EXPR.
1388
1389 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
1390
1391         gfortran.texi: Fix typos.
1392
1393 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
1394
1395         * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
1396         convert.c: Update Copyright dates.  Fix whitespace.
1397
1398 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
1399
1400         * data.c (gfc_assign_data_value): Fix whitespace.
1401
1402 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
1403
1404         * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
1405         Commentary typo fix.
1406
1407 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
1408
1409         PR fortran/27698
1410         * match.c (gfc_match_name): Print diagnostics for invalid
1411         character in names.
1412
1413 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1414
1415         * array.c: Fix whitespace in comment table.
1416
1417 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1418
1419         * array.c, bbt.c, check.c: Update copyright years.  Whitespace.
1420
1421 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1422
1423         * arith.c: Update copyright years.  Whitespace.
1424
1425 2007-01-05  Roger Sayle  <roger@eyesopen.com>
1426
1427         * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
1428         array assignments split out from gfc_trans_assignment.
1429         (gfc_trans_array_copy): New function to implement array to array
1430         copies via calls to __builtin_memcpy.
1431         (copyable_array_p): New helper function to identify an array of
1432         simple/POD types, that may be copied/assigned using memcpy.
1433         (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
1434         whole array assignments considered suitable by copyable_array_p.
1435         Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
1436
1437 2007-01-05  Roger Sayle  <roger@eyesopen.com>
1438
1439         * trans-array.c (gfc_trans_array_constructor_value): Make the
1440         static const "data" array as TREE_READONLY.
1441         * trans-stmt.c (gfc_trans_character_select): Likewise.
1442
1443 2007-01-05  Roger Sayle  <roger@eyesopen.com>
1444
1445         * trans-array.c (gfc_conv_loop_setup): Test whether the loop
1446         stride is one, to avoid fold_build2 introducing a useless
1447         NON_LVALUE_EXPR node.
1448
1449 2007-01-05  Tobias Burnus  <burnus@net-b.de>
1450
1451         * symbol.c (check_conflict): Fix error message.
1452
1453 2007-01-05  Paul Thomas  <pault@gcc.gnu.org>
1454
1455         PR fortran/23232
1456         * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
1457         functions to signal that a DATA statement is being matched.
1458         (gfc_match_data): Call gfc_set_in_match_data on entry and on
1459         exit.
1460         * gfortran.h : Add prototypes for above.
1461         * expr.c (check_init_expr): Avoid check on parameter or
1462         variable if gfc_in_match_data is true.
1463         (gfc_match_init_expr): Do not call error on non-reduction of
1464         expression if gfc_in_match_data is true.
1465
1466         PR fortran/27996
1467         PR fortran/27998
1468         * decl.c (gfc_set_constant_character_len): Add boolean arg to
1469         flag array constructor resolution.  Warn if string is being
1470         truncated.  Standard dependent error if string is padded. Set
1471         new arg to false for all three calls to
1472         gfc_set_constant_character_len.
1473         * match.h : Add boolean arg to prototype for
1474         gfc_set_constant_character_len.
1475         * gfortran.h : Add warn_character_truncation to gfc_options.
1476         * options.c (set_Wall): Set warn_character_truncation if -Wall
1477         is set.
1478         * resolve.c (resolve_code): Warn if rhs string in character
1479         assignment has to be truncated.
1480         * array.c (gfc_resolve_character_array_constructor): Set new
1481         argument to true for call to gfc_set_constant_character_len.
1482
1483 2007-01-05  Tobias Burnus  <burnus@net-b.de>
1484
1485         PR fortran/29624
1486         * interface.c (compare_parameter_intent): New function.
1487           (check_intents): Support pointer intents.
1488         * symbol.c (check_conflict): Support pointer intents,
1489           better conflict_std message.
1490         * expr.c (gfc_check_assign,gfc_check_pointer_assign):
1491           Support pointer intents.
1492         * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
1493           Support pointer intents.
1494
1495 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1496
1497         PR 30371
1498         * check.c (gfc_check_kill_sub): Add checks for non-scalar
1499         arguments.
1500
1501 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1502
1503         * intrinsic.texi: Minor cleanup, reflowing overlong
1504         paragraphs, and correcting whitespace.
1505
1506 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1507
1508         * intrinsic.texi (LBOUND): Add documentation.
1509         (LGE): Add documentation.
1510         (LGT): Add documentation.
1511         (LINK): Add documentation.
1512         (LLE): Add documentation.
1513         (LLT): Add documentation.
1514         (LNBLNK): Add documentation.
1515         (UBOUND): Add documentation.
1516         (UNLINK): Add documentation.
1517
1518 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1519
1520         * intrinsic.texi (IAND): Clarify argument specifications.
1521         (IBCLR): Add documentation.
1522         (IBITS): Add documentation.
1523         (IBSET): Add documentation.
1524         (IEOR): Add documentation.
1525         (IERRNO): Add documentation.
1526         (INDEX): Add documentation.
1527         (IOR): Add documentation.
1528         (ISHFT): Add documentation.
1529         (ISHFTC): Add documentation.
1530         (KILL): Add documentation.
1531         (LEN_TRIM): Add documentation.
1532
1533 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1534
1535         PR 30235
1536         * interface.c (compare_actual_formal): check for
1537         alternate returns when iterating over non-present
1538         arguments.
1539
1540 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1541
1542         * invoke.texi: Update manpage copyright to include 2007.
1543
1544 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
1545
1546         * gfortran.texi: Update copyright to include 2007.
1547         * intrinsic.texi: Update copyright to include 2007.
1548         * invoke.texi: Update copyright to include 2007.
1549
1550 2007-01-02  Tobias Burnus  <burnus@net-b.de>
1551             Jakub Jelinek  <jakub@redhat.com>
1552
1553         PR fortran/30276
1554         * scanner.c (open_included_file): Revert patch.
1555           (gfc_open_included_file): Support absolute pathnames.
1556           (gfc_open_intrinsic_module): Support absolute pathnames.
1557
1558 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1559
1560         * gfortran.texi (GNU Fortran and GCC): Rewrite
1561
1562 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1563
1564         * gfortran.texi (Introduction): Lower "Part I:
1565         Introduction" to a chapter, renumber Parts II and III to
1566         Parts I and II.
1567         * intrinsic.texi (Introduction): Rename to "Introduction
1568         to Intrinsics" to avoid conflict with the new chapter.
1569
1570 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1571
1572         * intrinsic.texi (Introduction): Rewrite first paragraph.
1573
1574 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1575
1576         * invoke.texi (OpenMP): Added index entry.
1577         * gfortran.texi (title page): Removed erroneous '*'.
1578
1579 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1580
1581         * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
1582         to description.
1583         (Extensions): Miscellaneous minor rewriting and copyediting.
1584         (BOZ-literal constants): Renamed from Hexadecimal constants.
1585         (Hollerith constants support): Added explanation and 
1586         suggestions for standard-conforming modern equivalents.
1587
1588 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1589
1590         * intrinsic.texi: Improvements to index entries; change
1591         @findex entries to @cindex entries.
1592         * invoke.texi: Standardize and improve index entries.
1593         * gfortran.texi: Fix @code in one index entry.
1594
1595 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1596
1597         * invoke.texi: Change @code-type macros to appropriate
1598         variants (@command, @option, etc.)
1599         * gfortran.texi: Same.
1600
1601 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
1602
1603         * intrinsic.texi: Various minor cleanups.
1604
1605 2007-01-02  Steven G. Kargl  <kargls@comcast.net>
1606
1607         * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
1608         build_int_cst.
1609
1610 2007-01-02  Tobias Burnus  <burnus@net-b.de>
1611
1612         PR fortran/30276
1613         * scanner.c (open_included_file): Support full-path filenames.
1614
1615 2007-01-02  Paul Thomas  <pault@gcc.gnu.org>
1616
1617         PR fortran/20896
1618         * interface.c (check_sym_interfaces): Remove call to
1619         resolve_global_procedure.
1620         gfortran.h : Remove prototype for resolve_global_procedure.
1621         resolve.c (resolve_global_procedure): Add static attribute
1622         to function declaration.
1623
1624 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
1625
1626         * ChangeLog: Copy to ...
1627         * ChangeLog-2006: here.