OSDN Git Service

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