OSDN Git Service

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