OSDN Git Service

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