OSDN Git Service

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